ngx-wapp-components 1.14.19 → 1.14.21

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":"ngx-wapp-components.mjs","sources":["../../../projects/wapp-components/src/lib/wapp-components.service.ts","../../../projects/wapp-components/src/lib/wapp-components.component.ts","../../../projects/wapp-components/src/lib/shared/enums/enum.ts","../../../projects/wapp-components/src/lib/view/w-input-label/w-input-label.component.ts","../../../projects/wapp-components/src/lib/view/w-input-label/w-input-label.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-input-text/w-edit-input-text.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-text/w-edit-input-text.component.html","../../../projects/wapp-components/src/lib/button/w-button/w-button.component.ts","../../../projects/wapp-components/src/lib/button/w-button/w-button.component.html","../../../projects/wapp-components/src/lib/w-clipboard/w-clipboard.component.ts","../../../projects/wapp-components/src/lib/w-clipboard/w-clipboard.component.html","../../../projects/wapp-components/src/lib/icons/icons.ts","../../../projects/wapp-components/src/lib/icons/wapping-icons/w-icons.component.ts","../../../projects/wapp-components/src/lib/logos/logos.ts","../../../projects/wapp-components/src/lib/logos/wapping-logos/w-logos.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-select/w-edit-select.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-select/w-edit-select.component.html","../../../projects/wapp-components/src/lib/shared/models/enums.model.ts","../../../projects/wapp-components/src/lib/misc/w-badge/w-badge.component.ts","../../../projects/wapp-components/src/lib/misc/w-badge/w-badge.component.html","../../../projects/wapp-components/src/lib/shared/pipes/w-date.pipe.ts","../../../projects/wapp-components/src/lib/tables/w-table/w-table.component.ts","../../../projects/wapp-components/src/lib/tables/w-table/w-table.component.html","../../../projects/wapp-components/src/lib/tables/w-table-lazy/w-table-lazy.component.ts","../../../projects/wapp-components/src/lib/tables/w-table-lazy/w-table-lazy.component.html","../../../projects/wapp-components/src/lib/layout/w-container/w-container.component.ts","../../../projects/wapp-components/src/lib/layout/w-navbar/w-navbar.component.ts","../../../projects/wapp-components/src/lib/layout/w-navbar/w-navbar.component.html","../../../projects/wapp-components/src/lib/layout/w-body/w-body.component.ts","../../../projects/wapp-components/src/lib/layout/w-body/w-body.component.html","../../../projects/wapp-components/src/lib/layout/w-footer/w-footer.component.ts","../../../projects/wapp-components/src/lib/layout/w-footer/w-footer.component.html","../../../projects/wapp-components/src/lib/shared/pipes/color-text.pipe.ts","../../../projects/wapp-components/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.html","../../../projects/wapp-components/src/lib/layout/w-panel-title/w-panel-title.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel-title/w-panel-title.component.html","../../../projects/wapp-components/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.html","../../../projects/wapp-components/src/lib/layout/w-panel/w-panel.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel/w-panel.component.html","../../../projects/wapp-components/src/lib/layout/w-body-container/w-body-container.component.ts","../../../projects/wapp-components/src/lib/layout/w-body-container/w-body-container.component.html","../../../projects/wapp-components/src/lib/layout/w-header-panel/w-header-panel.component.ts","../../../projects/wapp-components/src/lib/layout/w-header-panel/w-header-panel.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-input-number/w-edit-input-number.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-number/w-edit-input-number.component.html","../../../projects/wapp-components/src/lib/search/w-input-search/w-input-search.component.ts","../../../projects/wapp-components/src/lib/search/w-input-search/w-input-search.component.html","../../../projects/wapp-components/src/lib/shared/models/filter-panel/query-results.model.ts","../../../projects/wapp-components/src/lib/shared/service/api/api.service.ts","../../../projects/wapp-components/src/lib/shared/services/session-storage.service.ts","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.ts","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.html","../../../projects/wapp-components/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.ts","../../../projects/wapp-components/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.html","../../../projects/wapp-components/src/lib/button/w-toggle-button/w-toggle-button.component.ts","../../../projects/wapp-components/src/lib/button/w-toggle-button/w-toggle-button.component.html","../../../projects/wapp-components/src/lib/button/w-select-button/w-select-button.component.ts","../../../projects/wapp-components/src/lib/button/w-select-button/w-select-button.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-calendar/w-edit-calendar.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-calendar/w-edit-calendar.component.html","../../../projects/wapp-components/src/lib/shared/components/w-address-field/w-address-field.component.ts","../../../projects/wapp-components/src/lib/shared/components/w-address-field/w-address-field.component.html","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-filter-panel.component.ts","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-filter-panel.component.html","../../../projects/wapp-components/src/lib/file/w-preview-image/w-preview-image.component.ts","../../../projects/wapp-components/src/lib/file/w-preview-image/w-preview-image.component.html","../../../projects/wapp-components/src/lib/shared/services/modal.service.ts","../../../projects/wapp-components/src/lib/file/w-image-cropper/w-image-cropper.component.ts","../../../projects/wapp-components/src/lib/file/w-image-cropper/w-image-cropper.component.html","../../../projects/wapp-components/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.ts","../../../projects/wapp-components/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.html","../../../projects/wapp-components/src/lib/report/w-powerbi-report/w-powerbi-report.component.ts","../../../projects/wapp-components/src/lib/report/w-powerbi-report/w-powerbi-report.component.html","../../../projects/wapp-components/src/lib/sidebar/w-sidebar/w-sidebar.component.ts","../../../projects/wapp-components/src/lib/sidebar/w-sidebar/w-sidebar.component.html","../../../projects/wapp-components/src/lib/button/w-buttons-footer/w-buttons-footer.component.ts","../../../projects/wapp-components/src/lib/button/w-buttons-footer/w-buttons-footer.component.html","../../../projects/wapp-components/src/lib/tables/w-tree-table/w-tree-table.component.ts","../../../projects/wapp-components/src/lib/tables/w-tree-table/w-tree-table.component.html","../../../projects/wapp-components/src/lib/layout/w-body-grid/w-body-grid.component.ts","../../../projects/wapp-components/src/lib/layout/w-body-grid/w-body-grid.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-toggle/w-edit-toggle.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-toggle/w-edit-toggle.component.html","../../../projects/wapp-components/src/lib/layout/w-panel-grid/w-panel-grid.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel-grid/w-panel-grid.component.html","../../../projects/wapp-components/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.ts","../../../projects/wapp-components/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.html","../../../projects/wapp-components/src/lib/maps/w-maps/w-maps.component.ts","../../../projects/wapp-components/src/lib/maps/w-maps/w-maps.component.html","../../../projects/wapp-components/src/lib/button/w-radio-button/w-radio-button.component.ts","../../../projects/wapp-components/src/lib/button/w-radio-button/w-radio-button.component.html","../../../projects/wapp-components/src/lib/misc/w-wizard/w-wizard.component.ts","../../../projects/wapp-components/src/lib/misc/w-wizard/w-wizard.component.html","../../../projects/wapp-components/src/lib/tabview/w-tabview/w-tabview.component.ts","../../../projects/wapp-components/src/lib/tabview/w-tabview/w-tabview.component.html","../../../projects/wapp-components/src/lib/tree/w-tree/w-tree.component.ts","../../../projects/wapp-components/src/lib/tree/w-tree/w-tree.component.html","../../../projects/wapp-components/src/lib/misc/w-timeline/w-timeline.component.ts","../../../projects/wapp-components/src/lib/misc/w-timeline/w-timeline.component.html","../../../projects/wapp-components/src/lib/view/w-view-text/w-view-text.component.ts","../../../projects/wapp-components/src/lib/view/w-view-text/w-view-text.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.html","../../../projects/wapp-components/src/lib/shared/pipes/w-summary.pipe.ts","../../../projects/wapp-components/src/lib/misc/w-chip/w-chip.component.ts","../../../projects/wapp-components/src/lib/misc/w-chip/w-chip.component.html","../../../projects/wapp-components/src/lib/view/w-view-boolean/w-view-boolean.component.ts","../../../projects/wapp-components/src/lib/view/w-view-boolean/w-view-boolean.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.html","../../../projects/wapp-components/src/lib/layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component.ts","../../../projects/wapp-components/src/lib/layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component.html","../../../projects/wapp-components/src/lib/layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component.ts","../../../projects/wapp-components/src/lib/layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component.html","../../../projects/wapp-components/src/lib/button/w-button-week/w-button-week.component.ts","../../../projects/wapp-components/src/lib/button/w-button-week/w-button-week.component.html","../../../projects/wapp-components/src/lib/view/w-view-badge/w-view-badge.component.ts","../../../projects/wapp-components/src/lib/view/w-view-badge/w-view-badge.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-calendar-month/w-edit-calendar-month.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-calendar-month/w-edit-calendar-month.component.html","../../../projects/wapp-components/src/lib/wapp-components.module.ts","../../../projects/wapp-components/src/lib/shared/services/form-control.service.ts","../../../projects/wapp-components/src/lib/shared/services/tree.service.ts","../../../projects/wapp-components/src/public-api.ts","../../../projects/wapp-components/src/ngx-wapp-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WappComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-wapp-components',\r\n template: `\r\n <p>\r\n wapp-components works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class WappComponentsComponent {\r\n\r\n}\r\n","export enum SizeType {\r\n small = 0,\r\n medium = 1,\r\n large = 2\r\n}\r\n\r\nexport enum ButtonType{\r\n primary = 0,\r\n secondary = 1,\r\n tertiary = 2,\r\n text = 3\r\n}\r\n\r\nexport enum IconType{\r\n pIcon = 0, \r\n urlIcon = 1, \r\n wIcon = 2\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-input-label',\r\n templateUrl: './w-input-label.component.html',\r\n styleUrls: ['./w-input-label.component.scss']\r\n})\r\nexport class WInputLabelComponent implements OnInit {\r\n @Input('label') label!: string; \r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false; \r\n @Input('tooltip') tooltip!: string; \r\n @Input('size') size: string = \"small\"; \r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"label != undefined && label.length > 0\" class=\"w-input-label flex\">\r\n <div class=\"flex\">\r\n <div [ngClass]=\"{'w-input-label-small-label': getSizeName(sizeType.small) == size && !disabled, \r\n 'w-input-label-small-label-disabled': getSizeName(sizeType.small) == size && disabled, \r\n 'w-input-label-medium-label': getSizeName(sizeType.medium) == size && !disabled, \r\n 'w-input-label-medium-label-disabled': getSizeName(sizeType.medium) == size && disabled}\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required-symbol\">*</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tooltip\" [pTooltip]=\"tooltip\" tooltipPosition=\"right\" class=\"w-input-label-icon-help-container\">\r\n <svg class=\"w-input-label-icon-help\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path id=\"Vector\" d=\"M6 0C2.7 0 0 2.7 0 6C0 9.3 2.7 12 6 12C9.3 12 12 9.3 12 6C12 2.7 9.3 0 6 0ZM6 9.75C5.586 9.75 5.25 9.414 5.25 9C5.25 8.586 5.586 8.25 6 8.25C6.414 8.25 6.75 8.586 6.75 9C6.75 9.414 6.414 9.75 6 9.75ZM7.21725 6.069C6.8445 6.38925 6.75 6.49725 6.75 6.75C6.75 7.16475 6.414 7.5 6 7.5C5.586 7.5 5.25 7.16475 5.25 6.75C5.25 5.7795 5.84625 5.268 6.2415 4.92975C6.61425 4.611 6.70875 4.50225 6.70875 4.25025C6.70875 4.113 6.70875 3.75 6.00075 3.75C5.67375 3.768 5.325 3.918 5.05725 4.17075C4.7565 4.45425 4.281 4.44 3.99675 4.14C3.7125 3.8385 3.726 3.36375 4.0275 3.0795C4.554 2.58375 5.24025 2.289 5.96175 2.2515H5.964C7.323 2.2515 8.20875 3.05475 8.20875 4.251C8.20875 5.22075 7.6125 5.73225 7.218 6.06975L7.21725 6.069Z\" fill=\"#9AA0A6\"/>\r\n </svg> \r\n </div>\r\n</div>\r\n<div *ngIf=\"label != undefined && label == ''\" class=\"w-input-no-label-height\"></div>\r\n","import { Component, EventEmitter, Input, OnInit, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { NgControl, FormControlName, NG_VALUE_ACCESSOR, FormControl, ControlValueAccessor } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-input-text',\r\n templateUrl: './w-edit-input-text.component.html',\r\n styleUrls: ['./w-edit-input-text.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditInputTextComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditInputTextComponent implements ControlValueAccessor {\r\n value: string = \"\";\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n @Input('successMessage') successMessage: string = \"\";\r\n\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Data is required\";\r\n\r\n @Input('disabled') disabled: boolean = false;\r\n\r\n @Input('pattern') pattern: string = \"\";\r\n @Input('patternErrorDescription') patternErrorDescription: string = \"Pattern error\";\r\n\r\n @Input('minlength') minlength!: number;\r\n @Input('minlengthErrorDescription') minlengthErrorDescription: string = \"Min length error\";\r\n\r\n @Input('maxlength') maxlength!: number;\r\n @Input('maxlengthErrorDescription') maxlengthErrorDescription: string = \"Max length error\";\r\n\r\n @Input('autofocus') autofocus: boolean = false;\r\n @Input('inputIcon') inputIcon: string = '';\r\n @Input('size') size: string = 'small';\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n\r\n @Input('tooltip') tooltip!: string;\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n onChangeForm(event: any){\r\n console.log(event);\r\n\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-input-text-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <span *ngIf=\"getSizeName(sizeType.medium) == size;\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-medium-icon pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n [ngClass]=\"{'w-edit-input-text-medium-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-text-medium-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-text-medium-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n class=\"w-edit-input-text-medium-height w-edit-input-text-medium\" id=\"w-textarea\" [placeholder]=\"placeholder\" [required]=\"required\"\r\n [formControl]=\"formControl\">\r\n </span>\r\n <span *ngIf=\"getSizeName(sizeType.small) == size;\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-small-icon pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n [ngClass]=\"{'w-edit-input-text-small-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-text-small-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-text-small-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n minlength=\"{{minlength}}\" maxlength=\"{{maxlength}}\"\r\n class=\"w-edit-input-text-small\" id=\"w-textarea\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [formControl]=\"formControl\">\r\n </span>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\"\r\n class=\"w-alert-message-height w-input-success-alert-text p-error block\">{{successMessage}}</small> -->\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('maxlength') && formControl.touched \"\r\n class=\"w-alert-message w-input-warning-alert-text p-error block\">{{maxlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('minlength') && formControl.touched \"\r\n class=\"w-alert-message w-input-warning-alert-text p-error block\">{{minlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.hasError('required') && formControl.dirty\"\r\n class=\"w-alert-message w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-input-text-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <span *ngIf=\"getSizeName(sizeType.medium) == size\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-medium-icon pi {{inputIcon}}\"></i>\r\n <input pInputText minlength=\"{{minlength}}\" maxlength=\"{{maxlength}}\" [required]=\"required\"\r\n class=\"w-edit-input-text-medium-height w-edit-input-text-medium\" id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [(ngModel)]=\"value\" (input)=\"onValueChanged()\" [disabled]=\"disabled\"\r\n [autofocus]=\"autofocus\">\r\n </span>\r\n <span *ngIf=\"getSizeName(sizeType.small) == size\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-small-icon pi {{inputIcon}}\"></i>\r\n <input pInputText minlength=\"{{minlength}}\" maxlength=\"{{maxlength}}\" [required]=\"required\"\r\n class=\"w-edit-input-text-small\" id=\"w-textarea\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [(ngModel)]=\"value\" (input)=\"onValueChanged()\"\r\n [disabled]=\"disabled\" [autofocus]=\"autofocus\">\r\n </span>\r\n </div>\r\n</ng-template>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ButtonType, SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-button',\r\n templateUrl: './w-button.component.html',\r\n styleUrls: ['./w-button.component.scss']\r\n})\r\nexport class WButtonComponent implements OnInit{\r\n @Input('type') type: string = \"primary\";\r\n @Input('label') label!: string;\r\n @Input('size') size: string = \"small\";\r\n @Input('icon') icon: string = \"\";\r\n @Input('tooltipPosition') tooltipPosition: string = \"bottom\";\r\n @Input('tooltip') tooltip: string = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('loading') loading: boolean = false;\r\n @Output('onClick') onClick: EventEmitter<MouseEvent> = new EventEmitter();\r\n @Input('buttonClass') buttonClass: string = \"\";\r\n \r\n sizeType: typeof SizeType = SizeType;\r\n buttonType: typeof ButtonType = ButtonType;\r\n\r\n ngOnInit(): void {}\r\n\r\n onButtonClick(event: MouseEvent){\r\n this.onClick.emit(event);\r\n }\r\n \r\n getIcon(): string{\r\n return this.icon ? \"pi \" + this.icon: \"\";\r\n }\r\n \r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n getButtonTypeName(value: number): string{\r\n return ButtonType[value];\r\n }\r\n}\r\n","<ng-container *ngIf=\"type == getButtonTypeName(buttonType.primary); else buttonSecondary\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-small border-none {{buttonClass}}\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-medium border-none {{buttonClass}}\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-large border-none {{buttonClass}}\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n</ng-container>\r\n<ng-template #buttonSecondary>\r\n <ng-container *ngIf=\"type == getButtonTypeName(buttonType.secondary) || type == getButtonTypeName(buttonType.tertiary); else buttonText\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-small-tertiary' : 'w-button-small p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-medium-tertiary' : 'w-button-medium p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-large-tertiary' : 'w-button-large p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-container>\r\n <ng-template #buttonText>\r\n <p-button \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"p-button-text w-button-text-small {{buttonClass}}\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-template>\r\n</ng-template>\r\n","import { Component, Input } from '@angular/core';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Component({\r\n selector: 'w-clipboard',\r\n templateUrl: './w-clipboard.component.html',\r\n styleUrls: ['./w-clipboard.component.css']\r\n})\r\nexport class WClipboardComponent {\r\n\r\n @Input('codeText') codeText!: string; \r\n @Input('languages') languages!: string[]; \r\n icon: string = 'pi pi-copy';\r\n\r\n constructor(private clipboard: Clipboard) {}\r\n\r\n copyToClipboard(){\r\n const successful = this.clipboard.copy(this.codeText);\r\n if(successful){\r\n this.icon = 'pi-check'\r\n setTimeout(() => {\r\n this.icon = 'pi-copy';\r\n }, 1500)\r\n }else{\r\n this.icon = 'pi-times'\r\n setTimeout(() => {\r\n this.icon = 'pi-copy';\r\n }, 1500)\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"card relative\">\r\n <div class=\"absolute top-0 right-0 pr-3 pt-3\">\r\n <w-button [icon]=\"icon\" type=\"secondary\"\r\n (onClick)=\"copyToClipboard()\">\r\n </w-button>\r\n </div>\r\n <pre id=\"text\" class=\"-mb-2 ml-3\">\r\n <code [highlight]=\"codeText\" [languages]=\"languages\"></code>\r\n </pre>\r\n</div>","export const wappingIcons: any = {\r\n //General\r\n translation: '<svg id=\"translation\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M13 6V2.773C13 2.30277 12.8132 1.8518 12.4807 1.5193C12.1482 1.1868 11.6972 1 11.227 1H2.773C2.30277 1 1.8518 1.1868 1.5193 1.5193C1.1868 1.8518 1 2.30277 1 2.773V10.227C1 10.6972 1.1868 11.1482 1.5193 11.4807C1.8518 11.8132 2.30277 12 2.773 12H3V14L6 12H8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.2859 9H12.7139C12.2438 9.01644 11.7994 9.21862 11.4781 9.56223C11.1568 9.90583 10.9848 10.3628 10.9999 10.833V18.167C10.9848 18.6372 11.1568 19.0942 11.4781 19.4378C11.7994 19.7814 12.2438 19.9836 12.7139 20H17.9999L20.9999 22V20H21.2859C21.7561 19.9836 22.2005 19.7814 22.5218 19.4378C22.8431 19.0942 23.0151 18.6372 22.9999 18.167V10.833C23.0151 10.3628 22.8431 9.90583 22.5218 9.56223C22.2005 9.21862 21.7561 9.01644 21.2859 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10.2871 5.11299C9.97914 5.08499 9.70614 5.07099 9.28714 5.07099C9.18785 5.54042 9.02784 5.99491 8.81114 6.42299C8.60386 6.83394 8.34254 7.21532 8.03414 7.55699C8.77304 7.98948 9.58755 8.27728 10.4341 8.40499C10.1343 8.79359 9.90024 9.22869 9.74114 9.69299C8.78725 9.42381 7.88678 8.99252 7.07914 8.41799C6.23098 9.00461 5.28823 9.44097 4.29214 9.70799C4.1418 9.25859 3.91404 8.83894 3.61914 8.46799C4.49496 8.30917 5.33629 7.99849 6.10514 7.54999C5.75159 7.16324 5.44912 6.73273 5.20514 6.26899C5.00264 5.88698 4.84075 5.48478 4.72214 5.06899C4.30914 5.06899 4.07014 5.08299 3.72214 5.11099V3.84499C4.05955 3.88126 4.39881 3.89762 4.73814 3.89399H6.28014V3.47399C6.28156 3.32825 6.26748 3.18276 6.23814 3.03999H7.64614C7.61797 3.18058 7.6039 3.32362 7.60414 3.46699V3.89399H9.27114C9.61048 3.89778 9.94974 3.88141 10.2871 3.84499V5.11299ZM6.06314 5.07099C6.24411 5.71024 6.58123 6.29444 7.04414 6.77099C7.47028 6.2843 7.7707 5.70062 7.91914 5.07099H6.06314Z\" fill=\"#5F6368\"/><path d=\"M18.3689 17.451L18.0519 16.251H15.9649L15.6399 17.451H13.7329L15.8289 11H18.1449L20.2669 17.451H18.3689ZM17.6919 14.823L17.4149 13.769C17.3482 13.5343 17.2699 13.231 17.1799 12.859C17.0899 12.487 17.0292 12.2203 16.9979 12.059C16.9709 12.208 16.9189 12.459 16.8419 12.797C16.7649 13.135 16.5919 13.815 16.3249 14.823H17.6919Z\" fill=\"#5F6368\"/></svg>',\r\n globe: '<svg id=\"globe\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_270_10781)\"><path d=\"M12 1V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 12H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C15.0376 23 17.5 18.0751 17.5 12C17.5 5.92487 15.0376 1 12 1C8.96243 1 6.5 5.92487 6.5 12C6.5 18.0751 8.96243 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_270_10781\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n edit: '<svg id=\"edit\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 5H4C2.895 5 2 5.895 2 7V20C2 21.105 2.895 22 4 22H17C18.105 22 19 21.105 19 20V15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 5L19 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 16L7 17L8 13L18.293 2.70701C18.684 2.31601 19.317 2.31601 19.707 2.70701L21.293 4.29301C21.684 4.68401 21.684 5.31701 21.293 5.70701L11 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n calendar: '<svg id=\"calendar\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 12H11V13H13V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 17H5V18H7V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 17H11V18H13V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 12H17V13H19V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" fill=\"#5F6368\"/><path d=\"M13 12H11V13H13V12Z\" fill=\"#5F6368\"/><path d=\"M7 17H5V18H7V17Z\" fill=\"#5F6368\"/><path d=\"M13 17H11V18H13V17Z\" fill=\"#5F6368\"/><path d=\"M19 12H17V13H19V12Z\" fill=\"#5F6368\"/><path d=\"M1 8H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 4H3C1.89543 4 1 4.89543 1 6V20C1 21.1046 1.89543 22 3 22H21C22.1046 22 23 21.1046 23 20V6C23 4.89543 22.1046 4 21 4Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n info: '<svg id=\"info\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_252_9300)\"><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 11V17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 8C12.5523 8 13 7.55228 13 7C13 6.44772 12.5523 6 12 6C11.4477 6 11 6.44772 11 7C11 7.55228 11.4477 8 12 8Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_252_9300\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n connection: '<svg id=\"connection\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9076)\"><path d=\"M8.6001 10.2L15.4001 6.8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.6001 13.7L15.4001 17.1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 16C7.20914 16 9 14.2091 9 12C9 9.79086 7.20914 8 5 8C2.79086 8 1 9.79086 1 12C1 14.2091 2.79086 16 5 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 9C21.2091 9 23 7.20914 23 5C23 2.79086 21.2091 1 19 1C16.7909 1 15 2.79086 15 5C15 7.20914 16.7909 9 19 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 23C21.2091 23 23 21.2091 23 19C23 16.7909 21.2091 15 19 15C16.7909 15 15 16.7909 15 19C15 21.2091 16.7909 23 19 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9076\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n filter: '<svg id=\"filter\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9076)\"><path d=\"M8.6001 10.2L15.4001 6.8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.6001 13.7L15.4001 17.1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 16C7.20914 16 9 14.2091 9 12C9 9.79086 7.20914 8 5 8C2.79086 8 1 9.79086 1 12C1 14.2091 2.79086 16 5 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 9C21.2091 9 23 7.20914 23 5C23 2.79086 21.2091 1 19 1C16.7909 1 15 2.79086 15 5C15 7.20914 16.7909 9 19 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 23C21.2091 23 23 21.2091 23 19C23 16.7909 21.2091 15 19 15C16.7909 15 15 16.7909 15 19C15 21.2091 16.7909 23 19 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9076\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n support: '<svg id=\"support\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9074)\"><path d=\"M19.7776 4.222L15.5356 8.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.7776 19.778L15.5356 15.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.22168 19.778L8.46368 15.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.22168 4.222L8.46368 8.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.7777 19.7781C24.0734 15.4824 24.0734 8.51763 19.7777 4.2219C15.4819 -0.0738257 8.51719 -0.0738257 4.22146 4.2219C-0.0742669 8.51763 -0.0742669 15.4824 4.22146 19.7781C8.51719 24.0738 15.4819 24.0738 19.7777 19.7781Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.5352 15.5355C17.4878 13.5829 17.4878 10.4171 15.5352 8.4645C13.5826 6.5119 10.4168 6.5119 8.46421 8.4645C6.51161 10.4171 6.51161 13.5829 8.46421 15.5355C10.4168 17.4881 13.5826 17.4881 15.5352 15.5355Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9074\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n delete: '<svg id=\"delete\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9073)\"><path d=\"M20 9V21C20 21.5304 19.7893 22.0391 19.4142 22.4142C19.0391 22.7893 18.5304 23 18 23H6C5.46957 23 4.96086 22.7893 4.58579 22.4142C4.21071 22.0391 4 21.5304 4 21V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 12V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 12V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 12V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 5V1H16V5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9073\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n searchContent: '<svg id=\"searchContent\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.0001 19L18.8281 14.828\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 9H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 15H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 21H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 3H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 16C18.2091 16 20 14.2091 20 12C20 9.79086 18.2091 8 16 8C13.7909 8 12 9.79086 12 12C12 14.2091 13.7909 16 16 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n addNotification: '<svg id=\"addNotification\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 14V20C19 21.105 18.105 22 17 22H4C2.895 22 2 21.105 2 20V7C2 5.895 2.895 5 4 5H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n launch: '<svg id=\"launch\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11 13L22 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 2H22V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4H4C3.46957 4 2.96086 4.21071 2.58579 4.58579C2.21071 4.96086 2 5.46957 2 6V20C2 20.5304 2.21071 21.0391 2.58579 21.4142C2.96086 21.7893 3.46957 22 4 22H18C18.5304 22 19.0391 21.7893 19.4142 21.4142C19.7893 21.0391 20 20.5304 20 20V15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n swapVertical: '<svg id=\"swapVertical\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 17V2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 6L7 2L11 6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 6V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 18L17 22L21 18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n picture: '<path d=\"M3 23L7 15L11 18L17 10L23 23H3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 9C10.6569 9 12 7.65685 12 6C12 4.34315 10.6569 3 9 3C7.34315 3 6 4.34315 6 6C6 7.65685 7.34315 9 9 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n account: '<svg id=\"account\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9067)\"><path d=\"M1 23C1 17.477 5.477 13 11 13H13C18.523 13 23 17.477 23 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13C15.3137 13 18 10.3137 18 7C18 3.68629 15.3137 1 12 1C8.68629 1 6 3.68629 6 7C6 10.3137 8.68629 13 12 13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9067\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n comment: '<svg id=\"comment\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20.4 16.8C22 15.2 23 13.2 23 11C23 6 18.1 2 12 2C5.9 2 1 6 1 11C1 16 5.9 20 12 20C13.1 20 14.1 19.9 15.1 19.6L21 22L20.4 16.8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 9H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 13H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n bell: '<svg id=\"bell\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 11V8C19 6.14348 18.2625 4.36301 16.9497 3.05025C15.637 1.7375 13.8565 1 12 1C10.1435 1 8.36301 1.7375 7.05025 3.05025C5.7375 4.36301 5 6.14348 5 8V11C5 14.3 2 15.1 2 17C2 18.7 5.9 20 12 20C18.1 20 22 18.7 22 17C22 15.1 19 14.3 19 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 22C10.989 22 10.039 21.966 9.14502 21.9C9.33561 22.508 9.71532 23.0392 10.2288 23.4164C10.7424 23.7936 11.3629 23.997 12 23.997C12.6372 23.997 13.2577 23.7936 13.7712 23.4164C14.2847 23.0392 14.6644 22.508 14.855 21.9C13.961 21.966 13.011 22 12 22Z\" fill=\"#5F6368\"/></svg>', \r\n timesSmall: '<svg id=\"timesSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 8L8 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 16L8 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n minusSmall: '<svg id=\"minusSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M17 12H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n checkSmall: '<svg id=\"checkSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 12L10 16L18 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n checkSmallAlt: '<svg id=\"checkSmallAlt\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.66666 5.99998L5 8.99998L9.33333 3.33331\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>',\r\n plusSmall: '<svg id=\"plusSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 7V17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 12H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n viewOff: '<svg id=\"viewOff\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.47276 13.294C0.841762 12.547 0.841762 11.453 1.47276 10.706C3.18276 8.683 6.98476 5 11.9998 5C17.0148 5 20.8168 8.683 22.5268 10.706C23.1578 11.453 23.1578 12.547 22.5268 13.294C20.8168 15.317 17.0148 19 11.9998 19C6.98476 19 3.18276 15.317 1.47276 13.294Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 15C14.7614 15 17 12.7614 17 10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10C7 12.7614 9.23858 15 12 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 20L20 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n view: '<svg id=\"view\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.47276 13.294C0.841762 12.547 0.841762 11.453 1.47276 10.706C3.18276 8.683 6.98476 5 11.9998 5C17.0148 5 20.8168 8.683 22.5268 10.706C23.1578 11.453 23.1578 12.547 22.5268 13.294C20.8168 15.317 17.0148 19 11.9998 19C6.98476 19 3.18276 15.317 1.47276 13.294Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 15C14.7614 15 17 12.7614 17 10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10C7 12.7614 9.23858 15 12 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n minus: '<svg id=\"minus\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22 12H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n times: '<svg id=\"times\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 5L5 19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 19L5 5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n check: '<svg id=\"check\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 12L9 19L22 6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n plus: '<svg id=\"plus\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12 2V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 12H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n clock: '<svg id=\"clock\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9054)\"><path d=\"M12 6V12H18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.96582 22.87L2.23682 17.073L7.92882 18.659\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.237 17.073C3.47619 19.4602 5.54709 21.3107 8.05815 22.2745C10.5692 23.2384 13.3464 23.2488 15.8646 22.3039C18.3828 21.3589 20.4676 19.524 21.7247 17.1462C22.9817 14.7683 23.3241 12.0123 22.6869 9.39919C22.0497 6.78607 20.4772 4.49695 18.2666 2.96466C16.0561 1.43236 13.3608 0.763068 10.6902 1.08334C8.01965 1.4036 5.55899 2.69123 3.77345 4.70276C1.98791 6.71429 1.00124 9.31031 1 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9054\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n search: '<svg id=\"search\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22.0002 22L15.6562 15.656\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n\r\n //Navbar\r\n folderImage: '<svg id=\"folderImage\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 22H3C2.46957 22 1.96086 21.7893 1.58579 21.4142C1.21071 21.0391 1 20.5304 1 20V2H9L12 6H23V20C23 20.5304 22.7893 21.0391 22.4142 21.4142C22.0391 21.7893 21.5304 22 21 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 19L8 14L11 17L15 11L19 19H5Z\" fill=\"#5F6368\"/><path d=\"M9.5 12C10.3284 12 11 11.3284 11 10.5C11 9.67157 10.3284 9 9.5 9C8.67157 9 8 9.67157 8 10.5C8 11.3284 8.67157 12 9.5 12Z\" fill=\"#5F6368\"/></svg>',\r\n folderSettings: '<svg id=\"folderSettings\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 22H3C2.46957 22 1.96086 21.7893 1.58579 21.4142C1.21071 21.0391 1 20.5304 1 20V2H9L12 6H23V20C23 20.5304 22.7893 21.0391 22.4142 21.4142C22.0391 21.7893 21.5304 22 21 22H18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 19C13.6569 19 15 17.6569 15 16C15 14.3431 13.6569 13 12 13C10.3431 13 9 14.3431 9 16C9 17.6569 10.3431 19 12 19Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13V11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.1211 13.879L15.5361 12.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 16H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.1211 18.121L15.5361 19.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 19V21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.87887 18.121L8.46387 19.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 16H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.87887 13.879L8.46387 12.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n document: '<svg id=\"document\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 17H15V23L21 17Z\" fill=\"#5F6368\"/><path d=\"M21 17H15V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 17V1H3V23H15L21 17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 17H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 12H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 7H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n wallet: '<svg id=\"wallet\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8204)\"><path d=\"M21 12V5H3C1.895 5 1 4.105 1 3V20C1 21.657 2.343 23 4 23H21V16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 2V1H3C1.895 1 1 1.895 1 3C1 4.105 1.895 5 3 5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 16H18C16.895 16 16 15.105 16 14C16 12.895 16.895 12 18 12H23V16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8204\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n peopleNetwork: '<svg id=\"peopleNetwork\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8222)\"><path d=\"M12 16C13.3807 16 14.5 14.8807 14.5 13.5C14.5 12.1193 13.3807 11 12 11C10.6193 11 9.5 12.1193 9.5 13.5C9.5 14.8807 10.6193 16 12 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6C13.3807 6 14.5 4.88071 14.5 3.5C14.5 2.11929 13.3807 1 12 1C10.6193 1 9.5 2.11929 9.5 3.5C9.5 4.88071 10.6193 6 12 6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3.5 11C4.88071 11 6 9.88071 6 8.5C6 7.11929 4.88071 6 3.5 6C2.11929 6 1 7.11929 1 8.5C1 9.88071 2.11929 11 3.5 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.5 11C21.8807 11 23 9.88071 23 8.5C23 7.11929 21.8807 6 20.5 6C19.1193 6 18 7.11929 18 8.5C18 9.88071 19.1193 11 20.5 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.34082 23C7.16482 20.67 9.38682 19 11.9998 19C14.6128 19 16.8348 20.67 17.6588 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8222\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n licenseKey: '<svg id=\"licenseKey\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.6501 12C11.3095 11.282 10.7347 10.7013 10.0203 10.3533C9.30586 10.0054 8.49428 9.91093 7.71902 10.0855C6.94376 10.26 6.25098 10.6932 5.7546 11.3138C5.25822 11.9343 4.98779 12.7053 4.98779 13.5C4.98779 14.2947 5.25822 15.0657 5.7546 15.6862C6.25098 16.3068 6.94376 16.74 7.71902 16.9145C8.49428 17.0891 9.30586 16.9946 10.0203 16.6467C10.7347 16.2987 11.3095 15.718 11.6501 15H14.0001L15.5001 16L17.0001 15H19.0001L20.0001 12H11.6501Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.5 14.501C9.05228 14.501 9.5 14.0533 9.5 13.501C9.5 12.9487 9.05228 12.501 8.5 12.501C7.94772 12.501 7.5 12.9487 7.5 13.501C7.5 14.0533 7.94772 14.501 8.5 14.501Z\" fill=\"#5F6368\"/><path d=\"M23 2H1V22H23V2Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 6C4.55228 6 5 5.55228 5 5C5 4.44772 4.55228 4 4 4C3.44772 4 3 4.44772 3 5C3 5.55228 3.44772 6 4 6Z\" fill=\"#5F6368\"/><path d=\"M7 6C7.55228 6 8 5.55228 8 5C8 4.44772 7.55228 4 7 4C6.44772 4 6 4.44772 6 5C6 5.55228 6.44772 6 7 6Z\" fill=\"#5F6368\"/></svg>',\r\n settingsWheel: '<svg id=\"settingsWheel\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8216)\"><path d=\"M7.5 4.205L12 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7.5 19.795L12 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 12H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.5 2.474L7.5 4.205\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.47412 6.5L4.20612 7.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 12H3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.47412 17.5L4.20612 16.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.5 21.526L7.5 19.795\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23V21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17.5 21.526L16.5 19.794\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.5259 17.5L19.7939 16.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 12H21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.5259 6.5L19.7939 7.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17.5 2.474L16.5 4.206\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8216\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n image: '<svg id=\"image\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1 20L6 14L10 18L17 10L23 17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 3H1V21H23V3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 10C10.1046 10 11 9.10457 11 8C11 6.89543 10.1046 6 9 6C7.89543 6 7 6.89543 7 8C7 9.10457 7.89543 10 9 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n pSettings: '<svg id=\"pSettings\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8212)\"><path d=\"M10 23H3C2.46957 23 1.96086 22.7893 1.58579 22.4142C1.21071 22.0391 1 21.5304 1 21V3C1 2.46957 1.21071 1.96086 1.58579 1.58579C1.96086 1.21071 2.46957 1 3 1H15C15.5304 1 16.0391 1.21071 16.4142 1.58579C16.7893 1.96086 17 2.46957 17 3V8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 21C19.6569 21 21 19.6569 21 18C21 16.3431 19.6569 15 18 15C16.3431 15 15 16.3431 15 18C15 19.6569 16.3431 21 18 21Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 15V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 15.879L21.5361 14.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 18H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 20.121L21.5361 21.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 21V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 20.121L14.4639 21.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 18H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 15.879L14.4639 14.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8212\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n contactList: '<svg id=\"contactList\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8 10C10.2091 10 12 8.20914 12 6C12 3.79086 10.2091 2 8 2C5.79086 2 4 3.79086 4 6C4 8.20914 5.79086 10 8 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 5H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 10H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 15H18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 14C4.134 14 1 17.134 1 21V22H15V21C15 17.134 11.866 14 8 14Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n empty: '<svg id=\"empty\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 2L2 22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n folderShared: '<svg id=\"folderShared\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 22H3C1.895 22 1 21.105 1 20V2H9L12 6H23V20C23 21.105 22.105 22 21 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 15C10.1046 15 11 14.1046 11 13C11 11.8954 10.1046 11 9 11C7.89543 11 7 11.8954 7 13C7 14.1046 7.89543 15 9 15Z\" fill=\"#5F6368\"/><path d=\"M15 12C16.1046 12 17 11.1046 17 10C17 8.89543 16.1046 8 15 8C13.8954 8 13 8.89543 13 10C13 11.1046 13.8954 12 15 12Z\" fill=\"#5F6368\"/><path d=\"M14.1879 17H17.8289C18.4959 17 19.0049 16.35 18.7919 15.717C18.2609 14.14 16.7709 13.003 15.0139 13C13.7199 12.998 12.5059 13.622 11.7549 14.676C12.7699 15.204 13.6139 16.01 14.1879 17Z\" fill=\"#5F6368\"/><path d=\"M9.00005 16C10.76 16 12.254 17.136 12.789 18.715C13.003 19.348 12.495 20 11.827 20H6.17305C5.50505 20 4.99605 19.348 5.21105 18.715C5.74605 17.136 7.24005 16 9.00005 16Z\" fill=\"#5F6368\"/></svg>',\r\n users: '<svg id=\"users\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8186)\"><path d=\"M8 13C9.65685 13 11 11.6569 11 10C11 8.34315 9.65685 7 8 7C6.34315 7 5 8.34315 5 10C5 11.6569 6.34315 13 8 13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 16C4.134 16 1 19.134 1 23H15C15 19.134 11.866 16 8 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 7C17.6569 7 19 5.65685 19 4C19 2.34315 17.6569 1 16 1C14.3431 1 13 2.34315 13 4C13 5.65685 14.3431 7 16 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 17H23C23 13.134 19.866 10 16 10C15.66 10 15.327 10.024 15 10.071\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8186\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n handshake: '<svg id=\"handshake\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 8L11.828 10.172C11.0779 10.9219 10.0607 11.3431 9 11.3431C7.93934 11.3431 6.92211 10.9219 6.172 10.172L6 10L10.929 5.071C12.2552 3.74514 14.0537 3.00032 15.929 3.00032C17.8043 3.00032 19.6028 3.74514 20.929 5.071C22.0427 6.1848 22.7528 7.63843 22.9468 9.20152C23.1408 10.7646 22.8076 12.3477 22 13.7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.2662 11.266L18.8792 14.879C19.4416 15.4416 19.7575 16.2045 19.7575 17C19.7575 17.7955 19.4416 18.5584 18.8792 19.121L17.2432 20.757C16.686 21.3143 16.0245 21.7563 15.2965 22.0579C14.5685 22.3595 13.7882 22.5147 13.0002 22.5147C12.2122 22.5147 11.4319 22.3595 10.7038 22.0579C9.97581 21.7563 9.31433 21.3143 8.75717 20.757L3.07117 15.071C1.74532 13.7448 1.00049 11.9463 1.00049 10.071C1.00049 8.19571 1.74532 6.3972 3.07117 5.071C4.37841 3.76011 6.14894 3.01619 8.00017 3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.391 19.609L14.5 15.719\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.5133 21.965L11.8833 18.335\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n layers: '<svg id=\"layers\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">a<path d=\"M5 7H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a<path d=\"M5 1V19H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a<path d=\"M19 11H13V3H17L19 5V11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a<path d=\"M19 23H13V15H17L19 17V23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a</svg>',\r\n filterOrganization: '<svg id=\"filterOrganization\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 13H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 5H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 1V21H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 3H10V7H21V3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 19H10V23H21V19Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 11H10V15H21V11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n timeline: '<svg id=\"timeline\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8225)\"><path d=\"M12 1V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 2H17V8H23V2Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 5H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 16H17V22H23V16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 19H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 15H7L7 9H1L1 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 12H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8225\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n bag: '<svg id=\"bag\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 23H3V6H21V23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 9V5C8 2.8 9.8 1 12 1C14.2 1 16 2.8 16 5V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n barcodeScan: '<svg id=\"barcodeScan\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8213)\"><path d=\"M1 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 13V18H16V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 9V1H19V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 13V18H5V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 9V1H8V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 23V13H23V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8213\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n messaging: '<svg id=\"messaging\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18 3V1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 3.879L21.5361 2.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 6H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 8.121L21.5361 9.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 9V11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 8.121L14.4639 9.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 6H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 3.879L14.4639 2.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.86 2.18C4.8 2.988 1 6.6 1 11C1 16 5.9 20 12 20C13.0475 20.0213 14.0923 19.8865 15.1 19.6L21 22L20.4 16.8C21.2506 15.9575 21.9272 14.9558 22.391 13.852\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 9C19.6569 9 21 7.65685 21 6C21 4.34315 19.6569 3 18 3C16.3431 3 15 4.34315 15 6C15 7.65685 16.3431 9 18 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n mobileCard: '<svg id=\"mobileCard\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8210)\"><path d=\"M7.5 20C8.32843 20 9 19.3284 9 18.5C9 17.6716 8.32843 17 7.5 17C6.67157 17 6 17.6716 6 18.5C6 19.3284 6.67157 20 7.5 20Z\" fill=\"#5F6368\"/><path d=\"M14 17V21C14 22.1 13.1 23 12 23H3C1.9 23 1 22.1 1 21V5C1 3.9 1.9 3 3 3H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 13H18H7V1H23V13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 9H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8210\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n dropCap: '<svg id=\"dropCap\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15 10H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 15H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 20H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 15L7 4H6L2 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3.09082 12H9.90882\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n news: '<svg id=\"news\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8208)\"><path d=\"M9 14H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 18H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 6H9V10H19V6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 23C2.47005 22.9984 1.96227 22.7872 1.58753 22.4125C1.2128 22.0377 1.00158 21.5299 1 21V13H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 1V21C4.99842 21.5299 4.7872 22.0377 4.41247 22.4125C4.03773 22.7872 3.52995 22.9984 3 23H21C21.5299 22.9984 22.0377 22.7872 22.4125 22.4125C22.7872 22.0377 22.9984 21.5299 23 21V1H5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8208\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n loan: '<svg id=\"loan\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15 11C17.7614 11 20 8.76142 20 6C20 3.23858 17.7614 1 15 1C12.2386 1 10 3.23858 10 6C10 8.76142 12.2386 11 15 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 16H18.838C19.4676 16 20.0812 16.1981 20.592 16.5662C21.1028 16.9343 21.4848 17.4537 21.684 18.051L22 19L10.532 22.529C9.5488 22.8313 8.48694 22.7432 7.567 22.283L1 19V12H2C3.105 12 5.906 12.438 7 14H10C11.0609 14 12.0783 14.4214 12.8284 15.1716C13.5786 15.9217 14 16.9391 14 18H8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5V7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n shopLocation: '<svg id=\"shopLocation\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8206)\"><path d=\"M13.374 11.997C12.052 11.931 11 10.839 11 9.5C11 10.881 9.881 12 8.5 12C7.119 12 6 10.881 6 9.5C6 10.881 4.881 12 3.5 12C2.119 12 1 10.958 1 9L5 1H17L21 9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 12V21H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 14C23 17.1 18 22.1 18 22.1C18 22.1 13 17.1 13 14C13 10.8 15.6 9 18 9C20.4 9 23 10.8 23 14Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 15C18.5523 15 19 14.5523 19 14C19 13.4477 18.5523 13 18 13C17.4477 13 17 13.4477 17 14C17 14.5523 17.4477 15 18 15Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8206\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n usersWm: '<svg id=\"usersWm\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 21H23V16.677C22.9999 16.4772 22.9399 16.282 22.8278 16.1166C22.7157 15.9512 22.5566 15.8231 22.371 15.749L18.629 14.249C18.4438 14.175 18.2849 14.0473 18.1728 13.8823C18.0607 13.7172 18.0005 13.5225 18 13.323V12.445C18.6065 12.0969 19.1107 11.5953 19.4617 10.9906C19.8128 10.3858 19.9985 9.69927 20 9V7C20.0002 6.29778 19.8154 5.60789 19.4644 4.99969C19.1134 4.39148 18.6085 3.8864 18.0004 3.53522C17.3923 3.18404 16.7024 2.99914 16.0002 2.9991C15.298 2.99906 14.6081 3.18389 14 3.535\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.371 16.749L10.629 15.249C10.4438 15.175 10.2849 15.0473 10.1728 14.8823C10.0607 14.7172 10.0005 14.5225 10 14.323V13.872C13.27 13.435 14 12 14 12C14 12 12 10 12 8C12 6.93913 11.5786 5.92172 10.8284 5.17157C10.0783 4.42143 9.06087 4 8 4C6.93913 4 5.92172 4.42143 5.17157 5.17157C4.42143 5.92172 4 6.93913 4 8C4 10 2 12 2 12C2 12 2.73 13.435 6 13.872V14.323C5.99987 14.5228 5.93989 14.718 5.82777 14.8834C5.71566 15.0488 5.55656 15.1769 5.371 15.251L1.629 16.751C1.44375 16.825 1.28488 16.9527 1.17279 17.1177C1.0607 17.2828 1.00053 17.4775 1 17.677V21H15V17.677C14.9999 17.4772 14.9399 17.282 14.8278 17.1166C14.7157 16.9512 14.5566 16.8231 14.371 16.749Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n shop: '<svg id=\"shop\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4 13V22H20V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.00001 2L1.00001 7C0.998497 7.67436 1.22485 8.32946 1.64235 8.85905C2.05985 9.38864 2.64402 9.76166 3.3001 9.9176C3.95619 10.0735 4.64572 10.0033 5.25686 9.71819C5.86801 9.43311 6.36492 8.94992 6.66701 8.347C6.91349 8.84349 7.29369 9.26131 7.76479 9.5534C8.2359 9.84549 8.7792 10.0003 9.33351 10.0003C9.88782 10.0003 10.4311 9.84549 10.9022 9.5534C11.3733 9.26131 11.7535 8.84349 12 8.347C12.2465 8.84349 12.6267 9.26131 13.0978 9.5534C13.5689 9.84549 14.1122 10.0003 14.6665 10.0003C15.2208 10.0003 15.7641 9.84549 16.2352 9.5534C16.7063 9.26131 17.0865 8.84349 17.333 8.347C17.6351 8.94992 18.132 9.43311 18.7432 9.71819C19.3543 10.0033 20.0438 10.0735 20.6999 9.9176C21.356 9.76166 21.9402 9.38864 22.3577 8.85905C22.7752 8.32946 23.0015 7.67436 23 7L20 2H4.00001Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 22V16H14V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n newConstruction: '<svg id=\"newConstruction\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 23H1V13H5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 16H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 19H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 13H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 6V2L23 5V23H5V9H15V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 19V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n cardFavorite: '<svg id=\"cardFavorite\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 10H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 10V3C23 1.9 22.1 1 21 1H16H3C1.9 1 1 1.9 1 3V16C1 17.1 1.9 18 3 18H9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22.2012 13.812C20.9852 12.576 18.9552 12.778 18.0002 14.24C17.0442 12.776 15.0142 12.577 13.7992 13.812C12.7342 14.894 12.7342 16.649 13.7992 17.731L18.0002 22L22.2022 17.731C23.2662 16.649 23.2662 14.894 22.2012 13.812Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n cardUpdate: '<svg id=\"cardUpdate\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8190)\"><path d=\"M1 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 10H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 10V3C23 1.9 22.1 1 21 1H16H3C1.9 1 1 1.9 1 3V16C1 17.1 1.9 18 3 18H9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.126 17C14.57 15.275 16.136 14 18 14C19.48 14 20.772 14.804 21.464 15.999\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23.22 13.649L22.792 18L18.522 17.061L23.22 13.649Z\" fill=\"#5F6368\"/><path d=\"M21.8741 20C21.4301 21.725 19.8641 23 18.0001 23C16.5201 23 15.2281 22.196 14.5361 21.001\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.7798 23.351L13.2078 19L17.4778 19.939L12.7798 23.351Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8190\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n present: '<svg id=\"present\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8192)\"><path d=\"M4 3.5C4.02271 2.81501 4.31631 2.16702 4.81634 1.6983C5.31637 1.22957 5.98197 0.97843 6.667 1C10.611 1 12 6 12 6H6.667C5.98197 6.02157 5.31637 5.77043 4.81634 5.30171C4.31631 4.83298 4.02271 4.18499 4 3.5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17.333 6H12C12 6 13.389 1 17.333 1C18.018 0.97843 18.6836 1.22957 19.1837 1.6983C19.6837 2.16702 19.9773 2.81501 20 3.5C19.9773 4.18499 19.6837 4.83298 19.1837 5.30171C18.6836 5.77043 18.018 6.02157 17.333 6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 13V21C21 21.5304 20.7893 22.0391 20.4142 22.4142C20.0391 22.7893 19.5304 23 19 23H5C4.46957 23 3.96086 22.7893 3.58579 22.4142C3.21071 22.0391 3 21.5304 3 21V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 6H1V10H23V6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8192\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n boardGame: '<svg id=\"boardGame\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8191)\"><path d=\"M21 5H7C5.89543 5 5 5.89543 5 7V21C5 22.1046 5.89543 23 7 23H21C22.1046 23 23 22.1046 23 21V7C23 5.89543 22.1046 5 21 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 5V3C19 2.46957 18.7893 1.96086 18.4142 1.58579C18.0391 1.21071 17.5304 1 17 1H3C2.46957 1 1.96086 1.21071 1.58579 1.58579C1.21071 1.96086 1 2.46957 1 3V17C1 17.5304 1.21071 18.0391 1.58579 18.4142C1.96086 18.7893 2.46957 19 3 19H5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.5 11C10.3284 11 11 10.3284 11 9.5C11 8.67157 10.3284 8 9.5 8C8.67157 8 8 8.67157 8 9.5C8 10.3284 8.67157 11 9.5 11Z\" fill=\"#5F6368\"/><path d=\"M18.5 11C19.3284 11 20 10.3284 20 9.5C20 8.67157 19.3284 8 18.5 8C17.6716 8 17 8.67157 17 9.5C17 10.3284 17.6716 11 18.5 11Z\" fill=\"#5F6368\"/><path d=\"M9.5 20C10.3284 20 11 19.3284 11 18.5C11 17.6716 10.3284 17 9.5 17C8.67157 17 8 17.6716 8 18.5C8 19.3284 8.67157 20 9.5 20Z\" fill=\"#5F6368\"/><path d=\"M18.5 20C19.3284 20 20 19.3284 20 18.5C20 17.6716 19.3284 17 18.5 17C17.6716 17 17 17.6716 17 18.5C17 19.3284 17.6716 20 18.5 20Z\" fill=\"#5F6368\"/><path d=\"M14 15.5C14.8284 15.5 15.5 14.8284 15.5 14C15.5 13.1716 14.8284 12.5 14 12.5C13.1716 12.5 12.5 13.1716 12.5 14C12.5 14.8284 13.1716 15.5 14 15.5Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8191\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n migration: '<svg id=\"migration\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8194)\"><path d=\"M12 23V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 14L12 10L16 14\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.9999 18.777C17.6144 18.4092 19.0961 17.603 20.282 16.4473C21.4679 15.2916 22.3119 13.8311 22.7213 12.2266C23.1306 10.6221 23.0893 8.93579 22.602 7.35323C22.1147 5.77067 21.2002 4.35323 19.9592 3.25691C18.7182 2.16059 17.1988 1.4279 15.5682 1.13946C13.9377 0.851028 12.2591 1.01804 10.7173 1.62211C9.17557 2.22618 7.83033 3.2439 6.82969 4.56325C5.82905 5.8826 5.21179 7.45244 5.04586 9.1C3.83442 9.34579 2.75697 10.0316 2.02146 11.0251C1.28595 12.0186 0.944536 13.2493 1.0631 14.4798C1.18167 15.7102 1.75182 16.8531 2.6635 17.6878C3.57519 18.5226 4.76377 18.9901 5.99986 19H7.99986\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8194\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n cockade: '<svg id=\"cockade\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M17.8731 11.81L22.0001 20L18.0001 19L16.0001 22L12.7251 14.963\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.127 11.81L2 20L6 19L8 22L11.275 14.963\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 15C15.866 15 19 11.866 19 8C19 4.13401 15.866 1 12 1C8.13401 1 5 4.13401 5 8C5 11.866 8.13401 15 12 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 10C13.1046 10 14 9.10457 14 8C14 6.89543 13.1046 6 12 6C10.8954 6 10 6.89543 10 8C10 9.10457 10.8954 10 12 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n percentage: '<svg id=\"percentage\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8195)\"><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 10C9.10457 10 10 9.10457 10 8C10 6.89543 9.10457 6 8 6C6.89543 6 6 6.89543 6 8C6 9.10457 6.89543 10 8 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 18C17.1046 18 18 17.1046 18 16C18 14.8954 17.1046 14 16 14C14.8954 14 14 14.8954 14 16C14 17.1046 14.8954 18 16 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 16L16 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8195\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n refund: '<svg id=\"refund\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8196)\"><path d=\"M15.6002 13.868C15.6124 14.2163 15.5443 14.5628 15.4013 14.8807C15.2582 15.1985 15.044 15.4792 14.7751 15.701C14.1079 16.2067 13.3017 16.496 12.4651 16.53V18H11.4831V16.558C10.429 16.5579 9.38546 16.3482 8.41315 15.941V14.048C8.89455 14.2773 9.39686 14.4598 9.91315 14.593C10.4252 14.7381 10.9505 14.8319 11.4811 14.873V12.649L11.0001 12.463C10.2477 12.2116 9.56051 11.7963 8.98815 11.247C8.59128 10.8006 8.38081 10.219 8.40015 9.622C8.39406 9.29339 8.46443 8.96786 8.60569 8.6711C8.74696 8.37434 8.95526 8.11447 9.21415 7.912C9.87359 7.42229 10.6637 7.13966 11.4842 7.1V6H12.4661V7.069C13.4889 7.10005 14.4965 7.32398 15.4361 7.729L14.7621 9.407C14.0285 9.10427 13.2529 8.91575 12.4621 8.848V10.964C13.1553 11.2074 13.8223 11.5197 14.4531 11.896C14.8044 12.1156 15.1009 12.4125 15.3201 12.764C15.5114 13.1 15.6081 13.4815 15.6002 13.868ZM10.5581 9.622C10.5552 9.71932 10.5732 9.81613 10.611 9.90586C10.6488 9.99559 10.7055 10.0761 10.7772 10.142C10.9887 10.3191 11.2275 10.4609 11.4842 10.562V8.876C10.8675 8.96733 10.5588 9.216 10.5581 9.622ZM13.4422 13.976C13.4427 13.8782 13.421 13.7816 13.3787 13.6934C13.3364 13.6053 13.2747 13.5278 13.1981 13.467C12.9746 13.2912 12.7284 13.1462 12.4661 13.036V14.822C13.1161 14.712 13.4415 14.43 13.4422 13.976Z\" fill=\"#5F6368\"/><path d=\"M2.96582 1.13L2.23682 6.927L7.92882 5.341\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.237 6.927C3.47619 4.53978 5.54709 2.68931 8.05815 1.72546C10.5692 0.761614 13.3464 0.751185 15.8646 1.69615C18.3828 2.64111 20.4676 4.47597 21.7247 6.85382C22.9817 9.23166 23.3241 11.9877 22.6869 14.6008C22.0497 17.2139 20.4772 19.503 18.2666 21.0353C16.0561 22.5676 13.3608 23.2369 10.6902 22.9167C8.01965 22.5964 5.55899 21.3088 3.77345 19.2972C1.98791 17.2857 1.00124 14.6897 1 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8196\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n goldCoin: '<svg id=\"goldCoin\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8229)\"><path d=\"M12 6.767L13.545 9.898L17 10.4L14.5 12.837L15.09 16.278L12 14.653L8.91 16.278L9.5 12.837L7 10.4L10.455 9.898L12 6.767Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 20C12.5523 20 13 19.5523 13 19C13 18.4477 12.5523 18 12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20Z\" fill=\"#5F6368\"/><path d=\"M18.6572 15.163C19.2095 15.163 19.6572 14.7153 19.6572 14.163C19.6572 13.6107 19.2095 13.163 18.6572 13.163C18.1049 13.163 17.6572 13.6107 17.6572 14.163C17.6572 14.7153 18.1049 15.163 18.6572 15.163Z\" fill=\"#5F6368\"/><path d=\"M16.1138 7.337C16.6661 7.337 17.1138 6.88928 17.1138 6.337C17.1138 5.78472 16.6661 5.337 16.1138 5.337C15.5615 5.337 15.1138 5.78472 15.1138 6.337C15.1138 6.88928 15.5615 7.337 16.1138 7.337Z\" fill=\"#5F6368\"/><path d=\"M7.88623 7.337C8.43852 7.337 8.88623 6.88928 8.88623 6.337C8.88623 5.78472 8.43852 5.337 7.88623 5.337C7.33395 5.337 6.88623 5.78472 6.88623 6.337C6.88623 6.88928 7.33395 7.337 7.88623 7.337Z\" fill=\"#5F6368\"/><path d=\"M5.34277 15.163C5.89506 15.163 6.34277 14.7153 6.34277 14.163C6.34277 13.6107 5.89506 13.163 5.34277 13.163C4.79049 13.163 4.34277 13.6107 4.34277 14.163C4.34277 14.7153 4.79049 15.163 5.34277 15.163Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8229\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n calendarDate: '<svg id=\"calendarDate\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 12H11V13H13V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 17H5V18H7V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 17H11V18H13V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 12H17V13H19V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" fill=\"#5F6368\"/><path d=\"M13 12H11V13H13V12Z\" fill=\"#5F6368\"/><path d=\"M7 17H5V18H7V17Z\" fill=\"#5F6368\"/><path d=\"M13 17H11V18H13V17Z\" fill=\"#5F6368\"/><path d=\"M19 12H17V13H19V12Z\" fill=\"#5F6368\"/><path d=\"M1 8H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 4H3C1.89543 4 1 4.89543 1 6V20C1 21.1046 1.89543 22 3 22H21C22.1046 22 23 21.1046 23 20V6C23 4.89543 22.1046 4 21 4Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n windowParagraph: '<svg id=\"windowParagraph\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23 2H1V22H23V2Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 6H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 11H5V17H11V11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 11H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 15H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 2V6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n notification: '<svg id=\"notification\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8197)\"><path d=\"M10.4932 14.389L12.8552 20.252C13.0527 20.7437 13.0469 21.2937 12.8391 21.7812C12.6314 22.2687 12.2387 22.6538 11.7472 22.852C11.2555 23.0494 10.7055 23.0436 10.218 22.8359C9.73053 22.6281 9.34541 22.2354 9.14723 21.744L5.51123 12.8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.3091 1.119L3.00008 6C2.36887 6.18783 1.8233 6.59066 1.458 7.13861C1.09269 7.68657 0.930687 8.3451 1.00008 9C0.930687 9.6549 1.09269 10.3134 1.458 10.8614C1.8233 11.4093 2.36887 11.8122 3.00008 12L18.3091 16.881\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 17C21.2091 17 23 13.4183 23 9C23 4.58172 21.2091 1 19 1C16.7909 1 15 4.58172 15 9C15 13.4183 16.7909 17 19 17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.0001 9C19.9988 8.26544 19.7271 7.55708 19.2368 7.01004C18.7466 6.463 18.0721 6.11556 17.3421 6.034C17.1105 7.00554 16.9957 8.00125 17.0001 9C16.9957 9.99875 17.1105 10.9945 17.3421 11.966C18.0721 11.8844 18.7466 11.537 19.2368 10.99C19.7271 10.4429 19.9988 9.73456 20.0001 9Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8197\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n mobileChat: '<svg id=\"mobileChat\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 11H13L9 13V3C9 2.46957 9.21071 1.96086 9.58579 1.58579C9.96086 1.21071 10.4696 1 11 1H21C21.5304 1 22.0391 1.21071 22.4142 1.58579C22.7893 1.96086 23 2.46957 23 3V9C23 9.53043 22.7893 10.0391 22.4142 10.4142C22.0391 10.7893 21.5304 11 21 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 3H4C3.46957 3 2.96086 3.21071 2.58579 3.58579C2.21071 3.96086 2 4.46957 2 5V21C2 21.5304 2.21071 22.0391 2.58579 22.4142C2.96086 22.7893 3.46957 23 4 23H15C15.5304 23 16.0391 22.7893 16.4142 22.4142C16.7893 22.0391 17 21.5304 17 21V14\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n compass: '<svg id=\"compass\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8201)\"><path d=\"M12 1V4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 12H20\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23V20\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 12H4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 7L14 14L7 17L10 10L17 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8201\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n feedback: '<svg id=\"feedback\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20.4 16.8C21.1969 16.0544 21.8373 15.1575 22.2837 14.1616C22.7301 13.1658 22.9736 12.091 23 11C23 6 18.1 2 12 2C5.9 2 1 6 1 11C1 16 5.9 20 12 20C13.0475 20.0213 14.0923 19.8865 15.1 19.6L21 22L20.4 16.8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6V12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\" fill=\"#5F6368\"/></svg>',\r\n receiptList: '<svg id=\"receiptList\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 1H21V22L18 20L15 22L12 20L9 22L6 20L3 22V1Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 7H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 7H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 11H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 11H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 15H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 15H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n fileCopies: '<svg id=\"fileCopies\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 9H2V23H14V9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 5H18V19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 1H22V15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n exchange: '<svg id=\"exchange\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8177)\"><path d=\"M5 5C6.10457 5 7 4.10457 7 3C7 1.89543 6.10457 1 5 1C3.89543 1 3 1.89543 3 3C3 4.10457 3.89543 5 5 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 8C2.791 8 1 9.791 1 12H9C9 9.791 7.209 8 5 8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 16C20.1046 16 21 15.1046 21 14C21 12.8954 20.1046 12 19 12C17.8954 12 17 12.8954 17 14C17 15.1046 17.8954 16 19 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 19C16.791 19 15 20.791 15 23H23C23 20.791 21.209 19 19 19Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 16V18C4 18.552 4.448 19 5 19H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 22L12 19L9 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20 8V6C20 5.448 19.552 5 19 5H12H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 2L12 5L15 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8177\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n copy: '<svg id=\"copy\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 9H3V23H21V9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 5H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 1H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n usersHeart: '<svg id=\"usersHeart\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8175)\"><path d=\"M5.5 18C3.015 18 1 20.015 1 22.5V23H10V22.5C10 20.015 7.985 18 5.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.5 15C6.88071 15 8 13.8807 8 12.5C8 11.1193 6.88071 10 5.5 10C4.11929 10 3 11.1193 3 12.5C3 13.8807 4.11929 15 5.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 18C16.015 18 14 20.015 14 22.5V23H23V22.5C23 20.015 20.985 18 18.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 15C19.8807 15 21 13.8807 21 12.5C21 11.1193 19.8807 10 18.5 10C17.1193 10 16 11.1193 16 12.5C16 13.8807 17.1193 15 18.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.361 1.631C14.388 0.670001 12.764 0.827001 12 1.964C11.235 0.826001 9.611 0.671001 8.639 1.631C7.787 2.473 7.787 3.838 8.639 4.679L12 8L15.361 4.679C16.213 3.838 16.213 2.473 15.361 1.631Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8175\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n usersCheck: '<svg id=\"usersCheck\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.5 18C3.015 18 1 20.015 1 22.5V23H10V22.5C10 20.015 7.985 18 5.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.5 15C6.88071 15 8 13.8807 8 12.5C8 11.1193 6.88071 10 5.5 10C4.11929 10 3 11.1193 3 12.5C3 13.8807 4.11929 15 5.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 18C16.015 18 14 20.015 14 22.5V23H23V22.5C23 20.015 20.985 18 18.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 15C19.8807 15 21 13.8807 21 12.5C21 11.1193 19.8807 10 18.5 10C17.1193 10 16 11.1193 16 12.5C16 13.8807 17.1193 15 18.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 5L11 7L16 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n team: '<svg id=\"team\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8176)\"><path d=\"M4 7C2.895 7 2 6.105 2 5C2 3.895 2.895 3 4 3C5.105 3 6 3.895 6 5C6 6.105 5.105 7 4 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 21H3V17H1V12C1 10.895 1.895 10 3 10H4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20 7C21.105 7 22 6.105 22 5C22 3.895 21.105 3 20 3C18.895 3 18 3.895 18 5C18 6.105 18.895 7 20 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 21H21V17H23V12C23 10.895 22.105 10 21 10H20\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6C10.619 6 9.5 4.881 9.5 3.5C9.5 2.119 10.619 1 12 1C13.381 1 14.5 2.119 14.5 3.5C14.5 4.881 13.381 6 12 6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 23H9V17H7V11C7 9.895 7.895 9 9 9H15C16.105 9 17 9.895 17 11V17H15V23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8176\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n coupon: '<svg id=\"coupon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20 12C20 10.3 21.3 9 23 9V4H1V9C2.7 9 4 10.3 4 12C4 13.7 2.7 15 1 15V20H23V15C21.3 15 20 13.7 20 12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 9L9 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.5 10C10.3284 10 11 9.32843 11 8.5C11 7.67157 10.3284 7 9.5 7C8.67157 7 8 7.67157 8 8.5C8 9.32843 8.67157 10 9.5 10Z\" fill=\"#5F6368\"/><path d=\"M14.5 17C15.3284 17 16 16.3284 16 15.5C16 14.6716 15.3284 14 14.5 14C13.6716 14 13 14.6716 13 15.5C13 16.3284 13.6716 17 14.5 17Z\" fill=\"#5F6368\"/></svg>',\r\n userLocation: '<svg id=\"userLocation\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.999 17.857C20.851 18.402 22 19.161 22 20C22 21.657 17.523 23 12 23C6.477 23 2 21.657 2 20C2 19.161 3.149 18.402 5 17.858\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 20H10V15H8V10C8 8.895 8.895 8 10 8H14C15.105 8 16 8.895 16 10V15H14V20Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 5C10.895 5 10 4.105 10 3C10 1.895 10.895 1 12 1C13.105 1 14 1.895 14 3C14 4.105 13.105 5 12 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n discount: '<svg id=\"discount\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 15L22 12L19 9V5H15L12 2L9 5H5V9L2 12L5 15V19H9L12 22L15 19H19V15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 9L9 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.5 11C10.3284 11 11 10.3284 11 9.5C11 8.67157 10.3284 8 9.5 8C8.67157 8 8 8.67157 8 9.5C8 10.3284 8.67157 11 9.5 11Z\" fill=\"#5F6368\"/><path d=\"M14.5 16C15.3284 16 16 15.3284 16 14.5C16 13.6716 15.3284 13 14.5 13C13.6716 13 13 13.6716 13 14.5C13 15.3284 13.6716 16 14.5 16Z\" fill=\"#5F6368\"/></svg>',\r\n usersMeeting: '<svg id=\"usersMeeting\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8179)\"><path d=\"M5.5 18C3.015 18 1 20.015 1 22.5V23H10V22.5C10 20.015 7.985 18 5.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.5 15C6.88071 15 8 13.8807 8 12.5C8 11.1193 6.88071 10 5.5 10C4.11929 10 3 11.1193 3 12.5C3 13.8807 4.11929 15 5.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 18C16.015 18 14 20.015 14 22.5V23H23V22.5C23 20.015 20.985 18 18.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 15C19.8807 15 21 13.8807 21 12.5C21 11.1193 19.8807 10 18.5 10C17.1193 10 16 11.1193 16 12.5C16 13.8807 17.1193 15 18.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 1H13C12.448 1 12 1.448 12 2V10L16 6H22C22.552 6 23 5.552 23 5V2C23 1.448 22.552 1 22 1Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8179\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n statistics: '<svg id=\"statistics\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 10L9 3L15 9L22 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 22V19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 12V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 22V19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 12V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n transactions: '<svg id=\"transactions\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8178)\"><path d=\"M12 5C13.1046 5 14 4.10457 14 3C14 1.89543 13.1046 1 12 1C10.8954 1 10 1.89543 10 3C10 4.10457 10.8954 5 12 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3.33984 20C4.44441 20 5.33984 19.1046 5.33984 18C5.33984 16.8954 4.44441 16 3.33984 16C2.23527 16 1.33984 16.8954 1.33984 18C1.33984 19.1046 2.23527 20 3.33984 20Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.6597 20C21.7642 20 22.6597 19.1046 22.6597 18C22.6597 16.8954 21.7642 16 20.6597 16C19.5551 16 18.6597 16.8954 18.6597 18C18.6597 19.1046 19.5551 20 20.6597 20Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.27891 4.806C4.50421 6.03911 3.17846 7.81571 2.50152 9.868C1.82458 11.9203 1.83314 14.137 2.52591 16.184\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.4897 19.61C18.062 21.2375 16.1426 22.3553 14.0224 22.7938C11.9023 23.2323 9.69695 22.9676 7.74072 22.04\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.963 12.155C21.7798 9.99978 20.9028 7.96204 19.4635 6.34746C18.0241 4.73288 16.1001 3.62851 13.98 3.2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8178\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n currencyExchange: '<svg id=\"currencyExchange\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8187)\"><path d=\"M15.6002 13.873C15.6124 14.2213 15.5443 14.5678 15.4013 14.8857C15.2582 15.2035 15.044 15.4842 14.7751 15.706C14.1079 16.2117 13.3017 16.501 12.4651 16.535V18.005H11.4831V16.563C10.429 16.5629 9.38546 16.3532 8.41315 15.946V14.053C8.89455 14.2823 9.39686 14.4648 9.91315 14.598C10.4252 14.7431 10.9505 14.8369 11.4811 14.878V12.654L11.0001 12.468C10.2477 12.2166 9.56051 11.8013 8.98815 11.252C8.59128 10.8056 8.38081 10.224 8.40015 9.627C8.39422 9.29842 8.46465 8.97294 8.60591 8.6762C8.74716 8.37947 8.95537 8.11958 9.21415 7.917C9.87359 7.42729 10.6637 7.14466 11.4842 7.105V6.005H12.4661V7.074C13.4889 7.10505 14.4965 7.32898 15.4361 7.734L14.7621 9.412C14.0285 9.10927 13.2529 8.92075 12.4621 8.853V10.969C13.1551 11.2129 13.822 11.5251 14.4531 11.901C14.8042 12.1209 15.1007 12.4177 15.3201 12.769C15.5112 13.1051 15.608 13.4865 15.6002 13.873ZM10.5581 9.627C10.5552 9.72432 10.5732 9.82114 10.611 9.91086C10.6488 10.0006 10.7055 10.0811 10.7772 10.147C10.9887 10.3241 11.2275 10.4659 11.4842 10.567V8.881C10.8675 8.97167 10.5588 9.22033 10.5581 9.627ZM13.4422 13.981C13.4427 13.8832 13.421 13.7866 13.3787 13.6984C13.3364 13.6103 13.2747 13.5328 13.1981 13.472C12.9746 13.2962 12.7284 13.1512 12.4661 13.041V14.827C13.1161 14.717 13.4415 14.435 13.4422 13.981Z\" fill=\"#5F6368\"/><path d=\"M5.34577 7.929L6.93177 2.237L1.13477 2.966\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.7889 23C9.34308 22.9539 6.98237 22.0939 5.08008 20.5558C3.17778 19.0178 1.84246 16.8895 1.28525 14.5075C0.728047 12.1255 0.98075 9.62575 2.00341 7.40347C3.02606 5.1812 4.76031 3.36322 6.93194 2.237\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.6539 16.071L17.0679 21.763L22.8649 21.034\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.2109 1C14.6568 1.04607 17.0175 1.90613 18.9198 3.44418C20.8221 4.98224 22.1574 7.11052 22.7146 9.49251C23.2718 11.8745 23.0191 14.3743 21.9965 16.5965C20.9738 18.8188 19.2396 20.6368 17.0679 21.763\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8187\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n selfie: '<svg id=\"selfie\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 1H2V4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 11V14H5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 14H22V11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 4V1H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13C9.239 13 7 10.761 7 8V7C7 4.239 9.239 2 12 2C14.761 2 17 4.239 17 7V8C17 10.761 14.761 13 12 13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 21.805C22 20 20.795 18.426 19.055 17.945C17.316 17.464 14.89 17 12 17C9.11 17 6.684 17.464 4.945 17.945C3.205 18.427 2 20 2 21.805V23H22V21.805Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n cartRefresh: '<svg id=\"cartRefresh\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8181)\"><path d=\"M1 1H4V16H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 23C7.10457 23 8 22.1046 8 21C8 19.8954 7.10457 19 6 19C4.89543 19 4 19.8954 4 21C4 22.1046 4.89543 23 6 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 23C22.1046 23 23 22.1046 23 21C23 19.8954 22.1046 19 21 19C19.8954 19 19 19.8954 19 21C19 22.1046 19.8954 23 21 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 4H9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.126 4C14.57 2.275 16.136 1 18 1C19.48 1 20.772 1.804 21.464 2.999\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23.22 0.648998L22.792 5L18.522 4.061L23.22 0.648998Z\" fill=\"#5F6368\"/><path d=\"M21.8741 7C21.4301 8.725 19.8641 10 18.0001 10C16.5201 10 15.2281 9.196 14.5361 8.001\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.7798 10.351L13.2078 6L17.4778 6.939L12.7798 10.351Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8181\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n chart: '<svg id=\"chart\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.6 18.5C15.2 20.6 12.7 22 10 22C5.6 22 2 18.4 2 14C2 9.6 5.6 6 10 6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.9 20.8C21.2 18.9 22 16.5 22 14C22 7.4 16.6 2 10 2V14L19.9 20.8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n tag:'<svg id=\"tag\" width=\"24\" height=\"24\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g id=\"Group\"><path id=\"Vector\" d=\"M13.242 20.414L20.414 13.242C20.5998 13.0563 20.7472 12.8358 20.8478 12.5931C20.9483 12.3503 21.0001 12.0902 21.0001 11.8275C21.0001 11.5648 20.9483 11.3046 20.8478 11.0619C20.7472 10.8192 20.5998 10.5987 20.414 10.413L11 1H1V11L10.413 20.415C10.5988 20.6007 10.8194 20.7481 11.0621 20.8485C11.3048 20.949 11.565 21.0007 11.8277 21.0006C12.0904 21.0005 12.3505 20.9486 12.5932 20.848C12.8359 20.7473 13.0563 20.5999 13.242 20.414Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M7 9C8.10457 9 9 8.10457 9 7C9 5.89543 8.10457 5 7 5C5.89543 5 5 5.89543 5 7C5 8.10457 5.89543 9 7 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n fork: '<svg id=\"fork\" width=\"24\" height=\"24\" viewBox=\"0 0 22 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M11 22V1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M4 9V15.681C4.00004 16.0723 4.1149 16.4551 4.33033 16.7818C4.54576 17.1085 4.85231 17.3648 5.212 17.519L8 18.714\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_3\" d=\"M18 6V13.681C18 14.0723 17.8851 14.4551 17.6697 14.7818C17.4542 15.1085 17.1477 15.3648 16.788 15.519L14 16.714\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_4\" d=\"M8 4L11 1L14 4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_5\" d=\"M1 12L4 9L7 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_6\" d=\"M15 9L18 6L21 9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n addToCart: '<svg id=\"assToCart\" width=\"24\" height=\"24\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M6 22C6.55228 22 7 21.5523 7 21C7 20.4477 6.55228 20 6 20C5.44772 20 5 20.4477 5 21C5 21.5523 5.44772 22 6 22Z\" fill=\"#5F6368\"/><path id=\"Vector_2\" d=\"M20 22C20.5523 22 21 21.5523 21 21C21 20.4477 20.5523 20 20 20C19.4477 20 19 20.4477 19 21C19 21.5523 19.4477 22 20 22Z\" fill=\"#5F6368\"/><path id=\"Vector_3\" d=\"M6 22C6.55228 22 7 21.5523 7 21C7 20.4477 6.55228 20 6 20C5.44772 20 5 20.4477 5 21C5 21.5523 5.44772 22 6 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_4\" d=\"M20 22C20.5523 22 21 21.5523 21 21C21 20.4477 20.5523 20 20 20C19.4477 20 19 20.4477 19 21C19 21.5523 19.4477 22 20 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_5\" d=\"M17 6H22L20.322 14.392C20.135 15.327 19.314 16 18.361 16H7.751C6.749 16 5.901 15.258 5.769 14.264L4 1H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_6\" d=\"M4.80005 6H9.00005\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_7\" d=\"M13 2V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_8\" d=\"M16.462 9.309C16.385 9.122 16.202 9 16 9H10C9.79802 9 9.61502 9.122 9.53802 9.309C9.46102 9.496 9.50402 9.711 9.64602 9.854L12.646 12.854C12.744 12.952 12.872 13 13 13C13.128 13 13.256 12.951 13.354 12.854L16.354 9.854C16.497 9.711 16.54 9.496 16.462 9.309Z\" fill=\"#5F6368\"/></g></svg>',\r\n crown: '<svg id=\"crown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M1 14H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M23 3L18 7L12 1L6 7L1 3V16C1 16.5304 1.21071 17.0391 1.58579 17.4142C1.96086 17.7893 2.46957 18 3 18H21C21.5304 18 22.0391 17.7893 22.4142 17.4142C22.7893 17.0391 23 16.5304 23 16V3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n logoWhatsapp: '<svg id=\"logoWhatsapp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-width=\"0\" d=\"M0.0537109 24L1.74142 17.8373C0.700401 16.0338 0.152611 13.9878 0.153461 11.8918C0.156091 5.33464 5.49279 0 12.0499 0C15.2323 0.00127 18.2192 1.23986 20.4652 3.48773C22.7113 5.73561 23.9476 8.7236 23.9463 11.9013C23.9437 18.4585 18.6065 23.7938 12.0501 23.7938H12.0452C10.0541 23.793 8.09776 23.2937 6.36018 22.3463L0.0537109 24ZM6.65235 20.1932L7.01342 20.4074C8.53152 21.3081 10.2718 21.7845 12.046 21.7852H12.05C17.4999 21.7852 21.9355 17.351 21.9377 11.9005C21.9388 9.25935 20.9112 6.77584 19.0444 4.90748C17.1776 3.03912 14.6949 2.00959 12.0539 2.00858C6.59989 2.00858 2.16421 6.44251 2.16203 11.8926C2.16127 13.7602 2.68404 15.5792 3.67381 17.153L3.90894 17.527L2.91003 21.1746L6.65235 20.1932Z\" fill=\"#5F6368\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.07685 6.92043C8.83559 6.34098 8.59052 6.41938 8.40806 6.4103C8.23488 6.40168 8.03652 6.39986 7.83836 6.39986C7.6402 6.39986 7.31818 6.47422 7.0457 6.77169C6.77324 7.06918 6.00537 7.7881 6.00537 9.25069C6.00537 10.7133 7.07048 12.1263 7.21911 12.3246C7.36772 12.523 9.31513 15.5244 12.297 16.8116C13.0061 17.1177 13.5598 17.3005 13.9915 17.4375C14.7036 17.6637 15.3516 17.6318 15.8638 17.5553C16.4349 17.47 17.6224 16.8364 17.8701 16.1423C18.1178 15.4481 18.1178 14.8532 18.0435 14.7292C17.9692 14.6053 17.7711 14.5309 17.4738 14.3822C17.1766 14.2334 15.7152 13.5145 15.4427 13.4154C15.1702 13.3162 14.9721 13.2666 14.7739 13.5641C14.5758 13.8616 14.0061 14.5309 13.8327 14.7292C13.6593 14.9276 13.4859 14.9524 13.1887 14.8036C12.8914 14.6549 11.9337 14.3411 10.7983 13.3287C9.91467 12.5408 9.31806 11.5676 9.14467 11.2702C8.97128 10.9727 9.12623 10.8118 9.27503 10.6637C9.40873 10.5306 9.57226 10.3166 9.72089 10.1431C9.8695 9.96958 9.91905 9.84563 10.0181 9.64733C10.1172 9.449 10.0677 9.27547 9.99335 9.12673C9.91903 8.978 9.32457 7.51538 9.07685 6.92043Z\" fill=\"#5F6368\"/></svg>',\r\n tagLoyalty: '<svg id=\"tagLoyalty\" width=\"24\" height=\"24\" viewBox=\"0 0 20 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M9 22H1V8L8 1L15 8V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M8 11C9.10457 11 10 10.1046 10 9C10 7.89543 9.10457 7 8 7C6.89543 7 6 7.89543 6 9C6 10.1046 6.89543 11 8 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_3\" d=\"M18.361 14.631C17.388 13.67 15.764 13.827 15 14.964C14.235 13.826 12.611 13.671 11.639 14.631C10.787 15.473 10.787 16.838 11.639 17.679L15 21L18.361 17.679C19.213 16.838 19.213 15.473 18.361 14.631Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n\r\n //Navigation\r\n slideRight: '<svg id=\"slideRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 12H21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 20H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 4H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 17L22 12L17 7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n slideLeft: '<svg id=\"slideLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22 12H3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 4H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 20H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 7L2 12L7 17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowSmLeft: '<svg id=\"arrowSmLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 16L10 12L14 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowSmRight: '<svg id=\"arrowSmRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 8L14 12L10 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowSmDown: '<svg id=\"arrowSmDown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 10L12 14L8 10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n caretSmUp: '<svg id=\"caretSmUp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8 14L12 10L16 14\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlDown: '<svg id=\"ctrlDown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1 8L12 16L23 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlUp: '<svg id=\"ctrlUp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23 16L12 8L1 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlRight: '<svg id=\"ctrlRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8 1L16 12L8 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlLeft: '<svg id=\"ctrlLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 1L8 12L16 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowDown: '<svg id=\"arrowDown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 2V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 15L12 22L5 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowUp: '<svg id=\"arrowUp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 22V2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 9L12 2L19 9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowRight: '<svg id=\"arrowRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 12H22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5L22 12L15 19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowLeft: '<svg id=\"arrowLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22 12H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 19L2 12L9 5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>', \r\n doubleArrowLeft: '<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.389 9.389a0.55 0.55 0 0 0 0 -0.778L1.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.389 9.389a0.55 0.55 0 0 0 0 -0.778L5.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"\"/></svg>', \r\n doubleArrowRight: '<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" transform=\"matrix(-1,0,0,1,0,0)\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.389 9.389a0.55 0.55 0 0 0 0 -0.778L1.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"></path><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.389 9.389a0.55 0.55 0 0 0 0 -0.778L5.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"></path></svg>'\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { wappingIcons } from '../icons';\r\n\r\n@Component({\r\n selector: 'w-icons',\r\n template: `\r\n <ng-content></ng-content>\r\n `,\r\n styles: [],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WIconsComponent implements OnInit, AfterViewInit{\r\n @Input('name') name!: string;\r\n @Input('width') width!: number;\r\n @Input('height') height!: number;\r\n @Input('color') color!: string;\r\n\r\n constructor(private element: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n this.element.nativeElement.innerHTML = wappingIcons[this.name] || null;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n\r\n if(this.width)\r\n svgElement.setAttribute('width', this.width.toString()); \r\n\r\n if(this.height)\r\n svgElement.setAttribute('height', this.height.toString());\r\n \r\n if(this.color){\r\n this.applyColorToPaths(this.color);\r\n }\r\n }\r\n \r\n private applyColorToPaths(fillColor: string) {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n if (svgElement) {\r\n const pathElements = svgElement.querySelectorAll('path');\r\n pathElements.forEach((path:any) => {\r\n path.setAttribute('stroke', fillColor);\r\n\r\n const fillAttribute = path.getAttribute('fill');\r\n if (fillAttribute) {\r\n path.setAttribute('fill', fillColor);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export const wappingLogos: any = {\r\n wappingComplete: '<svg id=\"wappingComplete\" width=\"197\" height=\"64\" viewBox=\"0 0 197 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8839)\"><path id=\"path\" d=\"M40.9986 43.7251C40.9482 44.072 40.8726 44.4189 40.743 44.7479C40.4658 45.4416 39.9113 45.9173 39.202 46.1533C39.004 46.2176 38.7915 46.2713 38.6187 46.3929C38.5215 46.4608 38.5071 46.6539 38.3955 46.679C38.2155 46.7183 38.2443 46.5574 38.2083 46.4501C38.1435 46.257 37.8806 46.1211 37.7186 46.0281C37.0669 45.649 36.5989 45.0733 36.4692 44.3259C36.4152 44.0183 36.2532 42.6201 36.7285 42.6344C37.0885 42.6451 37.4558 42.7166 37.8158 42.7595C38.8023 42.874 39.7889 42.9884 40.7754 43.1064C41.1462 43.1493 41.0454 43.4462 41.0022 43.7323L40.9986 43.7251ZM36.2532 53.7632C33.3692 52.7047 31.9074 50.8737 32.7283 48.9641C33.3836 47.4371 33.9129 45.9065 33.9129 44.1793C33.9129 38.4539 29.2395 33.8121 23.4751 33.8121C17.7108 33.8121 13.0373 38.4539 13.0373 44.1793C13.0373 49.4361 16.7746 53.5415 21.7613 54.4069C22.1285 54.4713 23.9144 54.6215 24.332 54.6215H35.9436C36.48 54.7002 36.6925 54.01 36.2604 53.7597L36.2532 53.7632ZM43.7206 33.569C43.2993 35.2783 41.6647 35.8612 40.1093 36.2689C38.2191 36.766 36.2424 36.7445 34.5286 35.8469C33.4304 35.2712 31.641 34.0052 31.1729 31.1229C30.7985 28.8127 31.7346 27.2857 32.5915 26.0949C33.0308 25.4834 33.8553 24.8897 34.6186 24.4821C35.7455 23.8777 36.0264 23.9063 36.2532 25.1365C36.4368 26.1307 37.2073 26.921 38.1218 27.2929C39.5188 27.8615 40.8258 28.5946 41.8915 29.6889C42.9465 30.7724 44.1202 31.9633 43.7206 33.5725V33.569ZM39.7925 31.6164C39.7925 30.9119 39.2164 30.3362 38.5035 30.3362C37.7906 30.3362 37.2145 30.9083 37.2145 31.6164C37.2145 32.3245 37.7906 32.8966 38.5035 32.8966C39.2164 32.8966 39.7925 32.3245 39.7925 31.6164ZM16.1085 32.657C18.9997 30.472 21.8693 28.237 24.5985 25.8553C29.7868 21.3351 31.0829 13.6536 27.8209 7.63146C24.6489 1.77022 17.4875 -1.25517 10.9239 0.49355C4.13337 2.30306 -0.201604 8.18218 0.00722364 15.5704C0.489687 15.6133 1.07296 15.4274 1.53743 15.2521C4.65184 14.0684 7.68704 14.3402 10.283 16.7005C12.7097 18.9033 13.3758 21.9931 12.3136 25.3654C11.4531 28.1655 10.4234 30.9119 9.48367 33.6905C8.33872 37.0771 8.05068 40.4244 10.2902 44.5333C9.75011 38.7221 12.4253 35.4464 16.1121 32.6606L16.1085 32.657ZM40.509 40.9286C40.0805 40.6532 39.8249 40.4244 39.0328 40.3385C38.2731 40.2563 37.6934 40.4458 37.3225 40.6711C36.8401 40.9643 36.6313 41.1396 36.48 41.4543C36.3468 41.7296 36.4476 42.1087 36.7933 42.148C37.607 42.2446 38.4243 42.3376 39.238 42.4341C39.6881 42.4878 40.1417 42.5378 40.5918 42.5915C40.7106 42.6058 40.8294 42.6272 40.9482 42.6308C41.2975 42.6415 41.4199 42.0658 41.2831 41.8369C41.0562 41.4471 40.9014 41.1825 40.5054 40.9286H40.509Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M104.353 34.3879C103.982 34.3771 103.478 34.37 102.837 34.37H102.358C101.94 34.37 101.595 34.3843 101.325 34.4058C101.054 34.4308 100.82 34.5166 100.622 34.6632C100.129 34.5416 99.6863 34.4665 99.2903 34.4415C98.8978 34.4165 98.3541 34.4058 97.6664 34.4058C96.6547 34.4058 95.6934 34.5166 94.7825 34.7348C93.7491 35.003 92.7734 35.4392 91.8625 36.0365C90.9516 36.6372 90.145 37.356 89.443 38.2036C88.7409 39.0475 88.154 39.9952 87.6895 41.0466C87.2215 42.098 86.901 43.1994 86.7282 44.3509C86.433 46.4787 86.5842 48.3275 87.1891 49.8939C87.7939 51.4602 88.8345 52.5974 90.3107 53.3091C90.6059 53.4306 90.9408 53.5487 91.308 53.6595C91.6789 53.7704 92.1073 53.849 92.6006 53.8991H92.6366C92.759 53.9241 92.8994 53.9349 93.0614 53.9349H93.5979C94.9517 53.9349 96.1866 53.7275 97.292 53.3091C97.5872 53.234 97.9185 53.1016 98.2893 52.905C98.6818 53.47 99.4091 53.7847 100.468 53.8598C100.885 53.8848 101.292 53.8848 101.688 53.8598C102.081 53.8347 102.444 53.799 102.779 53.7489C103.11 53.6988 103.395 53.6452 103.629 53.5844C103.863 53.5236 104.018 53.4807 104.09 53.4557H104.054C104.399 53.3341 104.633 53.1946 104.756 53.0337C104.878 52.8763 104.965 52.6618 105.015 52.3936L105.238 50.888C105.289 50.5698 105.22 50.3015 105.033 50.0798C104.849 49.8581 104.583 49.7508 104.237 49.7508H103.463L105.31 36.6837C105.386 36.0722 105.422 35.6073 105.422 35.2891C105.422 34.9708 105.335 34.7455 105.163 34.6096C104.99 34.4773 104.72 34.4022 104.349 34.3915L104.353 34.3879ZM98.2173 48.281C98.0913 48.3311 97.9581 48.3848 97.8105 48.4455C97.6628 48.5063 97.4036 48.5993 97.0328 48.7209C96.3415 48.9176 95.7582 49.0392 95.2793 49.0892C94.8005 49.1393 94.4368 49.1393 94.1884 49.0892C93.6951 49.0177 93.3063 48.8568 93.0254 48.6136C92.741 48.3704 92.5394 48.0701 92.4169 47.716C92.2945 47.362 92.2261 46.965 92.2117 46.5216C92.1973 46.0817 92.2189 45.6276 92.2693 45.1627C92.3413 44.4296 92.471 43.7072 92.6582 42.9956C92.8418 42.2839 93.119 41.6509 93.4899 41.0859C93.8607 40.5245 94.3216 40.0703 94.8761 39.727C95.4305 39.3837 96.1146 39.212 96.9283 39.212C97.4216 39.212 97.8825 39.2299 98.3145 39.2657C98.7466 39.3014 99.1318 39.3444 99.4775 39.3944L98.2209 48.2775L98.2173 48.281Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M94.6276 15.3201C92.1325 14.3116 90.9264 15.9852 90.7319 16.3893L74.6414 48.0128L71.3218 32.2923C71.1633 31.5699 70.9725 31.037 70.7529 30.6937C70.5333 30.3504 69.1363 28.5159 66.688 29.2705C63.9804 30.1073 64.2756 32.1349 64.2144 32.6678C64.182 32.9181 64.2072 33.1934 64.2864 33.4903C64.3657 33.7907 64.4377 34.1089 64.4989 34.4558C64.4989 34.4558 68.3046 49.64 68.751 51.2635C69.0175 52.0574 69.1183 52.4043 69.2623 52.7154C69.4027 53.0301 69.5539 53.3126 69.7124 53.5629C70.1552 54.3783 70.9437 54.929 72.0815 55.2115C72.3335 55.2723 72.6107 55.3224 72.9096 55.351C73.2084 55.3832 73.4857 55.3975 73.7377 55.3975C74.4974 55.3975 75.2211 55.233 75.9196 54.904C76.6145 54.575 77.2626 54.128 77.8602 53.5629C78.2383 53.1875 78.5623 52.8084 78.8324 52.4329C79.0988 52.0574 79.3616 51.6497 79.6137 51.2099L96.2371 19.1966C96.3127 19.0464 97.5656 16.5038 94.624 15.3165L94.6276 15.3201Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M64.1207 44.4832C63.8039 45.1734 63.487 45.8493 63.1738 46.5073C62.857 47.1653 62.5581 47.7303 62.2737 48.2024L59.0512 32.3888C58.8928 31.8882 58.5472 31.3911 58.0107 30.9047C57.4742 30.4184 56.7289 30.1752 55.782 30.1752C54.9611 30.1752 53.7441 30.2825 52.8224 31.4304C51.447 33.1398 52.6568 36.5729 52.6568 36.5729C53.3841 39.6161 53.9674 42.0336 54.4102 43.8216C54.8531 45.6097 55.1987 47.0151 55.4508 48.0343C55.7028 49.0535 55.8936 49.783 56.0196 50.2229C56.1457 50.6627 56.2717 51.0525 56.3977 51.3994H56.3509C56.4445 51.7463 56.5705 52.1146 56.7289 52.5044C56.8874 52.8978 57.0602 53.2482 57.251 53.5629C57.8199 54.3783 58.6264 54.929 59.6669 55.2115C59.919 55.2723 60.189 55.3224 60.4734 55.351C60.7579 55.3832 61.0243 55.3975 61.2799 55.3975C62.0684 55.3975 62.8281 55.2401 63.5554 54.9254C64.2827 54.6107 64.9128 54.1423 65.4493 53.5129C65.6077 53.3555 65.7805 53.1588 65.9714 52.9264C66.1622 52.6904 66.335 52.4329 66.4934 52.1504L67.1019 51.1276L64.902 42.7702C64.6464 43.3317 64.3872 43.8967 64.1207 44.4796V44.4832Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M125.696 38.3323C125.091 36.791 124.051 35.6538 122.575 34.9171C122.254 34.7705 121.804 34.631 121.224 34.4952C120.645 34.3628 120.036 34.2949 119.395 34.2949H119.359C118.668 34.2949 118.009 34.345 117.383 34.4415C116.756 34.5416 116.169 34.699 115.626 34.9171L114.628 35.3212C114.409 35.053 114.092 34.8206 113.685 34.6239C113.278 34.4272 112.817 34.3307 112.306 34.3307C111.669 34.3307 111.107 34.4058 110.617 34.5524C110.128 34.699 109.699 34.8706 109.332 35.0673C108.893 35.289 108.511 35.5215 108.194 35.7647C108.144 35.8147 108.072 35.9363 107.975 36.133C107.877 36.3297 107.816 36.487 107.791 36.6086L107.568 38.1857C107.517 38.529 107.579 38.8044 107.751 39.0118C107.924 39.2192 108.18 39.3229 108.522 39.3229H109.364L106.272 61.273C106.196 61.8345 106.156 62.2708 106.142 62.5747C106.128 62.8787 106.196 63.1076 106.347 63.2542C106.495 63.4008 106.722 63.4866 107.031 63.5117C107.341 63.5367 107.777 63.5474 108.338 63.5474H108.742C109.303 63.5474 109.76 63.5331 110.117 63.5117C110.47 63.4866 110.747 63.4008 110.941 63.2542C111.136 63.1076 111.291 62.8823 111.402 62.5747C111.514 62.2672 111.604 61.8345 111.676 61.273L114.7 40.1311C115.021 39.9344 115.438 39.727 115.957 39.5089C116.573 39.2406 117.127 39.094 117.62 39.069C118.114 39.044 118.495 39.0583 118.765 39.1048C119.284 39.1799 119.676 39.3372 119.95 39.5804C120.22 39.8236 120.425 40.1311 120.558 40.4959C120.692 40.8642 120.76 41.2719 120.76 41.726C120.76 42.1802 120.735 42.6379 120.684 43.1028C120.634 43.6428 120.548 44.1936 120.425 44.755C120.303 45.32 120.13 45.8564 119.907 46.3714C119.683 46.8864 119.403 47.3513 119.057 47.7661C118.711 48.1845 118.294 48.4992 117.8 48.7209C117.53 48.9176 116.925 49.0141 115.989 49.0141C115.579 49.0141 115.197 48.9998 114.823 48.982L114.121 53.7847H115.251C115.77 53.7847 116.256 53.7668 116.709 53.731C117.167 53.6953 117.638 53.6166 118.132 53.4914C118.747 53.3448 119.493 53.0802 120.367 52.7011C121.242 52.322 122.074 51.6926 122.863 50.8093C123.651 49.9511 124.346 48.9247 124.951 47.7267C125.556 46.5288 125.955 45.2449 126.153 43.8717C126.449 41.7189 126.294 39.87 125.693 38.3287L125.696 38.3323Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M155.962 24.972C155.555 24.9469 154.993 24.9362 154.28 24.9362C153.639 24.9362 153.128 24.9505 152.746 24.972C152.365 24.997 152.062 25.0936 151.843 25.2652C151.619 25.4369 151.454 25.6944 151.342 26.0341C151.231 26.3774 151.137 26.878 151.065 27.5396L150.993 28.1619C150.917 28.8485 150.881 29.367 150.881 29.721C150.881 30.0751 150.975 30.3326 151.159 30.4935C151.342 30.6544 151.634 30.7367 152.026 30.751C152.419 30.7653 152.973 30.7688 153.69 30.7688C154.331 30.7688 154.849 30.7581 155.242 30.7331C155.634 30.7081 155.944 30.6115 156.163 30.4398C156.386 30.2682 156.552 30.0107 156.664 29.671C156.775 29.3277 156.869 28.827 156.941 28.1654L157.017 27.5432C157.089 26.8816 157.128 26.3738 157.128 26.0198C157.128 25.6657 157.035 25.4083 156.851 25.2473C156.667 25.09 156.372 24.997 155.965 24.972H155.962Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M196.74 34.6096C196.568 34.4773 196.298 34.4022 195.927 34.3914C195.556 34.3807 195.041 34.3736 194.375 34.3736H194.116C193.622 34.3736 193.223 34.3914 192.913 34.4272C192.604 34.463 192.351 34.5667 192.157 34.7383C192.207 34.8098 192.143 34.8098 191.973 34.7383C191.801 34.6632 191.653 34.606 191.531 34.5559C191.505 34.5559 191.48 34.5488 191.459 34.5381C191.433 34.5273 191.408 34.5202 191.383 34.5202C191.16 34.4701 190.861 34.4415 190.476 34.4272C190.094 34.4165 189.68 34.4093 189.237 34.4093C188.225 34.4093 187.278 34.5202 186.393 34.7383C185.777 34.8849 185.021 35.1675 184.121 35.5823C183.221 36.0007 182.403 36.6086 181.662 37.4168C180.873 38.2751 180.171 39.2943 179.555 40.4816C178.94 41.6688 178.533 42.9598 178.335 44.3545C178.04 46.4823 178.191 48.3311 178.796 49.8974C179.401 51.4638 180.441 52.601 181.917 53.3126C182.187 53.4342 182.508 53.5522 182.879 53.6631C183.249 53.7739 183.667 53.8526 184.135 53.9027C184.258 53.9277 184.405 53.9384 184.578 53.9384H185.133C186.465 53.9384 187.721 53.731 188.902 53.3126H188.866L189.086 53.2375L188.679 56.3952C188.603 57.0318 188.359 57.4967 187.941 57.7899C187.523 58.0831 186.994 58.2906 186.353 58.4157C186.133 58.4658 185.874 58.5016 185.579 58.5266C185.284 58.5516 184.974 58.5623 184.654 58.5623C183.988 58.5623 183.329 58.5194 182.677 58.4336C182.025 58.3478 181.55 58.2798 181.255 58.2333C180.96 58.1833 180.736 58.1404 180.589 58.1046C180.441 58.0688 180.268 58.051 180.07 58.051C179.505 58.051 179.055 58.2405 178.72 58.6196C178.389 58.9986 178.036 59.5815 177.669 60.3647C177.546 60.6329 177.442 60.8797 177.356 61.0978C177.269 61.3195 177.211 61.5126 177.19 61.6843C177.139 61.9525 177.165 62.1671 177.262 62.328C177.359 62.4889 177.539 62.6284 177.798 62.75C178.058 62.8716 178.407 62.9896 178.85 63.1004C179.293 63.2113 179.836 63.34 180.477 63.4866C180.92 63.5367 181.402 63.5832 181.917 63.6333C182.436 63.6833 183.001 63.7084 183.617 63.7084C183.937 63.7084 184.344 63.6833 184.837 63.6333C185.331 63.5832 185.842 63.5117 186.371 63.4151C186.9 63.315 187.422 63.2006 187.941 63.0647C188.459 62.9288 188.927 62.7643 189.345 62.5712C190.576 62.0061 191.624 61.2194 192.485 60.2038C193.349 59.1882 193.9 57.8364 194.148 56.1485L196.884 36.6945C196.957 36.0829 196.996 35.618 196.996 35.2998C196.996 34.9815 196.91 34.7562 196.737 34.6203L196.74 34.6096ZM189.792 48.281C189.619 48.3526 189.446 48.4241 189.273 48.4813C189.1 48.5421 188.877 48.6243 188.607 48.7209C187.966 48.9426 187.404 49.0678 186.926 49.1071C186.447 49.1429 186.069 49.1393 185.799 49.0892C185.28 49.0177 184.877 48.8639 184.578 48.6315C184.283 48.3991 184.074 48.0987 183.952 47.7339C183.829 47.3656 183.761 46.965 183.746 46.5216C183.732 46.0817 183.754 45.6276 183.804 45.1627C183.876 44.6012 183.97 44.0326 184.081 43.4569C184.193 42.8811 184.358 42.3447 184.578 41.8405C184.801 41.3398 185.079 40.8857 185.41 40.4816C185.741 40.0775 186.155 39.7663 186.648 39.5446C186.846 39.4481 187.109 39.3658 187.444 39.305C187.775 39.2442 188.128 39.212 188.495 39.212C188.863 39.212 189.197 39.2192 189.493 39.2299C189.788 39.2406 190.072 39.2728 190.342 39.3229C190.465 39.3479 190.584 39.3765 190.695 39.4159C190.807 39.4516 190.922 39.4838 191.048 39.5089L189.792 48.281Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M175.454 49.7115H174.677L176.045 40.0202C176.34 37.9425 175.94 36.4477 174.842 35.5429C173.744 34.6382 171.829 34.209 169.096 34.2591C168.455 34.2591 167.872 34.2841 167.343 34.3306C166.813 34.3807 166.363 34.4415 165.992 34.513C165.769 34.5631 165.506 34.6274 165.197 34.7133C164.887 34.7991 164.624 34.9028 164.401 35.0244C163.933 34.513 163.216 34.2555 162.259 34.2555C161.618 34.2555 161.045 34.3271 160.541 34.4737C160.037 34.6203 159.598 34.7919 159.231 34.9886C158.788 35.2104 158.406 35.4428 158.086 35.686C157.963 35.8076 157.87 35.9506 157.808 36.108C157.747 36.2689 157.704 36.3976 157.679 36.4942L157.456 38.0712C157.405 38.4145 157.474 38.6935 157.661 38.9152C157.844 39.1369 158.111 39.2442 158.457 39.2442H159.27L158.791 42.4377L157.499 51.3207C157.423 51.8106 157.387 52.2076 157.387 52.5116C157.387 52.8155 157.456 53.0587 157.592 53.2268C157.729 53.3984 157.931 53.5093 158.201 53.5558C158.471 53.6058 158.842 53.6273 159.31 53.6273H160.638C161.081 53.6273 161.445 53.5951 161.729 53.5343C162.01 53.4735 162.233 53.3555 162.395 53.1874C162.554 53.0158 162.676 52.7798 162.766 52.4722C162.853 52.1682 162.932 51.782 163.008 51.3171L164.671 39.5339C165.287 39.4373 165.92 39.3515 166.576 39.2764C167.227 39.2013 167.886 39.1906 168.552 39.2406C169.218 39.2907 169.715 39.4373 170.05 39.6805C170.381 39.9237 170.5 40.3528 170.403 40.9643L169.035 50.6198C169.01 50.7664 168.999 51.006 168.999 51.335C168.999 51.664 169.071 52.0037 169.222 52.3435C169.37 52.6868 169.622 52.9979 169.978 53.2804C170.335 53.5629 170.86 53.7382 171.548 53.8133C172.484 53.9098 173.258 53.8991 173.877 53.7775C174.493 53.6559 174.864 53.5701 174.986 53.52C175.307 53.3734 175.584 53.2196 175.818 53.0623C176.052 52.9049 176.192 52.6653 176.243 52.3471L176.463 50.8415C176.513 50.5232 176.445 50.255 176.261 50.0333C176.074 49.8116 175.811 49.7043 175.465 49.7043L175.454 49.7115Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M154.942 35.1031C154.723 34.8599 154.431 34.6561 154.075 34.4987C153.718 34.3414 153.293 34.2591 152.8 34.2591C152.159 34.2591 151.587 34.3306 151.083 34.4773C150.579 34.6239 150.139 34.7848 149.772 34.9529C149.329 35.1746 148.948 35.4071 148.627 35.6502C148.505 35.7218 148.4 35.8398 148.314 35.9971C148.228 36.158 148.17 36.3225 148.148 36.4906L147.929 38.0677C147.878 38.411 147.954 38.6899 148.148 38.9116C148.346 39.1334 148.606 39.2406 148.922 39.2406H149.772L148.037 51.3171C147.961 51.9036 147.918 52.3506 147.907 52.6582C147.893 52.9657 147.961 53.191 148.112 53.3376C148.26 53.4843 148.487 53.5701 148.796 53.5951C149.103 53.6202 149.542 53.6309 150.107 53.6309H150.514C151.079 53.6309 151.536 53.6202 151.882 53.5951C152.228 53.5701 152.505 53.4843 152.714 53.3376C152.923 53.191 153.081 52.9657 153.193 52.6582C153.304 52.3506 153.394 51.9072 153.47 51.3171L155.501 36.7803C155.526 36.5121 155.493 36.2224 155.407 35.9184C155.321 35.6109 155.166 35.3355 154.946 35.0924L154.942 35.1031Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M142.42 34.9207C142.1 34.7741 141.65 34.6346 141.07 34.4987C140.49 34.3664 139.882 34.2985 139.241 34.2985H139.205C138.514 34.2985 137.855 34.3485 137.228 34.4451C136.602 34.5452 136.015 34.7026 135.471 34.9207L134.474 35.3248C134.254 35.0566 133.938 34.8241 133.531 34.6275C133.124 34.4308 132.663 34.3342 132.152 34.3342C131.514 34.3342 130.953 34.4093 130.463 34.5559C129.973 34.7026 129.545 34.8742 129.178 35.0709C128.738 35.2926 128.357 35.5251 128.04 35.7682C127.99 35.8183 127.918 35.9399 127.82 36.1366C127.723 36.3333 127.662 36.4906 127.637 36.6122L127.414 38.1893C127.363 38.5326 127.424 38.8079 127.597 39.0153C127.77 39.2228 128.026 39.3265 128.368 39.3265H129.21L126.117 61.2766C126.042 61.8381 126.002 62.2743 125.988 62.5783C125.973 62.8823 126.042 63.1111 126.193 63.2578C126.341 63.4044 126.567 63.4902 126.877 63.5152C127.187 63.5403 127.622 63.551 128.184 63.551H128.587C129.149 63.551 129.606 63.5367 129.963 63.5152C130.315 63.4902 130.593 63.4044 130.787 63.2578C130.982 63.1111 131.136 62.8859 131.248 62.5783C131.36 62.2708 131.45 61.8381 131.522 61.2766L134.546 40.1347C134.866 39.938 135.284 39.7306 135.803 39.5124C136.418 39.2442 136.973 39.0976 137.466 39.0726C137.725 39.0583 137.948 39.0583 138.147 39.0654C138.399 39.0654 138.625 39.0797 138.795 39.1083C139.313 39.1834 139.706 39.3408 139.976 39.5839C140.246 39.8271 140.451 40.1347 140.584 40.4994C140.717 40.8678 140.786 41.2754 140.786 41.7296C140.786 42.1838 140.76 42.6415 140.714 43.1064C140.663 43.6464 140.577 44.1971 140.454 44.7586C140.332 45.3236 140.159 45.86 139.936 46.375C139.713 46.8899 139.432 47.3548 139.086 47.7697C138.741 48.1881 138.323 48.5028 137.83 48.7245C137.56 48.9212 136.955 49.0177 136.019 49.0177C135.986 49.0177 135.957 49.0177 135.921 49.0177C135.889 49.0177 135.867 49.0177 135.835 49.0177C135.425 49.0177 135.043 49.0034 134.668 48.9855L133.966 53.7882H135.097C135.615 53.7882 136.101 53.7704 136.555 53.7346C137.012 53.6988 137.484 53.6202 137.977 53.495C138.593 53.3484 139.338 53.0837 140.213 52.7047C141.088 52.3256 141.92 51.6962 142.708 50.8129C143.497 49.9547 144.192 48.9283 144.797 47.7303C145.401 46.5323 145.801 45.2485 145.999 43.8753C146.294 41.7225 146.14 39.8736 145.538 38.3323C144.933 36.791 143.893 35.6538 142.417 34.9171L142.42 34.9207Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8839\"><rect width=\"197\" height=\"64\" fill=\"white\"/></clipPath></defs></svg>',\r\n wappingNaming: '<svg id=\"wappingNaming\" width=\"145\" height=\"40\" viewBox=\"0 0 145 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8840)\"><path id=\"path\" d=\"M52.4312 20.1687C52.0606 20.1579 51.557 20.1507 50.9167 20.1507H50.4382C50.0209 20.1507 49.6756 20.1651 49.4058 20.1867C49.1359 20.2119 48.9021 20.2984 48.7042 20.4461C48.2114 20.3236 47.7689 20.2479 47.3732 20.2227C46.9811 20.1975 46.4379 20.1867 45.7508 20.1867C44.7399 20.1867 43.7794 20.2984 42.8692 20.5181C41.8368 20.7883 40.8619 21.2278 39.9517 21.8295C39.0416 22.4347 38.2358 23.1588 37.5343 24.0126C36.8328 24.8628 36.2464 25.8175 35.7823 26.8767C35.3147 27.9358 34.9945 29.0454 34.8218 30.2054C34.5268 32.349 34.6779 34.2115 35.2823 35.7894C35.8867 37.3674 36.9263 38.513 38.4013 39.2299C38.6962 39.3524 39.0308 39.4713 39.3977 39.5829C39.7683 39.6946 40.1964 39.7739 40.6892 39.8243H40.7252C40.8475 39.8495 40.9878 39.8603 41.1497 39.8603H41.6857C43.0383 39.8603 44.2722 39.6514 45.3766 39.2299C45.6716 39.1542 46.0026 39.0209 46.3731 38.8228C46.7652 39.392 47.4919 39.709 48.5496 39.7847C48.9669 39.8099 49.3734 39.8099 49.7691 39.7847C50.1612 39.7595 50.5245 39.7234 50.8591 39.673C51.1901 39.6226 51.4743 39.5685 51.7081 39.5073C51.9419 39.446 52.0966 39.4028 52.1686 39.3776H52.1326C52.4779 39.2551 52.7118 39.1146 52.8341 38.9525C52.9564 38.794 53.0427 38.5778 53.0931 38.3076L53.3161 36.791C53.3665 36.4703 53.2981 36.2001 53.1111 35.9768C52.9276 35.7534 52.6614 35.6453 52.3161 35.6453H51.5426L53.3881 22.4815C53.4636 21.8655 53.4996 21.3972 53.4996 21.0765C53.4996 20.7559 53.4133 20.5289 53.2406 20.392C53.0679 20.2587 52.7981 20.1831 52.4276 20.1723L52.4312 20.1687ZM46.3012 34.1647C46.1753 34.2151 46.0422 34.2692 45.8947 34.3304C45.7472 34.3916 45.4882 34.4853 45.1176 34.6078C44.4269 34.8059 43.8441 34.9284 43.3657 34.9789C42.8872 35.0293 42.5239 35.0293 42.2757 34.9789C41.7828 34.9068 41.3943 34.7447 41.1137 34.4997C40.8295 34.2547 40.628 33.9521 40.5057 33.5955C40.3834 33.2388 40.3151 32.8389 40.3007 32.3922C40.2863 31.9491 40.3079 31.4916 40.3582 31.0232C40.4302 30.2847 40.5597 29.557 40.7468 28.8401C40.9302 28.1232 41.2072 27.4855 41.5778 26.9163C41.9483 26.3507 42.4088 25.8932 42.9628 25.5473C43.5168 25.2015 44.2003 25.0286 45.0133 25.0286C45.5061 25.0286 45.9666 25.0466 46.3983 25.0826C46.83 25.1186 47.2149 25.1618 47.5603 25.2123L46.3048 34.1611L46.3012 34.1647Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M42.7146 0.959747C40.2216 -0.0561787 39.0164 1.62983 38.8222 2.03692L22.7453 33.8945L19.4285 18.0576C19.2702 17.3298 19.0796 16.7931 18.8601 16.4472C18.6407 16.1014 17.2449 14.2532 14.7986 15.0134C12.0934 15.8564 12.3884 17.8991 12.3272 18.4358C12.2948 18.688 12.32 18.9654 12.3992 19.2644C12.4783 19.567 12.5503 19.8877 12.6114 20.2371C12.6114 20.2371 16.4139 35.5337 16.86 37.1692C17.1262 37.969 17.2269 38.3184 17.3708 38.6319C17.5111 38.9489 17.6622 39.2335 17.8205 39.4857C18.2629 40.3071 19.0508 40.8619 20.1876 41.1465C20.4394 41.2077 20.7164 41.2581 21.015 41.287C21.3136 41.3194 21.5906 41.3338 21.8424 41.3338C22.6014 41.3338 23.3245 41.1681 24.0224 40.8366C24.7167 40.5052 25.3642 40.0549 25.9614 39.4857C26.3391 39.1074 26.6629 38.7255 26.9327 38.3473C27.1989 37.969 27.4615 37.5583 27.7134 37.1152L44.3226 4.86494C44.3982 4.71363 45.6501 2.1522 42.711 0.956145L42.7146 0.959747Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M12.2336 30.3387C11.917 31.034 11.6005 31.7149 11.2875 32.3778C10.9709 33.0407 10.6723 33.6099 10.3881 34.0854L7.16844 18.1548C7.01015 17.6505 6.6648 17.1497 6.12878 16.6598C5.59277 16.1698 4.8481 15.9248 3.90198 15.9248C3.08177 15.9248 1.86585 16.0329 0.944913 17.1893C-0.429299 18.9114 0.77943 22.3698 0.77943 22.3698C1.50611 25.4356 2.08889 27.871 2.53137 29.6723C2.97385 31.4735 3.3192 32.8894 3.57102 33.9161C3.82284 34.9428 4.0135 35.6777 4.13941 36.1209C4.26532 36.564 4.39123 36.9567 4.51714 37.3061H4.47038C4.56391 37.6556 4.68982 38.0266 4.84811 38.4193C5.00639 38.8156 5.17907 39.1686 5.36973 39.4857C5.93812 40.3071 6.74394 40.8619 7.7836 41.1465C8.03542 41.2077 8.30522 41.2581 8.58942 41.287C8.87362 41.3194 9.13982 41.3338 9.39524 41.3338C10.1831 41.3338 10.9421 41.1753 11.6688 40.8582C12.3955 40.5412 13.025 40.0693 13.561 39.4352C13.7193 39.2767 13.892 39.0786 14.0827 38.8444C14.2733 38.6066 14.446 38.3473 14.6043 38.0627L15.2123 37.0323L13.0142 28.6131C12.7588 29.1787 12.4998 29.7479 12.2336 30.3351V30.3387Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M73.7567 24.1423C73.1524 22.5896 72.1127 21.444 70.6378 20.7019C70.3176 20.5542 69.8679 20.4137 69.2887 20.2768C68.7096 20.1435 68.1016 20.075 67.4612 20.075H67.4253C66.7346 20.075 66.0762 20.1254 65.4503 20.2227C64.8243 20.3236 64.238 20.4821 63.6948 20.7019L62.6983 21.1089C62.4788 20.8388 62.1623 20.6046 61.7557 20.4064C61.3492 20.2083 60.8888 20.111 60.3779 20.111C59.7412 20.111 59.18 20.1867 58.6908 20.3344C58.2015 20.4821 57.7734 20.655 57.4065 20.8532C56.9676 21.0765 56.5863 21.3107 56.2697 21.5557C56.2193 21.6061 56.1474 21.7286 56.0503 21.9267C55.9531 22.1249 55.892 22.2834 55.8668 22.4059L55.6437 23.9946C55.5934 24.3405 55.6545 24.6179 55.8272 24.8268C55.9999 25.0358 56.2553 25.1402 56.5971 25.1402H57.4389L54.3487 47.2528C54.2731 47.8184 54.2336 48.2579 54.2192 48.5642C54.2048 48.8704 54.2731 49.101 54.4242 49.2487C54.5717 49.3964 54.7983 49.4828 55.1077 49.508C55.4171 49.5333 55.8524 49.5441 56.4136 49.5441H56.8165C57.3777 49.5441 57.8346 49.5297 58.1907 49.508C58.5433 49.4828 58.8203 49.3964 59.0145 49.2487C59.2088 49.101 59.3635 48.874 59.475 48.5642C59.5865 48.2543 59.6764 47.8184 59.7484 47.2528L62.7702 25.9544C63.0904 25.7563 63.5077 25.5473 64.0257 25.3276C64.6409 25.0574 65.1949 24.9097 65.6877 24.8844C66.1806 24.8592 66.5619 24.8736 66.8317 24.9205C67.3497 24.9961 67.7418 25.1546 68.0152 25.3996C68.2851 25.6446 68.4901 25.9544 68.6232 26.3219C68.7563 26.6929 68.8247 27.1036 68.8247 27.5612C68.8247 28.0187 68.7995 28.4798 68.7491 28.9482C68.6988 29.4921 68.6124 30.0469 68.4901 30.6125C68.3678 31.1817 68.1951 31.7221 67.9721 32.2409C67.749 32.7597 67.4684 33.228 67.1231 33.6459C66.7777 34.0674 66.3604 34.3844 65.8676 34.6078C65.5978 34.8059 64.9934 34.9032 64.0581 34.9032C63.648 34.9032 63.2667 34.8888 62.8925 34.8708L62.191 39.709H63.3206C63.8387 39.709 64.3243 39.691 64.7776 39.655C65.2344 39.619 65.7057 39.5397 66.1986 39.4136C66.8137 39.2659 67.5584 38.9993 68.4326 38.6175C69.3067 38.2356 70.1377 37.6015 70.9256 36.7117C71.7134 35.8471 72.4077 34.8131 73.0121 33.6063C73.6164 32.3994 74.0157 31.1061 74.2136 29.7227C74.5086 27.554 74.3539 25.6914 73.7531 24.1387L73.7567 24.1423Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M103.996 10.6831C103.59 10.6579 103.029 10.6471 102.316 10.6471C101.676 10.6471 101.165 10.6615 100.784 10.6831C100.403 10.7083 100.1 10.8056 99.8809 10.9785C99.6579 11.1514 99.4924 11.4108 99.3809 11.7531C99.2694 12.0989 99.1758 12.6033 99.1039 13.2697L99.0319 13.8966C98.9564 14.5883 98.9204 15.1107 98.9204 15.4673C98.9204 15.824 99.0139 16.0833 99.1974 16.2455C99.3809 16.4076 99.6723 16.4904 100.064 16.5048C100.457 16.5193 101.011 16.5229 101.726 16.5229C102.367 16.5229 102.885 16.5121 103.277 16.4868C103.669 16.4616 103.978 16.3643 104.198 16.1914C104.421 16.0185 104.586 15.7591 104.698 15.4169C104.809 15.071 104.903 14.5667 104.975 13.9002L105.05 13.2733C105.122 12.6069 105.162 12.0953 105.162 11.7386C105.162 11.382 105.068 11.1226 104.885 10.9605C104.701 10.802 104.406 10.7083 104 10.6831H103.996Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M144.741 20.392C144.568 20.2587 144.298 20.1831 143.928 20.1723C143.557 20.1615 143.043 20.1543 142.377 20.1543H142.118C141.626 20.1543 141.226 20.1723 140.917 20.2083C140.607 20.2443 140.356 20.3488 140.161 20.5217C140.212 20.5938 140.147 20.5938 139.978 20.5217C139.805 20.4461 139.658 20.3884 139.535 20.338C139.51 20.338 139.485 20.3308 139.464 20.32C139.438 20.3092 139.413 20.302 139.388 20.302C139.165 20.2515 138.866 20.2227 138.481 20.2083C138.1 20.1975 137.686 20.1903 137.244 20.1903C136.233 20.1903 135.287 20.302 134.402 20.5217C133.787 20.6694 133.031 20.954 132.132 21.3719C131.233 21.7934 130.416 22.4059 129.675 23.2201C128.887 24.0847 128.186 25.1114 127.57 26.3075C126.955 27.5035 126.549 28.804 126.351 30.209C126.056 32.3526 126.207 34.2151 126.811 35.793C127.416 37.371 128.455 38.5166 129.93 39.2335C130.2 39.356 130.52 39.4749 130.891 39.5865C131.261 39.6982 131.679 39.7775 132.146 39.8279C132.269 39.8531 132.416 39.8639 132.589 39.8639H133.143C134.474 39.8639 135.729 39.655 136.909 39.2335H136.873L137.093 39.1578L136.686 42.3389C136.611 42.9802 136.366 43.4485 135.949 43.7439C135.532 44.0393 135.003 44.2483 134.362 44.3744C134.143 44.4248 133.884 44.4608 133.589 44.4861C133.294 44.5113 132.985 44.5221 132.664 44.5221C131.999 44.5221 131.341 44.4788 130.689 44.3924C130.038 44.3059 129.563 44.2375 129.268 44.1906C128.973 44.1402 128.75 44.097 128.603 44.0609C128.455 44.0249 128.283 44.0069 128.085 44.0069C127.52 44.0069 127.07 44.1978 126.736 44.5797C126.405 44.9616 126.052 45.5488 125.685 46.3378C125.563 46.608 125.459 46.8565 125.372 47.0763C125.286 47.2997 125.229 47.4942 125.207 47.6671C125.157 47.9373 125.182 48.1535 125.279 48.3156C125.376 48.4777 125.556 48.6182 125.815 48.7407C126.074 48.8632 126.423 48.9821 126.865 49.0937C127.308 49.2054 127.851 49.3351 128.491 49.4828C128.934 49.5333 129.416 49.5801 129.93 49.6305C130.448 49.681 131.013 49.7062 131.628 49.7062C131.949 49.7062 132.355 49.681 132.848 49.6305C133.341 49.5801 133.852 49.508 134.38 49.4108C134.909 49.3099 135.431 49.1946 135.949 49.0577C136.467 48.9208 136.935 48.7551 137.352 48.5606C138.582 47.9914 139.629 47.1988 140.489 46.1757C141.352 45.1525 141.903 43.7908 142.151 42.0903L144.885 22.4923C144.957 21.8763 144.996 21.408 144.996 21.0873C144.996 20.7667 144.91 20.5397 144.737 20.4028L144.741 20.392ZM137.798 34.1647C137.625 34.2367 137.453 34.3088 137.28 34.3664C137.107 34.4277 136.884 34.5105 136.614 34.6078C135.974 34.8312 135.413 34.9572 134.934 34.9969C134.456 35.0329 134.078 35.0293 133.808 34.9789C133.29 34.9068 132.887 34.7519 132.589 34.5177C132.294 34.2836 132.085 33.9809 131.963 33.6135C131.841 33.2424 131.772 32.8389 131.758 32.3922C131.743 31.9491 131.765 31.4916 131.815 31.0232C131.887 30.4576 131.981 29.8848 132.092 29.3048C132.204 28.7248 132.369 28.1844 132.589 27.6764C132.812 27.1721 133.089 26.7146 133.42 26.3075C133.751 25.9004 134.165 25.5869 134.657 25.3636C134.855 25.2663 135.118 25.1835 135.452 25.1222C135.783 25.061 136.136 25.0285 136.503 25.0285C136.87 25.0285 137.204 25.0358 137.499 25.0466C137.794 25.0574 138.079 25.0898 138.348 25.1402C138.471 25.1654 138.589 25.1943 138.701 25.2339C138.812 25.2699 138.927 25.3023 139.053 25.3276L137.798 34.1647Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M123.473 35.6057H122.696L124.063 25.8427C124.358 23.7496 123.958 22.2438 122.861 21.3323C121.764 20.4209 119.85 19.9886 117.12 20.039C116.479 20.039 115.897 20.0642 115.368 20.111C114.839 20.1615 114.389 20.2227 114.019 20.2948C113.796 20.3452 113.533 20.4101 113.224 20.4965C112.914 20.583 112.652 20.6874 112.429 20.8099C111.961 20.2948 111.245 20.0354 110.288 20.0354C109.648 20.0354 109.076 20.1074 108.572 20.2551C108.069 20.4028 107.63 20.5758 107.263 20.7739C106.82 20.9973 106.439 21.2314 106.119 21.4764C105.996 21.5989 105.903 21.743 105.842 21.9015C105.781 22.0636 105.737 22.1933 105.712 22.2906L105.489 23.8793C105.439 24.2252 105.507 24.5062 105.694 24.7295C105.878 24.9529 106.144 25.061 106.489 25.061H107.302L106.824 28.2781L105.532 37.2269C105.457 37.7204 105.421 38.1203 105.421 38.4265C105.421 38.7327 105.489 38.9777 105.626 39.147C105.763 39.32 105.964 39.4316 106.234 39.4785C106.504 39.5289 106.874 39.5505 107.342 39.5505H108.669C109.112 39.5505 109.475 39.5181 109.759 39.4569C110.04 39.3956 110.263 39.2767 110.425 39.1074C110.583 38.9345 110.706 38.6967 110.795 38.3869C110.882 38.0807 110.961 37.6916 111.036 37.2233L112.698 25.3528C113.314 25.2555 113.947 25.1691 114.601 25.0934C115.253 25.0177 115.911 25.0069 116.576 25.0574C117.242 25.1078 117.738 25.2555 118.073 25.5005C118.404 25.7455 118.523 26.1778 118.426 26.7938L117.059 36.5208C117.033 36.6685 117.023 36.9098 117.023 37.2413C117.023 37.5727 117.095 37.915 117.246 38.2572C117.393 38.603 117.645 38.9165 118.001 39.2011C118.357 39.4857 118.882 39.6622 119.57 39.7379C120.505 39.8351 121.278 39.8243 121.897 39.7018C122.512 39.5793 122.883 39.4929 123.005 39.4424C123.325 39.2947 123.602 39.1398 123.836 38.9813C124.07 38.8228 124.21 38.5814 124.261 38.2608L124.48 36.7441C124.53 36.4235 124.462 36.1533 124.279 35.9299C124.091 35.7066 123.829 35.5985 123.484 35.5985L123.473 35.6057Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M102.978 20.8892C102.759 20.6442 102.468 20.4389 102.112 20.2803C101.755 20.1218 101.331 20.039 100.838 20.039C100.198 20.039 99.6257 20.111 99.1221 20.2587C98.6184 20.4064 98.1795 20.5685 97.8126 20.7379C97.3701 20.9612 96.9888 21.1954 96.6686 21.4404C96.5463 21.5124 96.442 21.6313 96.3557 21.7898C96.2693 21.9519 96.2118 22.1177 96.1902 22.287L95.9707 23.8757C95.9204 24.2216 95.9959 24.5026 96.1902 24.7259C96.388 24.9493 96.647 25.0574 96.9636 25.0574H97.8126L96.0787 37.2232C96.0031 37.8141 95.9599 38.2644 95.9491 38.5742C95.9348 38.884 96.0031 39.111 96.1542 39.2587C96.3017 39.4064 96.5283 39.4929 96.8377 39.5181C97.1435 39.5433 97.5824 39.5541 98.1472 39.5541H98.5537C99.1185 39.5541 99.5753 39.5433 99.9207 39.5181C100.266 39.4929 100.543 39.4064 100.752 39.2587C100.96 39.111 101.119 38.884 101.23 38.5742C101.342 38.2644 101.432 37.8177 101.507 37.2232L103.536 22.5788C103.561 22.3086 103.529 22.0168 103.443 21.7106C103.356 21.4007 103.202 21.1233 102.982 20.8784L102.978 20.8892Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M90.4664 20.7055C90.1462 20.5578 89.6965 20.4173 89.1173 20.2804C88.5382 20.1471 87.9302 20.0786 87.2899 20.0786H87.2539C86.5632 20.0786 85.9049 20.129 85.2789 20.2263C84.653 20.3272 84.0666 20.4857 83.5234 20.7055L82.5269 21.1126C82.3074 20.8424 81.9909 20.6082 81.5844 20.41C81.1778 20.2119 80.7174 20.1146 80.2066 20.1146C79.5698 20.1146 79.0086 20.1903 78.5194 20.338C78.0301 20.4857 77.602 20.6586 77.2351 20.8568C76.7962 21.0801 76.4149 21.3143 76.0983 21.5593C76.0479 21.6097 75.976 21.7322 75.8789 21.9303C75.7817 22.1285 75.7206 22.287 75.6954 22.4095L75.4723 23.9982C75.422 24.3441 75.4831 24.6215 75.6558 24.8304C75.8285 25.0394 76.0839 25.1438 76.4257 25.1438H77.2675L74.1773 47.2564C74.1017 47.822 74.0622 48.2615 74.0478 48.5678C74.0334 48.874 74.1017 49.1045 74.2528 49.2523C74.4003 49.4 74.627 49.4864 74.9363 49.5116C75.2457 49.5369 75.681 49.5477 76.2422 49.5477H76.6451C77.2063 49.5477 77.6632 49.5333 78.0193 49.5116C78.3719 49.4864 78.6489 49.4 78.8431 49.2523C79.0374 49.1045 79.1921 48.8776 79.3036 48.5678C79.4151 48.2579 79.5051 47.822 79.577 47.2564L82.5988 25.958C82.919 25.7599 83.3363 25.5509 83.8543 25.3312C84.4695 25.061 85.0235 24.9133 85.5163 24.888C85.7753 24.8736 85.9984 24.8736 86.1962 24.8808C86.4481 24.8808 86.6747 24.8953 86.8438 24.9241C87.3618 24.9997 87.7539 25.1582 88.0237 25.4032C88.2935 25.6482 88.4986 25.958 88.6317 26.3255C88.7648 26.6965 88.8331 27.1072 88.8331 27.5648C88.8331 28.0223 88.808 28.4834 88.7612 28.9518C88.7108 29.4957 88.6245 30.0505 88.5022 30.6161C88.3799 31.1853 88.2072 31.7257 87.9842 32.2445C87.7611 32.7633 87.4805 33.2316 87.1352 33.6495C86.7898 34.071 86.3725 34.388 85.8797 34.6114C85.6099 34.8095 85.0055 34.9068 84.0702 34.9068C84.0378 34.9068 84.009 34.9068 83.973 34.9068C83.9407 34.9068 83.9191 34.9068 83.8867 34.9068C83.4766 34.9068 83.0953 34.8924 82.7211 34.8744L82.0196 39.7126H83.1492C83.6673 39.7126 84.1529 39.6946 84.6062 39.6586C85.0631 39.6226 85.5343 39.5433 86.0272 39.4172C86.6423 39.2695 87.387 39.0029 88.2612 38.6211C89.1353 38.2392 89.9663 37.6051 90.7542 36.7153C91.542 35.8507 92.2363 34.8167 92.8407 33.6099C93.445 32.403 93.8444 31.1097 94.0422 29.7263C94.3372 27.5576 94.1825 25.695 93.5817 24.1423C92.9774 22.5896 91.9377 21.444 90.4628 20.7019L90.4664 20.7055Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8840\"><rect width=\"145\" height=\"50\" fill=\"white\"/></clipPath></defs></svg>',\r\n wappingIsotype: '<svg id=\"wappingIsotype\" width=\"45\" height=\"55\" viewBox=\"0 0 45 55\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8841)\"><path id=\"path\" d=\"M41.5017 43.839C41.4513 44.1867 41.3757 44.5345 41.2461 44.8644C40.9688 45.56 40.4143 46.0368 39.705 46.2735C39.5069 46.338 39.2945 46.3918 39.1216 46.5137C39.0244 46.5818 39.01 46.7754 38.8984 46.8005C38.7184 46.84 38.7472 46.6786 38.7112 46.5711C38.6463 46.3774 38.3835 46.2412 38.2215 46.148C37.5697 45.7679 37.1016 45.1907 36.972 44.4413C36.918 44.133 36.756 42.7311 37.2313 42.7454C37.5913 42.7562 37.9586 42.8279 38.3187 42.8709C39.3053 42.9856 40.2919 43.1004 41.2785 43.2187C41.6494 43.2617 41.5485 43.5593 41.5053 43.8461L41.5017 43.839ZM36.756 53.9032C33.8718 52.842 32.4099 51.0062 33.2308 49.0916C33.8862 47.5606 34.4155 46.0261 34.4155 44.2943C34.4155 38.5541 29.7417 33.9002 23.9769 33.9002C18.2121 33.9002 13.5383 38.5541 13.5383 44.2943C13.5383 49.5649 17.2759 53.6809 22.2629 54.5486C22.6302 54.6132 24.4162 54.7637 24.8339 54.7637H36.4463C36.9828 54.8426 37.1952 54.1506 36.7632 53.8997L36.756 53.9032ZM44.2239 33.6564C43.8026 35.3702 42.1679 35.9546 40.6124 36.3634C38.722 36.8617 36.7452 36.8402 35.0312 35.9403C33.933 35.363 32.1434 34.0938 31.6753 31.2039C31.3008 28.8878 32.237 27.3568 33.094 26.1628C33.5333 25.5497 34.3579 24.9546 35.1212 24.5458C36.2482 23.9399 36.5291 23.9686 36.756 25.202C36.9396 26.1987 37.7101 26.9911 38.6247 27.364C40.0218 27.934 41.3289 28.6691 42.3947 29.7662C43.4497 30.8526 44.6236 32.0465 44.2239 33.66V33.6564ZM40.2955 31.6987C40.2955 30.9924 39.7194 30.4152 39.0064 30.4152C38.2935 30.4152 37.7174 30.9888 37.7174 31.6987C37.7174 32.4086 38.2935 32.9823 39.0064 32.9823C39.7194 32.9823 40.2955 32.4086 40.2955 31.6987ZM16.6098 32.7421C19.5012 30.5514 22.371 28.3105 25.1003 25.9226C30.289 21.3907 31.5853 13.6892 28.323 7.65133C25.1507 1.77483 17.9889 -1.25844 11.4247 0.494834C4.63368 2.30906 0.298381 8.20348 0.507224 15.611C0.989724 15.654 1.57305 15.4675 2.03754 15.2919C5.15219 14.1051 8.18762 14.3776 10.7838 16.744C13.2107 18.9526 13.8768 22.0504 12.8146 25.4314C11.954 28.2388 10.9242 30.9924 9.98439 33.7783C8.83935 37.1737 8.5513 40.5296 10.791 44.6493C10.2508 38.823 12.9262 35.5387 16.6134 32.7457L16.6098 32.7421ZM41.012 41.0352C40.5835 40.7591 40.3279 40.5296 39.5357 40.4436C38.776 40.3611 38.1963 40.5511 37.8254 40.777C37.3429 41.071 37.134 41.2467 36.9828 41.5622C36.8496 41.8383 36.9504 42.2184 37.2961 42.2578C38.1098 42.3546 38.9272 42.4478 39.741 42.5446C40.1911 42.5984 40.6448 42.6486 41.0949 42.7024C41.2137 42.7167 41.3325 42.7382 41.4513 42.7418C41.8006 42.7526 41.923 42.1753 41.7862 41.9459C41.5594 41.555 41.4045 41.2897 41.0084 41.0352H41.012Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8841\"><rect width=\"44\" height=\"55\" fill=\"white\" transform=\"translate(0.5)\"/></clipPath></defs></svg>',\r\n wappingIsotype2: '<svg id=\"wappingIsotype2\" width=\"45\" height=\"40\" viewBox=\"0 0 45 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8842)\"><path id=\"path\" d=\"M42.3339 0.926238C39.9109 -0.0542108 38.7396 1.57292 38.5508 1.96579L22.9255 32.7109L19.7018 17.427C19.548 16.7247 19.3627 16.2066 19.1494 15.8729C18.9361 15.5391 17.5795 13.7555 15.202 14.4891C12.5727 15.3027 12.8594 17.274 12.8 17.792C12.7685 18.0354 12.793 18.3031 12.8699 18.5917C12.9468 18.8838 13.0167 19.1932 13.0762 19.5304C13.0762 19.5304 16.7719 34.2928 17.2054 35.8713C17.4641 36.6431 17.562 36.9803 17.7019 37.2828C17.8383 37.5888 17.9851 37.8634 18.1389 38.1068C18.569 38.8995 19.3347 39.4349 20.4396 39.7096C20.6843 39.7687 20.9535 39.8174 21.2437 39.8452C21.5339 39.8765 21.8031 39.8904 22.0479 39.8904C22.7856 39.8904 23.4884 39.7305 24.1667 39.4106C24.8415 39.0907 25.4708 38.6561 26.0512 38.1068C26.4184 37.7418 26.733 37.3732 26.9953 37.0082C27.254 36.6431 27.5092 36.2467 27.754 35.8191L43.8968 4.69506C43.9702 4.54903 45.1869 2.07705 42.3304 0.922762L42.3339 0.926238Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M12.7091 29.2793C12.4015 29.9503 12.0938 30.6074 11.7896 31.2472C11.4819 31.8869 11.1917 32.4362 10.9155 32.8951L7.78623 17.5209C7.63239 17.0341 7.29674 16.5508 6.77578 16.078C6.25482 15.6052 5.53107 15.3687 4.61152 15.3687C3.81434 15.3687 2.63257 15.473 1.7375 16.5891C0.401884 18.251 1.57667 21.5887 1.57667 21.5887C2.28293 24.5474 2.84935 26.8977 3.2794 28.6361C3.70945 30.3745 4.04511 31.7409 4.28985 32.7317C4.5346 33.7226 4.71991 34.4319 4.84228 34.8595C4.96465 35.2872 5.08703 35.6661 5.2094 36.0034H5.16395C5.25485 36.3406 5.37723 36.6987 5.53107 37.0777C5.68491 37.4601 5.85273 37.8009 6.03804 38.1068C6.59047 38.8995 7.37366 39.4349 8.38411 39.7096C8.62886 39.7687 8.89109 39.8174 9.1673 39.8452C9.44352 39.8765 9.70225 39.8904 9.95049 39.8904C10.7162 39.8904 11.4539 39.7374 12.1602 39.4315C12.8665 39.1255 13.4783 38.6701 13.9993 38.0581C14.1531 37.9052 14.321 37.7139 14.5063 37.488C14.6916 37.2585 14.8594 37.0082 15.0132 36.7335L15.6041 35.7391L13.4678 27.6139C13.2196 28.1598 12.9679 28.7091 12.7091 29.2758V29.2793Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8842\"><rect width=\"44\" height=\"40\" fill=\"white\" transform=\"translate(0.5)\"/></clipPath></defs></svg>',\r\n itx: '<svg version=\"1.0\" height=\"40\" preserveAspectRatio=\"xMidYMid meet\" viewBox=\"-29.611 -4.688 449.34 120.296\" xmlns=\"http://www.w3.org/2000/svg\" xmlns:bx=\"https://boxy-svg.com\"> <defs> <bx:grid x=\"15.323\" y=\"25.386\" width=\"44.934\" height=\"30.074\"/> </defs> <g transform=\"matrix(0.1, 0, 0, -0.1, -6.786614, 132.223953)\" fill=\"#000000\" stroke=\"none\"> <path d=\"M1980 1062 c0 -6 66 -73 147 -150 l147 -140 -148 -156 -148 -156 64 0 65 0 108 125 c59 69 110 125 114 125 4 0 58 -56 121 -124 l115 -124 75 -1 75 -1 -159 159 c-113 113 -156 163 -150 172 4 8 60 69 123 137 64 67 118 127 119 132 4 11 -57 11 -99 1 -17 -4 -61 -45 -120 -113 -51 -60 -96 -108 -99 -107 -3 0 -50 50 -105 110 l-99 109 -57 0 c-32 0 -64 3 -73 6 -9 3 -16 2 -16 -4z\"/> <path d=\"M272 1050 c-46 -19 -54 -63 -50 -306 l3 -224 28 -27 27 -28 253 -3 c165 -2 265 0 289 8 58 17 68 46 68 200 l0 130 -170 0 -170 0 0 -40 0 -40 120 0 120 0 0 -90 0 -90 -232 2 -233 3 -3 218 -2 217 235 0 235 0 0 -46 c0 -38 3 -45 18 -40 9 2 32 7 50 11 30 6 32 9 32 50 0 32 -7 52 -24 72 l-24 28 -274 2 c-154 1 -283 -2 -296 -7z\"/> <path d=\"M1230 1047 c-45 -23 -50 -47 -50 -280 0 -254 5 -279 67 -297 25 -8 115 -10 265 -8 l228 3 26 26 c22 23 26 37 31 106 l6 80 -39 6 c-64 11 -63 13 -66 -65 l-3 -73 -207 -3 -208 -2 0 220 0 220 210 0 210 0 0 -66 0 -67 38 7 c20 3 43 6 50 6 15 0 16 79 1 132 -17 64 -35 68 -301 68 -167 0 -240 -4 -258 -13z\"/> <path d=\"M3271 793 c-11 -35 -9 -46 35 -163 60 -164 58 -160 99 -160 l35 0 0 88 c1 48 2 126 3 175 l2 87 -27 0 -27 0 -3 -126 -3 -127 -43 119 c-54 152 -56 154 -71 107z\"/> <path d=\"M3672 810 c-5 -14 -11 -32 -14 -40 -2 -8 19 -77 48 -155 47 -128 54 -140 78 -143 14 -2 26 1 26 6 0 4 -29 87 -64 183 -56 152 -66 171 -74 149z\"/> <path d=\"M2990 773 l1 -48 13 31 c8 17 24 39 37 48 l23 16 -37 0 -37 0 0 -47z\"/> <path d=\"M3077 654 c-53 -91 -97 -170 -97 -175 0 -6 12 -9 26 -7 22 3 41 28 125 171 55 92 99 170 99 172 0 3 -12 5 -28 5 -25 0 -36 -15 -125 -166z\"/> <path d=\"M3534 797 c19 -19 26 -36 26 -64 0 -43 -6 -55 -35 -71 -15 -9 -16 -11 -4 -12 27 0 46 -33 51 -88 5 -56 29 -92 60 -92 15 0 17 3 8 19 -5 11 -10 39 -10 63 0 49 -24 84 -65 94 l-25 6 33 22 c62 42 41 122 -36 142 l-29 7 26 -26z\"/> <path d=\"M3202 504 l-34 -34 36 0 c34 0 36 1 36 35 0 19 -1 34 -2 34 -2 -1 -18 -17 -36 -35z\"/> </g> </svg>'\r\n}","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { wappingLogos } from '../logos';\r\n\r\n@Component({\r\n selector: 'w-logos',\r\n template: `\r\n <ng-content></ng-content>\r\n `,\r\n styles: [],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WLogosComponent implements OnInit, AfterViewInit{\r\n @Input('name') name!: string;\r\n @Input('width') width!: number;\r\n @Input('height') height!: number;\r\n @Input('color') color!: string;\r\n\r\n constructor(private element: ElementRef) { }\r\n \r\n ngOnInit(): void {\r\n this.element.nativeElement.innerHTML = wappingLogos[this.name] || null; \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n\r\n if(this.width)\r\n svgElement.setAttribute('width', this.width.toString()); \r\n\r\n if(this.height)\r\n svgElement.setAttribute('height', this.height.toString());\r\n \r\n if(this.color){\r\n this.applyColorToPaths(this.color);\r\n }\r\n }\r\n \r\n private applyColorToPaths(fillColor: string) {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n if (svgElement) {\r\n const pathElements = svgElement.querySelectorAll('path');\r\n pathElements.forEach((path:any) => {\r\n path.setAttribute('fill', fillColor);\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { FormControl, FormControlName, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n@Component({\r\n selector: 'w-edit-input-textarea',\r\n templateUrl: './w-edit-input-textarea.component.html',\r\n styleUrls: ['./w-edit-input-textarea.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditInputTextareaComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditInputTextareaComponent {\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n\r\n @Input('rows') rows: number = 4;\r\n @Input('minlength') minlength!: number;\r\n @Input('maxlength') maxlength!: number;\r\n @Input('autoResize') autoResize: boolean = true;\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('successMessage') successMessage: string = \"\";\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Data is required\";\r\n @Input('minlengthErrorDescription') minlengthErrorDescription: string = \"Min length warning\";\r\n @Input('maxlengthErrorDescription') maxlengthErrorDescription: string = \"Max length warning\";\r\n\r\n @Input('size') size: string = \"small\";\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n\r\n @Input('tooltip') tooltip!: string;\r\n\r\n value: string = '';\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <div class=\"flex flex-column w-edit-input-textarea-medium-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea \r\n [ngClass]=\"{'w-edit-input-textarea-medium-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-textarea-medium-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-textarea-medium-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n [autoResize]=\"autoResize\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-medium\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\">\r\n </textarea>\r\n </div>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\" class=\"w-input-alert-message-height w-full w-input-success-alert-text p-error block\">{{successMessage}}</small> -->\r\n <small *ngIf=\"formControl.invalid && formControl.hasError('maxlength')\" class=\"w-input-alert-message-height w-full w-input-warning-alert-text p-error block\">{{maxlengthErrorDescription}}</small>\r\n <small *ngIf=\"formControl.invalid && formControl.hasError('minlength')\" class=\"w-input-alert-message-height w-full w-input-warning-alert-text p-error block\">{{minlengthErrorDescription}}</small>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.dirty\" class=\"w-input-alert-message-height w-full w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</small>\r\n </div>\r\n <ng-template #inputSmall>\r\n <div class=\"flex flex-column w-edit-input-textarea-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea\r\n [ngClass]=\"{'w-edit-input-textarea-small-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-textarea-small-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-textarea-small-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n [autoResize]=\"autoResize\"\r\n [rows]=\"rows\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-small\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\">\r\n </textarea>\r\n </div>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\" class=\"w-input-alert-message-height w-full w-input-success-alert-text p-error block\">{{successMessage}}</small> -->\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('maxlength')\" class=\"w-input-alert-message w-full w-input-warning-alert-text p-error block\">{{maxlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('minlength')\" class=\"w-input-alert-message w-full w-input-warning-alert-text p-error block\">{{minlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.hasError('required') && formControl.dirty\" class=\"w-input-alert-message w-full w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <div class=\"flex flex-column w-edit-input-textarea-medium-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea\r\n [disabled]=\"disabled\"\r\n minlength=\"{{minlength}}\"\r\n maxlength=\"{{maxlength}}\"\r\n [autoResize]=\"autoResize\"\r\n [required]=\"required\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-medium\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [(ngModel)]=\"value\" (input)=\"onValueChanged()\" [disabled]=\"disabled\">\r\n </textarea>\r\n </div>\r\n <!-- <div class=\"w-input-alert-message-height\"></div> -->\r\n </div>\r\n <ng-template #inputSmall>\r\n <div class=\"flex flex-column w-edit-input-textarea-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea\r\n [disabled]=\"disabled\"\r\n minlength=\"{{minlength}}\"\r\n maxlength=\"{{maxlength}}\"\r\n [autoResize]=\"autoResize\"\r\n [required]=\"required\"\r\n [rows]=\"rows\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-small\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"disabled\">\r\n </textarea>\r\n </div>\r\n <!-- <div class=\"w-input-alert-message-height\"></div> -->\r\n </ng-template>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-select',\r\n templateUrl: './w-edit-select.component.html',\r\n styleUrls: ['./w-edit-select.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditSelectComponent),\r\n multi: true\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WEditSelectComponent implements OnInit, ControlValueAccessor{\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('options') options: any;\r\n @Input('filter') filter: boolean = false;\r\n @Input('optionLabel') optionLabel!: string;\r\n @Input('optionValue') optionValue!: string;\r\n @Input('appendTo') appendTo!: string;\r\n @Input('showClear') showClear: boolean = true;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('requiredErrorDescription') errorDescription: string = \"Select an option is required\";\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n @Input('tooltip') tooltip!: string;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {\r\n this.showClear = !this.required;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onOptionSelectForm(event: any){\r\n this.onChangeEvent.emit(event.value);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.ngModelValue = newValue;\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-select-medium\" \r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)=\"onOptionSelectForm($event)\">\r\n </p-dropdown>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-select-small\"\r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [filter]=\"filter\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"showClear\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)=\"onOptionSelectForm($event)\">\r\n </p-dropdown>\r\n <span *ngIf=\"getSizeName(sizeType.medium) == size && formControl.dirty && formControl.hasError('required')\"\r\n class=\"w-error-message-container w-full w-error-message p-error block\">{{errorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-select-medium\" \r\n [options]=\"options\" \r\n [optionLabel]=\"optionLabel\" \r\n [optionValue]=\"optionValue\" \r\n [filter]=\"filter\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"ngModelValue\" (onChange)=\"onOptionSelected()\" [showClear]=\"showClear\"\r\n [appendTo]=\"appendTo\">\r\n </p-dropdown>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-select-small\"\r\n [options]=\"options\"\r\n [filter]=\"filter\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"ngModelValue\" (onChange)=\"onOptionSelected()\" [showClear]=\"showClear\"\r\n [appendTo]=\"appendTo\">\r\n </p-dropdown>\r\n </div>\r\n</ng-template>\r\n","export enum TableColumnFilterTypes {\r\n None = 0,\r\n Text = 1,\r\n Multiselect = 2,\r\n Checkbox = 3,\r\n Image = 4,\r\n Boolean = 5,\r\n Date = 6\r\n}\r\n\r\nexport enum TableColumnTypes {\r\n None = 0,\r\n Text = 1,\r\n Badge = 2,\r\n Checkbox = 3,\r\n Image = 4,\r\n Boolean = 5,\r\n Date = 6,\r\n Currency = 7,\r\n Number = 8,\r\n ShortDate = 9,\r\n LongDate = 10,\r\n GeneralDateTimeShortTime = 11,\r\n GeneralDateTimeLongTime = 12,\r\n ColoredBadge = 13\r\n}\r\n\r\nexport enum WappTableColumnAlignTypes {\r\n Right = 0,\r\n Left = 1,\r\n Center = 2,\r\n}\r\n\r\nexport enum QBDataTypeEnum{\r\n Boolean = 1,\r\n Datetime = 2,\r\n Decimal = 3,\r\n List = 4, \r\n Number = 5, \r\n Text = 6,\r\n Address = 7,\r\n StoreList = 8,\r\n ServiceList = 9,\r\n ProductList = 10,\r\n CategoryList = 11,\r\n ProductTagList = 12,\r\n SegmentList = 13,\r\n GroupList = 14,\r\n CustomerTagList = 15,\r\n TypeEventActivityList = 16,\r\n PaymentTypeList = 17,\r\n SaleChannelList = 18,\r\n CustomerChannelList = 19,\r\n OperationTypeList = 20,\r\n Multiselect = 21,\r\n NullableSelect = 22,\r\n BooleanSelect = 23\r\n}\r\n\r\nexport enum OperatorEnum{\r\n Equals = '=',\r\n NotEquals = '!=',\r\n LessThan = '<',\r\n LessThanEqual = '<=',\r\n GreaterThan = '>',\r\n GreaterThanEqual = '>=',\r\n In = 'in',\r\n NotIn = 'not in',\r\n IsNull = 'is null',\r\n IsNotNull = 'is not null',\r\n Nullable = 'nullable'\r\n}\r\n\r\nexport enum DataTypeEnum{\r\n Single = 1,\r\n Multi = 2,\r\n Nullable = 3\r\n}\r\n\r\nexport enum WDatePipeFormatType {\r\n d = 0,\r\n D = 1,\r\n g = 2,\r\n G = 3,\r\n}\r\n\r\nexport enum AddressEnum{\r\n Country = 1,\r\n AreaLevel1 = 2,\r\n AreaLevel2 = 3,\r\n Locality = 4,\r\n PostalCode = 5\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-badge',\r\n templateUrl: './w-badge.component.html',\r\n styleUrls: ['./w-badge.component.scss']\r\n})\r\nexport class WBadgeComponent {\r\n @Input('label') label: string = \"\";\r\n @Input('color') color: string = \"default\";\r\n @Input('tooltip') tooltip!: string;\r\n @Input('maxWidthOverflow') maxWidthOverflow!: string;\r\n}\r\n","<span [class]=\"'w-badge color-' + color\" [ngClass]=\"{'w-badge-overflow-text': maxWidthOverflow}\" [pTooltip]=\"tooltip\" [style.max-width]=\"maxWidthOverflow\">\r\n {{label}}\r\n</span>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { WDatePipeFormatType } from '../models/enums.model';\r\n\r\n@Pipe({\r\n name: 'wappDate'\r\n})\r\nexport class WDatePipe implements PipeTransform {\r\n\r\n transform(date: Date | number | string, format?: WDatePipeFormatType | \"\", locale?: any) {\r\n let wappDate: any;\r\n\r\n switch(format) { \r\n case WDatePipeFormatType.d: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'shortDate')\r\n break; \r\n } \r\n case WDatePipeFormatType.D: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'fullDate')\r\n break; \r\n } \r\n case WDatePipeFormatType.g: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'short')?.replace(/,/g, \"\")\r\n break; \r\n } \r\n case WDatePipeFormatType.G: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'shortDate')! + ' '\r\n + new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'mediumTime')\r\n break; \r\n }\r\n\r\n default: { \r\n wappDate = locale ?\r\n new DatePipe(locale).transform(date, 'short')?.replace(/,/g, \"\") :\r\n new DatePipe(window.navigator.language.slice(0, 2)).transform(date, 'short')?.replace(/,/g, \"\");\r\n break; \r\n } \r\n } \r\n return wappDate;\r\n }\r\n\r\n}","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport { WappTable } from '../../shared/models/wapp-table.model';\r\nimport { TableColumnFilterTypes, TableColumnTypes, WDatePipeFormatType, WappTableColumnAlignTypes } from '../../shared/models/enums.model';\r\n\r\n@Component({\r\n selector: 'w-table',\r\n templateUrl: './w-table.component.html',\r\n styleUrls: ['./w-table.component.scss'],\r\n providers: [ConfirmationService]\r\n\r\n})\r\nexport class WTableComponent implements OnInit, OnChanges {\r\n selectedElements: any[] = [];\r\n translations: any;\r\n translateObjectName: string = \"object\"\r\n selectAll: boolean = false;\r\n tableMinWidth: number = 70;\r\n\r\n tableSkeletons: any = [{ name: '' }, { name: '' }, { name: '' }, { name: '' }];\r\n\r\n private _totalRecords: number = 0;\r\n\r\n set totalRecords(value: number) {\r\n this._totalRecords = value;\r\n }\r\n\r\n get totalRecords() {\r\n return this._totalRecords;\r\n }\r\n\r\n wappDateFormat: typeof WDatePipeFormatType = WDatePipeFormatType;\r\n\r\n @Input('elements') elements!: any[];\r\n @Input('rowsPerPage') rowsPerPage: number = 0;\r\n @Input('loading') loading: boolean = true;\r\n @Input('wappTableObject') wappTableObject!: WappTable;\r\n\r\n @Output('onElementSelect') onElementSelect = new EventEmitter<any>();\r\n @Output('onViewElementSelect') onViewElementSelect = new EventEmitter<any>();\r\n @Output('onCopyElementSelect') onCopyElementSelect = new EventEmitter<any>();\r\n @Output('onEditElementSelect') onEditElementSelect = new EventEmitter<any>();\r\n @Output('onCustomElementSelect') onCustomElementSelect = new EventEmitter<any>();\r\n @Output('onDeleteElementSelect') onDeleteElementSelect = new EventEmitter<any[]>();\r\n @Output('onNewElementSelect') onNewElementSelect = new EventEmitter<boolean>();\r\n @Output('onPageChange') onPageChange = new EventEmitter<any>();\r\n\r\n @ViewChild('filter') filter!: ElementRef;\r\n @ViewChild('table') dataTable!: Table;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService,\r\n ) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['elements'] && changes?.['elements']?.currentValue.length != 0) {\r\n this.totalRecords = changes?.['elements']?.currentValue.length;\r\n }\r\n }\r\n\r\n create() {\r\n this.onNewElementSelect.emit(true);\r\n }\r\n\r\n onElement(element: any) {\r\n this.onElementSelect.emit(element);\r\n }\r\n\r\n viewElement(element: any) {\r\n this.onViewElementSelect.emit(element);\r\n }\r\n\r\n editElement(element: any) {\r\n this.onEditElementSelect.emit(element);\r\n }\r\n\r\n customElement(element: any) {\r\n this.onCustomElementSelect.emit(element);\r\n }\r\n\r\n readProperty(obj: any, prop: string): any {\r\n if (typeof obj === 'undefined') {\r\n return false;\r\n }\r\n\r\n var _index = prop.indexOf('.')\r\n if (_index > -1) {\r\n return this.readProperty(obj[prop.substring(0, _index)], prop.substr(_index + 1));\r\n }\r\n return obj[prop];\r\n }\r\n\r\n confirmDeleteSelected(event: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableObject.confirmMultipleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSelectedElements();\r\n }\r\n });\r\n }\r\n\r\n deleteSelectedElements() {\r\n this.onDeleteElementSelect.emit(this.selectedElements)\r\n this.selectedElements = [];\r\n }\r\n\r\n confirmDelete(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableObject.confirmSingleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSingleElement(element);\r\n }\r\n });\r\n }\r\n\r\n deleteSingleElement(element: any) {\r\n this.onDeleteElementSelect.emit([element])\r\n }\r\n\r\n copyElement(element: any) {\r\n this.onCopyElementSelect.emit(element);\r\n }\r\n\r\n confirmCopy(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableObject.confirmCopyLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableObject.confirmCopyBtnLabel,\r\n accept: () => {\r\n this.copyElement(element);\r\n }\r\n });\r\n }\r\n\r\n onSelectionChange(value = []) {\r\n this.selectAll = value.length === this.elements.length;\r\n this.selectedElements = value;\r\n }\r\n\r\n onSelectAllChange(event: any) {\r\n const checked = event.checked;\r\n\r\n if (checked) {\r\n this.selectedElements = this.wappTableObject.disableCheckbox ? this.getSelectableElements(this.elements) : this.elements;\r\n this.selectAll = true;\r\n }\r\n else {\r\n this.selectedElements = [];\r\n this.selectAll = false;\r\n }\r\n }\r\n\r\n getSelectableElements(allElements: any[]) {\r\n return allElements.filter((element: any) => !this.readProperty(element, this.wappTableObject.disableCheckbox!));\r\n }\r\n\r\n onGlobalFilter(table: Table, event: Event) {\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains');\r\n }\r\n\r\n clear(table: Table) {\r\n table.clear();\r\n }\r\n\r\n public get tableColumnFilterTypes(): typeof TableColumnFilterTypes {\r\n return TableColumnFilterTypes;\r\n }\r\n\r\n public get tableColumnTypes(): typeof TableColumnTypes {\r\n return TableColumnTypes;\r\n }\r\n\r\n getBooleanColumnClass(index: number, valueProperty: boolean) {\r\n const booleanIconClasses = [];\r\n\r\n if (valueProperty == true) {\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].trueIcon ?? '');\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].trueIconColor ?? '');\r\n } else if (valueProperty == false) {\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].falseIcon ?? '');\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].falseIconColor ?? '');\r\n } else if (valueProperty == null) {\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].nullIcon ?? '');\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].nullIconColor ?? '');\r\n }\r\n\r\n return booleanIconClasses;\r\n }\r\n\r\n clearFilters() {\r\n this.dataTable.clear();\r\n }\r\n\r\n getTableColumnAlignClass(alignment: number) {\r\n if (alignment == WappTableColumnAlignTypes.Right) return 'text-right';\r\n if (alignment == WappTableColumnAlignTypes.Left) return 'text-left';\r\n if (alignment == WappTableColumnAlignTypes.Center) return 'text-center';\r\n return 'text-left'\r\n }\r\n\r\n getTableColumnAlignClassDefaultByColumnType(columnType: TableColumnTypes) {\r\n if (columnType == TableColumnTypes.Text) return 'text-left';\r\n if (columnType == TableColumnTypes.Currency) return 'text-left';\r\n if (columnType == TableColumnTypes.Date) return 'text-left';\r\n if (columnType == TableColumnTypes.Badge) return 'text-center';\r\n if (columnType == TableColumnTypes.Boolean) return 'text-center';\r\n if (columnType == TableColumnTypes.Image) return 'text-center';\r\n if (columnType == TableColumnTypes.Number) return 'text-right';\r\n return 'text-left'\r\n }\r\n\r\n calculateColspan() {\r\n let colspan = this.wappTableObject.headers.length;\r\n this.wappTableObject.hasCheckbox ?\r\n colspan += 1 : '';\r\n this.hasActionButtons() ?\r\n colspan += 1 : '';\r\n return colspan;\r\n }\r\n\r\n hasActionButtons(): boolean {\r\n return this.wappTableObject.hasCopyButton ||\r\n this.wappTableObject.hasEditButton ||\r\n this.wappTableObject.hasViewButton ||\r\n this.wappTableObject.hasDeleteButton ||\r\n this.wappTableObject.customButtonConfig?.hasCustomButton ?\r\n true : false;\r\n }\r\n\r\n pageChange(element: any) {\r\n this.onPageChange.emit(element);\r\n }\r\n}\r\n","<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableObject\" [class.table-container]=\"wappTableObject.tableContainer\">\r\n <p-table class=\"w-table-styles\" [ngClass]=\"{'w-table-no-buttons' : !wappTableObject.hasEditButton && !wappTableObject.hasDeleteButton && !wappTableObject.hasCopyButton && !wappTableObject.customButtonConfig}\"\r\n *ngIf=\"!loading; else loadingTable\" #table \r\n [value]=\"elements\" dataKey=\"{{wappTableObject.identificator}}\" \r\n [paginator]=\"wappTableObject.hasPaginator\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [totalRecords]=\"totalRecords\" [showCurrentPageReport]=\"true\" \r\n [rows]=\"rowsPerPage\"\r\n [currentPageReportTemplate]=\"wappTableObject.currentPageReportTemplate ? wappTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [globalFilterFields]=\"wappTableObject.globalFilterFields!\" responsiveLayout=\"scroll\"\r\n [rowHover]=\"true\" [tableStyle]=\"{'min-width': wappTableObject.tableMinWidth!}\"\r\n (onPage)=\"pageChange($event)\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template pTemplate=\"caption\" *ngIf=\"wappTableObject?.hasClearButton || wappTableObject.hasGlobalSearch || wappTableObject.hasTotalPagingSelector\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span *ngIf=\"wappTableObject.hasTotalPagingSelector\" class=\"showing-per-page\"> {{wappTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber *ngIf=\"wappTableObject.hasTotalPagingSelector\"\r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords!\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter (input)=\"onGlobalFilter(table, $event)\" \r\n [placeholder]=\"wappTableObject.searchPlaceholder\" class=\"w-full height-input w-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"wappTableObject.hasCheckbox\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[0]) : 'text-center'\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-container *ngIf=\"!wappTableObject.hasSortableColumns; else sortableColumns\">\r\n <th *ngFor=\"let header of wappTableObject?.headers; index as i\"\r\n [class.image-header]=\"wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i] == tableColumnTypes.Image \"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[wappTableObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i])\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n <ng-template #sortableColumns>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableObject.sortableNames[i]\" \r\n [class.image-header]=\"wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i] === tableColumnTypes.Image \"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[wappTableObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i])\">\r\n {{wappTableObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableObject.sortableNames[i] != null\" [field]=\"wappTableObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableObject.hasDeleteButton || wappTableObject.hasEditButton || wappTableObject.hasViewButton || wappTableObject.hasCopyButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element>\r\n <tr [ngClass]=\"wappTableObject.hasSelectableRow ? 'p-selectable-row' : ''\" (click)=\"wappTableObject.hasSelectableRow ? onElement(element) : ''\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableObject.columnTypes!\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes?.Checkbox! && wappTableObject.hasCheckbox\" [style]=\"'width: '+wappTableObject.columnWidths![i]\"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\">\r\n <div *ngIf=\"wappTableObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" [style]=\"'width: '+wappTableObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n <img *ngIf=\"readProperty(element, wappTableObject.columns[i])\" \r\n [src]=\"readProperty(element, wappTableObject.columns[i])\" \r\n class=\"element-image-width\"/>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Number\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-right'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-right'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n <w-badge [label]=\"readProperty(element, wappTableObject.columns[i])\" [color]=\"'info'\"></w-badge> \r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableObject.columns[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ShortDate\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.d }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.LongDate\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.D }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeShortTime\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.g }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeLongTime\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.G }}\r\n </td>\r\n </ng-template>\r\n <td *ngIf=\"wappTableObject.customButtonConfig?.hasCustomButton || wappTableObject?.hasEditButton || wappTableObject?.hasCopyButton || wappTableObject?.hasDeleteButton || wappTableObject?.hasViewButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableObject?.hasViewButton\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.viewTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n pButton pRipple (click)=\"viewElement(element)\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.customButtonConfig?.hasCustomButton && !wappTableObject.customButtonConfig?.disableProperty\"\r\n pButton pRipple (click)=\"customElement(element)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n [icon]=\"wappTableObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.customButtonConfig?.disableProperty\" \r\n pButton pRipple (click)=\"customElement(element)\" [disabled]=\"readProperty(element, wappTableObject.customButtonConfig?.disableProperty!)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n [icon]=\"wappTableObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasEditButton && !wappTableObject.disableEditProperty\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n pButton pRipple (click)=\"editElement(element)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableObject.disableEditProperty)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.copyTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <span *ngIf=\"wappTableObject?.hasDeleteButton\">\r\n <button *ngIf=\"wappTableObject.disableDeleteProperty; else noDisableDelete\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableObject.disableDeleteProperty)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <ng-template #noDisableDelete>\r\n <button *ngIf=\"!wappTableObject?.disableDelete && !wappTableObject.disableDeleteProperty\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"w-table-lazy-empty-message-padding\">\r\n <td [attr.colspan]=\"calculateColspan()\">{{wappTableObject.emptyMessage ? wappTableObject.emptyMessage : 'No matches.'}}</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr>\r\n <td colspan=\"8\">Loading elements.</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n \r\n <ng-template #loadingTable>\r\n <p-table class=\"w-table-styles\" [value]=\"tableSkeletons\" responsiveLayout=\"scroll\" [paginator]=\"wappTableObject.hasPaginator\" [rows]=\"rowsPerPage\" [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\" \r\n [currentPageReportTemplate]=\"wappTableObject.currentPageReportTemplate ? wappTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords : 'Showing ' + rowsPerPage + ' of ' + totalRecords\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableObject?.hasClearButton || wappTableObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span *ngIf=\"wappTableObject.hasTotalPagingSelector\" class=\"showing-per-page\"> {{wappTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber *ngIf=\"wappTableObject.hasTotalPagingSelector\"\r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter \r\n [placeholder]=\"wappTableObject.searchPlaceholder\" class=\"w-full height-input w-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableObject.hasColumnFilters && wappTableObject.hasCheckbox; else selectAllCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-template #selectAllCheckbox><th></th></ng-template>\r\n <th *ngFor=\"let header of wappTableObject?.headers\">\r\n {{header}}\r\n </th>\r\n <th *ngIf=\"wappTableObject?.hasDeleteButton || wappTableObject?.hasEditButton || wappTableObject?.hasViewButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\">\r\n <tr height=\"70px\">\r\n <td *ngFor=\"let item of wappTableObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableObject.hasEditButton || wappTableObject.hasDeleteButton || wappTableObject.hasCopyButton || wappTableObject.hasViewButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableObject?.hasViewButton\" \r\n pButton pRipple \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.viewTooltip!\"\r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.customButtonConfig?.hasCustomButton\"\r\n pButton pRipple\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.customTooltip!\"\r\n [icon]=\"wappTableObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasEditButton\" \r\n pButton pRipple\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.editTooltip!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasCopyButton\" \r\n pButton pRipple \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.copyTooltip!\"\r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasDeleteButton\" \r\n pButton pRipple\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.deleteTooltip!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-template>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ConfirmationService, LazyLoadEvent } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport { LazyElementQueryRequest } from '../../shared/models/lazy-element-query-request.model';\r\nimport { WappTableLazyLoading } from '../../shared/models/wapp-table-lazy-loading.model';\r\nimport { TableColumnFilterTypes, TableColumnTypes, WDatePipeFormatType, WappTableColumnAlignTypes } from '../../shared/models/enums.model';\r\n\r\n@Component({\r\n selector: 'w-table-lazy',\r\n templateUrl: './w-table-lazy.component.html',\r\n styleUrls: ['./w-table-lazy.component.scss']\r\n})\r\nexport class WTableLazyComponent implements OnInit {\r\n selectedElements: any[] = [];\r\n translations: any;\r\n lastQuery!: LazyElementQueryRequest;\r\n\r\n selectAll: boolean = false;\r\n filterElementsIndex: number = 0;\r\n wappDateFormat: typeof WDatePipeFormatType = WDatePipeFormatType;\r\n\r\n @Input('loading') loading!: boolean;\r\n @Input('elements') elements!: any[];\r\n @Input('rowsPerPage') rowsPerPage: number = 10;\r\n @Input('allElements') allElements!: any[];\r\n @Input('totalRecords') totalRecords!: number;\r\n @Input('maxRowsPerPage') maxRowsPerPage: number = 50;\r\n @Input('wappTableLazyLoadingObject') wappTableLazyLoadingObject!: WappTableLazyLoading;\r\n\r\n @Output('queryElements') queryElements = new EventEmitter<LazyElementQueryRequest>();\r\n\r\n @Output('onElementSelect') onElementSelect = new EventEmitter<any>();\r\n @Output('onViewElementSelect') onViewElementSelect = new EventEmitter<any>();\r\n @Output('onCustomElementSelect') onCustomElementSelect = new EventEmitter<any>();\r\n @Output('onCopyElementSelect') onCopyElementSelect = new EventEmitter<any>();\r\n @Output('onEditElementSelect') onEditElementSelect = new EventEmitter<any>();\r\n @Output('onDeleteElementSelect') onDeleteElementSelect = new EventEmitter<any[]>();\r\n @Output('onAllElementSelect') onAllElementSelect = new EventEmitter<boolean>();\r\n @Output('onPageChange') onPageChange = new EventEmitter<any>();\r\n\r\n @ViewChild('table', { static: false }) dataTable!: Table;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n }\r\n\r\n loadElements(event: LazyLoadEvent) {\r\n this.loading = true;\r\n let adaptedQuery: LazyElementQueryRequest = {\r\n first: event.first!,\r\n rows: this.rowsPerPage!,\r\n sortOrder: event.sortOrder!,\r\n sortField: event.sortField!,\r\n filters: Object.keys(event.filters!).map((key) => {\r\n return {\r\n columnName: key!,\r\n value: event.filters![key].value,\r\n matchMode: event.filters![key].matchMode!\r\n }\r\n })\r\n }\r\n this.lastQuery = adaptedQuery;\r\n this.queryElements.emit(adaptedQuery);\r\n }\r\n\r\n reloadElements() {\r\n this.lastQuery.rows = this.rowsPerPage;\r\n this.queryElements.emit(this.lastQuery);\r\n }\r\n\r\n readProperty(obj: any, prop: string): any {\r\n if (prop === null) {\r\n return undefined;\r\n }\r\n if (typeof obj === 'undefined') {\r\n return false;\r\n }\r\n\r\n const properties = prop.split('.');\r\n let result = obj;\r\n\r\n for (const property of properties) {\r\n const match = property.match(/(.+?)\\[(\\d+)\\]/);\r\n if (match) {\r\n const arrayProp = match[1];\r\n const index = parseInt(match[2], 10);\r\n if (!Array.isArray(result[arrayProp]) || isNaN(index) || index < 0 || index >= result[arrayProp].length) {\r\n return undefined;\r\n }\r\n result = result[arrayProp][index];\r\n } else {\r\n if (typeof result[property] === 'undefined') {\r\n return undefined;\r\n }\r\n result = result[property];\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n onElement(element: any) {\r\n this.onElementSelect.emit(element);\r\n }\r\n\r\n viewElement(element: any) {\r\n this.onViewElementSelect.emit(element);\r\n }\r\n customElement(element: any) {\r\n this.onCustomElementSelect.emit(element);\r\n }\r\n\r\n editElement(element: any) {\r\n this.onEditElementSelect.emit(element);\r\n }\r\n\r\n confirmDeleteSelection(event: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableLazyLoadingObject.confirmMultipleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableLazyLoadingObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSelectedElements();\r\n }\r\n });\r\n }\r\n\r\n deleteSelectedElements() {\r\n this.onDeleteElementSelect.emit(this.selectedElements)\r\n this.selectedElements = [];\r\n }\r\n\r\n confirmDelete(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableLazyLoadingObject.confirmSingleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableLazyLoadingObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSingleElement(element);\r\n }\r\n });\r\n }\r\n\r\n deleteSingleElement(element: any) {\r\n this.onDeleteElementSelect.emit([element])\r\n }\r\n\r\n copyElement(element: any) {\r\n this.onCopyElementSelect.emit(element);\r\n }\r\n\r\n confirmCopy(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableLazyLoadingObject.confirmCopyLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableLazyLoadingObject.confirmCopyBtnLabel,\r\n accept: () => {\r\n this.copyElement(element);\r\n }\r\n });\r\n }\r\n\r\n onSelectionChange(value = []) {\r\n this.selectAll = value.length === this.totalRecords;\r\n this.selectedElements = value;\r\n }\r\n\r\n onSelectAllChange(event: any) {\r\n const checked = event.checked;\r\n\r\n if (checked) {\r\n this.onAllElementSelect.emit(true);\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.selectedElements = this.wappTableLazyLoadingObject.disableCheckbox ? this.getSelectableElements(this.allElements) : this.allElements;\r\n this.selectAll = true;\r\n this.loading = false;\r\n }, 1000);\r\n }\r\n else {\r\n this.selectedElements = [];\r\n this.selectAll = false;\r\n }\r\n }\r\n\r\n getSelectableElements(allElements: any[]) {\r\n return allElements.filter((element: any) => !this.readProperty(element, this.wappTableLazyLoadingObject.disableCheckbox!));\r\n }\r\n\r\n getBooleanColumnClass(index: number, valueProperty: boolean) {\r\n const booleanIconClasses = [];\r\n\r\n if (valueProperty == true) {\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIcon ?? '');\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIconColor ?? '');\r\n } else if (valueProperty == false) {\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIcon ?? '');\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIconColor) ?? '';\r\n } else if (valueProperty == null) {\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIcon ?? '');\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIconColor ?? '');\r\n }\r\n\r\n return booleanIconClasses;\r\n }\r\n\r\n clear(table: Table) {\r\n table.clear();\r\n }\r\n\r\n public get tableColumnFilterTypes(): typeof TableColumnFilterTypes {\r\n return TableColumnFilterTypes;\r\n }\r\n\r\n public get tableColumnTypes(): typeof TableColumnTypes {\r\n return TableColumnTypes;\r\n }\r\n\r\n clearFilters() {\r\n this.dataTable.clear();\r\n }\r\n\r\n getTableColumnAlignClass(alignment: number) {\r\n if(alignment == WappTableColumnAlignTypes.Right) return 'text-right';\r\n if(alignment == WappTableColumnAlignTypes.Left) return 'text-left';\r\n if(alignment == WappTableColumnAlignTypes.Center) return 'text-center';\r\n return 'text-left'\r\n }\r\n\r\n getTableColumnAlignClassDefaultByColumnType(columnType: TableColumnTypes) {\r\n if(columnType == TableColumnTypes.Text) return 'text-left';\r\n if(columnType == TableColumnTypes.Currency) return 'text-left';\r\n if(columnType == TableColumnTypes.Date) return 'text-left';\r\n if(columnType == TableColumnTypes.Badge) return 'text-center';\r\n if(columnType == TableColumnTypes.Boolean) return 'text-center';\r\n if(columnType == TableColumnTypes.Image) return 'text-center';\r\n if(columnType == TableColumnTypes.Number) return 'text-right';\r\n return 'text-left'\r\n }\r\n\r\n calculateColspan() {\r\n let colspan = this.wappTableLazyLoadingObject.headers.length;\r\n this.wappTableLazyLoadingObject.hasCheckbox ? \r\n colspan += 1 : '';\r\n this.hasActionButtons() ?\r\n colspan += 1 : '';\r\n return colspan;\r\n }\r\n\r\n hasActionButtons() : boolean {\r\n return this.wappTableLazyLoadingObject.hasCopyButton ||\r\n this.wappTableLazyLoadingObject.hasEditButton ||\r\n this.wappTableLazyLoadingObject.hasViewButton ||\r\n this.wappTableLazyLoadingObject.hasDeleteButton || \r\n this.wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton ?\r\n true : false;\r\n }\r\n\r\n refreshPagination(first: number) {\r\n this.dataTable._first = first;\r\n }\r\n\r\n pageChange(element: any) {\r\n this.onPageChange.emit(element);\r\n }\r\n}\r\n","<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableLazyLoadingObject\" [class.table-container]=\"wappTableLazyLoadingObject.tableContainer\">\r\n <p-table class=\"w-table-styles\"\r\n [ngClass]=\"{'w-table-no-buttons' : !wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.hasDeleteButton && !wappTableLazyLoadingObject.hasCopyButton && !wappTableLazyLoadingObject.customButtonConfig && !wappTableLazyLoadingObject.hasViewButton }\"\r\n #table [value]=\"elements\" \r\n dataKey=\"{{wappTableLazyLoadingObject.identificator}}\"\r\n [lazy]=\"true\" \r\n (onLazyLoad)=\"loadElements($event)\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [paginator]=\"wappTableLazyLoadingObject.hasPaginator! && totalRecords >= 10\"\r\n [rows]=\"rowsPerPage\" \r\n [currentPageReportTemplate]=\"wappTableLazyLoadingObject.currentPageReportTemplate ? wappTableLazyLoadingObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [loading]=\"loading\"\r\n [showLoader]=\"false\"\r\n [globalFilterFields]=\"wappTableLazyLoadingObject.globalFilterFields!\"\r\n [tableStyle]=\"{'min-width': wappTableLazyLoadingObject.tableMinWidth!}\"\r\n (onPage)=\"pageChange($event)\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableLazyLoadingObject.hasClearButton || wappTableLazyLoadingObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span *ngIf=\"wappTableLazyLoadingObject.hasTotalPagingSelector\" class=\"showing-per-page\"> {{wappTableLazyLoadingObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber *ngIf=\"wappTableLazyLoadingObject.hasTotalPagingSelector\"\r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"maxRowsPerPage\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"reloadElements()\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input class=\"height-input w-input\" pInputText type=\"text\" (input)=\"table.filterGlobal($event, 'contains')\" placeholder=\"{{wappTableLazyLoadingObject.searchPlaceholder}}\" />\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableLazyLoadingObject.hasColumnFilters && wappTableLazyLoadingObject.hasCheckbox; else noCheckbox\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[0]) : 'text-center'\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <ng-template #noCheckbox><th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\"></th></ng-template>\r\n\r\n <ng-container *ngIf=\"!wappTableLazyLoadingObject.hasSortableColumns; else something\">\r\n <th *ngFor=\"let header of wappTableLazyLoadingObject?.headers; index as i\" [class]=\"header == ('Imagen' || 'Image') ? 'image-header': ''\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableLazyLoadingObject.columnTypes[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i])\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n\r\n <ng-template #something>\r\n <ng-template #something ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableLazyLoadingObject.sortableNames[i]\" [class]=\"wappTableLazyLoadingObject.headers[i] == ('Imagen' || 'Image') ? 'image-header': ''\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableLazyLoadingObject.columnTypes[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i])\">\r\n {{wappTableLazyLoadingObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableLazyLoadingObject.sortableNames[i] != null\" [field]=\"wappTableLazyLoadingObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasViewButton || wappTableLazyLoadingObject.hasCopyButton || wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"></th>\r\n </tr>\r\n\r\n <tr *ngIf=\"wappTableLazyLoadingObject.hasColumnFilters\">\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[0]) : 'text-left'\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasImage\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[wappTableLazyLoadingObject.hasCheckbox ? 1 : 0]) : getTableColumnAlignClassDefaultByColumnType(wappTableLazyLoadingObject.columnTypes[wappTableLazyLoadingObject.hasCheckbox ? 1 : 0])\">\r\n </th>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.columnFilterTypes\" let-i=\"index\">\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Text\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\">\r\n <p-columnFilter type=\"text\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Multiselect\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\">\r\n <p-columnFilter [field]=\"wappTableLazyLoadingObject.filterNames[i]\" matchMode=\"in\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" appendTo=\"body\" [options]=\"wappTableLazyLoadingObject.selectFilterElements[i]\" placeholder=\"Any\" (onChange)=\"filter($event.value)\" optionLabel=\"name\" [maxSelectedLabels]=\"1\" [selectedItemsLabel]=\"'{0} items'\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-1\">{{option.name}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.None\"></th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Boolean\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\">\r\n <p-columnFilter type=\"boolean\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Date\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\">\r\n <p-columnFilter type=\"date\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasViewButton || wappTableLazyLoadingObject.hasCopyButton || wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element let-index=\"index\">\r\n <tr *ngIf=\"!loading\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableLazyLoadingObject.columnTypes\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\" class=\"text-center\">\r\n <div *ngIf=\"wappTableLazyLoadingObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <img *ngIf=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" \r\n [src]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" \r\n class=\"element-image-width\"/>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Number\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-right'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <w-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" [color]=\"'info'\"></w-badge> \r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ColoredBadge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <w-badge *ngIf=\"!coloredBadge || (coloredBadge && !readProperty(element, wappTableLazyLoadingObject.coloredBadge?.coloredBadgeProperty!)); else coloredBadge\" \r\n [label]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" [color]=\"'info'\">\r\n </w-badge> \r\n <ng-template #coloredBadge>\r\n <w-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" [color]=\"wappTableLazyLoadingObject.coloredBadge?.color!\"></w-badge> \r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableLazyLoadingObject.columns[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ShortDate\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.d }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.LongDate\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.D }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeShortTime\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.g }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeLongTime\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.G }}\r\n </td>\r\n </ng-template>\r\n <td>\r\n <div class=\"flex justify-content-end align-items-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasViewButton\" \r\n pButton pRipple (click)=\"viewElement(element)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.viewTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton && !wappTableLazyLoadingObject.customButtonConfig?.disableProperty\"\r\n pButton pRipple (click)=\"customElement(element)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton && wappTableLazyLoadingObject.customButtonConfig?.disableProperty\"\r\n pButton pRipple (click)=\"customElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.customButtonConfig?.disableProperty!)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableEditProperty)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.copyTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasDeleteButton\">\r\n <button *ngIf=\"wappTableLazyLoadingObject.disableDeleteProperty; else noDisableDelete\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableDeleteProperty)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <ng-template #noDisableDelete>\r\n <button pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr height=\"70px\" *ngFor=\"let n of [0,1,2,3,4]\">\r\n <td *ngFor=\"let item of wappTableLazyLoadingObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item == tableColumnTypes.Image\" width=\"6rem\" height=\"4rem\"></p-skeleton>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox && item != tableColumnTypes.Image\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasDeleteButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasEditButton\" \r\n pButton pRipple\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasDeleteButton\" \r\n pButton pRipple\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"w-table-lazy-empty-message-padding\">\r\n <td [attr.colspan]=\"calculateColspan()\">{{wappTableLazyLoadingObject.emptyMessage ? wappTableLazyLoadingObject.emptyMessage : 'No matches.'}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-container',\r\n template: `\r\n <div class=\"w-filter-panel-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n styleUrls: ['./w-container.component.scss']\r\n})\r\nexport class WContainerComponent {\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ninterface Breadcrumb {\r\n label: string;\r\n url?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'w-navbar',\r\n templateUrl: './w-navbar.component.html',\r\n styleUrls: ['./w-navbar.component.scss']\r\n})\r\nexport class WNavbarComponent {\r\n\r\n private readonly _breadcrumbs$ = new BehaviorSubject<Breadcrumb[]>([]);\r\n\r\n readonly breadcrumbs$ = this._breadcrumbs$.asObservable();\r\n\r\n constructor(private router: Router) {\r\n this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(event => {\r\n const root = this.router.routerState.snapshot.root;\r\n const breadcrumbs: Breadcrumb[] = [];\r\n this.addBreadcrumb(root, [], breadcrumbs);\r\n\r\n this._breadcrumbs$.next(breadcrumbs);\r\n });\r\n }\r\n\r\n private addBreadcrumb(route: ActivatedRouteSnapshot, parentUrl: string[], breadcrumbs: Breadcrumb[]) {\r\n const routeUrl = parentUrl.concat(route.url.map(url => url.path));\r\n const breadcrumb = route.data['breadcrumb'];\r\n const parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;\r\n\r\n if (breadcrumb && breadcrumb !== parentBreadcrumb) {\r\n breadcrumbs.push({\r\n label: route.data['breadcrumb'],\r\n url: '/' + routeUrl.join('/')\r\n });\r\n }\r\n\r\n if (route.firstChild) {\r\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\r\n }\r\n }\r\n}\r\n","<w-container>\r\n <div class=\"flex wrap navbar-margins\">\r\n <div class=\"flex flex-column sm:flex-row align-items-center gap-4\">\r\n <nav class=\"layout-breadcrumb\">\r\n <ol>\r\n <ng-template ngFor let-item let-last=\"last\" [ngForOf]=\"breadcrumbs$ | async\">\r\n <li>{{item.label}}</li>\r\n <li *ngIf=\"!last\" class=\"layout-breadcrumb-chevron\"> | </li>\r\n </ng-template>\r\n </ol>\r\n </nav>\r\n </div>\r\n <div class=\"flex sm:ml-auto\">\r\n <div class=\"navbar-button-spacing\">\r\n <!-- ToDo remplace with w-button -->\r\n <w-button icon=\"pi pi-check\" styleClass=\"p-button-outlined p-button-secondary\" icon=\"pi pi-check\"></w-button>\r\n <p-button icon=\"pi pi-check\" styleClass=\"p-button-outlined p-button-seco ndary\" icon=\"pi pi-check\"></p-button>\r\n </div>\r\n <div class=\"navbar-button-spacing\">\r\n <!-- ToDo remplace with w-button -->\r\n <p-button label=\"Submit\"></p-button>\r\n <p-button label=\"Submit\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n</w-container>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-body',\r\n templateUrl: './w-body.component.html',\r\n styleUrls: ['./w-body.component.scss']\r\n})\r\nexport class WBodyComponent {\r\n @Input('showFooterSpace') showFooterSpace: boolean = false;\r\n}\r\n","<div class=\"w-body\" [ngClass]=\"{'w-body-with-footer-space' : showFooterSpace}\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-footer',\r\n templateUrl: './w-footer.component.html',\r\n styleUrls: ['./w-footer.component.scss']\r\n})\r\nexport class WFooterComponent implements OnInit{\r\n \r\n @Input('supportLabel') supportLabel!: string;\r\n @Input('support') support: boolean = false;\r\n\r\n year!: any;\r\n\r\n ngOnInit(): void {\r\n this.year = new Date().getFullYear();\r\n }\r\n\r\n}\r\n","\r\n<div class=\"w-footer flex justify-content-between flex-wrap w-full\">\r\n <div class=\"w-info-footer flex align-items-center justify-content-center\">\r\n <w-logos [name]=\"'wappingIsotype'\" [width]=\"16\" [height]=\"20\"></w-logos>\r\n <div class=\"body textMainColor\">Wapping Networks S.L. © {{year}} </div>\r\n </div>\r\n <div class=\"w-support-footer flex align-items-center justify-content-center\">\r\n <div class=\"subtitle2 textMainColor\">{{supportLabel}}</div>\r\n <w-icons *ngIf=\"support\" name=\"support\" pTooltip=\"support\" [width]=\"16\" [height]=\"16\"></w-icons>\r\n </div>\r\n</div>","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'ColorTextPipe'\r\n})\r\nexport class ColorTextPipe implements PipeTransform {\r\n transform(value: any) {\r\n var mapObj: any = {\r\n \"string\": \"string\",\r\n \"number\": \"number\",\r\n \"boolean\": \"boolean\",\r\n \"any\": \"any\",\r\n \"null\": \"null\",\r\n \"Input\": \"Input\",\r\n \"Output\":\"Output\"\r\n };\r\n return value.replace(/\\b(?:string|number|boolean|number|any|null|Input|Output)\\b/gi, (matched: any) => mapObj[matched] != \"Input\" && mapObj[matched] != \"Output\" ? `<font color=\"#9900FF\">${mapObj[matched]}</font>`: `<font color='#ff7373'>${mapObj[matched]}</font>`)\r\n ;\r\n }\r\n}","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-multiselect',\r\n templateUrl: './w-edit-multiselect.component.html',\r\n styleUrls: ['./w-edit-multiselect.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditMultiselectComponent),\r\n multi: true\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WEditMultiselectComponent implements OnInit, ControlValueAccessor{\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder = \"\";\r\n @Input('filter') filter: boolean = true;\r\n @Input('filterPlaceholder') filterPlaceholder: string = 'Search';\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('options') options: any;\r\n @Input('optionLabel') optionLabel!: string;\r\n @Input('optionValue') optionValue!: string;\r\n @Input('appendTo') appendTo!: string;\r\n @Input('showClear') showClear: boolean = true;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('requiredErrorDescription') errorDescription: string = \"Select an option is required\";\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n @Input('tooltip') tooltip!: string;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onOptionSelectedForm(event: any){\r\n this.onChangeEvent.emit(event.value);\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.ngModelValue = newValue;\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-multiselect-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-multiselect-medium\" \r\n [options]=\"options\" \r\n display=\"chip\" \r\n [optionLabel]=\"optionLabel\" \r\n [optionValue]=\"optionValue\" \r\n [placeholder]=\"placeholder\" \r\n [required]=\"required\" \r\n [formControl]=\"formControl\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\"\r\n (onChange)=\"onOptionSelectedForm($event)\">\r\n </p-multiSelect>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-multiselect-small\"\r\n [options]=\"options\"\r\n display=\"chip\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [filter]=\"filter\"\r\n [filterPlaceHolder]=\"filterPlaceholder\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\"\r\n (onChange)=\"onOptionSelectedForm($event)\">\r\n \r\n </p-multiSelect>\r\n <span *ngIf=\"getSizeName(sizeType.small) == size && formControl.dirty && formControl.hasError('required')\" class=\"w-full w-error-message\">{{errorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-multiselect-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-multiselect-medium\"\r\n [options]=\"options\"\r\n display=\"chip\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"ngModelValue\"\r\n (onChange)=\"onOptionSelected()\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\">\r\n </p-multiSelect>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-multiselect-small\"\r\n [options]=\"options\"\r\n display=\"chip\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"ngModelValue\"\r\n (onChange)=\"onOptionSelected()\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\">\r\n </p-multiSelect>\r\n </div>\r\n</ng-template>\r\n","import { EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-treeselect',\r\n templateUrl: './w-edit-treeselect.component.html',\r\n styleUrls: ['./w-edit-treeselect.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditTreeselectComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditTreeselectComponent implements OnInit, ControlValueAccessor {\r\n @Input('label') label!: string;\r\n @Input('placeholder') placeholder!: string;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('options') options: any;\r\n @Input('appendTo') appendTo!: string; \r\n @Input('showClear') showClear: boolean = true;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('requiredErrorDescription') errorDescription: string = \"Select an option is required\";\r\n @Input('filterBy') filterBy!: string;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false; \r\n @Input('tooltip') tooltip!: string; \r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {}\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n \r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onOptionSelectedForm(event: any){\r\n this.onTouch();\r\n this.onChangeEvent.emit(event.node);\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.ngModelValue = newValue;\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n}","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-treeselect-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\"></w-input-label>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-treeselect-medium\" \r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\" \r\n [required]=\"required\"\r\n [formControl]=\"formControl\" \r\n [appendTo]=\"appendTo\" \r\n (onNodeSelect)=\"onOptionSelectedForm($event)\">\r\n </p-treeSelect>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-treeselect-small\" \r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\" \r\n [appendTo]=\"appendTo\" \r\n (onNodeSelect)=\"onOptionSelectedForm($event)\">\r\n </p-treeSelect>\r\n <small *ngIf=\"getSizeName(sizeType.medium) == size && formControl.dirty && formControl.hasError('required')\" \r\n class=\"w-error-message-container w-full w-error-message p-error block\">{{errorDescription}}</small> \r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-treeselect-field p-fluid field\">\r\n <w-input-label [required]=\"required\" [label]=\"label\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\"></w-input-label>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-treeselect-medium\" \r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [disabled]=\"disabled\"\r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\" \r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onOptionSelected()\" \r\n [appendTo]=\"appendTo\">\r\n </p-treeSelect>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-treeselect-small\" \r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [disabled]=\"disabled\"\r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\"\r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onOptionSelected()\" \r\n [appendTo]=\"appendTo\">\r\n </p-treeSelect>\r\n </div>\r\n</ng-template>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-title',\r\n templateUrl: './w-panel-title.component.html',\r\n styleUrls: ['./w-panel-title.component.scss']\r\n})\r\nexport class WPanelTitleComponent {\r\n @Input('title') title!: string;\r\n @Input('activePaddingBottom') activePaddingBottom!: boolean\r\n}\r\n","<div class=\"w-panel-title w-panel-title-text\">{{title}}</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-subtitle',\r\n templateUrl: './w-panel-subtitle.component.html',\r\n styleUrls: ['./w-panel-subtitle.component.scss']\r\n})\r\nexport class WPanelSubtitleComponent {\r\n @Input('subtitle') subtitle!: string;\r\n @Input('activePaddingBottom') activePaddingBottom!: boolean\r\n}\r\n","<div class=\"w-panel-subtitle w-panel-subtitle-text\">{{subtitle}}</div>\r\n","import { Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-panel',\r\n templateUrl: './w-panel.component.html',\r\n styleUrls: ['./w-panel.component.scss']\r\n})\r\nexport class WPanelComponent implements OnInit {\r\n @Input('width') width: any;\r\n @Input('title') title!: string;\r\n @Input('subtitle') subtitle!: string;\r\n @Input('activeGrid') activeGrid: boolean = true;\r\n @Input('reduced') reduced: boolean = false;\r\n @Input('justifyContent') justifyContent: string = '';\r\n @Input('activeOverflow') activeOverflow: boolean = false;\r\n @Input('heightOverflow') heightOverflow!: string;\r\n @Input('maxHeightOverflow') maxHeightOverflow!: string;\r\n @Input('backgroundColor') backgroundColor: string = '#fff';\r\n @Input('activeMaxHeight') activeMaxHeight: boolean = false; \r\n\r\n @Input('activeMenu') activeMenu: boolean = false;\r\n @Input('menuOptions') menuOptions!: MenuItem[];\r\n\r\n spacing4XL: string = '36px'; \r\n \r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.elementRef.nativeElement.style.setProperty(\"--bgcolor\", this.backgroundColor);\r\n }\r\n \r\n getCombinedClasses() {\r\n let classes = [];\r\n \r\n if (this.activeGrid) {\r\n classes.push('w-panel-content grid');\r\n }\r\n \r\n if (this.justifyContent.length > 0) {\r\n classes.push('flex flex-wrap '+this.justifyContent);\r\n }\r\n\r\n if(this.activeOverflow){\r\n classes.push('w-panel-overflow');\r\n }\r\n \r\n return classes.join(' ');\r\n }\r\n}\r\n","<div [ngClass]=\"{ 'w-panel': !reduced, 'w-reduced-panel': reduced}\" class=\"w-full h-full\">\r\n <div *ngIf=\"activeMenu == true\" class=\"flex flex-wrap\" [ngClass]=\"{'justify-content-between': title, 'justify-content-end': !title}\">\r\n <w-panel-title *ngIf=\"title\" class=\"flex\" [title]=\"title\"></w-panel-title>\r\n <div class=\"flex\">\r\n <p-button icon=\"pi pi-ellipsis-v\" styleClass=\"w-menu-button-x-small p-button-text\" (onClick)=\"menu.toggle($event)\"></p-button>\r\n <p-tieredMenu styleClass=\"w-panel-menu\" #menu [model]=\"menuOptions\" [popup]=\"true\"></p-tieredMenu>\r\n </div>\r\n </div>\r\n <w-panel-title *ngIf=\"title && activeMenu == false\" [title]=\"title\"></w-panel-title>\r\n <w-panel-subtitle *ngIf=\"subtitle\" [subtitle]=\"subtitle\"></w-panel-subtitle>\r\n <div class=\"w-panel-content\" [ngClass]=\"getCombinedClasses()\" [style.height]=\"heightOverflow\" [style.max-height]=\"maxHeightOverflow\" [style.padding-bottom]=\"(activeMaxHeight == true && (title != undefined)) ? spacing4XL : ''\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-body-container',\r\n templateUrl: './w-body-container.component.html',\r\n styleUrls: ['./w-body-container.component.scss']\r\n})\r\nexport class WBodyContainerComponent {\r\n\r\n}\r\n","<div class=\"grid w-body-container\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { ConfirmationService } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-header-panel',\r\n templateUrl: './w-header-panel.component.html',\r\n styleUrls: ['./w-header-panel.component.scss'],\r\n providers: [ConfirmationService]\r\n})\r\nexport class WHeaderPanelComponent {\r\n @Input('label') label!: string;\r\n @Input(\"backToCustomRoute\") public backToCustomRoute!: string;\r\n @Input('requireConfirmation') requireConfirmation: boolean = false;\r\n @Input('messageConfirmation') messageConfirmation: string = \"¿estás seguro?\";\r\n @Input('showButtonBack') showButtonBack: boolean = false;\r\n @Output('onClickButtonBack') onClickButtonBack: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private confirmationService: ConfirmationService,\r\n ){}\r\n\r\n onButtonBack(event: any){\r\n if(!this.requireConfirmation){\r\n if(this.backToCustomRoute){\r\n this.router.navigate([this.backToCustomRoute])\r\n return\r\n }\r\n this.location.back();\r\n }else{\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.messageConfirmation,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptIcon: 'pi-check',\r\n rejectIcon: 'pi-times',\r\n accept: () => {\r\n if(this.backToCustomRoute){\r\n this.router.navigate([this.backToCustomRoute])\r\n return\r\n }\r\n this.location.back();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"w-header-panel flex flex-row-reverse flex-wrap\" [ngClass]=\"{'justify-content-between' : showButtonBack}\">\r\n <div class=\"w-action-buttons flex flex-column lg:flex-row-reverse\">\r\n <ng-content select=\".main-actions\"></ng-content>\r\n <ng-content select=\".secondary-actions\"></ng-content>\r\n </div>\r\n <div *ngIf=\"showButtonBack\" class=\"flex\">\r\n <w-button class=\"flex align-items-center justify-content-center\" type=\"text\" icon=\"pi-arrow-left\" (onClick)=\"onButtonBack($event)\"></w-button>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, FormControlName, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-input-number',\r\n templateUrl: './w-edit-input-number.component.html',\r\n styleUrls: ['./w-edit-input-number.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditInputNumberComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditInputNumberComponent implements ControlValueAccessor{\r\n value: number = 0;\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n @Input('successMessage') successMessage: string = \"\";\r\n @Input('mode') mode: string = \"decimal\";\r\n @Input('minFractionDigits') minFractionDigits: number = 0;\r\n @Input('maxFractionDigits') maxFractionDigits: number = 0;\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Data is required\";\r\n\r\n @Input('disabled') disabled: boolean = false;\r\n\r\n @Input('pattern') pattern: string = \"\";\r\n @Input('patternErrorDescription') patternErrorDescription: string = \"\";\r\n\r\n @Input('min') min!: number;\r\n @Input('minErrorDescription') minErrorDescription: string = \"Min error\";\r\n\r\n @Input('max') max!: number;\r\n @Input('maxErrorDescription') maxErrorDescription: string = \"Max error\";\r\n\r\n @Input('autofocus') autofocus: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n\r\n @Input('tooltip') tooltip!: string;\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: number) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = +value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onValueChanged(){\r\n this.onChange(+this.value);\r\n this.onTouch();\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue: number = +(event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl != null; else noNgControl\" class=\"w-edit-input-number-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.medium) == size\"\r\n [ngClass]=\"{'w-edit-input-number-medium-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-number-medium-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-number-medium-warning': formControl.invalid && formControl.touched && (formControl.hasError('min') || formControl.hasError('max'))}\"\r\n class=\"w-edit-input-number-medium w-edit-input-number-medium-height\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [formControl]=\"formControl\" >\r\n </p-inputNumber>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.small) == size\"\r\n [ngClass]=\"{'w-edit-input-number-small-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-number-small-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-number-small-warning': formControl.invalid && formControl.touched && (formControl.hasError('min') || formControl.hasError('max'))}\"\r\n class=\"w-edit-input-number-small\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [formControl]=\"formControl\"></p-inputNumber>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\" class=\"w-input-success-alert-text\">{{successMessage}}</small>-->\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('max') && formControl.touched \"\r\n class=\"w-input-alert-message w-input-warning-alert-text p-error block\">{{maxErrorDescription}}</span>\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('min') && formControl.touched \"\r\n class=\"w-input-alert-message w-input-warning-alert-text p-error block\">{{maxErrorDescription}}</span>\r\n <span *ngIf=\"formControl.hasError('required') && formControl.dirty\"\r\n class=\"w-input-alert-message w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-input-number-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.medium) == size\" [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n class=\"w-edit-input-number-medium w-edit-input-number-medium-height\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [(ngModel)]=\"value\" (onInput)=\"onValueChanged()\" [disabled]=\"disabled\"></p-inputNumber>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.small) == size\" [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n class=\"w-edit-input-number-small\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [(ngModel)]=\"value\" (onInput)=\"onValueChanged()\" [disabled]=\"disabled\"></p-inputNumber>\r\n </div>\r\n</ng-template>\r\n","import { Component, EventEmitter, Input, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\nimport { NgControl, FormControlName, NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-input-search',\r\n templateUrl: './w-input-search.component.html',\r\n styleUrls: ['./w-input-search.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WInputSearchComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WInputSearchComponent {\r\n @Input('label') label!: string;\r\n @Input('placeholder') placeholder: string = \"\";\r\n\r\n @Input('isRequired') isRequired: boolean = false;\r\n @Input('isDisabled') isDisabled: boolean = false;\r\n @Input('hasButton') hasButton: boolean = true;\r\n @Input('disabledButton') disabledButton: boolean = false;\r\n\r\n @Input('inputIcon') inputIcon: string = '';\r\n @Input('size') size: string = \"small\";\r\n\r\n \r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false; \r\n \r\n @Output('getInputData') getInputData: EventEmitter<any> = new EventEmitter();\r\n\r\n selectedItem: any;\r\n suggestions: any[] = [];\r\n value: any ;\r\n\r\n isTouched : boolean = false;\r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n onInputData(){\r\n if(this.formControl){\r\n this.getInputData.emit(this.formControl.value);\r\n }else{\r\n this.getInputData.emit(this.value);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n \r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n \r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl != null; else noNgControl\" class=\"w-input-search-field p-fluid field\">\r\n <div *ngIf=\"(label != undefined && label.length > 0)\" class=\"flex\" [ngClass]=\"{'w-input-search-height-label': removePaddingTop == false,\r\n 'w-input-search-height-label-no-top': removePaddingTop == true}\">\r\n <label htmlFor=\"state\" [ngClass]=\"{'w-input-search-small-label': getSizeName(sizeType.small) == size && !isDisabled, \r\n 'w-input-search-small-label-disabled': getSizeName(sizeType.small) == size && isDisabled,\r\n 'w-input-search-medium-label': getSizeName(sizeType.medium) == size && !isDisabled,\r\n 'w-input-search-medium-label-disabled': getSizeName(sizeType.medium) == size && isDisabled, \r\n 'no-top': removePaddingTop == true}\">\r\n {{label}}\r\n </label>\r\n </div>\r\n <div *ngIf=\"(label != undefined && label == '')\" class=\"w-input-no-label-height\"></div>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\" class=\"w-input-search\">\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-medium p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText [formControl]=\"formControl\"\r\n (keydown.enter)='onInputData()'\r\n class=\"w-input-search-text\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div >\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"w-input-search-text-wo-button flex flex-1 col-12\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"formControl\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template #inputSmall>\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-small p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText \r\n (keydown.enter)='onInputData()'\r\n [formControl]=\"formControl\"\r\n class=\"w-input-search-text\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div class=\"w-input-search-small p-fluid field\">\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"flex flex-1 col-12 w-input-search-text-wo-button\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"formControl\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-input-search-field\">\r\n <div *ngIf=\"(label != undefined && label.length > 0)\" [ngClass]=\"{'w-input-search-height-label': removePaddingTop == false,\r\n 'w-input-search-height-label-no-top': removePaddingTop == true}\">\r\n <label htmlFor=\"state\" [ngClass]=\"{'w-input-search-small-label': getSizeName(sizeType.small) == size && !isDisabled, \r\n 'w-input-search-small-label-disabled': getSizeName(sizeType.small) == size && isDisabled,\r\n 'w-input-search-medium-label': getSizeName(sizeType.medium) == size && !isDisabled,\r\n 'w-input-search-medium-label-disabled': getSizeName(sizeType.medium) == size && isDisabled, \r\n 'no-top': removePaddingTop == true}\">\r\n {{label}}\r\n </label>\r\n </div>\r\n <div *ngIf=\"(label != undefined && label == '')\" class=\"w-input-no-label-height\"></div>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\" >\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-medium p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText \r\n (keydown.enter)='onInputData()'\r\n class=\"w-input-search-text\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div class=\"w-input-search-medium p-fluid field\">\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"flex flex-1 col-12 w-input-search-text-wo-button\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"isDisabled\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template #inputSmall>\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-small p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText \r\n (keydown.enter)='onInputData()'\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n class=\"w-input-search-text\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div class=\"w-input-search-small p-fluid field\">\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"flex flex-1 col-12 w-input-search-text-wo-button\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"isDisabled\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n\r\n </div>\r\n</ng-template>","import { RuleSet } from \"angular2-query-builder\";\r\nimport { LazyElementQueryRequest } from \"../lazy-element-query-request.model\";\r\n\r\nexport interface QueryResults {\r\n type: QueryResultType,\r\n basic?: RuleSet | null | undefined,\r\n advanced?: RuleSet | null | undefined,\r\n grouped: RuleSet | null | undefined,\r\n lazyRequest?: LazyElementQueryRequest\r\n}\r\n\r\nexport enum QueryResultType {\r\n NoFilters = 0,\r\n Basic = 1,\r\n Advanced = 2,\r\n Grouped = 3\r\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, forkJoin, map, of, switchMap, tap } from \"rxjs\";\r\nimport { QbPanelFilter } from \"../../models/filter-panel/qb-panel-filter.model\";\r\nimport { QbPanelToFields } from \"../../models/filter-panel/qb-panel-to-fields.model\";\r\nimport { GMCountry } from \"../../models/filter-panel/gmcountry-model\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { GMLocality } from \"../../models/filter-panel/gmlocality.model\";\r\nimport { GMPostalCode } from \"../../models/filter-panel/gmpostalcode.model\";\r\nimport { GMAreaLevel2 } from \"../../models/filter-panel/gmarealevel2.model\";\r\nimport { GMAreaLevel1 } from \"../../models/filter-panel/gmarealevel1.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n \r\n constructor(\r\n private http: HttpClient,\r\n private messageService: MessageService, \r\n ) { }\r\n\r\n getFilterPanel(apiUrl: string, token: string, commonDataApiUrl: string, commonDataApiToken: string, filterId?: string): Observable<QbPanelFilter> {\r\n let url = filterId ? `${apiUrl}/${filterId}` : `${apiUrl}`;\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }); \r\n let fieldsModified: any; \r\n \r\n return this.http.get<any>(url, {headers: headers}).pipe(\r\n switchMap((filtersPanel: QbPanelFilter) => {\r\n const fields = filtersPanel.qbpanelToFields;\r\n return forkJoin(\r\n fields.map((field: QbPanelToFields) => {\r\n fieldsModified = field;\r\n if(field.qbfilterField.hasListOfValues) {\r\n return this.getFieldValues(commonDataApiUrl, commonDataApiToken, field.qbfilterField.sqlGetListValues).pipe(\r\n map(values => {\r\n const arrayOfValues = Object.keys(values).map((key: any) => ({\r\n name: values[key],\r\n value: +key\r\n }));\r\n field.qbfilterField.listOfValues = arrayOfValues;\r\n return field;\r\n })\r\n );\r\n } else {\r\n return of(field);\r\n }\r\n })).pipe(\r\n map(modifiedItems => {\r\n filtersPanel.qbpanelToFields = modifiedItems;\r\n return filtersPanel;\r\n })\r\n );\r\n }\r\n )\r\n );\r\n }\r\n\r\n getFieldValues(commonDataApiUrl: string, commonDataApiToken: string, sqlValueList: string): Observable<string[]> {\r\n let url = `${commonDataApiUrl}/fields/${sqlValueList}/values`;\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${commonDataApiToken}` }); \r\n return this.http.get<string[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { })\r\n );\r\n }\r\n\r\n getCountries(segmentationApi: string, segmentationApiToken: string):Observable<GMCountry[]>{\r\n let url = `${segmentationApi}/countries`;\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n return this.http.get<GMCountry[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getAreaLevels1(countryIds: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMAreaLevel1[]>{\r\n let params = countryIds.map(id => id.toString()).join('&gmCountryIds=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/arealevels1?gmCountryIds=`+params;\r\n return this.http.get<GMAreaLevel1[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getAreaLevels2(areaLevel1Ids: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMAreaLevel2[]>{\r\n let params = areaLevel1Ids.map(id => id.toString()).join('&gmAreaLevel1Ids=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/arealevels2?gmAreaLevel1Ids=`+params;\r\n return this.http.get<GMAreaLevel2[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getLocalities(areaLevel2Ids: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMLocality[]>{\r\n let params = areaLevel2Ids.map(id => id.toString()).join('&gmAreaLevel2Ids=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/localities?gmAreaLevel2Ids=`+params;\r\n return this.http.get<GMLocality[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getPostalCodes(localityIds: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMPostalCode[]>{\r\n let params = localityIds.map(id => id.toString()).join('&gmLocalityIds=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/postalcodes?gmLocalityIds=`+params;\r\n return this.http.get<GMPostalCode[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoredFilterPanelQuery } from '../models/stored-filter-panel-query.model';\r\nimport { ComponentsTenantStorage } from '../models/components-tenant-storage.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionStorageService {\r\n\r\n constructor() { }\r\n\r\n setComponentsTenantStorage(tenantId: string, tenantStorage: ComponentsTenantStorage) {\r\n sessionStorage.setItem(tenantId, JSON.stringify(tenantStorage));\r\n }\r\n\r\n getComponentsTenantStorage(tenantId: string): ComponentsTenantStorage {\r\n return JSON.parse(sessionStorage.getItem(tenantId)!);\r\n }\r\n\r\n setLastFilterPanelQuery(tenantId: string, storedQuery: StoredFilterPanelQuery | null) {\r\n\r\n if(storedQuery != undefined) {\r\n let allFilters:ComponentsTenantStorage = this.getAllLastFilterPanelQueries(tenantId);\r\n if(allFilters) {\r\n allFilters[storedQuery.id] = storedQuery;\r\n sessionStorage.setItem(tenantId, JSON.stringify(allFilters));\r\n } else {\r\n let tenantStorage: ComponentsTenantStorage = {\r\n [storedQuery.id]: storedQuery\r\n }\r\n sessionStorage.setItem(tenantId, JSON.stringify(tenantStorage));\r\n }\r\n }\r\n }\r\n\r\n getAllLastFilterPanelQueries(tenantId: string): ComponentsTenantStorage {\r\n return this.getComponentsTenantStorage(tenantId);\r\n }\r\n\r\n getLastFilterPanelQuery(tenantId: string, filterId: string): StoredFilterPanelQuery {\r\n return this.getComponentsTenantStorage(tenantId)?.[filterId]!;\r\n }\r\n\r\n removeLastFilterPanelQuery(tenantId: string, filterId: string) {\r\n let tenantStorage: ComponentsTenantStorage = JSON.parse(sessionStorage.getItem(tenantId)!);\r\n tenantStorage[filterId] = null;\r\n this.setComponentsTenantStorage(tenantId, tenantStorage);\r\n }\r\n}\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, forwardRef } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { DataTypeEnum, OperatorEnum } from \"../../../shared/models/enums.model\";\r\n\r\n@Component({\r\n selector: 'w-list-field',\r\n templateUrl: './w-list-field.component.html',\r\n styleUrls: ['./w-list-field.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WListFieldComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WListFieldComponent implements OnInit, ControlValueAccessor, OnChanges{\r\n @Input('options') optionsReceived!: any;\r\n options!: any;\r\n optionSelected: any;\r\n @Input('operator') operator: any;\r\n @Input('placeholder') placeholder!: any;\r\n @Input('onlyDropdown') onlyDropdown: boolean = false;\r\n \r\n\r\n dataType: typeof DataTypeEnum = DataTypeEnum;\r\n\r\n private onChange: any = () => {};\r\n private onTouched: any = () => {};\r\n\r\n constructor(){}\r\n \r\n ngOnInit(): void {\r\n this.options = this.optionsReceived;\r\n }\r\n \r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.onlyDropdown == true && (changes[this.optionsReceived] != undefined) && (changes[this.optionsReceived].currentValue[0] !== changes[this.optionsReceived].previousValue[0])){\r\n this.options = this.optionsReceived;\r\n }\r\n\r\n if(this.onlyDropdown == false){\r\n if(changes[this.operator]?.previousValue != undefined){\r\n this.optionSelected = null;\r\n }\r\n }\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.optionSelected);\r\n this.onTouched();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.optionSelected = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n getDataType(){\r\n if(this.operator == OperatorEnum.Equals || this.operator == OperatorEnum.NotEquals){\r\n return DataTypeEnum.Single;\r\n }else{\r\n return DataTypeEnum.Multi;\r\n }\r\n }\r\n}\r\n","<div *ngIf=\"options.length == 0; else optionsDataReady\" class=\"mx-2 w-list-field-skeleton-container p-dropdown p-component\"><p-skeleton width=\"8rem\" height=\"9px\"></p-skeleton></div>\r\n<ng-template #optionsDataReady>\r\n <p-multiSelect *ngIf=\"getDataType() == dataType.Multi\"\r\n appendTo=\"body\" \r\n [options]=\"options\" \r\n [(ngModel)]=\"optionSelected\" \r\n optionLabel=\"name\" \r\n optionValue=\"value\" \r\n [placeholder]=\"placeholder ?? 'Select an option'\"\r\n (onChange)=\"onOptionSelected()\">\r\n </p-multiSelect>\r\n <p-dropdown *ngIf=\"options && getDataType() == dataType.Single\"\r\n appendTo=\"body\" \r\n [options]=\"options\" \r\n [(ngModel)]=\"optionSelected\" \r\n optionLabel=\"name\" \r\n optionValue=\"value\" \r\n [placeholder]=\"placeholder ?? 'Select an option'\" \r\n (onChange)=\"onOptionSelected()\">\r\n </p-dropdown>\r\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-view-card-title-text',\r\n templateUrl: './w-view-card-title-text.component.html',\r\n styleUrls: ['./w-view-card-title-text.component.scss']\r\n})\r\nexport class WViewCardTitleTextComponent implements OnInit {\r\n\r\n @Input('cardTitle') cardTitle!: string;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<span class=\"w-view-card-title-text-style\">{{cardTitle}}</span>\r\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType, ButtonType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-toggle-button',\r\n templateUrl: './w-toggle-button.component.html',\r\n styleUrls: ['./w-toggle-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WToggleButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WToggleButtonComponent implements OnInit, ControlValueAccessor {\r\n @Input('onLabel') onLabel: string = \"\";\r\n @Input('offLabel') offLabel: string = \"\";\r\n @Input('size') size: string = \"small\";\r\n @Input('onIcon') onIcon: string = \"\";\r\n @Input('offIcon') offIcon: string = \"\";\r\n @Input('tooltipPosition') tooltipPosition: string = \"bottom\";\r\n @Input('tooltip') tooltip: string = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n buttonType: typeof ButtonType = ButtonType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n \r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onButtonChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onButtonChangedForm(value: any){\r\n this.onChangeEvent.emit(value.checked);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n getButtonTypeName(value: number): string{\r\n return ButtonType[value];\r\n }\r\n}\r\n","<ng-container *ngIf=\"formControl; else noNgControl\">\r\n <p-toggleButton \r\n [ngClass]=\"{'w-togglebutton-small' : size == getSizeName(sizeType.small),\r\n 'w-togglebutton-medium' : size == getSizeName(sizeType.medium),\r\n 'w-togglebutton-large' : size == getSizeName(sizeType.large)}\"\r\n [onLabel]=\"onLabel\" \r\n [offLabel]=\"offLabel\" \r\n iconPos=\"right\" \r\n [onIcon]=\"onIcon\"\r\n [offIcon]=\"offIcon\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n [formControl]=\"formControl\" \r\n (onChange)=\"onButtonChangedForm($event)\">\r\n </p-toggleButton>\r\n</ng-container>\r\n<ng-template #noNgControl>\r\n <p-toggleButton \r\n [ngClass]=\"{'w-togglebutton-small' : size == getSizeName(sizeType.small),\r\n 'w-togglebutton-medium' : size == getSizeName(sizeType.medium),\r\n 'w-togglebutton-large' : size == getSizeName(sizeType.large)}\"\r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onButtonChanged()\"\r\n [disabled]=\"disabled\" \r\n [onLabel]=\"onLabel\" \r\n [offLabel]=\"offLabel\" \r\n iconPos=\"right\" \r\n [onIcon]=\"onIcon\"\r\n [offIcon]=\"offIcon\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-toggleButton>\r\n</ng-template>","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { WSelectButtonState } from '../../shared/models/w-select-button-state.model';\r\n\r\n@Component({\r\n selector: 'w-select-button',\r\n templateUrl: './w-select-button.component.html',\r\n styleUrls: ['./w-select-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WSelectButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WSelectButtonComponent {\r\n @Input('stateOptions') stateOptions: WSelectButtonState[] = [{label: 'Off', value: 'off'}, {label: 'On', value: 'on'}];\r\n @Input('size') size: string = \"small\";\r\n \r\n @Input('tooltipPosition') tooltipPosition: string = \"bottom\";\r\n @Input('tooltip') tooltip: string = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n ngModelValue: any;\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n \r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onButtonChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onButtonChangedForm(value: any){\r\n this.onChangeEvent.emit(value.checked);\r\n }\r\n}\r\n","<ng-container *ngIf=\"formControl; else noNgControl\">\r\n <p-selectButton [ngClass]=\"{'w-button-small' : size == getSizeName(sizeType.small), \r\n 'w-button-medium' : size == getSizeName(sizeType.medium),\r\n 'w-button-large' : size == getSizeName(sizeType.large)}\"\r\n [options]=\"stateOptions\" \r\n [formControl]=\"formControl\" \r\n [disabled]=\"disabled\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n (onChange)=\"onButtonChangedForm($event)\">\r\n </p-selectButton>\r\n</ng-container>\r\n<ng-template #noNgControl>\r\n <p-selectButton [ngClass]=\"{'w-button-small' : size == getSizeName(sizeType.small), \r\n 'w-button-medium' : size == getSizeName(sizeType.medium),\r\n 'w-button-large' : size == getSizeName(sizeType.large)}\"\r\n [options]=\"stateOptions\" \r\n [(ngModel)]=\"ngModelValue\" \r\n [disabled]=\"disabled\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\"\r\n (ngModelChange)=\"onButtonChanged()\">\r\n </p-selectButton>\r\n</ng-template>\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, FormControl } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-calendar',\r\n templateUrl: './w-edit-calendar.component.html',\r\n styleUrls: ['./w-edit-calendar.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditCalendarComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditCalendarComponent implements OnInit, ControlValueAccessor {\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('showTime') showTime: boolean = true;\r\n @Input('showSeconds') showSeconds: boolean = true;\r\n @Input('timeOnly') timeOnly: boolean = false;\r\n @Input('showIcon') showIcon: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n @Input('minDate') minDate!: Date;\r\n @Input('maxDate') maxDate!: Date;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('displayInlineBlock') displayInlineBlock: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription : string = \"Mensaje default required\";\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n @Input('firstDayOfWeek') firstDayOfWeek: number = 1;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('dataType') dataType: string = 'date';\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n ngModelValue: any;\r\n\r\n isDisabled: boolean = false;\r\n isTouched : boolean = false;\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngOnInit(): void { }\r\n\r\n writeValue(value: any) {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValue(value: any){\r\n this.onChangeEvent.emit(value);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n onDateChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-calendar-styles p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-calendar [ngClass]=\"{'ng-invalid ng-dirty': formControl.hasError('required') && formControl.touched}\"\r\n [ngClass]=\"{'w-edit-calendar-small' : size == getSizeName(sizeType.small),\r\n 'w-edit-calendar-medium' : size == getSizeName(sizeType.medium)}\"\r\n appendTo=\"body\"\r\n inputId=\"time\" placeholder=\"{{placeholder}}\"\r\n [showTime]=\"showTime\"\r\n [showSeconds]=\"showSeconds\"\r\n [showIcon]=\"showIcon\"\r\n [icon]=\"timeOnly ? 'pi pi-clock' : 'pi pi-calendar'\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [dataType]=\"dataType\"\r\n (onSelect)=\"onValue($event)\"\r\n [inputStyleClass]=\"getSizeName(sizeType.small) ? 'w-edit-calendar-medium' : 'w-edit-calendar-small' \">\r\n </p-calendar>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.touched\" class=\"p-error block\">{{requiredErrorDescription}}</small>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-calendar-styles\" [ngClass]=\"{'w-edit-calendar-medium-display-block' : displayInlineBlock}\">\r\n <p-calendar [ngClass]=\"{'w-edit-calendar-small' : size == getSizeName(sizeType.small),\r\n 'w-edit-calendar-medium' : size == getSizeName(sizeType.medium)}\"\r\n appendTo=\"body\"\r\n [(ngModel)]=\"ngModelValue\" inputId=\"time\" placeholder=\"{{placeholder}}\"\r\n [showTime]=\"showTime\"\r\n [timeOnly]=\"timeOnly\"\r\n [showSeconds]=\"showSeconds\"\r\n [showIcon]=\"showIcon\"\r\n [icon]=\"timeOnly ? 'pi pi-clock' : 'pi pi-calendar'\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [dataType]=\"dataType\"\r\n (onSelect)=\"onDateChanged()\">\r\n </p-calendar>\r\n </div>\r\n</ng-template>\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, forwardRef } from '@angular/core';\r\nimport { GMCountry } from '../../models/filter-panel/gmcountry-model';\r\nimport { GMAreaLevel1 } from '../../models/filter-panel/gmarealevel1.model';\r\nimport { GMAreaLevel2 } from '../../models/filter-panel/gmarealevel2.model';\r\nimport { GMLocality } from '../../models/filter-panel/gmlocality.model';\r\nimport { GMPostalCode } from '../../models/filter-panel/gmpostalcode.model';\r\nimport { AddressEnum, DataTypeEnum, OperatorEnum } from '../../models/enums.model';\r\nimport { ApiService } from '../../service/api/api.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-address-field',\r\n templateUrl: './w-address-field.component.html',\r\n styleUrls: ['./w-address-field.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WAddressFieldComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WAddressFieldComponent implements OnInit, OnChanges, ControlValueAccessor {\r\n\r\n countries: GMCountry[] = [];\r\n countrySelected: any;\r\n countryId: number | null = null;\r\n areaLevels1: GMAreaLevel1[] = [];\r\n areaLevel1Selected!: any;\r\n areaLevel1Id: number | null = null;\r\n areaLevels2: GMAreaLevel2[] = [];\r\n areaLevel2Selected!: any;\r\n areaLevel2Id: number | null = null;\r\n localities: GMLocality[] = [];\r\n localitySelected: any;\r\n localityId: number | null = null;\r\n postalCodes: GMPostalCode[] = [];\r\n postalCodeSelected: any;\r\n addressValue: any;\r\n @Input('operator') operator!: any;\r\n @Input('selectPlaceholder') selectPlaceholder: string = 'Select an option';\r\n @Input('segmentationApiUrl') segmentationApiUrl!: string;\r\n @Input('segmentationApiToken') segmentationApiToken!: string;\r\n dataType: typeof DataTypeEnum = DataTypeEnum;\r\n\r\n private onChange: any = () => {};\r\n private onTouched: any = () => {};\r\n\r\n constructor(private apiService: ApiService){}\r\n\r\n ngOnInit(): void {\r\n this.getCountries();\r\n }\r\n\r\n ngOnChanges(changes: any): void {\r\n if(changes.operator.previousValue !== undefined){\r\n this.countrySelected = null;\r\n this.countryId = null;\r\n this.areaLevel1Selected = null;\r\n this.areaLevel1Id = null;\r\n this.areaLevel2Selected = null;\r\n this.areaLevel2Id = null;\r\n this.localitySelected = null;\r\n this.localityId = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.onChange(null);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n getCountries(){\r\n this.apiService.getCountries(this.segmentationApiUrl, this.segmentationApiToken).subscribe({ \r\n next: (countries: GMCountry[]) => {\r\n this.countries = countries ?? [];\r\n this.countrySelected = this.getAddressData(AddressEnum.Country, true, \"gMCountryId\");\r\n this.onCountrySelected();\r\n }\r\n })\r\n }\r\n\r\n getAreaLevel1(countryId: number[]){\r\n this.apiService.getAreaLevels1(countryId, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (areaLevels1: GMAreaLevel1[]) => {\r\n this.areaLevels1 = areaLevels1 ?? [];\r\n this.areaLevel1Selected = this.getAddressData(AddressEnum.AreaLevel1, true, \"gMAreaLevel1Id\");\r\n this.onAreaLevel1Selected();\r\n }\r\n })\r\n }\r\n\r\n getAreaLevel2(areaLevel1Id: number[]){\r\n this.apiService.getAreaLevels2(areaLevel1Id, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (areaLevels2: GMAreaLevel2[]) => {\r\n this.areaLevels2 = areaLevels2 ?? [];\r\n this.areaLevel2Selected = this.getAddressData(AddressEnum.AreaLevel2, true, \"gMAreaLevel2Id\");\r\n this.onAreaLevel2Selected();\r\n }\r\n })\r\n }\r\n\r\n getLocalities(areaLevel2Id: number[]){\r\n this.apiService.getLocalities(areaLevel2Id, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (localities: GMLocality[]) => {\r\n this.localities = localities ?? [];\r\n this.localitySelected = this.getAddressData(AddressEnum.Locality, true, \"gMLocalityId\");\r\n this.onLocalitySelected();\r\n }\r\n })\r\n }\r\n\r\n getPostalCodes(localityId: number[]){\r\n this.apiService.getPostalCodes(localityId, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (postalCodes: GMPostalCode[]) => {\r\n this.postalCodes = postalCodes ?? [];\r\n this.postalCodeSelected = this.getAddressData(AddressEnum.PostalCode, false);\r\n this.onPostalCodeSelected();\r\n }\r\n })\r\n }\r\n\r\n getAddressData(addressEnumType: number, isNotLastSelect: boolean, addressPropertyIdName?: string){\r\n let dataSelected: any;\r\n if(this.addressValue?.property){\r\n if(this.addressValue.property == addressEnumType){\r\n dataSelected = this.addressValue.data;\r\n this.addressValue = null;\r\n }else if(isNotLastSelect && addressPropertyIdName){\r\n dataSelected = this.addressValue[addressPropertyIdName];\r\n }\r\n }else if(Array.isArray(this.addressValue)){\r\n dataSelected = [];\r\n if(this.hasPropertyValueFirstElement(this.addressValue, \"property\", addressEnumType)){\r\n dataSelected = this.addressValue.map(a => a.data);\r\n this.addressValue = null;\r\n }else if(isNotLastSelect && addressPropertyIdName){\r\n dataSelected = this.addressValue[0][addressPropertyIdName];\r\n }\r\n }\r\n return dataSelected;\r\n }\r\n\r\n onCountrySelected(){\r\n this.areaLevel1Selected = null;\r\n this.areaLevel2Selected = null;\r\n this.localitySelected = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.countryId = this.countrySelected;\r\n\r\n this.doOnChange(AddressEnum.Country, this.countrySelected);\r\n\r\n this.areaLevels1 = [];\r\n if(this.countrySelected?.length > 0){\r\n this.getAreaLevel1(this.countrySelected);\r\n } else if(!Array.isArray(this.countrySelected) && this.countrySelected){\r\n this.getAreaLevel1([this.countrySelected]);\r\n }\r\n }\r\n\r\n onAreaLevel1Selected(){\r\n this.areaLevel2Selected = null;\r\n this.localitySelected = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.areaLevel1Id = this.areaLevel1Selected;\r\n\r\n this.doOnChange(AddressEnum.AreaLevel1, this.areaLevel1Selected, this.countryId);\r\n\r\n this.areaLevels2 = [];\r\n if(this.areaLevel1Selected?.length > 0){\r\n this.getAreaLevel2(this.areaLevel1Selected);\r\n } else if(!Array.isArray(this.areaLevel1Selected) && this.areaLevel1Selected){\r\n this.getAreaLevel2([this.areaLevel1Selected]);\r\n }\r\n }\r\n\r\n onAreaLevel2Selected(){\r\n this.localitySelected = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.areaLevel2Id = this.areaLevel2Selected;\r\n\r\n this.doOnChange(AddressEnum.AreaLevel2, this.areaLevel2Selected, this.countryId, this.areaLevel1Id);\r\n\r\n this.localities = [];\r\n if(this.areaLevel2Selected?.length > 0){\r\n this.getLocalities(this.areaLevel2Selected);\r\n } else if(!Array.isArray(this.areaLevel2Selected) && this.areaLevel2Selected){\r\n this.getLocalities([this.areaLevel2Selected]);\r\n }\r\n }\r\n\r\n onLocalitySelected(){\r\n this.postalCodeSelected = null;\r\n\r\n this.localityId = this.localitySelected;\r\n\r\n this.doOnChange(AddressEnum.Locality, this.localitySelected, this.countryId, this.areaLevel1Id, this.areaLevel2Id);\r\n\r\n this.postalCodes = [];\r\n if(this.localitySelected?.length > 0){\r\n this.getPostalCodes(this.localitySelected);\r\n } else if(!Array.isArray(this.localitySelected) && this.localitySelected){\r\n this.getPostalCodes([this.localitySelected]);\r\n }\r\n }\r\n\r\n onPostalCodeSelected(){\r\n this.doOnChange(AddressEnum.PostalCode, this.postalCodeSelected, this.countryId, this.areaLevel1Id, this.areaLevel2Id, this.localityId)\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.postalCodeSelected = value;\r\n this.addressValue = value;\r\n\r\n if(value == undefined){\r\n this.countrySelected = null;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n createObjectAddressProperty(addressType: any, value: any, countryId?: number | null, areaLevel1Id?: number | null, areaLevel2Id?: number|null, localityId?: number|null){\r\n return {\r\n property: addressType, \r\n data: value,\r\n gMCountryId: countryId,\r\n gMAreaLevel1Id: areaLevel1Id,\r\n gMAreaLevel2Id: areaLevel2Id,\r\n gMLocalityId: localityId\r\n }\r\n }\r\n\r\n doOnChange(addressType: any, value: any, countryId?: number | null, areaLevel1Id?: number | null, areaLevel2Id?: number|null, localityId?: number|null){\r\n if(value){\r\n if(this.getDataType() == DataTypeEnum.Single){\r\n this.onChange(this.createObjectAddressProperty(addressType, value, countryId, areaLevel1Id, areaLevel2Id, localityId));\r\n }else if(this.getDataType() == DataTypeEnum.Multi){\r\n let addressProperties = value.map((v: any) => this.createObjectAddressProperty(addressType, v, countryId, areaLevel1Id, areaLevel2Id, localityId));\r\n this.onChange(addressProperties);\r\n }\r\n\r\n this.onTouched();\r\n }\r\n }\r\n\r\n getDataType(){\r\n if(this.operator == OperatorEnum.Equals || this.operator == OperatorEnum.NotEquals){\r\n return DataTypeEnum.Single;\r\n }else{\r\n return DataTypeEnum.Multi;\r\n }\r\n }\r\n\r\n hasPropertyValueFirstElement(arr: any[], property: string, value: any): boolean {\r\n const firstElement = arr[0];\r\n return firstElement && firstElement[property] === value;\r\n }\r\n}\r\n","<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && countries.length > 0\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"countries\" [(ngModel)]=\"countrySelected\" optionLabel=\"name\" optionValue=\"gmCountryId\" (onChange)=\"onCountrySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && areaLevels1.length > 0 && countrySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels1\" [(ngModel)]=\"areaLevel1Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel1Id\" (onChange)=\"onAreaLevel1Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && areaLevels2.length > 0 && areaLevel1Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels2\" [(ngModel)]=\"areaLevel2Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel2Id\" (onChange)=\"onAreaLevel2Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && localities.length > 0 && areaLevel2Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"localities\" [(ngModel)]=\"localitySelected\" optionLabel=\"name\" optionValue=\"gmLocalityId\" (onChange)=\"onLocalitySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && postalCodes.length > 0 && localitySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"postalCodes\" [(ngModel)]=\"postalCodeSelected\" optionLabel=\"name\" optionValue=\"gmPostalCodeId\" (onChange)=\"onPostalCodeSelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && countries.length > 0\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"countries\" [(ngModel)]=\"countrySelected\" optionLabel=\"name\" optionValue=\"gmCountryId\" (onChange)=\"onCountrySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && areaLevels1.length > 0 && countrySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels1\" [(ngModel)]=\"areaLevel1Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel1Id\" (onChange)=\"onAreaLevel1Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && areaLevels2.length > 0 && areaLevel1Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels2\" [(ngModel)]=\"areaLevel2Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel2Id\" (onChange)=\"onAreaLevel2Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && localities.length > 0 && areaLevel2Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"localities\" [(ngModel)]=\"localitySelected\" optionLabel=\"name\" optionValue=\"gmLocalityId\" (onChange)=\"onLocalitySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && postalCodes.length > 0 && localitySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"postalCodes\" [(ngModel)]=\"postalCodeSelected\" optionLabel=\"name\" optionValue=\"gmPostalCodeId\" (onChange)=\"onPostalCodeSelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl } from '@angular/forms';\r\nimport { OperatorEnum, QBDataTypeEnum } from '../../shared/models/enums.model';\r\nimport { QbPanelFilter } from '../../shared/models/filter-panel/qb-panel-filter.model';\r\nimport { Entity, EntityMap, Field, FieldMap, QueryBuilderConfig, Rule, RuleSet } from '../../shared/models/filter-panel/field.model';\r\nimport { FilterPanelTranslations } from '../../shared/models/filter-panel/filter-panel-translations.model';\r\nimport { QueryResultType, QueryResults } from '../../shared/models/filter-panel/query-results.model';\r\nimport { FilterField } from '../../shared/models/filter-panel/filter-field.models';\r\nimport { QbFilterEntity } from '../../shared/models/filter-panel/qb-filter-entity.model';\r\nimport { ApiService } from '../../shared/service/api/api.service';\r\nimport { StoredFilterPanelQuery } from '../../shared/models/stored-filter-panel-query.model';\r\nimport { SessionStorageService } from '../../shared/services/session-storage.service';\r\nimport { NullableSelectOption } from '../../shared/models/filter-panel/nullable-select-option.model';\r\nimport { BooleanSelectOption } from '../../shared/models/filter-panel/boolean-select-option.model';\r\nimport { QueryBuilderComponent } from 'angular2-query-builder';\r\n\r\n@Component({\r\n selector: 'w-filter-panel',\r\n templateUrl: './w-filter-panel.component.html',\r\n styleUrls: ['./w-filter-panel.component.scss']\r\n})\r\nexport class WFilterPanelComponent implements OnInit {\r\n public queryCtrl!: FormControl;\r\n public advancedQueryCtrl!: FormControl;\r\n public groupedQueryCtrl!: FormControl;\r\n public persistValueOnFieldChange: boolean = false;\r\n \r\n queryConfigReady: boolean = false;\r\n isAdvancedSearch: boolean = false;\r\n qbDataTypeEnum = QBDataTypeEnum;\r\n qbDataEnums = Object.values(QBDataTypeEnum);\r\n basicQueryConfig!: any;\r\n advancedQueryConfig!: any;\r\n basicQuery: any = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n groupedQuery: any = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n advancedQuery: any = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n filterPanelObject!: QbPanelFilter;\r\n entityConfigGrouped: QueryBuilderConfig = { fields: {} };\r\n entities: any[] = [];\r\n defaultValues: any[] = [];\r\n defaultOperators: any[] = [];\r\n storedQuery!: StoredFilterPanelQuery;\r\n parentRoute!: string;\r\n\r\n @Input('apiUrl') authorizationApiUrl!: string;\r\n @Input('commonDataApiUrl') commonDataApiUrl!: string;\r\n @Input('segmentationApiUrl') segmentationApiUrl!: string;\r\n @Input('token') token!: string;\r\n @Input('commonDataToken') commonDataToken!: string;\r\n @Input('segmentationToken') segmentationToken!: string;\r\n @Input('filterId') filterId!: string;\r\n @Input('dataIsLoadingSearchButton') dataIsLoadingSearchButton: boolean = false;\r\n @Input('tenantId') tenantId!: string;\r\n\r\n @Input('translationsObject') translationsObject: FilterPanelTranslations = {\r\n basicSearchTabLabel: 'Basic search',\r\n advancedSearchTabLabel: 'Advanced search',\r\n groupedFilterTitle: 'Grouped filter',\r\n advancedSearch: {\r\n andButtonLabel: 'And',\r\n orButtonLabel: 'Or',\r\n addRuleButtonLabel: 'Add filter',\r\n addRuleSetButtonLabel: 'Add filter set',\r\n removeRuleSetButtonLabel: 'Remove rule set'\r\n },\r\n noRulesLabel: 'Add filter or filter set to start',\r\n searchButtonLabel: 'Clear',\r\n clearButtonLabel: 'Clear',\r\n fieldsPlaceholders: {\r\n boolean: {\r\n true: 'True',\r\n false: 'False'\r\n },\r\n decimal: 'Insert decimal number',\r\n list: 'Select an option',\r\n number: 'Insert a number',\r\n text: 'Insert text',\r\n datetime: 'Select a date'\r\n },\r\n firstDayOfWeek: 0,\r\n operators: {\r\n contains:'contains'\r\n },\r\n fields: {\r\n IdleDeadline: 'Id',\r\n name: 'Name',\r\n code: 'Code',\r\n delete: 'Deleted',\r\n country: 'Country'\r\n },\r\n nullableSelectOptions: {\r\n customeroperation: {\r\n isNullOption: 'No customers',\r\n isNotNullOption: 'Customers'\r\n }\r\n },\r\n booleanSelectOptions: {\r\n voidedoperation: {\r\n isNullOption: 'No voided',\r\n isNotNullOption: 'Voided'\r\n }\r\n }\r\n };\r\n \r\n @Output('searchClicked') searchClicked = new EventEmitter<QueryResults>();\r\n @Output('clearClicked') clearClicked = new EventEmitter<boolean>();\r\n @Output('lastQuery') lastQuery = new EventEmitter<QueryResults>();\r\n \r\n stateOptions: any[] = [{ label: this.translationsObject.advancedSearch.andButtonLabel, value: 'and' }, { label: this.translationsObject.advancedSearch.orButtonLabel, value: 'or' }];\r\n \r\n @ViewChild('advancedQueryBuilder', { static: false }) queryBuilder!: QueryBuilderComponent;\r\n \r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private apiService: ApiService,\r\n private sessionStorage: SessionStorageService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAdvancedSearch = this.sessionStorage.getLastFilterPanelQuery(this.tenantId, this.filterId)?.advancedQueryValue ? true : false;\r\n if((this.storedQuery?.advancedQueryValue && this.storedQuery?.advancedQueryValue.rules.length == 0) || (this.storedQuery?.basicQueryValue && this.storedQuery?.basicQueryValue.rules.length == 0)) {\r\n //Do nothing\r\n } else {\r\n this.storedQuery= this.sessionStorage.getLastFilterPanelQuery(this.tenantId, this.filterId)\r\n }\r\n this.getQueryBuilderFilterPanel();\r\n }\r\n\r\n initQueryBuilderControls() {\r\n this.queryCtrl = this.formBuilder.control(this.basicQuery);\r\n this.advancedQueryCtrl = this.formBuilder.control(this.advancedQuery);\r\n if(this.filterPanelObject.allowGrouped) {\r\n this.groupedQueryCtrl = this.formBuilder.control(this.groupedQuery);\r\n }\r\n \r\n if((this.storedQuery?.advancedQueryValue && this.storedQuery?.advancedQueryValue.rules.length == 0) || (this.storedQuery?.basicQueryValue && this.storedQuery?.basicQueryValue.rules.length == 0)) {\r\n //Do nothing\r\n } else {\r\n let lastQuery: QueryResults = {\r\n type: this.getQueryType(),\r\n basic: this.storedQuery?.basicQueryValue ? Object.assign({}, this.storedQuery?.basicQueryValue) : null,\r\n advanced: this.storedQuery?.advancedQueryValue ? Object.assign({}, this.storedQuery?.advancedQueryValue) : null,\r\n grouped: this.isAdvancedSearch && this.filterPanelObject.allowGrouped && this.groupedQueryCtrl ? Object.assign({}, this.groupedQueryCtrl?.value) : null\r\n }\r\n\r\n this.setNoFiltersQueryType(lastQuery)\r\n .then((res) => {\r\n lastQuery = this.deleteFieldsWithoutValue(lastQuery);\r\n lastQuery = this.handleEmptyFieldsQuery(lastQuery);\r\n this.lastQuery.emit(lastQuery);\r\n }).then(() => {\r\n this.inverseNullableFilterOperationHandle(this.advancedQueryCtrl.value);\r\n })\r\n }\r\n }\r\n\r\n nullableSelectPlaceholder(rule: Rule, options: NullableSelectOption[]) {\r\n if(rule.operator == 'is' && rule.value == 'null') {\r\n rule.value = 0;\r\n return this.translationsObject.nullableSelectOptions![options[0].name].isNullOption;\r\n }\r\n if(rule.operator == 'is not' && rule.value == 'null') {\r\n rule.value = 1;\r\n return this.translationsObject.nullableSelectOptions![options[0].name].isNotNullOption;\r\n }\r\n return this.translationsObject.fieldsPlaceholders.list;\r\n }\r\n \r\n setEmtpyArraysToNull(query: any) {\r\n if (\"rules\" in query) {\r\n query.rules.forEach((rule: RuleSet | Rule) => {\r\n this.setEmtpyArraysToNull(rule);\r\n });\r\n } else {\r\n if (query.value instanceof Array && query.value.length == 0) {\r\n query.value = null;\r\n }\r\n }\r\n }\r\n\r\n updateSearchType() {\r\n this.isAdvancedSearch = !this.isAdvancedSearch;\r\n if(this.isAdvancedSearch) {\r\n setTimeout(() => {\r\n this.updateNullableElements(this.queryBuilder.config.fields)\r\n }, 3000);\r\n }\r\n }\r\n\r\n updateNullableElements(elements: { [key: string]: any }): void {\r\n for (const key in elements) {\r\n if (elements.hasOwnProperty(key)) {\r\n const element = elements[key];\r\n if (element.operators.includes('nullable')) {\r\n element.defaultValue = 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSearchClicked() {\r\n let queries: QueryResults = {\r\n type: this.getQueryType(),\r\n basic: this.isAdvancedSearch ? null : Object.assign({}, this.queryCtrl.value),\r\n advanced: this.isAdvancedSearch ? Object.assign({}, this.advancedQueryCtrl.value) : null,\r\n grouped: this.isAdvancedSearch && this.filterPanelObject.allowGrouped ? Object.assign({}, this.groupedQueryCtrl.value) : null\r\n }\r\n \r\n this.setEntity(queries);\r\n\r\n queries = this.initializeOperators(queries);\r\n \r\n this.setNoFiltersQueryType(queries).then((resQueries:any) => {\r\n if(resQueries.type != 0){\r\n this.nullableFilterOperationHandle(queries.basic ? queries.basic : queries.advanced);\r\n }\r\n }).then((resQueries:any) => {\r\n let storedQuery: StoredFilterPanelQuery = {\r\n id: this.filterId,\r\n basicQueryValue: queries.basic,\r\n advancedQueryValue: queries.advanced,\r\n groupedQueryValue: queries.grouped\r\n }\r\n this.setEmtpyArraysToNull(queries.basic ? queries.basic : queries.advanced);\r\n if(storedQuery.advancedQueryValue && storedQuery.advancedQueryValue.rules == 0) {\r\n //Do nothing\r\n } else {\r\n this.sessionStorage.setLastFilterPanelQuery(this.tenantId, storedQuery);\r\n }\r\n }).then((resQueries: any) => {\r\n queries = this.deleteFieldsWithoutValue(queries);\r\n queries = this.handleEmptyFieldsQuery(queries);\r\n this.searchClicked.emit(queries);\r\n }).then(() => {\r\n this.inverseNullableFilterOperationHandle(this.advancedQueryCtrl.value);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error en la promesa:\", error);\r\n });\r\n }\r\n\r\n setNoFiltersQueryType(queries:any) {\r\n return new Promise((resolve, reject) => {\r\n queries = this.handleEmptyFieldsQuery(queries);\r\n resolve(queries);\r\n });\r\n }\r\n\r\n onClearClicked() {\r\n this.resetBasicQueryValues();\r\n this.advancedQuery.rules = [];\r\n this.groupedQuery.rules = [];\r\n this.sessionStorage.removeLastFilterPanelQuery(this.tenantId, this.filterId);\r\n this.clearClicked.emit(true);\r\n }\r\n\r\n handleEmptyFieldsQuery(queries: QueryResults): QueryResults {\r\n if(queries.advanced != null && queries.advanced?.rules.length == 0) {\r\n queries.type = 0\r\n }\r\n if(queries.basic != null && queries.basic?.rules.length == 0) {\r\n queries.type = 0\r\n }\r\n if(queries.grouped != null && queries.grouped?.rules.length == 0) {\r\n queries.type = 0\r\n }\r\n return queries;\r\n }\r\n\r\n nullableFilterOperationHandle(query: any) {\r\n if (\"rules\" in query) {\r\n query.rules.forEach((rule: RuleSet | Rule) => {\r\n this.nullableFilterOperationHandle(rule);\r\n });\r\n } else {\r\n if (query.operator === OperatorEnum.Nullable || ((query.operator == 'is' || query.operator == 'is not') && (query.value == 1 || query.value == 0))) {\r\n if(query.value == 1) {\r\n query.operator = 'is not';\r\n }\r\n if(query.value == 0) {\r\n query.operator = 'is';\r\n }\r\n query.value = 'null';\r\n }\r\n }\r\n }\r\n\r\n inverseNullableFilterOperationHandle(query: any) {\r\n if (\"rules\" in query) {\r\n query.rules.forEach((rule: RuleSet | Rule) => {\r\n this.inverseNullableFilterOperationHandle(rule);\r\n });\r\n } else {\r\n if ((query.operator == 'is not' || query.operator == 'is') && query.value == 'null') {\r\n if(query.operator == 'is not') {\r\n query.value = 1;\r\n }\r\n if(query.operator == 'is') {\r\n query.value = 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getQueryType(): QueryResultType {\r\n if(!this.isAdvancedSearch) {\r\n return QueryResultType.Basic;\r\n } else {\r\n if(this.isAdvancedSearch && this.groupedQueryCtrl?.value) {\r\n return QueryResultType.Grouped\r\n } else {\r\n return QueryResultType.Advanced;\r\n }\r\n }\r\n }\r\n\r\n setEntity(queries: QueryResults) {\r\n if(this.getQueryType() == QueryResultType.Basic) {\r\n queries.basic!.rules = queries.basic!.rules.map((r:any) => {\r\n return {\r\n field: r.field,\r\n operator: r.operator,\r\n value: r.value,\r\n entity: this.entities.find(e => e.fieldJsonName == r.field).entity\r\n }\r\n })\r\n }\r\n }\r\n\r\n getQueryBuilderFilterPanel() {\r\n this.apiService.getFilterPanel(this.authorizationApiUrl, this.token, this.commonDataApiUrl, this.commonDataToken, this.filterId)\r\n .subscribe((qbPanelFilter: QbPanelFilter) => {\r\n this.filterPanelObject = qbPanelFilter;\r\n let basicFilterIds: number[] = qbPanelFilter.qbpanelToFields.filter(panelToField => panelToField.basic).map(panelToField => panelToField.qbfilterFieldId);\r\n let advancedFilterIds: number[] = qbPanelFilter.qbpanelToFields.filter(panelToField => !panelToField.basic).map(panelToField => panelToField.qbfilterFieldId);\r\n this.defaultValues = qbPanelFilter.qbpanelToFields.map(panelToField => {\r\n return {\r\n qbfilterFieldId: panelToField.qbfilterFieldId,\r\n defaultValue: panelToField.defaultValue\r\n }\r\n })\r\n this.defaultOperators = qbPanelFilter.qbpanelToFields.map(panelToField => {\r\n return {\r\n qbfilterFieldId: panelToField.qbfilterFieldId,\r\n qbdefaultOperator: panelToField.qbdefaultOperator\r\n }\r\n })\r\n let filterEntity: QbFilterEntity[] = qbPanelFilter.qbpanelToFields.map(panelToField => {\r\n return {\r\n id: panelToField.qbfilterField.qbfilterEntity.id, \r\n basic: panelToField.basic,\r\n name: panelToField.qbfilterField.qbfilterEntity.name, \r\n jsonName: panelToField.qbfilterField.qbfilterEntity.jsonName, \r\n fields: []\r\n }\r\n });\r\n\r\n let filterFields: FilterField[] = qbPanelFilter.qbpanelToFields.map(p => p.qbfilterField);\r\n filterEntity.forEach((entity: QbFilterEntity, index: number) => {\r\n let fields = filterFields.filter(e => e.qbfilterEntity.id == entity.id);\r\n filterEntity[index].fields = fields ;\r\n })\r\n \r\n this.basicQueryConfig = this.initQueryBuilder(filterEntity);\r\n this.basicQueryConfig = this.filterFieldsById(this.basicQueryConfig, basicFilterIds);\r\n this.basicQueryConfig.fields = this.translateFields(this.basicQueryConfig.fields);\r\n this.advancedQueryConfig = this.initQueryBuilder(filterEntity);\r\n this.advancedQueryConfig = this.filterFieldsById(this.advancedQueryConfig, advancedFilterIds);\r\n this.advancedQueryConfig.fields = this.translateFields(this.advancedQueryConfig.fields);\r\n let rules = Object.keys(this.basicQueryConfig.fields)\r\n .map(fieldKey => { \r\n let defaultOperator = this.defaultOperators.find(operator => operator.qbfilterFieldId == this.basicQueryConfig.fields[fieldKey].id && operator.qbdefaultOperator != null);\r\n return {\r\n field: fieldKey, \r\n value: this.basicQueryConfig.fields[fieldKey].defaultValue!,\r\n operator: defaultOperator ? defaultOperator.qbdefaultOperator.symbol : null\r\n }\r\n });\r\n\r\n if(this.storedQuery && this.storedQuery?.id == this.filterId && this.storedQuery?.basicQueryValue && this.storedQuery?.basicQueryValue.rules.length != 0) {\r\n this.basicQuery = this.storedQuery.basicQueryValue;\r\n } else {\r\n this.basicQuery = {\r\n condition: 'and',\r\n rules: rules\r\n };\r\n }\r\n if(this.storedQuery && this.storedQuery?.id == this.filterId && this.storedQuery?.advancedQueryValue && this.storedQuery?.advancedQueryValue.rules.length != 0) {\r\n this.advancedQuery = this.storedQuery.advancedQueryValue;\r\n } else {\r\n this.advancedQuery = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n }\r\n\r\n this.queryConfigReady = true;\r\n this.initQueryBuilderControls();\r\n })\r\n }\r\n\r\n initQueryBuilder(filterEntities: QbFilterEntity[]) {\r\n let entityConfigAux: QueryBuilderConfig = { fields: {} };\r\n let entitiesArray: EntityMap[] = [];\r\n \r\n filterEntities.map((e, index) => {\r\n let entity: Entity = { name: e.jsonName };\r\n return entitiesArray[index] = { [e.jsonName]: entity };\r\n });\r\n\r\n let entitiesMap: EntityMap = {};\r\n\r\n for (const entity of entitiesArray) {\r\n const keys = Object.keys(entity);\r\n\r\n keys.forEach(key => {\r\n if(this.translationsObject.entities) {\r\n let entitiesTranslationsKeys = Object.keys(this.translationsObject.entities);\r\n let translation = entitiesTranslationsKeys.find(translationKey => translationKey == key);\r\n if(translation) {\r\n entitiesMap[key] = { name: this.translationsObject.entities[key] }\r\n } else {\r\n entitiesMap[key] = entity[key]\r\n }\r\n } else {\r\n entitiesMap[key] = entity[key]\r\n }\r\n });\r\n\r\n entityConfigAux.entities = entitiesMap;\r\n }\r\n\r\n let fields: FieldMap[] = [];\r\n filterEntities.forEach((filterEntity) => {\r\n return filterEntity.fields.filter((filterField: FilterField) => {\r\n let index: number = fields.length ?? 0;\r\n let operatorsFlatArray = filterField.operators.map((o:any) => o.symbol);\r\n let defaultOperator = this.defaultOperators.find(operator => operator.qbfilterFieldId == filterField.id);\r\n let field: Field = {\r\n id: filterField.id,\r\n name: filterField.name,\r\n operators: defaultOperator.qbdefaultOperator?.symbol ? this.moveElementToFirstPlace(operatorsFlatArray, defaultOperator.qbdefaultOperator?.symbol) : operatorsFlatArray,\r\n type: this.getDataType(filterField.dataType),\r\n defaultValue: this.formatDefaultValue(this.defaultValues.find(value => value.qbfilterFieldId == filterField.id).defaultValue, filterField.dataType),\r\n defaultOperator: defaultOperator.qbdefaultOperator?.symbol,\r\n entity: filterEntity.jsonName,\r\n options: filterField.listOfValues,\r\n validator: (rule: Rule, parent: RuleSet): any | null => {\r\n if (rule.operator !== \"is null\" && rule.operator !== \"is not null\") {\r\n if (rule.value === undefined || rule.value === null || rule.value === '' || rule.value.length == 0) {\r\n return { required: 'empty field' };\r\n }\r\n }\r\n return null;\r\n }\r\n }\r\n this.entities.push({fieldJsonName: filterField.jsonName, entity: field.entity});\r\n fields[index] = { [filterField.jsonName]: field };\r\n });\r\n });\r\n\r\n let fieldsMap: FieldMap = {};\r\n\r\n for (const field of fields) {\r\n const keys = Object.keys(field);\r\n keys.forEach(key => {\r\n fieldsMap[key] = field[key];\r\n });\r\n\r\n entityConfigAux.fields = fieldsMap;\r\n }\r\n return entityConfigAux;\r\n }\r\n\r\n filterFieldsById(fieldsObj: any, idArray: number[]): any {\r\n const filteredFields: any = {};\r\n \r\n for (const key in fieldsObj.fields) {\r\n const field = fieldsObj.fields[key];\r\n if (idArray.includes(field.id)) {\r\n filteredFields[key] = field;\r\n }\r\n }\r\n \r\n return {\r\n ...fieldsObj,\r\n fields: filteredFields,\r\n };\r\n }\r\n\r\n translateFields(fields: FieldMap) {\r\n for (const key in fields) {\r\n if (fields.hasOwnProperty(key)) {\r\n fields[key].field = key;\r\n fields[key].name = this.translationsObject.fields[key];\r\n }\r\n }\r\n return fields;\r\n }\r\n\r\n moveElementToFirstPlace(array: any[], elementToFirstPlace: string) {\r\n const index = array.indexOf(elementToFirstPlace);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n array.unshift(elementToFirstPlace); \r\n }\r\n return array;\r\n }\r\n\r\n formatDefaultValue(value: any, type: QBDataTypeEnum) {\r\n if(value) {\r\n if(type == QBDataTypeEnum.Boolean) {\r\n return value.toLowerCase() === 'true';\r\n }\r\n if(type == this.qbDataTypeEnum.Number || type == this.qbDataTypeEnum.Decimal || type == this.qbDataTypeEnum.List){\r\n return Number(value);\r\n }\r\n if(type == this.qbDataTypeEnum.NullableSelect) {\r\n return 0;\r\n }\r\n if(type == this.qbDataTypeEnum.BooleanSelect) {\r\n return 0;\r\n }\r\n } \r\n return value;\r\n }\r\n\r\n getDataType(id: number) {\r\n return this.qbDataEnums.find(value => value === id)?.toString() ?? \"\";\r\n }\r\n\r\n deleteFieldsWithoutValue(json: any) {\r\n if (json.basic && json.basic.rules) {\r\n json.basic.rules = json.basic.rules.filter((rule: any) => rule.value != null);\r\n json.basic.rules = json.basic.rules.filter((rule: any) => rule.value != undefined);\r\n json.basic.rules = json.basic.rules.filter((rule: any) => rule.value !== \"\");\r\n json.basic.rules = json.basic.rules.filter((rule: any) => { return !(rule.operator === \"nullable\" && rule.value === \"null\"); });\r\n }\r\n if(json.advanced && json.advanced.rules?.length != 0) {\r\n json.advanced.rules = json.advanced.rules.filter((rule: any) => rule.rules?.length != 0);\r\n }\r\n if(json.grouped && json.grouped?.rules.length != 0) {\r\n json.grouped.rules = json.grouped.rules.filter((rule: any) => rule.rules?.length != 0);\r\n }\r\n if(json.grouped && json.grouped?.rules.length == 0) {\r\n json.grouped = null;\r\n }\r\n return json;\r\n }\r\n \r\n initializeOperators(json: any) {\r\n if (json.basic && json.basic.rules) {\r\n json.basic.rules.forEach((rule:any) => {\r\n if(!rule.operator) {\r\n rule.operator = \"=\";\r\n }\r\n });\r\n }\r\n return json;\r\n }\r\n\r\n resetBasicQueryValues() {\r\n this.basicQuery.rules.forEach((rule: Rule) => {\r\n if(rule.value || rule.value == 0){\r\n rule.value = null\r\n }\r\n });\r\n }\r\n\r\n getQueryFieldName(fieldName: string, fields: FieldMap) {\r\n const fieldEntry = Object.keys(fields).find(key => fields[key].field === fieldName);\r\n\r\n return fieldEntry && fields[fieldEntry].name ? fields[fieldEntry].name : fieldName;\r\n }\r\n\r\n getNullableSelectOptions(options: NullableSelectOption[]) {\r\n return options.map((option: NullableSelectOption) => {\r\n return {\r\n name: option.value === 1 ? \r\n this.translationsObject.nullableSelectOptions![option.name].isNotNullOption :\r\n this.translationsObject.nullableSelectOptions![option.name].isNullOption,\r\n value: option.value,\r\n }\r\n })\r\n }\r\n\r\n getBooleanSelectOptions(options: BooleanSelectOption[]) {\r\n return options.map((option: BooleanSelectOption) => {\r\n return {\r\n name: option.value === 1 ? \r\n this.translationsObject.booleanSelectOptions![option.name].isNotNullOption :\r\n this.translationsObject.booleanSelectOptions![option.name].isNullOption,\r\n value: option.value,\r\n }\r\n })\r\n }\r\n\r\n fieldIsBoolean(fieldName: string, fields: FieldMap) {\r\n const fieldEntry = Object.keys(fields).find(key => fields[key].field === fieldName);\r\n\r\n return fields[fieldEntry!].type == QBDataTypeEnum.Boolean.toString() ? true : false;\r\n }\r\n\r\n}\r\n","<!-- TODO: Intentar otra vez pasar los componentes a los de w- porque no se alinena y el w-edit-select no va bien en field. \r\n Ahora se conservan los de p-w con estilos. -->\r\n<p-blockUI styleClass=\"w-filter-panel-blockui\" [autoZIndex]=\"false\" [target]=\"filterPanel\" [blocked]=\"dataIsLoadingSearchButton\"></p-blockUI>\r\n\r\n<p-card styleClass=\"w-filter-panel-no-style-card\" #filterPanel>\r\n <div *ngIf=\"queryConfigReady\" class=\"w-filter-panel-styles\">\r\n <div *ngIf=\"!filterPanelObject.allowAdvancedSearch; else baiscAndAdvanced\">\r\n <div [ngClass]=\"{ 'w-filter-panel-container-advanced' : isAdvancedSearch, 'w-filter-panel-container-basic' : !isAdvancedSearch }\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n <div class=\"flex justify-content-end button-gap\">\r\n <w-button [label]=\"translationsObject.clearButtonLabel\" type=\"tertiary\" size=\"small\" (onClick)=\"onClearClicked()\"></w-button>\r\n <w-button [label]=\"translationsObject.searchButtonLabel\" size=\"small\" (onClick)=\"onSearchClicked()\"></w-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #baiscAndAdvanced>\r\n <div [ngClass]=\"{ 'w-filter-panel-container-advanced' : isAdvancedSearch, 'w-filter-panel-container-basic' : !isAdvancedSearch }\">\r\n <div *ngIf=\"!isAdvancedSearch; else advancedView\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n </div>\r\n <ng-template #advancedView>\r\n <ng-container *ngTemplateOutlet=\"advanced\"></ng-container>\r\n </ng-template>\r\n\r\n <div class=\"flex justify-content-end button-gap\" [class.pt-3]=\"isAdvancedSearch\">\r\n <w-button [label]=\"translationsObject.clearButtonLabel\" type=\"tertiary\" size=\"small\" (onClick)=\"onClearClicked()\"></w-button>\r\n <w-button [label]=\"translationsObject.searchButtonLabel\" size=\"small\" (onClick)=\"onSearchClicked()\" [loading]=\"dataIsLoadingSearchButton\"></w-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n</p-card>\r\n\r\n <ng-template #basic>\r\n <div *ngIf=\"filterPanelObject.allowAdvancedSearch\" class=\"flex justify-content-end flex-wrap\">\r\n <w-button [label]=\"translationsObject.advancedSearchTabLabel\" type=\"text\" (onClick)=\"updateSearchType()\"></w-button>\r\n </div>\r\n <div class=\"w-filter-panel-basic query-builder-style fadein animation-duration-500\">\r\n <query-builder [formControl]='queryCtrl' [config]='basicQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset;\">\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown [disabled]=\"true\" class=\" w-edit-select-small\" *ngIf=\"false\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields; let value=value; let name=name; let index=index\">\r\n <span appendTo=\"body\" class=\"w-4 text-left w-filter-panel-input-text-label\" [class.w-filter-panel-boolean-label-width]=\"fieldIsBoolean(rule.field, getFields(rule.entity))\" optionLabel=\"name\" optionValue=\"value\">{{ getQueryFieldName(rule.field, getFields(rule.entity))}}</span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\" w-edit-select-small\" *ngIf=\"isAdvancedSearch\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <w-toggle-button size=\"small\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></w-toggle-button>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"w-edit-calendar\" style=\"width: 100%;\">\r\n <w-edit-calendar appendTo=\"body\" size=\"small\" [showIcon]=\"false\" [dataType]=\"'string'\" [(ngModel)]=\"rule.value\" (onChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [firstDayOfWeek]=\"translationsObject.firstDayOfWeek ?? 1\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\" [displayInlineBlock]=\"true\"></w-edit-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\" w-filter-panel-basic-query-builder-input-width w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-dropdown class=\"w-edit-select-small\" appendTo=\"body\" [options]=\"options\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <p-inputNumber [useGrouping]=\"false\" inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\" w-filter-panel-basic-query-builder-input-width w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\" w-filter-panel-basic-query-builder-input-width w-edit-input-text-small-height w-edit-input-text-small\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Multiselect.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-multiSelect class=\"w-edit-multiselect-small\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.NullableSelect.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-dropdown class=\"w-edit-select-small\" appendTo=\"body\" [options]=\"getNullableSelectOptions(options)\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" \r\n [placeholder]=\"nullableSelectPlaceholder(rule, options)\">\r\n </p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.BooleanSelect.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-dropdown class=\"w-edit-select-small\" appendTo=\"body\" [options]=\"getBooleanSelectOptions(options)\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Address.toString(); let onChange=onChange\">\r\n <w-address-field [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [operator]=\"rule.operator\" [segmentationApiUrl]=\"segmentationApiUrl\" [segmentationApiToken]=\"segmentationToken\"></w-address-field>\r\n </ng-container>\r\n </query-builder>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isAdvancedSearch && basicQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #advanced>\r\n <div [class.query-builder-style]=\"!filterPanelObject.allowRuleSet\" class=\"w-filter-panel-container fadein animation-duration-500\">\r\n <div *ngIf=\"filterPanelObject.allowRuleSet\" class=\"flex justify-content-end flex-wrap\">\r\n <w-button class=\"mb-2\" [label]=\"translationsObject.basicSearchTabLabel\" type=\"text\" (onClick)=\"updateSearchType()\"></w-button>\r\n </div>\r\n <query-builder #advancedQueryBuilder [formControl]='advancedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <div *ngIf=\"filterPanelObject.allowRuleSet; else noRuleSet\">\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <w-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" type=\"secondary\" size=\"small\" (onClick)=\"addRule()\"></w-button>\r\n <w-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" type=\"secondary\" icon=\"pi pi-plus\" size=\"small\" *ngIf=\"addRuleSet\" (onClick)=\"addRuleSet()\"></w-button>\r\n <w-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" type=\"tertiary\" icon=\"pi pi-minus\" size=\"small\" *ngIf=\"removeRuleSet\" (onClick)=\"removeRuleSet()\"></w-button>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #noRuleSet>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex justify-content-end flex-wrap\">\r\n <w-button [label]=\"translationsObject.basicSearchTabLabel\" type=\"text\" (onClick)=\"updateSearchType()\"></w-button>\r\n </div>\r\n <span class=\"advanced-query-button-group gap-3\">\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" type=\"secondary\" size=\"small\" (onClick)=\"addRule()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" type=\"secondary\" icon=\"pi pi-plus\" size=\"small\" *ngIf=\"addRuleSet\" (onClick)=\"addRuleSet()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" type=\"tertiary\" icon=\"pi pi-minus\" size=\"small\" *ngIf=\"removeRuleSet\" (onClick)=\"removeRuleSet()\"></w-button>\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <w-button class=\"\" label=\"\" size=\"small\" type=\"tertiary\" icon=\"pi pi-times\" (onClick)=\"removeRule(rule)\"></w-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\" class=\"w-filter-panel-switch-group-padding\">\r\n <w-select-button *ngIf=\"filterPanelObject.allowLogicalRule\" [stateOptions]=\"[{label: 'And', value: 'and'}, {label: 'Or', value: 'or'}]\"\r\n [(ngModel)]=\"ruleset.condition\"\r\n [size]=\"'small'\"\r\n (value)=\"ruleset.condition = $event\">\r\n </w-select-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown *ngIf=\"filterPanelObject.enityMode\" class=\"field-gap w-edit-select-small w-entity-dropdown\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n <!-- <w-list-field class=\"field-gap\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" [operator]=\"'='\" (ngModelChange)=\"onChange($event, rule)\" [onlyDropdown]=\"true\"></w-list-field> -->\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown *ngIf=\"!operators.includes('nullable')\" class=\"field-gap w-edit-select-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <w-toggle-button class=\"field-gap toggle-button-align\" size=\"small\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></w-toggle-button>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-edit-calendar class=\"field-gap\" appendTo=\"body\" size=\"small\" [dataType]=\"'string'\" [showIcon]=\"false\" [(ngModel)]=\"rule.value\" (onChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [firstDayOfWeek]=\"translationsObject.firstDayOfWeek ?? 1\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\" [displayInlineBlock]=\"true\"></w-edit-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"options\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width field-gap\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber [useGrouping]=\"false\" inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width w-edit-input-text-small-height w-edit-input-text-small\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Multiselect.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-multiSelect class=\"w-edit-multiselect-small\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Address.toString(); let onChange=onChange\">\r\n <w-address-field [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [operator]=\"rule.operator\" [segmentationApiUrl]=\"segmentationApiUrl\" [segmentationApiToken]=\"segmentationToken\" [selectPlaceholder]=\"translationsObject.fieldsPlaceholders.list\"></w-address-field>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.NullableSelect.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"getNullableSelectOptions(options)\" [filter]=\"true\" [showClear]=\"false\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.BooleanSelect.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"getBooleanSelectOptions(options)\" [ngModelOptions]=\"{standalone: true}\" [filter]=\"true\" [showClear]=\"false\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && advancedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n <!-- Grouped filter -->\r\n <div *ngIf=\"filterPanelObject.allowGrouped\">\r\n <div class=\"py-5\">\r\n <w-view-card-title-text [cardTitle]=\"translationsObject.groupedFilterTitle\"></w-view-card-title-text>\r\n </div>\r\n\r\n <query-builder [formControl]='groupedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex gap-3 mb-3\">\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" type=\"secondary\" size=\"small\" (onClick)=\"addRule()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" type=\"secondary\" icon=\"pi pi-plus\" size=\"small\" *ngIf=\"addRuleSet\" (onClick)=\"addRuleSet()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" type=\"tertiary\" icon=\"pi pi-minus\" size=\"small\" *ngIf=\"removeRuleSet\" (onClick)=\"removeRuleSet()\"></w-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <w-button class=\"\" label=\"\" size=\"small\" type=\"tertiary\" icon=\"pi pi-times\" (onClick)=\"removeRule(rule)\"></w-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\">\r\n <w-select-button *ngIf=\"filterPanelObject.allowLogicalRule\" [stateOptions]=\"[{label: 'And', value: 'and'}, {label: 'Or', value: 'or'}]\"\r\n [(ngModel)]=\"ruleset.condition\"\r\n [size]=\"'small'\"\r\n (value)=\"ruleset.condition = $event\">\r\n </w-select-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown class=\"mr-3 w-edit-select-small\" *ngIf=\"filterPanelObject.enityMode\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <w-toggle-button class=\"mr-3\" size=\"small\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></w-toggle-button>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-edit-calendar class=\"field-gap\" appendTo=\"body\" size=\"small\" [dataType]=\"'string'\" [showIcon]=\"false\" [(ngModel)]=\"rule.value\" (onChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\" [displayInlineBlock]=\"true\"></w-edit-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber [useGrouping]=\"false\" inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"mr-3 query-builder-input-width w-edit-input-text-small-height wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && groupedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #noQueryData>\r\n <div class=\"flex justify-content-center flex-wrap card-container surface-50 mb-3\">\r\n <div class=\"flex align-items-center justify-content-center w-full h-4rem text-gray-900 border-round m-2\">\r\n {{translationsObject.noRulesLabel}}\r\n </div>\r\n </div>\r\n </ng-template>\r\n","import { Component } from '@angular/core';\r\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\r\n\r\n@Component({\r\n selector: 'w-preview-image',\r\n templateUrl: './w-preview-image.component.html',\r\n styleUrls: ['./w-preview-image.component.css']\r\n})\r\nexport class WPreviewImageComponent {\r\n imageCropped!: any;\r\n\r\n constructor(public dynamicDialogConfig: DynamicDialogConfig){}\r\n\r\n ngOnInit(): void {\r\n this.imageCropped = this.dynamicDialogConfig.data.imageEdited;\r\n }\r\n}\r\n","<div class=\"flex align-content-center align-items-center justify-content-center h-full w-full\">\r\n <p-image *ngIf=\"imageCropped\" \r\n class=\"flex align-content-center align-items-center\"\r\n [src]=\"imageCropped\" > </p-image>\r\n</div>\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';\r\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nexport interface ModalSize {\r\n width: string;\r\n height?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n\r\n constructor(private dialogService: DialogService, private breakpointObserver: BreakpointObserver) { }\r\n\r\n dialogRef: any;\r\n smallDialogSubscription: any;\r\n dialogData: any;\r\n\r\n open(componentOrTemplateRef: Type<any>, modalConfig?: DynamicDialogConfig, modalSize?: ModalSize,): DynamicDialogRef {\r\n if (!modalConfig) {\r\n modalConfig = new DynamicDialogConfig;\r\n }\r\n\r\n if (modalConfig.data) {\r\n this.dialogData = modalConfig.data;\r\n }\r\n\r\n // TODO dejo esto comentado como guía para completarlo más adelante\r\n //modalConfig.maxWidth = '100vw';\r\n\r\n this.dialogRef = this.dialogService.open(componentOrTemplateRef, modalConfig);\r\n\r\n this.smallDialogSubscription = this.breakpointObserver.observe([Breakpoints.XSmall])\r\n .subscribe(size => {\r\n if (size.matches) {\r\n //this.dialogRef.updateSize('100%', '100%');\r\n //this.dialogRef.hasBackdrop = false;\r\n } else {\r\n if (!modalSize) {\r\n //this.dialogRef.updateSize('auto', 'auto');\r\n }\r\n else {\r\n //this.dialogRef.updateSize(modalSize.width, modalSize.height);\r\n }\r\n }\r\n });\r\n\r\n return this.dialogRef;\r\n }\r\n\r\n close(): void {\r\n this.smallDialogSubscription.unsubscribe();\r\n this.dialogRef.close();\r\n }\r\n \r\n getComponentInstance<T>() {\r\n let dialogComponentRef = this.dialogService.dialogComponentRefMap.get(this.dialogRef);\r\n dialogComponentRef!.changeDetectorRef.detectChanges();\r\n\r\n return dialogComponentRef?.instance.componentRef.instance as T;\r\n }\r\n\r\n getComponentRef() {\r\n let dialogComponentRef = this.dialogService.dialogComponentRefMap.get(this.dialogRef);\r\n dialogComponentRef!.changeDetectorRef.detectChanges();\r\n\r\n return dialogComponentRef?.instance.componentRef;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { WImageCropperData } from '../../shared/models/w-image-cropper-data.model';\r\nimport { WFileB64 } from '../../shared/models/w-file-b64.model';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { ModalService } from '../../shared/services/modal.service';\r\nimport { WPreviewImageComponent } from '../w-preview-image/w-preview-image.component';\r\nimport { Dimensions, ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper';\r\n\r\n@Component({\r\n selector: 'w-image-cropper',\r\n templateUrl: './w-image-cropper.component.html',\r\n styleUrls: ['./w-image-cropper.component.scss']\r\n})\r\nexport class WImageCropperComponent {\r\n @Input() dimensionsInput!: WImageCropperData;\r\n @Input() translationsImageCropper: any;\r\n @Output() imageCroppedFinal = new EventEmitter<any>();\r\n @Output() imageB64 = new EventEmitter<any>();\r\n @Input() blob: any;\r\n\r\n imageChangedEvent: any = '';\r\n croppedImage: any = '';\r\n canvasRotation = 0;\r\n rotation: number = 0;\r\n translateH = 0;\r\n translateV = 0;\r\n scale = 1;\r\n aspectRatio = 4 / 3;\r\n showCropper = false;\r\n containWithinAspectRatio = false;\r\n transform: ImageTransform = {\r\n translateUnit: 'px'\r\n };\r\n imageURL?: string;\r\n loading = false;\r\n allowMoveImage = true;\r\n hidden = false;\r\n\r\n croppedImageFile: WFileB64 = {name: \"\", type: \"\", fileBase64: \"\", base64: \"\"};\r\n\r\n dimensions: any;\r\n maxFileSize!: number;\r\n roundedCropper!: boolean;\r\n fromModal: boolean = true;\r\n dialogPreview!: DynamicDialogRef;\r\n constructor(\r\n private ref: DynamicDialogRef,\r\n private dialogService: ModalService,\r\n public dynamicDialogConfig: DynamicDialogConfig){\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n if(this.dynamicDialogConfig.data == undefined){\r\n this.fromModal = false;\r\n this.aspectRatio = this.dimensionsInput.configuredAspectRatio;\r\n this.roundedCropper = this.dimensionsInput.roundedCropper;\r\n this.dimensions = {\r\n width: this.dimensionsInput.viewPortWidthPx,\r\n height: this.dimensionsInput.viewPortHeihtPx\r\n }\r\n this.maxFileSize = this.dimensions.maxFileSize;\r\n }else{\r\n this.aspectRatio = this.dynamicDialogConfig.data.dataModal.configuredAspectRatio;\r\n this.roundedCropper = this.dynamicDialogConfig.data.dataModal.roundedCropper;\r\n this.dimensions = {\r\n width: this.dynamicDialogConfig.data.dataModal.viewPortWidthPx,\r\n height: this.dynamicDialogConfig.data.dataModal.viewPortHeihtPx\r\n }\r\n this.maxFileSize = this.dynamicDialogConfig.data.dataModal.maxFileSize\r\n this.translationsImageCropper = this.dynamicDialogConfig.data.translations;\r\n this.blob = this.dynamicDialogConfig.data.blob;\r\n if(this.blob)\r\n this.setCroppeImageFileObject();\r\n }\r\n }\r\n\r\n myUploader(event: any) {\r\n this.resetImage()\r\n this.loading = true;\r\n this.blob = event.files[0];\r\n this.setCroppeImageFileObject();\r\n }\r\n\r\n setCroppeImageFileObject(){\r\n this.croppedImageFile.name = this.blob.name;\r\n this.croppedImageFile.type = this.blob.type;\r\n }\r\n\r\n imageCropped(event: ImageCroppedEvent) {\r\n this.croppedImage = event.base64;\r\n }\r\n\r\n imageLoaded() {\r\n this.showCropper = true;\r\n }\r\n\r\n cropperReady(sourceImageDimensions: Dimensions) {\r\n this.loading = false;\r\n }\r\n\r\n loadImageFailed() {\r\n console.error('Load image failed');\r\n }\r\n\r\n rotateLeft() {\r\n this.loading = true;\r\n setTimeout(() => { // Use timeout because rotating image is a heavy operation and will block the ui thread\r\n this.canvasRotation--;\r\n this.flipAfterRotate();\r\n });\r\n }\r\n\r\n rotateRight() {\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.canvasRotation++;\r\n this.flipAfterRotate();\r\n });\r\n }\r\n\r\n moveLeft() {\r\n this.transform = {\r\n ...this.transform,\r\n translateH: ++this.translateH\r\n };\r\n }\r\n\r\n moveRight() {\r\n this.transform = {\r\n ...this.transform,\r\n translateH: --this.translateH\r\n };\r\n }\r\n\r\n moveTop() {\r\n this.transform = {\r\n ...this.transform,\r\n translateV: ++this.translateV\r\n };\r\n }\r\n\r\n moveBottom() {\r\n this.transform = {\r\n ...this.transform,\r\n translateV: --this.translateV\r\n };\r\n }\r\n\r\n flipHorizontal() {\r\n this.transform = {\r\n ...this.transform,\r\n flipH: !this.transform.flipH\r\n };\r\n }\r\n\r\n flipVertical() {\r\n this.transform = {\r\n ...this.transform,\r\n flipV: !this.transform.flipV\r\n };\r\n }\r\n\r\n resetImage() {\r\n this.scale = 1;\r\n this.rotation = 0;\r\n this.canvasRotation = 0;\r\n this.transform = {\r\n translateUnit: 'px'\r\n };\r\n }\r\n\r\n zoomOut() {\r\n this.scale -= .1;\r\n this.transform = {\r\n ...this.transform,\r\n scale: this.scale\r\n };\r\n }\r\n\r\n zoomIn() {\r\n this.scale += .1;\r\n this.transform = {\r\n ...this.transform,\r\n scale: this.scale\r\n };\r\n }\r\n\r\n toggleContainWithinAspectRatio() {\r\n this.containWithinAspectRatio = !this.containWithinAspectRatio;\r\n }\r\n\r\n updateRotation() {\r\n this.transform = {\r\n ...this.transform,\r\n rotate: this.rotation\r\n };\r\n }\r\n\r\n toggleAspectRatio() {\r\n this.aspectRatio = this.aspectRatio === 4 / 3 ? 16 / 5 : 4 / 3;\r\n }\r\n \r\n toggleAspectRatio1() {\r\n this.aspectRatio = this.aspectRatio = 1;\r\n }\r\n\r\n viewCrop(){\r\n this.dialogPreview = this.dialogService.open(WPreviewImageComponent, {\r\n header: this.translationsImageCropper.modal.preview,\r\n width:'35rem',\r\n contentStyle: {\"overflow\": \"auto\", \"height\": \"35rem\", \"padding-bottom\": \"8px\"},\r\n data: {imageEdited: this.croppedImage}\r\n })\r\n }\r\n\r\n deleteBlob(){\r\n this.blob = null\r\n this.croppedImage = null\r\n }\r\n\r\n cancelDialog(){\r\n this.blob = null\r\n this.croppedImage = null\r\n this.ref.close();\r\n }\r\n\r\n saveImageCropped(){\r\n this.croppedImageFile.fileBase64 = this.croppedImage;\r\n this.croppedImageFile.base64 = this.imageCroppedToBase64(this.croppedImage, this.croppedImageFile.name);\r\n\r\n if(this.fromModal){\r\n this.ref.close(this.croppedImageFile)\r\n }else{\r\n this.imageCroppedFinal.emit(this.croppedImageFile);\r\n }\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH;\r\n const flippedV = this.transform.flipV;\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH\r\n };\r\n this.translateH = 0;\r\n this.translateV = 0;\r\n }\r\n\r\n imageCroppedToBase64(imageData: string, imageName: string){\r\n const base64Parts = imageData?.split(',');\r\n if (base64Parts.length === 2) {\r\n const base64Content = base64Parts[1];\r\n return base64Content;\r\n }\r\n return '';\r\n }\r\n}\r\n","<div class=\"flex flex-column align-content-center justify-content-center wapp-card-cropper\">\r\n <div class=\"flex flex-1\" ></div> \r\n <div class=\"flex justify-content-center align-content-center\" *ngIf=\"!blob; else imageCropper\">\r\n <span class=\"flex align-content-center surface-border justify-content-between flex-wrap\"> \r\n <p-fileUpload #fileUploader\r\n class=\"w-file-button bg-white\"\r\n chooseIcon=\"pi pi-image\"\r\n chooseLabel=\"Choose\"\r\n (onSelect)=\"myUploader($event)\"\r\n name=\"filesToUpload[]\" \r\n [auto]=\"true\"\r\n [multiple]=\"false\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n accept=\"image/*\" \r\n [maxFileSize]=\"maxFileSize\">\r\n </p-fileUpload>\r\n </span>\r\n </div>\r\n <ng-template #imageCropper>\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"flex flex-row align-content-center\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex align-content-center align-items-center justify-content-between wapp-image-cropper-wrapper flex-1\">\r\n <image-cropper\r\n [imageFile]=\"blob\"\r\n [imageURL]=\"imageURL\"\r\n [maintainAspectRatio]=\"true\"\r\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\r\n [aspectRatio]=\"aspectRatio\"\r\n [resizeToWidth]= \"dimensions.width\"\r\n [resizeToHeight]=\"dimensions.height\"\r\n [cropperMinWidth]=\"128\"\r\n [onlyScaleDown]=\"true\"\r\n [roundCropper]=\"false\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [(transform)]=\"transform\"\r\n [alignImage]=\"'center'\"\r\n [style.display]=\"showCropper ? null : 'none'\"\r\n [allowMoveImage]=\"allowMoveImage\"\r\n [hidden]=\"hidden\"\r\n backgroundColor=\"white\"\r\n format=\"png\"\r\n [roundCropper]=\"roundedCropper\"\r\n (imageCropped)=\"imageCropped($event)\"\r\n (imageLoaded)=\"imageLoaded()\"\r\n (cropperReady)=\"cropperReady($event)\"\r\n (loadImageFailed)=\"loadImageFailed()\"\r\n ></image-cropper>\r\n </div>\r\n <div class=\"flex flex-column justify-content-center align-content-center align-items-center\">\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomIn\"\r\n icon=\"pi pi-search-plus\" (click)=\"zoomIn()\"\r\n type=\"text\"></w-button>\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomOut\"\r\n icon=\"pi pi-search-minus\" \r\n (click)=\"zoomOut()\"\r\n type=\"text\"></w-button> \r\n </div>\r\n <div class=\"flex flex-1\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 flex-column wapp-image-cropper-tools py-4\">\r\n <p-slider [(ngModel)]=\"rotation\" [min]=\"-360\" [max]=\"360\" \r\n (ngModelChange)=\"updateRotation()\" class=\"w-full align-content-center\"\r\n [pTooltip]=\"translationsImageCropper.rotation\"></p-slider>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 wapp-image-cropper-tools flex-row justify-content-center align-items-center align-content-center\">\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-replay\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateLeft\"\r\n (click)=\"rotateLeft()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n icon=\"pi pi-refresh\"\r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateRight\"\r\n (click)=\"rotateRight()\"></w-button>\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-arrows-h\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.flipHorizontal\"\r\n (click)=\"flipHorizontal()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.flipVertical\"\r\n icon=\"pi pi-arrows-v\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"flipVertical()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.restore\"\r\n icon=\"pi pi-history\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"resetImage()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.preview\"\r\n icon=\"pi pi-eye\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"viewCrop()\"></w-button>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n </div>\r\n \r\n </ng-template>\r\n <div class=\"flex flex-1\" ></div>\r\n <div class=\"wapp-image-cropper-dialog-buttons flex justify-content-end align-content-center align-items-center w-full h-2\">\r\n <w-button *ngIf=\"blob\"\r\n (onClick)=\"deleteBlob()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-trash\"\r\n [label]=\"translationsImageCropper.delete\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n *ngIf=\"fromModal\"\r\n (onClick)=\"cancelDialog()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-times\"\r\n [label]=\"translationsImageCropper.cancel\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n icon=\"pi-save\"\r\n (click)=\"saveImageCropped()\"\r\n [disabled]=\"!blob\"\r\n [label]=\"translationsImageCropper.save\"\r\n class=\"flex align-content-center align-items-center\"\r\n type=\"text\">\r\n </w-button>\r\n </div> \r\n</div>\r\n \r\n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { WImageFileUploaderConfig } from '../../shared/models/w-image-file-uploader-config.model';\r\nimport { FileUpload } from 'primeng/fileupload';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { ImageB64 } from '../../shared/models/image-b64.model';\r\nimport { WImageCropperComponent } from '../w-image-cropper/w-image-cropper.component';\r\nimport { WImageCropperData } from '../../shared/models/w-image-cropper-data.model';\r\nimport { WFileB64 } from '../../shared/models/w-file-b64.model';\r\nimport { WIconsComponent } from '../../icons/wapping-icons/w-icons.component';\r\n\r\n@Component({\r\n selector: 'w-image-file-uploader',\r\n templateUrl: './w-image-file-uploader.component.html',\r\n styleUrls: ['./w-image-file-uploader.component.scss'],\r\n providers: [ConfirmationService]\r\n})\r\nexport class WImageFileUploaderComponent {\r\n @Input('allowMultipleImages') allowMultipleImages: boolean = false;\r\n @Input('activeImageUpload') activeImageUpload: boolean = false;\r\n @Input('imagesAlreadyUploaded') imagesAlreadyUploaded: any[] = [];\r\n @Input('imageSingleMode') imageSingleMode: any;\r\n @Input('uploadUrl') uploadUrl!: string;\r\n @Input('updateUrl') updateUrl!: string;\r\n @Input('deleteUrl') deleteUrl!: string;\r\n @Input('headers') headers!: HttpHeaders;\r\n @Input('activePositionProperty') activePositionProperty: boolean = false;\r\n @Input('viewSingleMode') viewSingleMode: boolean = false;\r\n @Input('viewMultiMode') viewMultiMode: boolean = false;\r\n @Input('identificatorImageName') identificatorName: string = \"id\";\r\n @Input('identificatorImagesCollectionValue') identificatorValue: any = 0;\r\n @Input('imageUploadConfig') imageUploadConfig: WImageFileUploaderConfig = { \r\n imagePropertyNames: [], \r\n acceptImageTypes: \"image/*\", \r\n maxImageSize: 1000000,\r\n allowAuto: false, \r\n uploadButtonLabel: \"\",\r\n chooseButtonLabel: \"\",\r\n cancelButtonLabel: \"\",\r\n contentHeaderLabel: \"\",\r\n contentSubheaderLabel: \"\",\r\n deleteImageButtonLabel: \"\",\r\n croppedDialogTranslations: \"\",\r\n croppedImageConfiguration: {\r\n roundedCropper: false,\r\n configuredAspectRatio: 4/3,\r\n viewPortWidthPx: 400,\r\n viewPortHeihtPx: 500\r\n },\r\n confirmDeleteMessageLabel: \"\",\r\n confirmDeleteButtonLabel: \"\"\r\n }\r\n @Input('activeFieldVersion') activeFieldVersion: boolean = false; \r\n @Input('label') label!: string; \r\n @Input('tooltip') tooltip!: string; \r\n @Input('required') required: boolean = false; \r\n\r\n @Output('onUploadFinished') onUploadFinished: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('onErrorHandler') onErrorHandler: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('onReturnImagesB64') onReturnImagesB64: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('onDeleteImage') onDeleteImage: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild('fileUpload') fileUpload!: FileUpload;\r\n \r\n @ViewChildren('buttonRemoveOnlyImage') buttonRemoveOnlyImage!: QueryList<ElementRef>;\r\n @ViewChild('fileUploadOnlyImage') fileuploadOnlyImage!: FileUpload;\r\n\r\n activeIndexGallery: number = 0; \r\n cropperImages: any[] = [];\r\n defaultWidth: string = \"w-18rem\";\r\n defaultHeight: string = \"h-18rem\";\r\n disableMoveButtons: boolean = false;\r\n isUploadingMultiMode: boolean = false;\r\n isDeletingMultiMode: boolean = false;\r\n \r\n onlyImageSelected: any;\r\n onlyCroppedImageSelected: any = null;\r\n \r\n dimensionsInput!: WImageCropperData;\r\n carouselImagesResponsiveOptions: any[] = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 4,\r\n numScroll: 4\r\n },\r\n {\r\n breakpoint: '850px',\r\n numVisible: 2,\r\n numScroll: 2\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1,\r\n numScroll: 1\r\n }\r\n ];\r\n\r\n constructor(\r\n private dialogService: DialogService, \r\n private http: HttpClient, \r\n private confirmationService: ConfirmationService\r\n ){}\r\n\r\n ngOnInit(): void {\r\n this.dimensionsInput = {\r\n roundedCropper: this.imageUploadConfig.croppedImageConfiguration.roundedCropper,\r\n configuredAspectRatio: this.imageUploadConfig.croppedImageConfiguration.configuredAspectRatio,\r\n viewPortWidthPx: this.imageUploadConfig.croppedImageConfiguration.viewPortWidthPx,\r\n viewPortHeihtPx: this.imageUploadConfig.croppedImageConfiguration.viewPortHeihtPx,\r\n maxFileSize: this.imageUploadConfig.maxImageSize\r\n }\r\n\r\n if(this.activeImageUpload == false && this.imagesAlreadyUploaded.length > 0){\r\n this.cropperImages.push(...this.imagesAlreadyUploaded);\r\n }\r\n }\r\n\r\n readProperty(obj: any, prop:string):any {\r\n if(typeof obj === 'undefined') {\r\n return false;\r\n }\r\n \r\n var _index = prop.indexOf('.')\r\n if(_index > -1) {\r\n return this.readProperty(obj[prop.substring(0, _index)], prop.substr(_index + 1));\r\n }\r\n return obj[prop];\r\n }\r\n\r\n onCustomUploadSingleMode(event: any){\r\n this.onlyImageSelected = event.currentFiles[0];\r\n this.openModalCropper(this.onlyImageSelected, event.originalEvent);\r\n }\r\n\r\n onCustomizeUploadFunctionSingleMode(event: any){\r\n if(this.activeImageUpload == true){\r\n if(this.onlyCroppedImageSelected){\r\n let base64Images: ImageB64[] = [{base64: this.onlyCroppedImageSelected.base64, name: this.onlyCroppedImageSelected.name}];\r\n\r\n this.http.post(this.uploadUrl, base64Images, { headers: this.headers }).subscribe({\r\n next: (imageUploaded: any) => {\r\n this.fileuploadOnlyImage.clear();\r\n this.onUploadFinished.emit(imageUploaded);\r\n },\r\n error: (error) => {\r\n this.fileuploadOnlyImage.uploading = false;\r\n this.onErrorHandler.emit(error);\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n removeImageSingleMode(event: Event, file: any) {\r\n event.stopPropagation();\r\n this.fileuploadOnlyImage.clear();\r\n this.onlyImageSelected = null;\r\n this.onlyCroppedImageSelected = null;\r\n this.imageSingleMode = null;\r\n this.onReturnImagesB64.emit(null);\r\n }\r\n\r\n moveImageToLeft(event: any){\r\n let indexToMove = this.findIndex(event);\r\n if(indexToMove > 0 && indexToMove < this.imagesAlreadyUploaded.length){\r\n const temp = this.imagesAlreadyUploaded[indexToMove];\r\n this.imagesAlreadyUploaded[indexToMove] = this.imagesAlreadyUploaded[ indexToMove - 1];\r\n this.imagesAlreadyUploaded[indexToMove - 1] = temp;\r\n\r\n this.imagesAlreadyUploaded = (this.activePositionProperty) ? this.addPositionProperty(this.imagesAlreadyUploaded) : this.imagesAlreadyUploaded;\r\n \r\n if(this.uploadUrl != undefined && this.identificatorValue !== 0){\r\n this.disableMoveButtons = true;\r\n this.updateImage(this.imagesAlreadyUploaded);\r\n }else if(this.activeImageUpload == true && this.uploadUrl != undefined){\r\n this.onUploadFinished.emit(this.imagesAlreadyUploaded);\r\n }else{\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.imagesAlreadyUploaded));\r\n }\r\n }\r\n }\r\n\r\n moveImageToRight(event: any){ \r\n let indexToMove = this.findIndex(event);\r\n if(indexToMove >= 0 && indexToMove < this.imagesAlreadyUploaded.length -1){\r\n const temp = this.imagesAlreadyUploaded[indexToMove];\r\n this.imagesAlreadyUploaded[indexToMove] = this.imagesAlreadyUploaded[ indexToMove + 1];\r\n this.imagesAlreadyUploaded[indexToMove + 1] = temp;\r\n\r\n this.imagesAlreadyUploaded = (this.activePositionProperty) ? this.addPositionProperty(this.imagesAlreadyUploaded) : this.imagesAlreadyUploaded;\r\n\r\n if(this.uploadUrl!=undefined && this.identificatorValue !== 0){\r\n this.disableMoveButtons = true; \r\n this.updateImage(this.imagesAlreadyUploaded);\r\n }else{\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.imagesAlreadyUploaded));\r\n }\r\n }\r\n }\r\n\r\n onCustomizeUploadFunctionMultiMode(event?: any){\r\n if(this.activeImageUpload == true){\r\n if(this.cropperImages.length > 0){\r\n let base64Images: ImageB64[] = this.mapToObjectB64(this.cropperImages);\r\n this.isUploadingMultiMode = true;\r\n\r\n this.http.post(this.uploadUrl, base64Images, { headers: this.headers }).subscribe({\r\n next: (imagesUploaded: any) => {\r\n this.imagesAlreadyUploaded.push(...imagesUploaded);\r\n this.imagesAlreadyUploaded = [...this.imagesAlreadyUploaded];\r\n \r\n if(this.imagesAlreadyUploaded.length == 1){\r\n this.activeIndexGallery = 0; \r\n }\r\n \r\n this.cropperImages = [];\r\n this.fileUpload.clear();\r\n\r\n this.imagesAlreadyUploaded = this.activePositionProperty ? this.addPositionProperty(this.imagesAlreadyUploaded) : this.imagesAlreadyUploaded;\r\n \r\n if(this.uploadUrl!=undefined && this.identificatorValue !== 0){\r\n this.updateImage(this.imagesAlreadyUploaded);\r\n }else{\r\n this.onUploadFinished.emit(this.imagesAlreadyUploaded);\r\n }\r\n\r\n this.isUploadingMultiMode = false;\r\n },\r\n error: (error) => {\r\n this.isUploadingMultiMode = false;\r\n this.onErrorHandler.emit(error);\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n onCustomUploadMultiMode(event: any){\r\n if(this.allowMultipleImages == true){\r\n event.currentFiles.forEach((file: any, index: number) => {\r\n let foundIt = this.cropperImages.find(f => f.name == file.name);\r\n if(event.currentFiles.length == 0){\r\n this.openModalCropper(file, event.originalEvent);\r\n }else if(foundIt == undefined){\r\n this.openModalCropper(file, event.originalEvent);\r\n }\r\n });\r\n }else{\r\n this.openModalCropper(event.currentFiles[0], event.originalEvent);\r\n }\r\n }\r\n\r\n confirmDeleteImageMultiMode(event: any, image: any){\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget, \r\n message: this.imageUploadConfig.confirmDeleteMessageLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.imageUploadConfig.deleteImageButtonLabel, \r\n accept: () => {\r\n this.onDeleteImageMultiMode(image);\r\n }\r\n })\r\n }\r\n\r\n onDeleteFileMultiMode(event: any, file: File, uploader: FileUpload){\r\n const index = uploader.files.indexOf(file);\r\n uploader.remove(event, index);\r\n this.cropperImages = this.cropperImages.filter(s => !file.name.includes(s.name));\r\n }\r\n\r\n onDeleteImageMultiMode(image: any){\r\n this.isDeletingMultiMode = true;\r\n if(this.activeImageUpload){\r\n let deleteUrlFinal = this.deleteUrl+\"/\"+image[this.identificatorName];\r\n this.http.delete(deleteUrlFinal, {headers: this.headers}).subscribe({\r\n next: () => {\r\n this.getIndexToDelete(image); \r\n this.imagesAlreadyUploaded = this.imagesAlreadyUploaded.filter(img => (img.base64 !== image.base64) || (img[this.identificatorName] !== image[this.identificatorName]));\r\n this.isDeletingMultiMode = false;\r\n this.onDeleteImage.emit(image);\r\n },\r\n error: (error) => {\r\n this.isDeletingMultiMode = false;\r\n this.onErrorHandler.emit(error);\r\n this.onDeleteImage.emit(null);\r\n }\r\n })\r\n }else{\r\n this.getIndexToDelete(image); \r\n this.imagesAlreadyUploaded = this.imagesAlreadyUploaded.filter(img => (img.base64 !== image.base64) || (img[this.identificatorName] !== image[this.identificatorName]));\r\n this.onDeleteImage.emit(image);\r\n this.isDeletingMultiMode = false;\r\n }\r\n }\r\n\r\n getIndexToDelete(image: any){\r\n let imageIndex = this.imagesAlreadyUploaded.findIndex(img => {\r\n if((img.base64 != undefined)){\r\n if(img.base64 == image.base64){\r\n return img.index; \r\n }\r\n }else if(img[this.identificatorName] !== image[this.identificatorName]){\r\n return img.index; \r\n }\r\n return -1; \r\n });\r\n\r\n if(imageIndex+1 == this.imagesAlreadyUploaded.length){\r\n this.activeIndexGallery = imageIndex-1; \r\n }\r\n }\r\n\r\n updateImage(imagesToUpdate: any[]): any{\r\n let updateUrlFinal = this.updateUrl + \"/\" + this.identificatorValue;\r\n this.http.put(updateUrlFinal, imagesToUpdate, {headers: this.headers}).subscribe({\r\n next: (imagesUpdated: any) => {\r\n this.disableMoveButtons = false;\r\n this.imagesAlreadyUploaded = imagesUpdated;\r\n this.onUploadFinished.emit(this.imagesAlreadyUploaded);\r\n }\r\n });\r\n }\r\n\r\n openModalCropper(fileBlob: any, event?: any){\r\n const ref: DynamicDialogRef = this.dialogService.open(WImageCropperComponent, {\r\n header: this.imageUploadConfig.croppedDialogTranslations?.modal.header,\r\n width: '70rem',\r\n contentStyle: {\"overflow\": \"auto\", \"height\": \"auto\", \"padding-bottom\": \"8px\"},\r\n data: {dataModal: this.dimensionsInput, translations: this.imageUploadConfig.croppedDialogTranslations, blob: fileBlob},\r\n resizable: true\r\n });\r\n\r\n ref.onClose.subscribe((imageCropped: WFileB64) => {\r\n if(imageCropped){\r\n if(this.allowMultipleImages == false){\r\n this.onlyCroppedImageSelected = imageCropped;\r\n this.onReturnImagesB64.emit(this.mapToObjectB64(this.onlyCroppedImageSelected));\r\n }else{\r\n this.cropperImages.push(imageCropped);\r\n \r\n this.cropperImages = (this.activePositionProperty && this.activeImageUpload == false ) ? this.addPositionProperty(this.cropperImages) : this.cropperImages;\r\n\r\n if(this.activeImageUpload == false){\r\n this.imagesAlreadyUploaded.push(imageCropped);\r\n this.imagesAlreadyUploaded = [...this.imagesAlreadyUploaded];\r\n\r\n if(this.imagesAlreadyUploaded.length == 1){\r\n this.activeIndexGallery = 0; \r\n }\r\n\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.cropperImages));\r\n }else{\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.mapToObjectB64(this.cropperImages)));\r\n }\r\n }\r\n }else{\r\n if(this.allowMultipleImages){\r\n this.fileUpload._files = this.fileUpload._files.filter(f => !f.name.includes(fileBlob.name));\r\n let filesAux = this.fileUpload._files;\r\n this.fileUpload.clear();\r\n this.fileUpload._files = filesAux;\r\n }else{\r\n this.onlyImageSelected = null;\r\n this.fileuploadOnlyImage.clear();\r\n }\r\n }\r\n\r\n if((this.activeImageUpload == true) && (this.imageUploadConfig.allowAuto == true) && (this.cropperImages.length == this.fileUpload._files.length)){\r\n this.onCustomizeUploadFunctionMultiMode();\r\n }\r\n })\r\n }\r\n\r\n mapToObjectB64(images: any): ImageB64[]{\r\n if(Array.isArray(images) == false){\r\n return [{\r\n base64: images.base64,\r\n name: images.name,\r\n ...(images.position !== undefined && { position: images.position })\r\n }]\r\n }\r\n\r\n return images.map((img: any) => {\r\n return {\r\n base64: img.base64,\r\n name: img.name, \r\n ...(img.position !== undefined && { position: img.position })\r\n }\r\n });\r\n }\r\n\r\n getArraysToCreateAndToUpdate(images: any[]){\r\n return {\r\n toCreate: \r\n images.filter((img) => img[this.identificatorName] == undefined),\r\n toUpdated: \r\n images.filter((img) => img.base64 == undefined)\r\n }\r\n }\r\n\r\n addPositionProperty(imagesArray: any[]){\r\n imagesArray = imagesArray.map((img, index) => ({\r\n ...img,\r\n position: index\r\n }))\r\n\r\n return imagesArray;\r\n }\r\n\r\n onImageMouseOver(file: any) {\r\n this.buttonRemoveOnlyImage.toArray().forEach(btnRemove => {\r\n btnRemove.nativeElement.id === file.name ? btnRemove.nativeElement.style.display = 'flex' : null;\r\n })\r\n }\r\n\r\n onImageMouseLeave(file: any) {\r\n this.buttonRemoveOnlyImage.toArray().forEach(btnRemove => {\r\n btnRemove.nativeElement.id === file.name ? btnRemove.nativeElement.style.display = 'none' : null;\r\n })\r\n }\r\n\r\n findIndex(img: any){\r\n return this.imagesAlreadyUploaded.indexOf(img);\r\n }\r\n\r\n openImageFileSelector(){\r\n this.fileUpload.choose(); \r\n }\r\n\r\n openSingleImageFileSelector(){\r\n this.fileuploadOnlyImage.choose(); \r\n } \r\n\r\n getGalleryClass(){\r\n if(this.activeFieldVersion == true){\r\n return 'w-image-file-uploader-gallery-field'; \r\n }\r\n return 'w-image-file-uploader-gallery'; \r\n }\r\n}\r\n","\r\n<w-input-label *ngIf=\"activeFieldVersion == true\" [label]=\"label\" [tooltip]=\"tooltip\" [required]=\"required\"></w-input-label>\r\n<div *ngIf=\"activeFieldVersion == true && (label != undefined && label.length > 0)\" class=\"input-label-gap-divider\"></div>\r\n<p-fileUpload *ngIf=\"allowMultipleImages == false; else withCarousel\" #fileUploadOnlyImage class=\"w-image-file-button\" \r\n [ngClass]=\"{'w-image-file-uploader' : activeFieldVersion == false, \r\n 'w-image-file-uploader-field' : activeFieldVersion == true, \r\n 'w-image-file-uploader-field-no-image' : activeFieldVersion == true && (onlyCroppedImageSelected == null || undefined ) && (imageSingleMode == null || undefined)}\"\r\n mode=\"advanced\" \r\n [accept]=\"imageUploadConfig.acceptImageTypes\" \r\n [multiple]=\"false\" \r\n (onSelect)=\"onCustomUploadSingleMode($event)\" \r\n [uploadLabel]=\"onlyCroppedImageSelected ? (onlyCroppedImageSelected.name.length>6)? (onlyCroppedImageSelected.name | slice:0:6)+'...':(onlyCroppedImageSelected.name) : ''\" \r\n [customUpload]=\"true\" \r\n (uploadHandler)=\"onCustomizeUploadFunctionSingleMode($event)\" \r\n [maxFileSize]=\"imageUploadConfig.maxImageSize\">\r\n <ng-template let-file let-i=\"index\" pTemplate='file'>\r\n <div *ngIf=\"activeImageUpload\"></div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <p-progressBar *ngIf=\"false\"></p-progressBar>\r\n <div *ngIf=\"(onlyCroppedImageSelected != null || undefined) || (imageSingleMode != null || undefined)\" style=\"flex-grow: 1;\">\r\n <p-galleria \r\n [ngClass]=\"getGalleryClass()\" \r\n [value]=\"(onlyCroppedImageSelected !== null) ? [onlyCroppedImageSelected.fileBase64] : (imageUploadConfig.singleModeImageDefault ? [imageUploadConfig.singleModeImageDefault] : (imageSingleMode ? [imageSingleMode] : ['https://wappingstoragedev.blob.core.windows.net/wapping/appresources/ic_image_blue.png']))\" \r\n [responsiveOptions]=\"carouselImagesResponsiveOptions\" \r\n [containerStyle]=\"{ 'max-width': '100%', 'max-height':'100%'}\" \r\n [numVisible]=\"2\" \r\n [showItemNavigators]=\"false\"\r\n [showThumbnails]=\"false\" [showIndicators]=\"false\">\r\n <ng-template pTemplate=\"item\" let-image>\r\n <div *ngIf=\"(viewSingleMode == false && (imageSingleMode != null || undefined)) || \r\n (viewSingleMode == false && onlyCroppedImageSelected != null)\" class=\"w-image-file-uploader-delete-button flex align-content-center justify-content-center\" style=\"width: 100%;\">\r\n <w-button buttonClass=\"w-image-file-uploader-delete-button-icon\" icon=\"pi pi-trash\" type=\"text\" (click)=\"removeImageSingleMode($event, onlyImageSelected)\"></w-button>\r\n </div>\r\n <div class=\"flex flex-wrap align-content-center justify-content-center\" [ngClass]=\"{'w-image-file-uploader-field-img-container': activeFieldVersion}\" style=\"object-fit: contain; /* width: 300px; height: 300px; */\">\r\n <img [src]=\"image\" style=\"max-width:100%;\r\n max-height:100%;\r\n height: auto;\r\n width:auto;\" />\r\n </div>\r\n </ng-template>\r\n </p-galleria>\r\n </div>\r\n <div *ngIf=\"viewSingleMode == false; else viewSingleModeMessage\" (click)=\"openSingleImageFileSelector()\" \r\n class=\"w-image-file-uploader-space-container flex flex-column justify-content-center align-items-center\" style=\"cursor: pointer;\"\r\n [ngClass]=\"{'w-image-file-uploader-container-height' : (onlyCroppedImageSelected == null || undefined ) && (imageSingleMode == null || undefined) && activeFieldVersion == false, 'w-image-file-uploader-field-container-height' : activeFieldVersion == true && (onlyCroppedImageSelected == null || undefined ) && (imageSingleMode == null || undefined)}\">\r\n <span class=\"pi pi-upload subtitle1 textMainColor\"></span>\r\n <span class=\"subtitle1 textMainColor m-2\">\r\n {{imageUploadConfig.contentHeaderLabel}}\r\n </span>\r\n <span class=\"textSoftColor text-center\">\r\n {{imageUploadConfig.contentSubheaderLabel}}\r\n </span>\r\n </div>\r\n <ng-template #viewSingleModeMessage>\r\n <div *ngIf=\"imageSingleMode == null || undefined\" class=\"textSoftColor flex justify-content-center align-items-center w-image-file-uploader-container-height\">\r\n {{imageUploadConfig.viewModecontentLabel}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</p-fileUpload>\r\n<ng-template #withCarousel>\r\n <p-fileUpload *ngIf=\"imageUploadConfig\" #fileUpload class=\"w-image-file-button\" \r\n [ngClass]=\"{'w-image-file-uploader' : activeFieldVersion == false, \r\n 'w-image-file-uploader-field' : activeFieldVersion == true, \r\n 'w-image-file-uploader-field-no-image' : activeFieldVersion == true && (imagesAlreadyUploaded.length == 0 || undefined ) || (imagesAlreadyUploaded == null || undefined)}\"\r\n name=\"mediaImages[]\" \r\n [accept]=\"imageUploadConfig.acceptImageTypes\" \r\n mode=\"advanced\" \r\n [customUpload]=\"true\" \r\n (onSelect)=\"onCustomUploadMultiMode($event)\" \r\n (uploadHandler)=\"onCustomizeUploadFunctionMultiMode($event)\" \r\n [uploadLabel]=\"imageUploadConfig.uploadButtonLabel ?? ''\" \r\n [chooseLabel]=\"imageUploadConfig.chooseButtonLabel ?? ''\" \r\n [cancelLabel]=\"imageUploadConfig.cancelButtonLabel ?? ''\" \r\n [showUploadButton]=\"activeImageUpload\"\r\n [showCancelButton]=\"activeImageUpload\"\r\n [auto]=\"imageUploadConfig.allowAuto\" \r\n [multiple]=\"true\" \r\n [maxFileSize]=\"imageUploadConfig.maxImageSize\" \r\n [chooseStyleClass]=\"'p-button-icon p-button-icon-right'\">\r\n <ng-template let-file let-i=\"index\" pTemplate='file'>\r\n <div *ngIf=\"activeImageUpload && cropperImages.length > 0\" class=\"p-fileupload-row\">\r\n <div><img [src]=\"cropperImages[i]?.fileBase64\" width=\"50\"/></div>\r\n <div class=\"p-fileupload-filename\">{{file.name}}</div>\r\n <div> <w-button icon=\"pi pi-times\" (onClick)=\"onDeleteFileMultiMode($event, file, fileUpload)\"></w-button> </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <p-progressBar *ngIf=\"isUploadingMultiMode\" class=\"p-element ng-star-inserted\" [mode]=\"'indeterminate'\">\r\n <div role=\"progressbar\" aria-valuemin=\"0\" aria-valuenow=\"0\" aria-valuemax=\"100\" data-pc-name=\"progressbar\" data-pc-section=\"root\" class=\"p-progressbar p-component p-progressbar-determinate\">\r\n <div class=\"p-progressbar-value p-progressbar-value-animate ng-star-inserted\" style=\"display: flex; width: 0%;\" data-pc-section=\"value\"></div>\r\n </div>\r\n </p-progressBar>\r\n <div *ngIf=\"imagesAlreadyUploaded.length > 0\" style=\"flex-grow: 1;\">\r\n <p-galleria \r\n [ngClass]=\"getGalleryClass()\" \r\n [value]=\"imagesAlreadyUploaded\" \r\n [activeIndex]=\"activeIndexGallery\" \r\n [responsiveOptions]=\"carouselImagesResponsiveOptions\" \r\n [containerStyle]=\"{ 'max-width': '100%', 'max-height':'100%'}\" \r\n [numVisible]=\"3\" \r\n [showItemNavigators]=\"true\"\r\n [showThumbnails]=\"false\">\r\n <ng-template pTemplate=\"item\" let-image>\r\n <div *ngIf=\"viewMultiMode == false\" class=\"w-image-file-uploader-delete-button flex align-content-center justify-content-center\" style=\"width: 100%;\">\r\n <w-button buttonClass=\"w-image-file-uploader-delete-button-icon\" icon=\"pi pi-trash\" type=\"text\" (onClick)=\"confirmDeleteImageMultiMode($event, image)\" [loading]=\"isDeletingMultiMode\"></w-button>\r\n </div>\r\n <div class=\"flex flex-wrap align-content-center justify-content-center\" [ngClass]=\"{'w-image-file-uploader-field-img-container': activeFieldVersion}\" style=\"object-fit: contain;\">\r\n <img [src]=\"readProperty(image, imageUploadConfig.imagePropertyNames[0]) ?? image.fileBase64\" style=\"max-width:100%;\r\n max-height:100%;\r\n height: auto;\r\n width:auto;\" />\r\n </div>\r\n <div class=\"w-image-file-uploader-move-buttons flex align-content-center justify-content-center\" style=\"width: 100%;\">\r\n <div *ngIf=\"viewMultiMode == false\" class=\"w-image-file-uploader-multi-action-button\" [ngClass]=\"{'w-image-gile-uploader-hide-move-button' : findIndex(image) == 0 || disableMoveButtons}\" (click)=\"moveImageToLeft(image)\">\r\n <w-icons name=\"doubleArrowLeft\" class=\"w-image-file-uploader-arrow\" [height]=\"10\" [width]=\"10\" [color]=\"'white'\"></w-icons>\r\n </div>\r\n\r\n <div *ngIf=\"isDeletingMultiMode == false; else indexLoading\" class=\"w-image-file-uploader-multi-images-index flex align-items-center justify-content-center\">\r\n {{ findIndex(image) + 1 }} / {{ imagesAlreadyUploaded.length }}\r\n </div>\r\n <ng-template #indexLoading>\r\n <div class=\"w-image-file-uploader-multi-images-index flex align-items-center justify-content-center\"> - / - </div>\r\n </ng-template>\r\n \r\n <div *ngIf=\"viewMultiMode == false\" class=\"w-image-file-uploader-multi-action-button\" [ngClass]=\"{'w-image-gile-uploader-hide-move-button' : (findIndex(image) == imagesAlreadyUploaded.length-1) || disableMoveButtons}\" (click)=\"moveImageToRight(image)\">\r\n <w-icons name=\"doubleArrowRight\" class=\"w-image-file-uploader-arrow\" [height]=\"10\" [width]=\"10\" [color]=\"'white'\"></w-icons>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-galleria>\r\n </div>\r\n <div *ngIf=\"viewMultiMode == false; else viewMultiModeMessage\" (click)=\"openImageFileSelector()\" \r\n class=\"w-image-file-uploader-space-container flex flex-column justify-content-center align-items-center\" \r\n style=\"cursor: pointer;\" \r\n [ngClass]=\"{'w-image-file-uploader-container-height' : (imagesAlreadyUploaded.length == 0 || undefined ) || (imagesAlreadyUploaded == null || undefined) && activeFieldVersion == false, 'w-image-file-uploader-field-container-height' : activeFieldVersion == true && (imagesAlreadyUploaded.length == 0 || undefined ) || (imagesAlreadyUploaded == null || undefined)}\">\r\n <span class=\"pi pi-upload subtitle1 textMainColor\"></span>\r\n <span class=\"subtitle1 textMainColor m-2\">\r\n {{imageUploadConfig.contentHeaderLabel}}\r\n </span>\r\n <span class=\"textSoftColor text-center\">\r\n {{imageUploadConfig.contentSubheaderLabel}}\r\n </span>\r\n </div>\r\n <ng-template #viewMultiModeMessage>\r\n <div *ngIf=\"imagesAlreadyUploaded.length==0\" class=\"textSoftColor flex justify-content-center align-items-center w-image-file-uploader-container-height\">\r\n {{imageUploadConfig.viewModecontentLabel}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </p-fileUpload>\r\n</ng-template>\r\n\r\n<p-confirmPopup></p-confirmPopup>\r\n","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EmbedConfig } from '../../shared/models/embed-config.model';\r\nimport { Embed, IReportEmbedConfiguration, Report, models, service } from 'powerbi-client';\r\nimport { PowerBIReportEmbedComponent } from 'powerbi-client-angular';\r\n\r\n@Component({\r\n selector: 'w-powerbi-report',\r\n templateUrl: './w-powerbi-report.component.html',\r\n styleUrls: ['./w-powerbi-report.component.css']\r\n})\r\nexport class WPowerbiReportComponent implements OnInit {\r\n\r\n @Input('embedConfig') embedConfig!: EmbedConfig;\r\n @Input('reportTitle') reportTitle!: string;\r\n @Input('hasReportFilters') hasReportFilters: boolean = false;\r\n @Input('parameterReportFilters') parameterReportFilters!: string;\r\n @Input('showReportFilters') showReportFilters: boolean = false;\r\n @Input('filterPanelPosition') filterPanelPosition: string = \"bottom\";\r\n @Input('showPageNavigation') showPageNavigation: boolean = false;\r\n @Input('showPrintButton') showPrintButton: boolean = false;\r\n @Input('showFullScreenButton') showFullScreenButton: boolean = false;\r\n @Input('showVisualHeaders') showVisualHeaders: boolean = true;\r\n @Input('showRefreshButton') showRefreshButton: boolean = false;\r\n @Input('height') height: string = '810px';\r\n @Input('filters') filters!: models.IFilter[];\r\n // @Input('zoomRatio') zoomRatio: number = 0.00175;\r\n\r\n @Output('refreshNotAllowed') refreshNotAllowed = new EventEmitter<boolean>();\r\n\r\n powerbiReportWidth!: number;\r\n private _zoom!: number;\r\n\r\n @Input() set zoom(value: number) {\r\n this._zoom = value;\r\n this.setReportZoom(this._zoom);\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n reportClass = 'report-container';\r\n\r\n reportConfig: IReportEmbedConfiguration = {\r\n type: 'report',\r\n embedUrl: undefined,\r\n tokenType: models.TokenType.Aad,\r\n accessToken: undefined,\r\n filters: undefined,\r\n settings: {\r\n layoutType: models.LayoutType.Custom,\r\n customLayout: {\r\n displayOption: models.DisplayOption.FitToWidth\r\n },\r\n background: models.BackgroundType.Transparent\r\n }\r\n };\r\n\r\n eventHandlersMap = new Map([\r\n ['loaded', () => {\r\n const report = this.reportObj.getReport();\r\n report.setComponentTitle('Embedded report');\r\n if (this.filters) {\r\n this.updateFilters(this.filters);\r\n } \r\n },\r\n ],\r\n ['rendered', () => {\r\n }],\r\n ['error', (event?: service.ICustomEvent<any>) => {\r\n if (event) {\r\n console.error(event.detail);\r\n }\r\n },\r\n ],\r\n ['visualClicked', () => { }],\r\n ['pageChanged', (event) => { }],\r\n ]) as Map<string, (event?: service.ICustomEvent<any>, embeddedEntity?: Embed) => void | null>;\r\n\r\n @ViewChild(PowerBIReportEmbedComponent) reportObj!: PowerBIReportEmbedComponent;\r\n\r\n // @HostListener('window:resize', ['$event'])\r\n // onResize(event: any) {\r\n // this.getReportDivWidth();\r\n // }\r\n\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n this.embedReport();\r\n this.elementRef.nativeElement.style.setProperty(\"--height\", this.height)\r\n }\r\n\r\n // getReportDivWidth() {\r\n // this.powerbiReportWidth = this.elementRef.nativeElement.querySelector('#powerbiContainer').offsetWidth;\r\n // this.setReportZoom(this.powerbiReportWidth * this.zoomRatio);\r\n // }\r\n\r\n async embedReport(): Promise<void> {\r\n try {\r\n this.reportConfig = {\r\n ...this.reportConfig,\r\n id: this.embedConfig!.id,\r\n embedUrl: this.embedConfig!.embedUrl,\r\n accessToken: this.embedConfig!.embedToken.token,\r\n filters: this.parameterReportFilters ? [JSON.parse(this.parameterReportFilters)] : undefined,\r\n settings: {\r\n panes: {\r\n filters: {\r\n visible: this.showReportFilters\r\n },\r\n pageNavigation: {\r\n visible: this.showPageNavigation\r\n },\r\n },\r\n visualSettings: {\r\n visualHeaders: [\r\n {\r\n settings: {\r\n visible: this.showVisualHeaders\r\n }\r\n }\r\n ]\r\n },\r\n customLayout: {\r\n displayOption: models.DisplayOption.FitToWidth\r\n },\r\n background: models.BackgroundType.Transparent\r\n }\r\n };\r\n } catch (error: any) {\r\n console.log(`Failed to fetch config for report. Status: ${error.status} ${error.statusText}`);\r\n return;\r\n }\r\n }\r\n\r\n async refresh() {\r\n const report: Report = this.reportObj.getReport();\r\n try {\r\n await report.refresh();\r\n } catch (errors: any) {\r\n console.log(errors);\r\n if (errors.message = \"refreshNotAllowed\") this.onRefreshNotAllowed();\r\n }\r\n }\r\n\r\n async updateFilters(filters: models.IFilter[]) {\r\n try {\r\n const report: Report = this.reportObj.getReport();\r\n await report.removeFilters();\r\n await report.updateFilters(models.FiltersOperations.Add, filters);\r\n } catch (error: any) {\r\n console.error(error);\r\n if (error.message = \"refreshNotAllowed\") this.onRefreshNotAllowed();\r\n return;\r\n }\r\n }\r\n\r\n async setReportZoom(zoom: number) {\r\n try {\r\n const report: Report = this.reportObj.getReport();\r\n await report.setZoom(zoom);\r\n } catch (error) {\r\n console.log(\"Error setting report zoom: \" + error)\r\n }\r\n }\r\n\r\n print() {\r\n const report: Report = this.reportObj.getReport();\r\n report.print();\r\n }\r\n\r\n enterFullScreen() {\r\n const report: Report = this.reportObj.getReport();\r\n report.fullscreen();\r\n }\r\n\r\n onRefreshNotAllowed() {\r\n this.refreshNotAllowed.emit(true);\r\n }\r\n}\r\n","<div *ngIf=\"reportTitle || showPrintButton || showFullScreenButton\" class=\"flex justify-content-between flex-wrap\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <div class=\"text-right\">\r\n <p-button *ngIf=\"showRefreshButton\" icon=\"pi pi-refresh\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"refresh()\">\r\n </p-button>\r\n <p-button *ngIf=\"showPrintButton\" icon=\"pi pi-print\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"print()\">\r\n </p-button>\r\n <p-button *ngIf=\"showFullScreenButton\" icon=\"pi pi-arrows-alt\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"enterFullScreen()\">\r\n </p-button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'right'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-right\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'left'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-left\"></ng-content>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'bottom'\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-bottom\"></ng-content>\r\n</div>\r\n\r\n<ng-template #powerbiReport>\r\n <div id=\"powerbiContainer\">\r\n <powerbi-report [embedConfig]=\"reportConfig\" \r\n [cssClassName]=\"reportClass\" \r\n [eventHandlers]=\"eventHandlersMap\">\r\n </powerbi-report>\r\n </div>\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { IconType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-sidebar',\r\n templateUrl: './w-sidebar.component.html',\r\n styleUrls: ['./w-sidebar.component.scss']\r\n})\r\nexport class WSidebarComponent implements OnInit {\r\n @Input('headerTitle') headerTitle!: string;\r\n @Input('showCloseIcon') showCloseIcon: boolean = false; \r\n @Input('activeGrid') activeGrid: boolean = false;\r\n @Input('closeOnOverlay') closeOnOverlay: boolean = false;\r\n @Input('styleClass') styleClass: string = \"w-full md:w-4 lg:w-4\";\r\n @Input('icon') icon!: string ;\r\n @Input('iconWidth') iconWidth: number = 40; \r\n @Input('iconHeight') iconHeight: number = 40; \r\n\r\n iconType: typeof IconType = IconType;\r\n \r\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n private _visible: boolean = false;\r\n @Input()\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n set visible(value: boolean) {\r\n if (value !== this._visible) {\r\n this._visible = value;\r\n this.visibleChange.emit(this._visible);\r\n }\r\n }\r\n\r\n constructor(){}\r\n \r\n ngOnInit(): void {}\r\n\r\n onClose(){\r\n this.visible = false;\r\n }\r\n\r\n getIconType(){\r\n if(this.icon.includes(\"pi pi-\")){\r\n return IconType.pIcon;\r\n }else if(this.isURL(this.icon)){\r\n return IconType.urlIcon;\r\n }else {\r\n return IconType.wIcon;\r\n }\r\n }\r\n\r\n private isURL(url: string) {\r\n const patronURL = /^(ftp|http|https):\\/\\/[^ \"]+$/;\r\n return patronURL.test(url);\r\n }\r\n}\r\n","<p-sidebar [(visible)]=\"visible\" position=\"right\" [showCloseIcon]=\"showCloseIcon\" [modal]=\"true\" [blockScroll]=\"true\" [dismissible]=\"closeOnOverlay\" [styleClass]=\"styleClass\" class=\"wapp-sidebar\">\r\n <ng-template pTemplate=\"header\">\r\n <span *ngIf=\"icon && getIconType() == iconType.pIcon\" class=\"w-sidebar-icon icon-large-size textMainColor\" [ngClass]=\"icon\"></span>\r\n <w-icons *ngIf=\"icon && getIconType() == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"icon\" color=\"var(--text-color)\" [width]=\"24\" [height]=\"24\"></w-icons>\r\n <div *ngIf=\"icon && getIconType() == iconType.urlIcon\" class=\"flex align-content-start flex-wrap\">\r\n <div class=\"flex align-items-center justify-content-center w-sidebar-img-container\">\r\n <span class=\"w-sidebar-span-img-container w-sidebar-icon flex align-items-center justify-content-center\" [ngStyle]=\"{'width.px': iconWidth, 'height.px': iconHeight}\">\r\n <img class=\"w-sidebar-img-responsive\" [src]=\"icon\">\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span class=\"w-sidebar-title-text m-0\">{{headerTitle}}</span>\r\n </div>\r\n </div>\r\n \r\n <span *ngIf=\"icon == null || getIconType() != iconType.urlIcon\" class=\"w-sidebar-title-text m-0\">{{headerTitle}}</span>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"content\">\r\n <div [ngClass]=\"{'w-sidebar-content grid' : activeGrid}\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"footer\"></ng-template>\r\n</p-sidebar>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-buttons-footer',\r\n templateUrl: './w-buttons-footer.component.html',\r\n styleUrls: ['./w-buttons-footer.component.scss']\r\n})\r\nexport class WButtonsFooterComponent {\r\n\r\n}\r\n","<div class=\"flex flex-row-reverse flex-wrap right-0 bottom-0 fixed wapp-button-footer\">\r\n <ng-content select=\".wapp-buttons-footer\"></ng-content>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { ConfirmationService, MessageService, TreeDragDropService, TreeNode } from 'primeng/api';\r\nimport { TreeTable } from 'primeng/treetable';\r\nimport { ActionButtonResponse, WTreeTable } from '../../shared/models/w-tree-table.model';\r\nimport { TableColumnTypes, WDatePipeFormatType, WappTableColumnAlignTypes } from '../../shared/models/enums.model';\r\n\r\n@Component({\r\n selector: 'w-tree-table',\r\n templateUrl: './w-tree-table.component.html',\r\n styleUrls: ['./w-tree-table.component.scss'],\r\n providers: [TreeDragDropService, MessageService, ConfirmationService]\r\n})\r\nexport class WTreeTableComponent implements OnInit, OnChanges {\r\n\r\n loadingElements: boolean = true;\r\n collapsedElementTree: boolean = true;\r\n columns: any;\r\n openSidebar: boolean = false;\r\n elementInfo!: any;\r\n tableSkeletons: any = [{name: ''}, {name: ''}, {name: ''}, {name: ''}];\r\n wappDateFormat: typeof WDatePipeFormatType = WDatePipeFormatType;\r\n\r\n private _totalRecords: number = 0;\r\n\r\n set totalRecords(value: number) {\r\n this._totalRecords = value;\r\n } \r\n\r\n get totalRecords() {\r\n return this._totalRecords;\r\n }\r\n\r\n private _elements: any;\r\n \r\n @Input('elements') set elements(value: any) {\r\n this._elements = value;\r\n };\r\n get elements() {\r\n return this._elements;\r\n }\r\n @Input('rowsPerPage') rowsPerPage: number = 10;\r\n @Input('loading') loading: boolean = true;\r\n @Input('wappTreeTableObject') wappTreeTableObject!: WTreeTable;\r\n @Input() getChildFunction!: (element: any) => any[] | null;\r\n\r\n @Output('onActionButtonClick') onActionButtonClick = new EventEmitter<ActionButtonResponse>();\r\n @Output('onDeleteElementSelect') onDeleteElementSelect = new EventEmitter<any>();\r\n @Output('onCantDeleteElementWarn') onCantDeleteElementWarn = new EventEmitter<boolean>();\r\n \r\n @ViewChild('treeTable') treeTable!: TreeTable;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes?.['elements'] && changes?.['elements']?.currentValue.length != 0) {\r\n this.totalRecords = changes?.['elements']?.currentValue.length;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initComponent();\r\n }\r\n\r\n initComponent() {\r\n this.columns = this.wappTreeTableObject.columns;\r\n }\r\n\r\n filterGlobal(table: TreeTable, event: any) {\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains')\r\n }\r\n\r\n actionButtonClicked(id: number, element: any) {\r\n this.onActionButtonClick.emit({id: id, element: element})\r\n }\r\n\r\n confirmDeleteSelected(event: any, data: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTreeTableObject.confirmSingleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTreeTableObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteNode(data);\r\n }\r\n });\r\n }\r\n\r\n deleteNode(node: any) {\r\n const children = this.getChildFunction(node);\r\n if (!children || children.length === 0) {\r\n this.onDeleteElementSelect.emit(node);\r\n } else {\r\n this.onCantDeleteElementWarn.emit(true);\r\n }\r\n }\r\n \r\n\r\n updateShowingTableRows() {\r\n this.elements = [...this.elements];\r\n }\r\n\r\n private expandRecursive(node: TreeNode, isExpand: boolean) {\r\n node.expanded = isExpand;\r\n if (node.children) {\r\n node.children.forEach(childNode => {\r\n this.expandRecursive(childNode, isExpand);\r\n });\r\n }\r\n }\r\n\r\n private findTreeNode(listNode: TreeNode[], nodeId: number) {\r\n for (let node of listNode) {\r\n if (node.data.productCategoryId == nodeId) {\r\n return node;\r\n }\r\n\r\n if (node.children) {\r\n let newNodeFound: any = this.findTreeNode(node.children, nodeId);\r\n if (newNodeFound) {\r\n return newNodeFound;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n getTableColumnAlignClass(alignment: number) {\r\n if(alignment == WappTableColumnAlignTypes.Right) return 'text-right';\r\n if(alignment == WappTableColumnAlignTypes.Left) return 'text-left';\r\n if(alignment == WappTableColumnAlignTypes.Center) return 'text-center';\r\n return 'text-left'\r\n }\r\n\r\n getTableColumnAlignFlexClass(alignment: number) {\r\n if(alignment == WappTableColumnAlignTypes.Right) return 'flex justify-content-end';\r\n if(alignment == WappTableColumnAlignTypes.Left) return 'flex justify-content-start';\r\n if(alignment == WappTableColumnAlignTypes.Center) return 'flex justify-content-center';\r\n return 'justify-content-start'\r\n }\r\n public get tableColumnTypes(): typeof TableColumnTypes {\r\n return TableColumnTypes;\r\n }\r\n\r\n readProperty(obj: any, prop:string):any {\r\n if(typeof obj === 'undefined') {\r\n return false;\r\n }\r\n \r\n var _index = prop.indexOf('.')\r\n if(_index > -1) {\r\n return this.readProperty(obj[prop.substring(0, _index)], prop.substr(_index + 1));\r\n }\r\n return obj[prop];\r\n }\r\n\r\n getBooleanColumnClass(index: number, valueProperty: boolean){\r\n const booleanIconClasses = [];\r\n\r\n if (valueProperty == true) {\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].trueIcon ?? '');\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].trueIconColor ?? '');\r\n } else if (valueProperty == false) {\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].falseIcon ?? '');\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].falseIconColor ?? '');\r\n } else if (valueProperty == null) {\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].nullIcon ?? '');\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].nullIconColor ?? '');\r\n }\r\n\r\n return booleanIconClasses;\r\n }\r\n}\r\n","<div *ngIf=\"wappTreeTableObject\" [class.table-container]=\"wappTreeTableObject.tableContainer\">\r\n <p-treeTable *ngIf=\"!loading && elements; else loadingTable\"\r\n #treeTable [value]=\"elements\" \r\n class=\"w-table-styles\"\r\n [columns]=\"columns\" \r\n [scrollable]=\"true\"\r\n [tableStyle]=\"{'min-width': wappTreeTableObject.tableMinWidth!}\"\r\n [loading]=\"loadingElements\"\r\n [showLoader]=\"false\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"wappTreeTableObject.currentPageReportTemplate ? wappTreeTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n styleClass=\"p-treetable-striped\">\r\n\r\n <ng-template *ngIf=\"true\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span class=\"showing-per-page\"> {{wappTreeTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords!\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"updateShowingTableRows()\">\r\n </p-inputNumber>\r\n <span class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter (input)=\"filterGlobal(treeTable, $event)\" \r\n [placeholder]=\"wappTreeTableObject.searchPlaceholder\" class=\"w-full height-input wapp-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns; index as i\" \r\n class=\"'{{col.field}}-field'\"\r\n [ttSortableColumn]=\"col.field\"\r\n [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\">\r\n <div [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignFlexClass(wappTreeTableObject.columnAlign[i]) : 'flex justify-content-start'\" >\r\n <div>\r\n {{ col.header }}\r\n </div>\r\n <div>\r\n <p-treeTableSortIcon [field]=\"col.field\"></p-treeTableSortIcon>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"buttons-field\">\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr>\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTreeTableObject.columnTypes!\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-center'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n <img *ngIf=\"readProperty(rowData, wappTreeTableObject.columns[i].field)\" \r\n [src]=\"readProperty(rowData, wappTreeTableObject.columns[i].field)\" \r\n class=\"element-image-width\"/>\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) }}\r\n </div>\r\n </div> \r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Number\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-right'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-right'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | currency }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-center'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n <w-badge [label]=\"readProperty(rowData, wappTreeTableObject.columns[i].field)\" [color]=\"'info'\"></w-badge> \r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-center'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(rowData, wappTreeTableObject.columns[i].field))\"></i>\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ShortDate\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.d }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.LongDate\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.D }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeShortTime\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.g }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeLongTime\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.G }}\r\n </div>\r\n </div>\r\n </td>\r\n </ng-template>\r\n <td class=\"buttons-field\">\r\n <div class=\"flex justify-content-end\">\r\n <span *ngFor=\"let button of wappTreeTableObject.actionButtons\">\r\n <p-button [icon]=\"'pi '+ button.icon\" (click)=\"actionButtonClicked(button.id, rowData)\" [pTooltip]=\"button.tooltip!\" [tooltipPosition]=\"button.tooltipPosition!\" [styleClass]=\"button.styleClass!\"></p-button>\r\n </span>\r\n <p-button *ngIf=\"wappTreeTableObject.hasDeleteButton\" icon=\"pi pi-trash\" (click)=\"confirmDeleteSelected($event, rowData)\" [pTooltip]=\"wappTreeTableObject.deleteButtonTooltip!\" tooltipPosition=\"bottom\" class=\"px-2\" styleClass=\"p-button-text p-button-danger\"></p-button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length\">\r\n {{wappTreeTableObject.noRecordsLabel}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n\r\n <ng-template #loadingTable>\r\n <p-treeTable\r\n #treeTable [value]=\"tableSkeletons\" \r\n class=\"w-table-styles\"\r\n [columns]=\"columns\" \r\n [scrollable]=\"true\"\r\n [tableStyle]=\"{'min-width':'50rem'}\"\r\n [loading]=\"loadingElements\"\r\n [showLoader]=\"false\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"wappTreeTableObject.currentPageReportTemplate ? wappTreeTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n styleClass=\"p-treetable-striped\">\r\n\r\n <ng-template *ngIf=\"true\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span class=\"showing-per-page\"> {{wappTreeTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords!\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"updateShowingTableRows()\">\r\n </p-inputNumber>\r\n <span class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter (input)=\"filterGlobal(treeTable, $event)\" \r\n [placeholder]=\"wappTreeTableObject.searchPlaceholder\" class=\"w-full height-input wapp-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns; index as i\" \r\n class=\"{{col.field}}-field'\"\r\n [ttSortableColumn]=\"col.field\">\r\n <div [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignFlexClass(wappTreeTableObject.columnAlign[i]) : 'flex justify-content-start'\">\r\n <div>\r\n {{ col.header }}\r\n </div>\r\n <div>\r\n <p-treeTableSortIcon [field]=\"col.field\"></p-treeTableSortIcon>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"buttons-field\">\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr>\r\n <td *ngFor=\"let col of columns; let i = index\" [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <p-skeleton></p-skeleton>\r\n </td>\r\n <td class=\"buttons-field\">\r\n <div class=\"flex justify-content-end\">\r\n <span *ngFor=\"let button of wappTreeTableObject.actionButtons\">\r\n <p-button [icon]=\"'pi '+ button.icon\" (click)=\"actionButtonClicked(button.id, rowData)\" [pTooltip]=\"button.tooltip!\" [tooltipPosition]=\"button.tooltipPosition!\" [styleClass]=\"button.styleClass!\"></p-button>\r\n </span>\r\n <p-button *ngIf=\"wappTreeTableObject.hasDeleteButton\" icon=\"pi pi-trash\" (click)=\"confirmDeleteSelected($event, rowData)\" [pTooltip]=\"'Tooltip' \" tooltipPosition=\"bottom\" class=\"px-2\" styleClass=\"p-button-text p-button-danger\"></p-button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length\">\r\n {{wappTreeTableObject.noRecordsLabel}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n </ng-template>\r\n</div>\r\n\r\n<p-confirmPopup></p-confirmPopup>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-body-grid',\r\n templateUrl: './w-body-grid.component.html',\r\n styleUrls: ['./w-body-grid.component.scss']\r\n})\r\nexport class WBodyGridComponent {\r\n\r\n}\r\n","<div class=\"w-body-grid grid\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-toggle',\r\n templateUrl: './w-edit-toggle.component.html',\r\n styleUrls: ['./w-edit-toggle.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditToggleComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditToggleComponent {\r\n @Input('label') label: string = '';\r\n @Input('helpDescription') helpDescription: string = '';\r\n @Input('disabled') isDisabled: boolean = false;\r\n @Input('isRequired') isRequired: boolean = false;\r\n @Input('size') size: string = 'small';\r\n @Input('hasAlign') hasAlign: boolean = true;\r\n @Input('tooltip') tooltip!: string; \r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('toggleState')\r\n toggleState: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n value: boolean = false;\r\n isTouched : boolean = false;\r\n \r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n \r\n onInput(obj: any){\r\n this.value = obj;\r\n this.toggleState.emit(this.value);\r\n this.onTouch();\r\n this.onChange(this.value);\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSize(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","\r\n<div *ngIf=\"formControl; else noNgControl\" class=\"align-content-start\" \r\n [ngClass]=\"{'w-edit-toggle-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-toggle-medium-heigth': hasAlign && getSize(sizeType.medium) == size}\">\r\n\r\n <w-input-label [label]=\"label\" [required]=\"formControl.hasError('required')\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\"></w-input-label>\r\n\r\n <p-inputSwitch id=\"toggle\"\r\n [ngClass]=\"{'w-edit-toggle-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small': getSize(sizeType.small) == size}\"\r\n class=\"flex align-items-center toggle-container\"\r\n [formControl]=\"formControl\">\r\n </p-inputSwitch>\r\n</div>\r\n\r\n<ng-template #noNgControl>\r\n <div class=\"align-content-start\" \r\n [ngClass]=\"{'w-edit-toggle-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-toggle-medium-heigth': hasAlign && getSize(sizeType.medium) == size }\">\r\n <w-input-label [label]=\"label\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\"></w-input-label>\r\n <p-inputSwitch id=\"toggle\"\r\n [ngClass]=\"{'w-edit-toggle-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small': getSize(sizeType.small) == size}\"\r\n class=\"flex align-items-center toggle-container\"\r\n (ngModelChange)=\"onInput($event)\"\r\n [(ngModel)]=\"value\">\r\n </p-inputSwitch>\r\n </div>\r\n</ng-template>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-grid',\r\n templateUrl: './w-panel-grid.component.html',\r\n styleUrls: ['./w-panel-grid.component.scss']\r\n})\r\nexport class WPanelGridComponent {\r\n\r\n}\r\n","<div class=\"w-panel-grid grid\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, forwardRef } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-autocomplete-search',\r\n templateUrl: './w-autocomplete-search.component.html',\r\n styleUrls: ['./w-autocomplete-search.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WAutocompleteSearchComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WAutocompleteSearchComponent {\r\n @Input('label') label: string = \"Default Label\";\r\n @Input('placeholder') placeholder: string = \"\";\r\n\r\n @Input('isRequired') isRequired: boolean = false;\r\n @Input('isDisabled') isDisabled: boolean = false;\r\n\r\n @Input('size') size: string = \"medium\";\r\n\r\n @Input('items') items: any[] = [\r\n {\"name\": \"Afghanistan\", \"code\": \"AF\"},\r\n {\"name\": \"México\", \"code\": \"MX\"},\r\n {\"name\": \"Turquía\", \"code\": \"TQ\"},\r\n {\"name\": \"Estados unidos\", \"code\": \"EU\"},\r\n ];\r\n \r\n @Input('formControl') formControl!: FormControl | null;\r\n \r\n selectedItem: any;\r\n suggestions: any[] = [];\r\n value: any ;\r\n\r\n isTouched : boolean = false;\r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n \r\n search(event: any) {\r\n\r\n let filtered: any[] = [];\r\n let query = event.query;\r\n\r\n for(let i=0; i < (this.items as any[]).length; i++)\r\n {\r\n let item = (this.items as any[])[i];\r\n if(item.name.toLowerCase().indexOf(query.toLowerCase()) == 0)\r\n {\r\n filtered.push(item);\r\n }\r\n }\r\n this.suggestions = filtered;\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n \r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container-medium w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-checkbox',\r\n templateUrl: './w-edit-checkbox.component.html',\r\n styleUrls: ['./w-edit-checkbox.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditCheckboxComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditCheckboxComponent {\r\n @Input('label') label: string = '';\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('helpDescription') helpDescription: string = '';\r\n @Input('disabled') isDisabled: boolean = false;\r\n @Input('size') size: string = 'small';\r\n @Input('hasAlign') hasAlign: boolean = true;\r\n @Input('tooltip') tooltip!: string;\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('checkboxState')\r\n checkboxState: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n value: boolean = false;\r\n isTouched : boolean = false;\r\n\r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onInput(obj: any){\r\n this.value = obj;\r\n this.checkboxState.emit(this.value);\r\n this.onTouch();\r\n this.onChange(this.value);\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSize(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","\r\n<div *ngIf=\"formControl; else noNgControl\" class=\"flex align-content-center\"\r\n [ngClass]=\"{'w-edit-checkbox-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-checkbox-medium-heigth': hasAlign && getSize(sizeType.medium) == size}\">\r\n\r\n <p-checkbox\r\n [binary]=\"true\"\r\n class=\"flex align-items-center\"\r\n [ngClass]=\"{'w-edit-checkbox-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small': getSize(sizeType.small) == size}\"\r\n [formControl]=\"formControl\" id=\"w-checkbox\">\r\n <ng-template pTemplate=\"icon\">\r\n <w-icons [name]=\"'checkSmallAlt'\"></w-icons>\r\n </ng-template>\r\n </p-checkbox>\r\n\r\n <w-input-label class=\"w-edit-checkbox-small-label\" [label]=\"label\" [required]=\"formControl.hasError('required')\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"flex align-content-center\"\r\n [ngClass]=\"{'w-edit-checkbox-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-checkbox-medium-heigth': hasAlign && getSize(sizeType.medium) == size}\">\r\n\r\n <p-checkbox\r\n [binary]=\"true\"\r\n [ngClass]=\"{'w-edit-checkbox-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small': getSize(sizeType.small) == size}\"\r\n (ngModelChange)=\"onInput($event)\"\r\n [(ngModel)]=\"value\" id=\"w-checkbox\">\r\n <ng-template pTemplate=\"icon\">\r\n <w-icons [name]=\"'checkSmallAlt'\"></w-icons>\r\n </ng-template>\r\n </p-checkbox>\r\n <w-input-label class=\"w-edit-checkbox-small-label\" [label]=\"label\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n </div>\r\n</ng-template>\r\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AddressMaps } from 'wapping-components';\r\nimport { WAddress } from '../../shared/models/w-address.model';\r\n\r\n@Component({\r\n selector: 'w-maps',\r\n templateUrl: './w-maps.component.html',\r\n styleUrls: ['./w-maps.component.scss'],\r\n})\r\nexport class WMapsComponent implements OnInit, AfterViewInit{\r\n @ViewChild('mapSearchField') searchField!: ElementRef;\r\n @ViewChild('divMap') divMap!: ElementRef;\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('tooltip') tooltip!: string; \r\n @Input('isEdit') isEdit: boolean = false;\r\n @Input('mapHeight') mapHeight: number = 30;\r\n @Input('componentRestrictions') componentRestrictions: any;\r\n @Input('initialCoords') initialCoords: any;\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('wAddress') wAddress!: string | WAddress;\r\n\r\n @Output('addressResponse') addressResponse = new EventEmitter<AddressMaps>();\r\n\r\n map!: google.maps.Map\r\n variableMap!: google.maps.Map;\r\n marker!: google.maps.Marker;\r\n service!: google.maps.places.PlacesService;\r\n formMapas!: FormGroup;\r\n addressFinal: AddressMaps = {} as AddressMaps;\r\n readyAddress: boolean = false;\r\n viewAddress!: string;\r\n formatedAddress!: string;\r\n textareaAddress!: any;\r\n\r\n constructor(private render: Renderer2,private cd: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n if(typeof this.wAddress !== \"string\"){\r\n this.viewAddress = (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? this.wAddress?.postalCode+\" \": '') + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '')\r\n\r\n this.textareaAddress = (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \"\\n\\n\" +\r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? \"(\"+this.wAddress?.postalCode+\")\": '') + \"\\n\\n\" + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '')\r\n this.readyAddress = true;\r\n }\r\n }\r\n\r\n async ngAfterViewInit() {\r\n if(typeof this.wAddress !== \"string\"){\r\n this.formatedAddress = this.cleanText( (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? this.wAddress?.postalCode+\" \": '') + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '') )\r\n\r\n this.textareaAddress = this.cleanText( (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \"\\n\\n\" +\r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? \"(\"+this.wAddress?.postalCode+\")\": '') + \"\\n\\n\" + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '') )\r\n this.readyAddress = true;\r\n this.cd.detectChanges();\r\n }\r\n\r\n if(this.isEdit)\r\n this.loadAutoComplete();\r\n\r\n if (this.initialCoords != undefined) {\r\n let position = {\r\n coords: {\r\n latitude: this.initialCoords.latitude,\r\n longitude: this.initialCoords.longitude,\r\n }\r\n }\r\n await this.loadMap(position)\r\n } else {\r\n let position = new google.maps.LatLng(19.0528136, -98.2071769)\r\n \r\n const opciones = {\r\n center: position,\r\n zoom: 11,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n };\r\n\r\n this.variableMap = await new google.maps.Map(document.getElementById(\"variableMap\") as HTMLElement, opciones)\r\n\r\n const request = {\r\n query: this.formatedAddress,\r\n fields: [\"name\",\"geometry\"]\r\n };\r\n\r\n this.service = new google.maps.places.PlacesService(this.variableMap);\r\n this.service.findPlaceFromQuery(\r\n request, \r\n async (\r\n results: google.maps.places.PlaceResult[] | null,\r\n status: google.maps.places.PlacesServiceStatus\r\n ) => {\r\n if(status === google.maps.places.PlacesServiceStatus.OK && results) {\r\n let pos = {\r\n coords: {\r\n latitude: results[0].geometry?.location?.lat(),\r\n longitude: results[0].geometry?.location?.lng(),\r\n }\r\n }\r\n await this.loadMap(pos)\r\n }\r\n }\r\n )\r\n }\r\n }\r\n\r\n async loadMap(position: any) {\r\n const opciones = {\r\n center: new google.maps.LatLng(position.coords.latitude, position.coords.longitude),\r\n zoom: 11,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n };\r\n\r\n this.map = await new google.maps.Map(this.render.selectRootElement(this.divMap.nativeElement), opciones)\r\n\r\n const marker = new google.maps.Marker;\r\n marker.setMap(null);\r\n\r\n this.marker = new google.maps.Marker({\r\n position: this.map.getCenter(),\r\n });\r\n this.marker.setMap(this.map);\r\n }\r\n\r\n returnAddress(place: any) {\r\n let address_component: [] = place.address_components;\r\n address_component.forEach((field) => {\r\n this.addressFinal[field['types'][0]] = field['long_name']\r\n })\r\n this.addressFinal.latitude = place.geometry['location'].lat();\r\n this.addressFinal.longitude = place.geometry['location'].lng();\r\n this.addressFinal.streetAddress = place.formatted_address\r\n this.textareaAddress = this.cleanText( (this.addressFinal?.route ? this.addressFinal?.route+\" \": '') + (this.addressFinal?.street_number? this.addressFinal?.street_number+\" \": '') + \"\\n\\n\" +\r\n (this.addressFinal?.administrative_area_level_1? this.addressFinal?.administrative_area_level_1+\" \": '') + ( this.addressFinal?.administrative_area_level_2? this.addressFinal?.administrative_area_level_2+\" \": '' )+\r\n (this.addressFinal?.postal_code? \"(\"+this.addressFinal?.postal_code+\")\": '') + \"\\n\\n\" + (this.addressFinal?.locality? this.addressFinal?.locality+\", \": '')+(this.addressFinal?.country? this.addressFinal?.country+\" \": '') ) \r\n this.cd.detectChanges();\r\n this.addressResponse.emit(this.addressFinal);\r\n }\r\n\r\n cleanText(text: any){\r\n return text.trimStart();\r\n }\r\n\r\n private loadAutoComplete() {\r\n const autoComplete = new google.maps.places.Autocomplete(\r\n this.render.selectRootElement(this.searchField.nativeElement),\r\n {\r\n componentRestrictions: this.componentRestrictions,\r\n fields: [\"address_components\", \"geometry\", \"formatted_address\"],\r\n types: [\"address\"],\r\n }\r\n )\r\n google.maps.event.addListener(autoComplete, 'place_changed', () => {\r\n\r\n const place: any = autoComplete.getPlace();\r\n\r\n this.map.setCenter(place.geometry.location);\r\n this.marker.setMap(null);\r\n this.marker = new google.maps.Marker({\r\n position: place.geometry.location\r\n });\r\n \r\n this.marker.setMap(this.map);\r\n \r\n this.returnAddress(place);\r\n })\r\n }\r\n}\r\n","<div class=\"w-label-maps\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <div class=\"w-search-maps\">\r\n <div class=\"w-full w-label-input\" *ngIf=\"isEdit\">\r\n <div class=\"searchfield-container\">\r\n <input type=\"text\" #mapSearchField\r\n class=\"w-full w-searchfield-maps\"\r\n [(ngModel)]=\"formatedAddress\"\r\n pInputText/>\r\n </div>\r\n </div>\r\n \r\n <div class=\"w-full flex w-maps-text-container\">\r\n <div class=\"w-6 w-map\" [style]=\"'height:'+mapHeight+'rem'\" id=\"map\" #divMap></div>\r\n <span [style]=\"'height:'+mapHeight+'rem'\"\r\n class=\"w-6 w-textarea-address\">\r\n <p *ngIf=\"textareaAddress\">\r\n {{textareaAddress}}\r\n </p>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n<div [hidden]=\"true\" id=\"variableMap\"></div>","import { Component, EventEmitter, Input, OnInit, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-radio-button',\r\n templateUrl: './w-radio-button.component.html',\r\n styleUrls: ['./w-radio-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WRadioButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WRadioButtonComponent implements OnInit, ControlValueAccessor {\r\n selectedOption: any;\r\n selectedIndex = 0;\r\n isDisabled: boolean = false;\r\n isTouched : boolean = false;\r\n\r\n @Input('radioGroupElements') radioGroupElements: any[] = [];\r\n @Input('required') required: boolean = false;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Default required error description\";\r\n @Input('size') size: string = \"medium\";\r\n \r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n formControl: any;\r\n ngModelValue: any;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n \r\n sizeType: typeof SizeType = SizeType;\r\n\r\n ngOnInit(): void { }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onChangedForm(value: any){\r\n this.onChange(value);\r\n this.onTouch();\r\n this.onChangeEvent.emit(value);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\">\r\n <div *ngFor=\"let option of radioGroupElements\" class=\"field-checkbox\">\r\n <p-radioButton [ngClass]=\"{'w-radiobutton-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-medium' : size == getSizeName(sizeType.medium)}\"\r\n [inputId]=\"option.key\" \r\n [required]=\"required\" \r\n [disabled]=\"disabled\"\r\n [formControl]=\"formControl\"\r\n ngDefaultControl\r\n (onClick)=\"onChangedForm($event)\">\r\n </p-radioButton>\r\n <label [ngClass]=\"{'w-radiobutton-label-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-label-medium' : size == getSizeName(sizeType.medium)}\" [for]=\"option.key\">{{option.name}}</label>\r\n </div>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.touched\" class=\"p-error block\">{{requiredErrorDescription}}</small> \r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngFor=\"let option of radioGroupElements\" class=\"field-checkbox\">\r\n <p-radioButton [ngClass]=\"{'w-radiobutton-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-medium' : size == getSizeName(sizeType.medium)}\"\r\n [inputId]=\"option.key\" \r\n [(ngModel)]=\"ngModelValue\" \r\n [disabled]=\"disabled\"\r\n [value]=\"option\" \r\n ngDefaultControl\r\n (onClick)=\"onChanged()\">\r\n </p-radioButton>\r\n <label [ngClass]=\"{'w-radiobutton-label-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-label-medium' : size == getSizeName(sizeType.medium)}\" [for]=\"option.key\">{{option.name}}</label>\r\n </div>\r\n</ng-template>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MenuItem, MessageService } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-wizard',\r\n templateUrl: './w-wizard.component.html',\r\n styleUrls: ['./w-wizard.component.scss'],\r\n providers: [MessageService]\r\n})\r\nexport class WWizardComponent {\r\n items!: MenuItem[];\r\n activeIndex: number = 0;\r\n\r\n @Input('stepsItems') stepsItems!: MenuItem[];\r\n @Input('stepsHeadings') stepsHeadings!: string[];\r\n @Input('stepsSubheadings') stepsSubheadings!: string[];\r\n @Input('nextBtnLabel') nextBtnLabel: string = \"Next\";\r\n @Input('previousBtnLabel') previousBtnLabel: string = \"Previous\";\r\n @Input('confirmButtonLabel') confirmButtonLabel!: string;\r\n @Input('confirmButtonIcon') confirmButtonIcon!: string;\r\n @Input('secondaryConfirmButtonLabel') secondaryConfirmButtonLabel!: string;\r\n @Input('secondaryConfirmButtonIcon') secondaryConfirmButtonIcon!: string;\r\n @Input('isReadOnly') isReadOnly: boolean = true;\r\n @Input('formGroup') formGroup!: FormGroup;\r\n\r\n @Output('confirmButtonActivated') confirmButtonActivated = new EventEmitter<boolean>();\r\n @Output('secondaryConfirmButtonActivated') secondaryConfirmButtonActivated = new EventEmitter<boolean>();\r\n @Output('activeIndexParent') activeIndexParent = new EventEmitter<number>();\r\n\r\n constructor(public messageService: MessageService) {}\r\n\r\n onActiveIndexChange(event:any) {\r\n this.activeIndex = event;\r\n }\r\n\r\n nextPage() {\r\n this.activeIndex++;\r\n this.activeIndexParent.emit(this.activeIndex);\r\n return;\r\n }\r\n \r\n previousPage() {\r\n this.activeIndex--;\r\n this.activeIndexParent.emit(this.activeIndex);\r\n }\r\n \r\n confirm() {\r\n this.confirmButtonActivated.emit(true);\r\n }\r\n\r\n secondaryConfirm() {\r\n this.secondaryConfirmButtonActivated.emit(true);\r\n }\r\n}\r\n","<w-body-grid>\r\n <w-panel class=\"col-12\" [activeGrid]=\"false\">\r\n <p-steps [model]=\"stepsItems\" [activeIndex]=\"activeIndex\" (activeIndexChange)=\"onActiveIndexChange($event)\" [readonly]=\"isReadOnly\"></p-steps>\r\n </w-panel>\r\n\r\n <w-panel class=\"col-12\" [activeGrid]=\"false\">\r\n \r\n <div class=\"flex flex-column align-items-center sm:align-items-start w-wizard-headings\">\r\n <span *ngIf=\"stepsHeadings && stepsHeadings[activeIndex]\" class=\"w-wizard-heading\">\r\n {{stepsHeadings[activeIndex]}}\r\n </span>\r\n <span *ngIf=\"stepsSubheadings && stepsSubheadings[activeIndex]\" class=\"w-wizard-subheading\">\r\n {{stepsSubheadings[activeIndex]}}\r\n </span>\r\n </div>\r\n\r\n <ng-content *ngIf=\"activeIndex == 0\" select=\".step-1\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 1\" select=\".step-2\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 2\" select=\".step-3\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 3\" select=\".step-4\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 4\" select=\".step-5\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 5\" select=\".step-6\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 6\" select=\".step-7\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 7\" select=\".step-8\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 8\" select=\".step-9\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 9\" select=\".step-10\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 10\" select=\".step-11\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 11\" select=\".step-12\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 12\" select=\".step-13\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 13\" select=\".step-14\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 14\" select=\".step-15\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 15\" select=\".step-16\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 16\" select=\".step-17\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 17\" select=\".step-18\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 18\" select=\".step-19\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 19\" select=\".step-20\" class=\"w-wizard-body\"></ng-content>\r\n\r\n <div class=\"flex justify-content-between flex-wrap m-auto\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <w-button *ngIf=\"activeIndex != 0\" \r\n [icon]=\"'pi-arrow-left'\" \r\n type=\"secondary\" \r\n [label]=\"previousBtnLabel\" \r\n (onClick)=\"previousPage()\">\r\n </w-button>\r\n </div>\r\n <div *ngIf=\"!(stepsItems.length -1 == activeIndex); else confirmButtons\" class=\"flex align-items-center justify-content-center\">\r\n <w-button type=\"primary\"\r\n [icon]=\"'pi-arrow-right'\" \r\n [label]=\"nextBtnLabel\" \r\n (onClick)=\"nextPage()\">\r\n </w-button>\r\n </div>\r\n <ng-template #confirmButtons >\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <w-button *ngIf=\"secondaryConfirmButtonLabel\"\r\n type=\"secondary\"\r\n class=\"w-wizard-button-gap\"\r\n [icon]=\"'pi '+secondaryConfirmButtonIcon\"\r\n [label]=\"secondaryConfirmButtonLabel\" \r\n [disabled]=\"formGroup && !formGroup.valid\" \r\n (onClick)=\"secondaryConfirm()\">\r\n </w-button>\r\n <w-button type=\"primary\"\r\n [icon]=\"'pi '+confirmButtonIcon\"\r\n [label]=\"confirmButtonLabel\" \r\n [disabled]=\"formGroup && !formGroup.valid\" \r\n (onClick)=\"confirm()\">\r\n </w-button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </w-panel>\r\n</w-body-grid>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-tabview',\r\n templateUrl: './w-tabview.component.html',\r\n styleUrls: ['./w-tabview.component.scss']\r\n})\r\nexport class WTabviewComponent {\r\n \r\n @Input('headers') headers: string[] = ['Header 1', 'Header 2', 'Header 3']; \r\n @Input('disabledTabs') disabledTabs: boolean[] = [false, false, false];\r\n @Input('icons') icons!: string[];\r\n @Input('activeIndex') activeIndex: number = 0;\r\n \r\n}\r\n","<p-tabView [(activeIndex)]=\"activeIndex\" styleClass=\"tabview-custom\">\r\n <p-tabPanel *ngIf=\"headers.length > 0 \" [header]=\"headers[0]\" [disabled]=\"disabledTabs[0]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[0]\" [class]=\"'pi '+icons[0]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[0]\">{{headers[0]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 0\" select=\".panel-1\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 1\" [header]=\"headers[1]\" [disabled]=\"disabledTabs[1]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[1]\" [class]=\"'pi '+icons[1]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[1]\">{{headers[1]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 1\" select=\".panel-2\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 2 \" [header]=\"headers[2]\" [disabled]=\"disabledTabs[2]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[2]\" [class]=\"'pi '+icons[2]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[2]\">{{headers[2]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 2\" select=\".panel-3\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 3\" [header]=\"headers[3]\" [disabled]=\"disabledTabs[3]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[3]\" [class]=\"'pi '+icons[3]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[3]\">{{headers[3]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 3\" select=\".panel-4\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 4\" [header]=\"headers[4]\" [disabled]=\"disabledTabs[4]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[4]\" [class]=\"'pi '+icons[4]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[4]\">{{headers[4]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 4\" select=\".panel-5\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 5\" [header]=\"headers[5]\" [disabled]=\"disabledTabs[5]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[5]\" [class]=\"'pi '+icons[5]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[5]\">{{headers[5]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 5\" select=\".panel-6\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 6\" [header]=\"headers[6]\" [disabled]=\"disabledTabs[6]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[6]\" [class]=\"'pi '+icons[6]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[6]\">{{headers[6]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 6\" select=\".panel-7\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 7\" [header]=\"headers[7]\" [disabled]=\"disabledTabs[7]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[7]\" [class]=\"'pi '+icons[7]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[7]\">{{headers[7]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 7\" select=\".panel-8\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 8\" [header]=\"headers[8]\" [disabled]=\"disabledTabs[8]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[8]\" [class]=\"'pi '+icons[8]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[8]\">{{headers[8]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 8\" select=\".panel-9\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 9\" [header]=\"headers[9]\" [disabled]=\"disabledTabs[9]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[9]\" [class]=\"'pi '+icons[9]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[9]\">{{headers[9]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 9\" select=\".panel-10\"></ng-content>\r\n </p-tabPanel>\r\n</p-tabView>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TreeDragDropService, TreeNode } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-tree',\r\n templateUrl: './w-tree.component.html',\r\n styleUrls: ['./w-tree.component.scss'],\r\n providers: [TreeDragDropService]\r\n})\r\nexport class WTreeComponent implements OnInit{\r\n @Input('nodes') nodes!: any;\r\n @Input('selection') selection!: any;\r\n @Input('selectionMode') selectionMode: string = \"checkbox\";\r\n @Input('activeToggleButton') activeToggleButton: boolean = false;\r\n @Input('collapsedNodes') collapsedNodes: boolean = true;\r\n @Input('collapseButtonLabel') collapseButtonLabel : string = \"Collapse\";\r\n @Input('expandButtonLabel') expandButtonLabel : string = \"Expand\";\r\n @Input('propagateSelectionDown') propagateSelectionDown: boolean = true;\r\n @Input('propagateSelectionUp') propagateSelectionUp: boolean = true;\r\n @Input('activeFilter') activeFilter: boolean = false;\r\n @Input('filterPlaceholder') filterPlaceholder!: string;\r\n @Input('filterBy') filterBy!: string; \r\n @Input('emptyMessage') emptyMessage: string = \"Empty records\";\r\n @Input('loading') loading: boolean = false; \r\n @Input('draggableNodes') draggableNodes: boolean = false;\r\n @Input('draggableScope') draggableScope!: string;\r\n @Input('droppableNodes') droppableNodes: boolean = false;\r\n @Input('droppableScope') droppableScope!: string ;\r\n @Input('scrollHeight') scrollHeight!: string;\r\n @Input('activeVirtualScroll') activeVirtualScroll: boolean = false;\r\n @Input('virtualScrollItemSize') virtualScrollItemSize!: number;\r\n @Input('nodeItemTemplateName') nodeItemTemplateName: string = \"nodeItemTemplateName\";\r\n \r\n @Output() selectionChange = new EventEmitter<any>();\r\n @Output('onFilter') onFilterEmit: EventEmitter<any> = new EventEmitter();\r\n @Output('onNodeDrope') onNodeDropeEmit: EventEmitter<any> = new EventEmitter();\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n onSelectionChange(event: any){\r\n this.selectionChange.emit(event)\r\n }\r\n\r\n onFilter(event: any){\r\n this.onFilterEmit.emit(event);\r\n }\r\n\r\n onNodeDrope(event: any){\r\n this.onNodeDropeEmit.emit(event);\r\n }\r\n\r\n expandAll(){\r\n this.nodes.forEach((node: any) => {\r\n this.expandRecursive(node, true);\r\n } );\r\n this.collapsedNodes = false;\r\n }\r\n\r\n collapseAll(){\r\n this.nodes.forEach((node: any) => {\r\n this.expandRecursive(node, false);\r\n } );\r\n this.collapsedNodes = true;\r\n }\r\n\r\n private expandRecursive(node:TreeNode, isExpand:boolean){\r\n node.expanded = isExpand;\r\n if (node.children){\r\n node.children.forEach( childNode => {\r\n this.expandRecursive(childNode, isExpand);\r\n } );\r\n }\r\n }\r\n\r\n isPrimeIcon(icon: string){\r\n if(icon.includes('pi')) return true;\r\n return false;\r\n }\r\n\r\n getIcon(icon: string){\r\n return 'pi pi-fw ' + icon;\r\n }\r\n}\r\n","<div *ngIf=\"activeToggleButton\" class=\"w-tree-buttontoggle flex justify-content-end flex-wrap card-container green-container\">\r\n <div *ngIf=\"collapsedNodes else collapse\">\r\n <w-button \r\n size=\"small\" \r\n type=\"secondary\" \r\n icon=\"pi pi-plus\" \r\n [label]=\"expandButtonLabel\" \r\n (onClick)=\"expandAll()\">\r\n </w-button>\r\n </div>\r\n <ng-template #collapse>\r\n <w-button \r\n size=\"small\"\r\n type=\"secondary\"\r\n icon=\"pi pi-minus\"\r\n [label]=\"collapseButtonLabel\" \r\n (onClick)=\"collapseAll()\">\r\n </w-button>\r\n </ng-template>\r\n</div>\r\n\r\n<p-tree class=\"w-full w-tree\" #wTree\r\n [value]=\"nodes\" \r\n [(selection)]=\"selection\"\r\n (selectionChange)=\"onSelectionChange($event)\" \r\n [selectionMode]=\"selectionMode\" \r\n [loading]=\"loading\"\r\n [filter]=\"activeFilter\" \r\n [filterPlaceholder]=\"filterPlaceholder\" \r\n [propagateSelectionDown]=\"propagateSelectionDown\"\r\n [propagateSelectionUp]=\"propagateSelectionUp\" \r\n [emptyMessage]=\"emptyMessage\" \r\n [draggableNodes]=\"draggableNodes\" \r\n [draggableScope]=\"draggableScope\" \r\n [droppableNodes]=\"droppableNodes\" \r\n [droppableScope]=\"droppableScope\" \r\n (onNodeDrop)=\"onNodeDrope($event)\" \r\n [virtualScroll]=\"activeVirtualScroll\" \r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n [scrollHeight]=\"scrollHeight\" \r\n (onFilter)=\"onFilter($event)\" \r\n styleClass=\"w-tree\">\r\n <ng-template let-node [pTemplate]=\"nodeItemTemplateName\">\r\n <div class=\"flex p-elemnt\">\r\n <span class=\"w-tree-icon flex align-items-center justify-content-center\" *ngIf=\"node.icon && isPrimeIcon(node.icon)\" [class]=\"getIcon(node.icon)\"></span>\r\n <w-icons class=\"w-tree-icon flex align-items-center\" *ngIf=\"node.icon && isPrimeIcon(node.icon) == false\" [name]=\"node.icon\" [height]=\"16\" [width]=\"18\" [color]=\"'#2e3134'\"></w-icons>\r\n <div class=\"flex align-items-center\">{{node.label}}</div>\r\n </div>\r\n </ng-template>\r\n</p-tree>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { WTimelineEventItem } from '../../shared/models/w-timeline-event-item.model';\r\nimport { ActionButtonResponse } from '../../shared/models/action-button-response.model';\r\n\r\n@Component({\r\n selector: 'w-timeline',\r\n templateUrl: './w-timeline.component.html',\r\n styleUrls: ['./w-timeline.component.scss']\r\n})\r\nexport class WTimelineComponent {\r\n\r\n @Input('events') events!: WTimelineEventItem[];\r\n @Input('header') header!: string;\r\n @Input('panel') panel: boolean = false;\r\n @Input('align') align: string = \"alternate\";\r\n @Input('reducedPanelMargin') reducedPanelMargin: boolean = false; \r\n @Input('reducedEventPanelMargin') reducedEventPanelMargin: boolean = false; \r\n\r\n @Output('buttonClick') buttonClick: EventEmitter<ActionButtonResponse> = new EventEmitter<ActionButtonResponse>(); \r\n\r\n constructor() {}\r\n\r\n onButtonClick(event: WTimelineEventItem) {\r\n if(event.button?.id) \r\n this.buttonClick.emit({id: event.button.id, element: event})\r\n }\r\n}\r\n","<div *ngIf=\"panel; else timeline\">\r\n <w-panel [title]=\"header\" [reduced]=\"reducedPanelMargin\">\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"timeline\"></ng-container>\r\n </div>\r\n </w-panel>\r\n</div>\r\n\r\n<ng-template #timeline>\r\n <p-timeline [value]=\"events\" [align]=\"align\" styleClass=\"customized-timeline\" \r\n [class.w-timeline-non-alternate]=\"align != 'alternate'\">\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <span *ngIf=\"event.color.includes('#'); else wappingColors\"\r\n class=\"flex w-2rem h-2rem align-items-center justify-content-center text-white border-circle z-1 shadow-1 shadow-2\"\r\n [style.backgroundColor]=\"event.color\">\r\n <i [ngClass]=\"'pi '+event.icon\"></i>\r\n </span>\r\n <ng-template #wappingColors>\r\n <span\r\n class=\"flex w-2rem h-2rem align-items-center justify-content-center text-white border-circle z-1 shadow-1 shadow-2\"\r\n [class]=\"'w-timeline-event color-'+event.color\">\r\n <i [ngClass]=\"'pi '+event.icon\" [class]=\"'w-timeline-event color-'+event.color\"></i>\r\n </span>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-event>\r\n <w-panel [title]=\"event.status\" [subtitle]=\"event.date\" [reduced]=\"reducedEventPanelMargin\">\r\n <div class=\"col-12\">\r\n <img *ngIf=\"event.image\"\r\n [src]=\"event.image\"\r\n [alt]=\"event.name\" width=\"200\" class=\"shadow-2\" />\r\n <p> {{event.content}} </p>\r\n <div class=\"flex w-timeline-button\" [ngClass]=\"{'w-timeline-button-end':align == 'left', 'w-timeline-button-start':align == 'right'}\">\r\n <w-button *ngIf=\"event.button\" type=\"text\" \r\n [label]=\"event.button.label\" \r\n [icon]=\"event.button.icon!\"\r\n (onClick)=\"onButtonClick(event)\">\r\n </w-button>\r\n </div>\r\n </div>\r\n </w-panel>\r\n </ng-template>\r\n </p-timeline>\r\n</ng-template>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-view-text',\r\n templateUrl: './w-view-text.component.html',\r\n styleUrls: ['./w-view-text.component.scss']\r\n})\r\nexport class WViewTextComponent {\r\n @Input('label') label!: string;\r\n @Input('value') value!: any;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('layout') layout: string = 'horizontal';\r\n\r\n checkEmptyValue(value: any){\r\n if(value == null || value == \"\" || value == undefined){\r\n return '-'; \r\n }else{\r\n return value; \r\n }\r\n }\r\n}\r\n","<div *ngIf=\"layout == 'horizontal'; else vertical\" class=\"w-view-text-content grid flex align-content-center\">\r\n <div class=\"col-4\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n </div>\r\n <div class=\"col-8 w-view-text-value\">\r\n <span class=\"flex\"> {{checkEmptyValue(value)}} </span>\r\n </div>\r\n</div>\r\n<ng-template #vertical>\r\n <div class=\"flex flex-column\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n <div class=\"flex input-label-gap-divider\"></div>\r\n <div class=\"flex w-view-text-value\">\r\n <span class=\"flex\"> {{checkEmptyValue(value)}} </span>\r\n </div>\r\n <div class=\"flex spacingXSMDivider\"></div>\r\n </div>\r\n</ng-template>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-timeline',\r\n templateUrl: './w-skeleton-timeline.component.html',\r\n styleUrls: ['./w-skeleton-timeline.component.css']\r\n})\r\nexport class WSkeletonTimelineComponent implements OnInit {\r\n @Input('eventsNumber') eventsNumber: number = 3;\r\n\r\n events: any[] = []\r\n\r\n ngOnInit(): void {\r\n this.events.length = this.eventsNumber;\r\n }\r\n}\r\n","<p-timeline [value]=\"events\" [align]=\"'alternate'\" styleClass=\"customized-timeline\">\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <p-skeleton shape=\"circle\" size=\"2rem\"></p-skeleton>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-event>\r\n <w-panel [reduced]=\"true\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"100px\"></p-skeleton>\r\n </w-panel>\r\n </ng-template>\r\n</p-timeline>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-sidebar',\r\n templateUrl: './w-skeleton-sidebar.component.html',\r\n styleUrls: ['./w-skeleton-sidebar.component.scss']\r\n})\r\nexport class WSkeletonSidebarComponent implements OnInit {\r\n @Input('itemsNumber') items: any = 6;\r\n\r\n ngOnInit(): void {\r\n this.items = Array(this.items);\r\n }\r\n}\r\n","<div *ngFor=\"let item of items\" class=\"w-view-text-content grid flex align-content-center\">\r\n <div class=\"col-4 body\">\r\n <p class=\"w-view-text-label-color\"> <p-skeleton></p-skeleton> </p>\r\n </div>\r\n <div class=\"col-8 body\">\r\n <p> <p-skeleton></p-skeleton> </p>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-input-generic',\r\n templateUrl: './w-skeleton-input-generic.component.html',\r\n styleUrls: ['./w-skeleton-input-generic.component.css']\r\n})\r\nexport class WSkeletonInputGenericComponent {\r\n @Input('height') height: any = '32px';\r\n @Input('width') width: any = '100%';\r\n @Input('hasAlign') hasAlign: any = true;\r\n @Input('label') label: any;\r\n}\r\n","<div *ngIf=\"hasAlign\" class=\"flex align-items-center w-height-label\">\r\n <label *ngIf=\"label != undefined\" for=\"input-skeleton-generic\">\r\n <p-skeleton height=\"16px\" width=\"70px\"></p-skeleton>\r\n </label>\r\n</div>\r\n<p-skeleton id='input-skeleton-generic' [height]=\"height\" width=\"width\"></p-skeleton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-list',\r\n templateUrl: './w-skeleton-list.component.html',\r\n styleUrls: ['./w-skeleton-list.component.css']\r\n})\r\nexport class WSkeletonListComponent {\r\n\r\n @Input('headerPanel') headerPanel: boolean = true;\r\n @Input('contentReduced') contentReduced: boolean = false;\r\n \r\n}\r\n","<w-body-container>\r\n <w-header-panel *ngIf=\"headerPanel\" class=\"col-12\">\r\n <div class=\"main-actions\">\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n </div>\r\n </w-header-panel>\r\n <w-panel class=\"col-12\" [reduced]=\"contentReduced\">\r\n <w-skeleton-input-generic class=\"col-12\" [hasAlign]=\"false\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" [hasAlign]=\"false\" height=\"300px\"></w-skeleton-input-generic>\r\n </w-panel>\r\n</w-body-container>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-iframe',\r\n templateUrl: './w-skeleton-iframe.component.html',\r\n styleUrls: ['./w-skeleton-iframe.component.css']\r\n})\r\nexport class WSkeletonIframeComponent {\r\n\r\n}\r\n","<p-skeleton width=\"100%\" height=\"4rem\" styleClass=\"mb-2\"></p-skeleton>\r\n<p-skeleton width=\"100%\" height=\"30rem\" styleClass=\"mb-2\"></p-skeleton>\r\n<p-skeleton width=\"100%\" height=\"4rem\"></p-skeleton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-edit',\r\n templateUrl: './w-skeleton-edit.component.html',\r\n styleUrls: ['./w-skeleton-edit.component.css']\r\n})\r\nexport class WSkeletonEditComponent {\r\n @Input('columnsNumber') columnsNumber: number = 3;\r\n columnsArray: any[] = new Array(this.columnsNumber);\r\n\r\n ngOnInit(): void{\r\n this.columnsArray.length = this.columnsNumber;\r\n }\r\n}\r\n","<w-body-container>\r\n <w-header-panel class=\"col-12\">\r\n <div class=\"main-actions\">\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n </div>\r\n </w-header-panel>\r\n <ng-container *ngFor=\"let item of columnsArray\">\r\n <w-panel *ngIf=\"columnsNumber == 1\" class=\"col-12\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n <w-panel *ngIf=\"columnsNumber == 3\" class=\"col-4\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n <w-panel *ngIf=\"columnsNumber == 2\" class=\"col-6\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n </ng-container>\r\n <w-panel class=\"col-12\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n</w-body-container>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-edit-product',\r\n templateUrl: './w-skeleton-edit-product.component.html',\r\n styleUrls: ['./w-skeleton-edit-product.component.css']\r\n})\r\nexport class WSkeletonEditProductComponent {\r\n\r\n}\r\n","<w-body-container>\r\n <w-header-panel class=\"col-12\">\r\n <div class=\"main-actions\" >\r\n <p-skeleton height=\"32px\" width=\"129px\"></p-skeleton>\r\n </div>\r\n </w-header-panel>\r\n\r\n <w-panel class=\"col-12 xl:col-8\">\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\" height=\"140px\"></w-skeleton-input-generic>\r\n\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n\r\n <w-skeleton-input-generic class=\"col-6 xl:col-4\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-4\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-4\" label=\"''\"></w-skeleton-input-generic>\r\n </w-panel>\r\n <w-panel class=\"col-12 xl:col-4\">\r\n <w-panel-grid class=\"col-12\">\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n </w-panel-grid>\r\n </w-panel>\r\n <w-panel class=\"col-12 xl:col-12\">\r\n <w-skeleton-input-generic class=\"col-4\" label=\"''\"></w-skeleton-input-generic>\r\n </w-panel>\r\n <w-panel class=\"col-12 xl:col-12\">\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\" height=\"140px\"></w-skeleton-input-generic>\r\n </w-panel>\r\n</w-body-container>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-powerbi-report',\r\n templateUrl: './w-skeleton-powerbi-report.component.html',\r\n styleUrls: ['./w-skeleton-powerbi-report.component.css']\r\n})\r\nexport class WSkeletonPowerbiReportComponent {\r\n\r\n}\r\n","<div class=\"flex justify-content-between flex-wrap mb-3\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <p-skeleton width=\"15rem\" height=\"3rem\"></p-skeleton>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <p-skeleton shape=\"circle\" size=\"3rem\" styleClass=\"mr-2\"></p-skeleton>\r\n <p-skeleton shape=\"circle\" size=\"3rem\" styleClass=\"mr-2\"></p-skeleton>\r\n </div>\r\n</div>\r\n<p-skeleton width=\"100%\" height=\"100vh\" styleClass=\"mb-2\"></p-skeleton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-query-builder',\r\n templateUrl: './w-skeleton-query-builder.component.html',\r\n styleUrls: ['./w-skeleton-query-builder.component.css']\r\n})\r\nexport class WSkeletonQueryBuilderComponent {\r\n @Input('rule') rule: string = \"Rule\";\r\n @Input('ruleSet') ruleSet: string = \"Rule set\";\r\n\r\n stateOptions: any[] = [{label: 'And', value: 'and'}, {label: 'Or', value: 'or'}];\r\n}\r\n","<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"flex justify-content-between flex-wrap card-container\">\r\n <div class=\"flex align-items-center justify-content-center m-2\">\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-chevron-down\" class=\"p-button-rounded p-button-text\"></button>\r\n <p-selectButton [options]=\"stateOptions\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center m-2\"></div>\r\n <div class=\"flex align-items-center justify-content-center m-2 gap-3\">\r\n <p-button [label]=\"rule\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\"></p-button>\r\n <p-button [label]=\"ruleSet\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 pl-6\">\r\n <div class=\"flex justify-content-between flex-wrap card-container wapp-query-builder-skeleton-rule pl-3\">\r\n <div class=\"flex align-items-center justify-content-center gap-3\">\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"4rem\"></p-skeleton></div>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center m-2\"></div>\r\n <div class=\"flex align-items-center justify-content-center m-2\">\r\n <p-button styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 pl-6\">\r\n <div class=\"flex justify-content-between flex-wrap card-container wapp-query-builder-skeleton-rule pl-3\">\r\n <div class=\"flex align-items-center justify-content-center gap-3\">\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"4rem\"></p-skeleton></div>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center m-2\"></div>\r\n <div class=\"flex align-items-center justify-content-center m-2\">\r\n <p-button styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-tree',\r\n templateUrl: './w-skeleton-tree.component.html',\r\n styleUrls: ['./w-skeleton-tree.component.css']\r\n})\r\nexport class WSkeletonTreeComponent implements OnInit {\r\n @Input('rowsToShow') rowsToShow: number = 4;\r\n @Input('rowHeight') rowHeight: string = '24px';\r\n rowsArray: any = [];\r\n\r\n constructor(){}\r\n\r\n ngOnInit(): void{\r\n this.rowsArray.length = this.rowsToShow-1;\r\n }\r\n}\r\n","<div class=\"border-round border-1 surface-border p-4 surface-card\">\r\n <ul class=\"m-0 p-0 list-none\">\r\n <li *ngFor=\"let row of rowsArray\">\r\n <p-skeleton width=\"100%\" height=\"{{rowHeight}}\" styleClass=\"mb-4\"></p-skeleton>\r\n </li>\r\n <li>\r\n <p-skeleton width=\"100%\" height=\"{{rowHeight}}\"></p-skeleton>\r\n </li>\r\n </ul>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-profile-sidebar',\r\n templateUrl: './w-skeleton-profile-sidebar.component.html',\r\n styleUrls: ['./w-skeleton-profile-sidebar.component.css']\r\n})\r\nexport class WSkeletonProfileSidebarComponent {\r\n\r\n}\r\n","<div class=\"flex justify-content-center flex-wrap\">\r\n <p-skeleton shape=\"circle\" size=\"4rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"flex justify-content-center flex-wrap\">\r\n <p-skeleton width=\"10rem\" styleClass=\"mb-3\"></p-skeleton>\r\n <p-skeleton width=\"20rem\" styleClass=\"mb-5\"></p-skeleton>\r\n </div>\r\n <div class=\"flex justify-content-center flex-wrap mb-3\">\r\n <p-skeleton width=\"20rem\" height=\"5rem\"></p-skeleton>\r\n </div>\r\n <div class=\"flex justify-content-center flex-wrap mb-3\">\r\n <p-skeleton width=\"20rem\" height=\"4rem\"></p-skeleton>\r\n </div>\r\n ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-user-profile-info-sidebar',\r\n templateUrl: './w-skeleton-user-profile-info-sidebar.component.html',\r\n styleUrls: ['./w-skeleton-user-profile-info-sidebar.component.css']\r\n})\r\nexport class WSkeletonUserProfileInfoSidebarComponent {\r\n\r\n}\r\n","<div class=\"flex mb-3\">\r\n <div class=\"mb-2 justify-content-center\">\r\n <div class=\"inline-block w-2rem h-8rem p-4 mx-5\">\r\n <p-skeleton shape=\"circle\" size=\"4rem\" styleClass=\"mr-2\"></p-skeleton>\r\n </div>\r\n <div class=\"inline-block w-25rem h-8rem p-4 ml-3\">\r\n <p-skeleton width=\"20rem\" styleClass=\"mb-2\"></p-skeleton>\r\n <p-skeleton width=\"15rem\" styleClass=\"mb-4\"></p-skeleton>\r\n <p-skeleton width=\"10rem\"></p-skeleton>\r\n </div>\r\n <div class=\"px-5 pb-2\">\r\n <div class=\"grid\">\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n ","import { Pipe, PipeTransform } from '@angular/core';\r\n \r\n@Pipe({\r\n name: 'wappSummary'\r\n})\r\nexport class WSummaryPipe implements PipeTransform {\r\n \r\n transform(value: string, maxLength: number) {\r\n return !value || value.length < maxLength ? null : value.substring(0, maxLength) + ' ... ';\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-chip',\r\n templateUrl: './w-chip.component.html',\r\n styleUrls: ['./w-chip.component.scss']\r\n})\r\nexport class WChipComponent implements OnInit {\r\n\r\n @Input('image') image!: string;\r\n @Input('icon') icon!: string;\r\n\r\n @Input('iconColor') iconColor: string = \"#1e293b\";\r\n @Input('iconHeight') iconHeight: number = 12;\r\n @Input('iconWidth') iconWidth: number = 12;\r\n @Input('backgroundColor') backgroundColor: string = \"#e2e8f0\";\r\n @Input('labelColor') labelColor: string = \"#1e293b\";\r\n \r\n @Input('wappIcon') wappIcon!: string;\r\n @Input('label') label!: string;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('tooltipPosition') tooltipPosition: string = 'bottom';\r\n \r\n @Output('click') click: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.elementRef.nativeElement.style.setProperty(\"--bgcolor\", this.backgroundColor)\r\n }\r\n\r\n chipClick() {\r\n this.click.emit(true);\r\n }\r\n}\r\n","<p-chip *ngIf=\"icon || image; else wappIconChip\" \r\n class=\"w-chip\"\r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n (click)=\"chipClick()\">\r\n <i *ngIf=\"icon; else imageChip\" class=\"p-chip-icon\" [class]=\"'pi ' + icon\" [style]=\"'color: '+iconColor\"></i>\r\n <ng-template #imageChip> <img [src]=\"image\"> </ng-template>\r\n <span class=\"p-chip-text\" [style]=\"'color:'+ labelColor\"> {{label}} </span>\r\n</p-chip>\r\n\r\n<ng-template #wappIconChip>\r\n <p-chip class=\"w-chip\"\r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n (click)=\"chipClick()\">\r\n <w-icons *ngIf=\"wappIcon\" \r\n [name]=\"wappIcon\" \r\n [color]=\"iconColor\" \r\n [height]=\"iconHeight\" \r\n [width]=\"iconWidth\" \r\n class=\"wapp-chip-icon\">\r\n </w-icons>\r\n <span class=\"p-chip-text\" [style]=\"'color:'+ labelColor\"> {{label}} </span>\r\n </p-chip>\r\n</ng-template>\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { IconType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-view-boolean',\r\n templateUrl: './w-view-boolean.component.html',\r\n styleUrls: ['./w-view-boolean.component.scss']\r\n})\r\nexport class WViewBooleanComponent implements OnInit {\r\n @Input('label') label!: string;\r\n @Input('value') value!: boolean | null;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('trueIcon') trueIcon: string = \"pi pi-circle-fill\";\r\n @Input('trueIconColor') trueIconColor: string = \"var(--w-success-main-color)\";\r\n @Input('falseIcon') falseIcon: string = \"pi pi-circle-fill\"; \r\n @Input('falseIconColor') falseIconColor: string = \"var(--w-error-main-color)\"; \r\n @Input('nullIcon') nullIcon: string = \"pi pi-minus-circle\"; \r\n @Input('nullIconColor') nullIconColor: string = \"var(--w-text-500)\"; \r\n @Input('layout') layout: string = 'horizontal';\r\n\r\n iconType: typeof IconType = IconType;\r\n\r\n ngOnInit(): void {}\r\n\r\n getIconType(icon: string){\r\n if(icon.includes(\"pi pi-\")){\r\n return IconType.pIcon;\r\n }else {\r\n return IconType.wIcon;\r\n }\r\n }\r\n}\r\n","<div *ngIf=\"layout == 'horizontal'; else vertical\" class=\"w-view-text-content grid flex align-content-center\">\r\n <div class=\"col-4 w-view-text-label\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n </div>\r\n <div class=\"col-8 w-view-text-value\">\r\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\r\n </div>\r\n</div>\r\n<ng-template #vertical>\r\n <div class=\"flex flex-column\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n <div class=\"flex input-label-gap-divider\"></div>\r\n <div class=\"flex w-view-text-value-vertical\">\r\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\r\n </div>\r\n <div class=\"flex spacingXSMDivider\"></div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #icons>\r\n <span *ngIf=\"value == true && getIconType(trueIcon) == iconType.pIcon\" [class]=\"trueIcon\" [style.color]=\"trueIconColor\"></span>\r\n <span *ngIf=\"value == false && getIconType(falseIcon) == iconType.pIcon\" [class]=\"falseIcon\" [style.color]=\"falseIconColor\"></span>\r\n <span *ngIf=\"value == null && getIconType(nullIcon) == iconType.pIcon\" [class]=\"nullIcon\" [style.color]=\"nullIconColor\"></span>\r\n <w-icons *ngIf=\"value == true && getIconType(trueIcon) == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"trueIcon\" [color]=\"trueIconColor\" [width]=\"12\" [height]=\"12\"></w-icons>\r\n <w-icons *ngIf=\"value == false && getIconType(falseIcon) == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"falseIcon\" [color]=\"falseIconColor\" [width]=\"12\" [height]=\"12\"></w-icons>\r\n <w-icons *ngIf=\"value == null && getIconType(nullIcon) == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"nullIcon\" [color]=\"nullIconColor\" [width]=\"12\" [height]=\"12\"></w-icons>\r\n</ng-template>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-form',\r\n templateUrl: './w-skeleton-form.component.html',\r\n styleUrls: ['./w-skeleton-form.component.css']\r\n})\r\nexport class WSkeletonFormComponent implements OnInit {\r\n @Input('rowsToShow') rowsToShow: number = 3;\r\n rowsArray: any = [];\r\n\r\n constructor(){}\r\n\r\n ngOnInit(): void{\r\n this.rowsArray.length = this.rowsToShow;\r\n }\r\n}\r\n","<w-panel-grid>\r\n <w-skeleton-input-generic *ngFor=\"let row of rowsArray\" class=\"col-12\" [label]=\"'Label'\"></w-skeleton-input-generic>\r\n</w-panel-grid>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-generic',\r\n templateUrl: './w-skeleton-generic.component.html',\r\n styleUrls: ['./w-skeleton-generic.component.css']\r\n})\r\nexport class WSkeletonGenericComponent {\r\n @Input('height') height: string = \"300px\"; \r\n}\r\n","<w-panel-grid>\r\n <w-skeleton-input-generic class=\"col-12\" [hasAlign]=\"false\" [height]=\"height\"></w-skeleton-input-generic>\r\n</w-panel-grid>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-section-gap-divider',\r\n templateUrl: './w-panel-section-gap-divider.component.html',\r\n styleUrls: ['./w-panel-section-gap-divider.component.scss']\r\n})\r\nexport class WPanelSectionGapDividerComponent {\r\n @Input('inGrid') inGrid: boolean = true;\r\n}\r\n","<div [ngClass]=\"{'w-panel-section-gap-divider-no-grid': inGrid == false, 'w-panel-section-gap-divider-grid': inGrid == true}\"></div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-input-vertical-gap-divider',\r\n templateUrl: './w-input-vertical-gap-divider.component.html',\r\n styleUrls: ['./w-input-vertical-gap-divider.component.scss']\r\n})\r\nexport class WInputVerticalGapDividerComponent {\r\n @Input('inGrid') inGrid: boolean = true;\r\n}\r\n","<div [ngClass]=\"{'w-input-vertical-gap-divider-no-grid': inGrid == false, 'w-input-vertical-gap-divider-grid': inGrid == true}\"></div>","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-button-week',\r\n templateUrl: './w-button-week.component.html',\r\n styleUrls: ['./w-button-week.component.scss'], \r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WButtonWeekComponent), \r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WButtonWeekComponent implements OnInit, ControlValueAccessor {\r\n value!: number[];\r\n @Input('translations') translations!: string[];\r\n @Output('onDayClick') onDayClick: EventEmitter<MouseEvent> = new EventEmitter(); \r\n \r\n weekDays: any[] = [\r\n { name: 'Mon', value: 1, disabled: true },\r\n { name: 'Tue', value: 2, disabled: true },\r\n { name: 'Wed', value: 3, disabled: true }, \r\n { name: 'Thu', value: 4, disabled: true },\r\n { name: 'Fri', value: 5, disabled: true },\r\n { name: 'Sat', value: 6, disabled: true }, \r\n { name: 'Sun', value: 7, disabled: true }\r\n ];\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: any) => { }\r\n onTouch = () => { }\r\n\r\n ngOnInit(): void {\r\n if(this.translations){\r\n if(this.translations.length == 7){\r\n this.weekDays = this.weekDays.map((day:any, index) => {\r\n return {\r\n name: this.translations[index], \r\n value: day.value, \r\n disabled: day.disabled\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value; \r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n onValueChanged(){\r\n this.onChange(this.value); \r\n this.onTouch(); \r\n }\r\n\r\n onButtonOptionClick(event: any){\r\n this.onDayClick.emit(event.option); \r\n }\r\n}\r\n","<p-selectButton class=\"w-button-week-small\" \r\n [options]=\"weekDays\" \r\n [(ngModel)]=\"value\" \r\n [multiple]=\"true\" \r\n optionLabel=\"name\" \r\n optionValue=\"value\" \r\n (onChange)=\"onValueChanged()\" \r\n (onOptionClick)=\"onButtonOptionClick($event)\" \r\n optionDisabled=\"disabled\">\r\n</p-selectButton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-view-badge',\r\n templateUrl: './w-view-badge.component.html',\r\n styleUrls: ['./w-view-badge.component.scss']\r\n})\r\nexport class WViewBadgeComponent {\r\n @Input('label') label!: string; \r\n @Input('tooltip') tooltip!: string; \r\n @Input('badgeLabel') badgeLabel!: string; \r\n @Input('badgeColor') badgeColor: string = \"default\";\r\n @Input('badgeTooltip') badgeTooltip!: string;\r\n @Input('badgeMaxWidthOverflow') badgeMaxWidthOverflow!: string;\r\n}\r\n","<div class=\"flex flex-column\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label>\r\n <div *ngIf=\"(label != undefined) || (label != '')\" class=\"flex w-view-badge-space\"></div>\r\n <div class=\"flex w-view-badge-badge align-items-center\">\r\n <w-badge [label]=\"badgeLabel\" [color]=\"badgeColor\" [tooltip]=\"badgeTooltip\" [maxWidthOverflow]=\"badgeMaxWidthOverflow\"></w-badge>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-edit-calendar-month',\r\n templateUrl: './w-edit-calendar-month.component.html',\r\n styleUrls: ['./w-edit-calendar-month.component.scss'], \r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditCalendarMonthComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditCalendarMonthComponent implements OnInit, ControlValueAccessor {\r\n @Input('label') label!: string; \r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription : string = \"Mensaje default required\";\r\n @Input('dataType') dataType: string = 'date';\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter(); \r\n\r\n ngModelValue: any;\r\n\r\n isDisabled: boolean = false;\r\n isTouched : boolean = false;\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n constructor(){} \r\n \r\n ngOnInit(): void {}\r\n\r\n writeValue(value: any) {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValue(value: any){\r\n this.onChangeEvent.emit(value);\r\n }\r\n\r\n onDateChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n}\r\n","<div class=\"w-edit-calendar-month-styles p-fluid field\">\r\n <w-input-label *ngIf=\"showLabel\" [label]=\"label\" [tooltip]=\"tooltip\" [required]=\"required\" [disabled]=\"disabled\"></w-input-label>\r\n <div *ngIf=\"formControl; else noNgControl\">\r\n <p-calendar class=\"w-edit-calendar-month\"\r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.hasError('required') && formControl.touched}\"\r\n [formControl]=\"formControl\" \r\n [required]=\"required\"\r\n (onSelect)=\"onValue($event)\" \r\n dateFormat=\"dd/MM\" \r\n [dataType]=\"dataType\">\r\n </p-calendar>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.touched\" class=\"p-error block\">{{requiredErrorDescription}}</small>\r\n </div>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-calendar-month-styles p-fluid field\">\r\n <p-calendar class=\"w-edit-calendar-month\"\r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onDateChanged()\" \r\n dateFormat=\"dd/MM\"\r\n [dataType]=\"dataType\">\r\n </p-calendar>\r\n </div>\r\n</ng-template>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n// PRIMENG\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { AvatarModule } from 'primeng/avatar';\r\nimport { AvatarGroupModule } from 'primeng/avatargroup';\r\nimport { TreeSelectModule } from 'primeng/treeselect';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { TableModule } from 'primeng/table';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { PaginatorModule } from 'primeng/paginator';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { ImageModule } from 'primeng/image';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TimelineModule } from 'primeng/timeline';\r\nimport { CardModule } from 'primeng/card';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { TieredMenuModule } from 'primeng/tieredmenu';\r\nimport { GalleriaModule } from 'primeng/galleria';\r\nimport { BlockUIModule } from 'primeng/blockui';\r\n\r\n//EXTERNAL\r\nimport { QueryBuilderComponent, QueryBuilderModule } from 'angular2-query-builder';\r\nimport { ImageCropperModule } from 'ngx-image-cropper';\r\nimport { PowerBIEmbedModule } from 'powerbi-client-angular';\r\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\r\n\r\n// WAPPING\r\nimport { WappComponentsComponent } from './wapp-components.component';\r\nimport { WEditInputTextComponent } from './edit/w-edit-input-text/w-edit-input-text.component';\r\nimport { WClipboardComponent } from './w-clipboard/w-clipboard.component';\r\nimport { WIconsComponent } from './icons/wapping-icons/w-icons.component';\r\nimport { WLogosComponent } from './logos/wapping-logos/w-logos.component';\r\nimport { WEditInputTextareaComponent } from './edit/w-edit-input-textarea/w-edit-input-textarea.component';\r\nimport { WEditSelectComponent } from './edit/w-edit-select/w-edit-select.component';\r\nimport { WButtonComponent } from './button/w-button/w-button.component';\r\nimport { WTableComponent } from './tables/w-table/w-table.component';\r\nimport { WTableLazyComponent } from './tables/w-table-lazy/w-table-lazy.component';\r\nimport { WContainerComponent } from './layout/w-container/w-container.component';\r\nimport { WNavbarComponent } from './layout/w-navbar/w-navbar.component';\r\nimport { WBodyComponent } from './layout/w-body/w-body.component';\r\nimport { WFooterComponent } from './layout/w-footer/w-footer.component';\r\nimport { ColorTextPipe } from './shared/pipes/color-text.pipe';\r\nimport { WEditMultiselectComponent } from './edit/w-edit-multiselect/w-edit-multiselect.component';\r\nimport { WEditTreeselectComponent } from './edit/w-edit-treeselect/w-edit-treeselect.component';\r\nimport { WPanelComponent } from './layout/w-panel/w-panel.component';\r\nimport { WBodyContainerComponent } from './layout/w-body-container/w-body-container.component';\r\nimport { WHeaderPanelComponent } from './layout/w-header-panel/w-header-panel.component';\r\nimport { WPanelTitleComponent } from './layout/w-panel-title/w-panel-title.component';\r\nimport { WEditInputNumberComponent } from './edit/w-edit-input-number/w-edit-input-number.component';\r\nimport { WInputSearchComponent } from './search/w-input-search/w-input-search.component';\r\nimport { WFilterPanelComponent } from './misc/w-filter-panel/w-filter-panel.component';\r\nimport { WListFieldComponent } from './misc/w-filter-panel/w-list-field/w-list-field.component';\r\nimport { WImageFileUploaderComponent } from './file/w-image-file-uploader/w-image-file-uploader.component';\r\nimport { WImageCropperComponent } from './file/w-image-cropper/w-image-cropper.component';\r\nimport { WPreviewImageComponent } from './file/w-preview-image/w-preview-image.component';\r\nimport { WPowerbiReportComponent } from './report/w-powerbi-report/w-powerbi-report.component';\r\nimport { WSidebarComponent } from './sidebar/w-sidebar/w-sidebar.component';\r\nimport { WButtonsFooterComponent } from './button/w-buttons-footer/w-buttons-footer.component';\r\nimport { WTreeTableComponent } from './tables/w-tree-table/w-tree-table.component';\r\nimport { WBodyGridComponent } from './layout/w-body-grid/w-body-grid.component';\r\nimport { WEditToggleComponent } from './edit/w-edit-toggle/w-edit-toggle.component';\r\nimport { WPanelGridComponent } from './layout/w-panel-grid/w-panel-grid.component';\r\nimport { WViewCardTitleTextComponent } from './view/w-view-card-title-text/w-view-card-title-text.component';\r\nimport { WAutocompleteSearchComponent } from './search/w-autocomplete-search/w-autocomplete-search.component';\r\nimport { WToggleButtonComponent } from './button/w-toggle-button/w-toggle-button.component';\r\nimport { WEditCheckboxComponent } from './edit/w-edit-checkbox/w-edit-checkbox.component';\r\nimport { WSelectButtonComponent } from './button/w-select-button/w-select-button.component';\r\nimport { WMapsComponent } from './maps/w-maps/w-maps.component';\r\nimport { WEditCalendarComponent } from './edit/w-edit-calendar/w-edit-calendar.component';\r\nimport { WRadioButtonComponent } from './button/w-radio-button/w-radio-button.component';\r\nimport { WWizardComponent } from './misc/w-wizard/w-wizard.component';\r\nimport { WTabviewComponent } from './tabview/w-tabview/w-tabview.component';\r\nimport { WTreeComponent } from './tree/w-tree/w-tree.component';\r\nimport { WBadgeComponent } from './misc/w-badge/w-badge.component';\r\nimport { WTimelineComponent } from './misc/w-timeline/w-timeline.component';\r\nimport { WPanelSubtitleComponent } from './layout/w-panel-subtitle/w-panel-subtitle.component';\r\nimport { WViewTextComponent } from './view/w-view-text/w-view-text.component';\r\nimport { WSkeletonTimelineComponent } from './shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component';\r\nimport { WSkeletonSidebarComponent } from './shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component';\r\nimport { WSkeletonListComponent } from './shared/skeletons/w-skeleton-list/w-skeleton-list.component';\r\nimport { WSkeletonInputGenericComponent } from './shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component';\r\nimport { WSkeletonIframeComponent } from './shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component';\r\nimport { WSkeletonEditComponent } from './shared/skeletons/w-skeleton-edit/w-skeleton-edit.component';\r\nimport { WSkeletonEditProductComponent } from './shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component';\r\nimport { WSkeletonPowerbiReportComponent } from './shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component';\r\nimport { WSkeletonQueryBuilderComponent } from './shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component';\r\nimport { WSkeletonTreeComponent } from './shared/skeletons/w-skeleton-tree/w-skeleton-tree.component';\r\nimport { WSkeletonProfileSidebarComponent } from './shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component';\r\nimport { WSkeletonUserProfileInfoSidebarComponent } from './shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component';\r\nimport { WDatePipe } from './shared/pipes/w-date.pipe';\r\nimport { WSummaryPipe } from './shared/pipes/w-summary.pipe';\r\nimport { WChipComponent } from './misc/w-chip/w-chip.component';\r\nimport { WViewBooleanComponent } from './view/w-view-boolean/w-view-boolean.component';\r\nimport { WSkeletonFormComponent } from './shared/skeletons/w-skeleton-form/w-skeleton-form.component';\r\nimport { WAddressFieldComponent } from './shared/components/w-address-field/w-address-field.component';\r\nimport { WSkeletonGenericComponent } from './shared/skeletons/w-skeleton-generic/w-skeleton-generic.component';\r\nimport { WInputLabelComponent } from './view/w-input-label/w-input-label.component';\r\nimport { WPanelSectionGapDividerComponent } from './layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component';\r\nimport { WInputVerticalGapDividerComponent } from './layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component';\r\nimport { WButtonWeekComponent } from './button/w-button-week/w-button-week.component';\r\nimport { WViewBadgeComponent } from './view/w-view-badge/w-view-badge.component';\r\nimport { WEditCalendarMonthComponent } from './edit/w-edit-calendar-month/w-edit-calendar-month.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n WappComponentsComponent,\r\n WEditInputTextComponent,\r\n WClipboardComponent,\r\n WIconsComponent,\r\n WLogosComponent,\r\n WEditInputTextareaComponent,\r\n WEditInputNumberComponent,\r\n WEditSelectComponent,\r\n WEditMultiselectComponent, \r\n WButtonComponent,\r\n WTableComponent,\r\n WTableLazyComponent,\r\n WContainerComponent,\r\n WNavbarComponent,\r\n WBodyComponent,\r\n WFooterComponent,\r\n ColorTextPipe,\r\n WDatePipe,\r\n WSummaryPipe,\r\n WEditTreeselectComponent,\r\n WPanelComponent,\r\n WBodyContainerComponent, \r\n WTableComponent, \r\n WHeaderPanelComponent, \r\n WPanelTitleComponent,\r\n WInputSearchComponent,\r\n WFilterPanelComponent,\r\n WListFieldComponent,\r\n WViewCardTitleTextComponent,\r\n WImageFileUploaderComponent,\r\n WImageCropperComponent,\r\n WPreviewImageComponent,\r\n WPowerbiReportComponent,\r\n WSidebarComponent,\r\n WButtonsFooterComponent,\r\n WTreeTableComponent,\r\n WBodyGridComponent,\r\n WEditToggleComponent,\r\n WPanelGridComponent,\r\n WAutocompleteSearchComponent,\r\n WToggleButtonComponent,\r\n WEditCheckboxComponent,\r\n WSelectButtonComponent,\r\n WMapsComponent,\r\n WEditCalendarComponent,\r\n WRadioButtonComponent,\r\n WWizardComponent,\r\n WTabviewComponent,\r\n WTreeComponent,\r\n WBadgeComponent,\r\n WTimelineComponent,\r\n WPanelSubtitleComponent,\r\n WViewTextComponent,\r\n WViewBooleanComponent, \r\n WChipComponent,\r\n WSkeletonTimelineComponent,\r\n WSkeletonSidebarComponent,\r\n WSkeletonListComponent, \r\n WSkeletonEditComponent,\r\n WSkeletonInputGenericComponent,\r\n WSkeletonIframeComponent,\r\n WSkeletonEditProductComponent,\r\n WSkeletonPowerbiReportComponent,\r\n WSkeletonQueryBuilderComponent,\r\n WSkeletonTreeComponent,\r\n WSkeletonProfileSidebarComponent,\r\n WSkeletonUserProfileInfoSidebarComponent,\r\n WSkeletonFormComponent,\r\n WAddressFieldComponent,\r\n WSkeletonGenericComponent,\r\n WInputLabelComponent, \r\n WPanelSectionGapDividerComponent,\r\n WInputVerticalGapDividerComponent,\r\n WButtonWeekComponent,\r\n WViewBadgeComponent,\r\n WEditCalendarMonthComponent\r\n ],\r\n imports: [\r\n InputTextModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n ButtonModule,\r\n HighlightModule,\r\n SidebarModule,\r\n BadgeModule,\r\n RadioButtonModule,\r\n InputSwitchModule,\r\n TooltipModule,\r\n RippleModule,\r\n SkeletonModule,\r\n DropdownModule,\r\n MultiSelectModule, \r\n AvatarModule,\r\n AvatarGroupModule,\r\n TreeSelectModule,\r\n InputNumberModule,\r\n InputTextareaModule,\r\n AutoCompleteModule,\r\n TableModule,\r\n MultiSelectModule,\r\n PaginatorModule,\r\n ConfirmPopupModule,\r\n CalendarModule,\r\n ToggleButtonModule,\r\n QueryBuilderModule,\r\n SelectButtonModule,\r\n ImageModule,\r\n FileUploadModule,\r\n ImageCropperModule,\r\n SliderModule,\r\n CarouselModule,\r\n DividerModule,\r\n PowerBIEmbedModule,\r\n TreeTableModule,\r\n MessagesModule,\r\n CheckboxModule,\r\n StepsModule,\r\n TabViewModule,\r\n TimelineModule,\r\n CardModule,\r\n ChipModule,\r\n TieredMenuModule, \r\n GalleriaModule,\r\n BlockUIModule\r\n ],\r\n exports: [\r\n WappComponentsComponent,\r\n WEditInputTextComponent,\r\n WClipboardComponent,\r\n HighlightModule,\r\n WIconsComponent,\r\n WLogosComponent,\r\n WEditInputTextareaComponent,\r\n WEditInputNumberComponent,\r\n WEditSelectComponent,\r\n WEditMultiselectComponent, \r\n WButtonComponent,\r\n WTableComponent,\r\n WTableLazyComponent,\r\n WContainerComponent,\r\n WNavbarComponent,\r\n WBodyComponent,\r\n WFooterComponent,\r\n ColorTextPipe,\r\n WDatePipe,\r\n WSummaryPipe,\r\n WEditTreeselectComponent,\r\n WPanelComponent, \r\n WBodyContainerComponent,\r\n WHeaderPanelComponent,\r\n WPanelTitleComponent,\r\n WPanelSubtitleComponent, \r\n WInputSearchComponent,\r\n QueryBuilderModule,\r\n QueryBuilderComponent,\r\n WFilterPanelComponent,\r\n ImageModule,\r\n FileUploadModule,\r\n SliderModule,\r\n WImageFileUploaderComponent, \r\n WImageCropperComponent, \r\n WPowerbiReportComponent,\r\n WSidebarComponent,\r\n WButtonsFooterComponent,\r\n WTreeTableComponent,\r\n WBodyGridComponent,\r\n WEditToggleComponent,\r\n WPanelGridComponent, \r\n ImageCropperModule,\r\n WAutocompleteSearchComponent,\r\n WToggleButtonComponent, \r\n WEditCheckboxComponent,\r\n WSelectButtonComponent,\r\n SelectButtonModule,\r\n WMapsComponent,\r\n WEditCalendarComponent,\r\n WRadioButtonComponent,\r\n WWizardComponent,\r\n StepsModule,\r\n WTabviewComponent,\r\n TabViewModule, \r\n WTreeComponent, \r\n TabViewModule,\r\n WBadgeComponent,\r\n WTimelineComponent,\r\n TimelineModule,\r\n CardModule,\r\n WViewTextComponent,\r\n WViewBooleanComponent, \r\n ChipModule,\r\n WChipComponent, \r\n WSkeletonTimelineComponent, \r\n WSkeletonSidebarComponent,\r\n WSkeletonListComponent,\r\n WSkeletonEditComponent, \r\n WSkeletonInputGenericComponent,\r\n WSkeletonIframeComponent, \r\n WSkeletonEditProductComponent,\r\n WSkeletonPowerbiReportComponent,\r\n WSkeletonQueryBuilderComponent,\r\n WSkeletonTreeComponent,\r\n WSkeletonProfileSidebarComponent,\r\n WSkeletonUserProfileInfoSidebarComponent,\r\n WSkeletonFormComponent, \r\n WAddressFieldComponent,\r\n TieredMenuModule, \r\n WSkeletonGenericComponent, \r\n GalleriaModule,\r\n BlockUIModule, \r\n WInputLabelComponent, \r\n WPanelSectionGapDividerComponent,\r\n WInputVerticalGapDividerComponent, \r\n WButtonWeekComponent, \r\n WViewBadgeComponent, \r\n WEditCalendarMonthComponent\r\n ],\r\n providers: [\r\n {\r\n provide: HIGHLIGHT_OPTIONS,\r\n useValue: {\r\n fullLibraryLoader: () => import('highlight.js')\r\n }\r\n }\r\n ]\r\n})\r\nexport class WappComponentsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormControlService {\r\n\r\n constructor() { }\r\n\r\n convertToFormControl(absCtrl: AbstractControl | null): FormControl {\r\n const ctrl = absCtrl as FormControl;\r\n return ctrl;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { TreeNode } from \"primeng/api\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TreeService {\r\n\r\n constructor() { }\r\n\r\n elementToTreeNodeMap<T>(elements: T[], getChildFn: (element: T) => T[] | null, parent?: TreeNode): TreeNode[] {\r\n return elements.map((element:any) => {\r\n let treeNode: TreeNode = {\r\n label: element.name,\r\n data: element,\r\n children: [],\r\n expanded: false,\r\n parent: parent\r\n };\r\n\r\n const childElements = getChildFn(element);\r\n\r\n if (childElements) {\r\n treeNode.children = this.elementToTreeNodeMap(childElements, getChildFn, treeNode);\r\n }\r\n\r\n return treeNode;\r\n });\r\n }\r\n}","/*\r\n * Public API Surface of wapp-components\r\n */\r\n\r\nexport * from './lib/wapp-components.service';\r\nexport * from './lib/wapp-components.component';\r\nexport * from './lib/wapp-components.module';\r\n\r\n//Components\r\nexport * from './lib/edit/w-edit-input-text/w-edit-input-text.component';\r\nexport * from './lib/edit/w-edit-input-textarea/w-edit-input-textarea.component';\r\nexport * from './lib/edit/w-edit-input-number/w-edit-input-number.component';\r\nexport * from './lib/search/w-input-search/w-input-search.component';\r\nexport * from './lib/search/w-autocomplete-search/w-autocomplete-search.component';\r\nexport * from './lib/edit/w-edit-select/w-edit-select.component';\r\nexport * from './lib/edit/w-edit-multiselect/w-edit-multiselect.component';\r\nexport * from './lib/edit/w-edit-treeselect/w-edit-treeselect.component'\r\nexport * from './lib/edit/w-edit-toggle/w-edit-toggle.component';\r\nexport * from './lib/edit/w-edit-checkbox/w-edit-checkbox.component';\r\nexport * from './lib/edit/w-edit-calendar/w-edit-calendar.component';\r\nexport * from './lib/button/w-button/w-button.component';\r\nexport * from './lib/button/w-radio-button/w-radio-button.component';\r\nexport * from './lib/button/w-select-button/w-select-button.component';\r\nexport * from './lib/tables/w-table/w-table.component';\r\nexport * from './lib/tables/w-table-lazy/w-table-lazy.component';\r\nexport * from './lib/misc/w-filter-panel/w-filter-panel.component';\r\nexport * from './lib/w-clipboard/w-clipboard.component';\r\nexport * from './lib/icons/wapping-icons/w-icons.component';\r\nexport * from './lib/logos/wapping-logos/w-logos.component';\r\nexport * from './lib/layout/w-container/w-container.component';\r\nexport * from './lib/layout/w-navbar/w-navbar.component';\r\nexport * from './lib/layout/w-body/w-body.component';\r\nexport * from './lib/layout/w-footer/w-footer.component';\r\nexport * from './lib/layout/w-panel/w-panel.component';\r\nexport * from './lib/layout/w-body-container/w-body-container.component';\r\nexport * from './lib/layout/w-header-panel/w-header-panel.component';\r\nexport * from './lib/layout/w-panel-title/w-panel-title.component';\r\nexport * from './lib/layout/w-panel-subtitle/w-panel-subtitle.component';\r\nexport * from './lib/file/w-image-cropper/w-image-cropper.component';\r\nexport * from './lib/file/w-preview-image/w-preview-image.component';\r\nexport * from './lib/file/w-image-file-uploader/w-image-file-uploader.component';\r\nexport * from './lib/report/w-powerbi-report/w-powerbi-report.component';\r\nexport * from './lib/sidebar/w-sidebar/w-sidebar.component';\r\nexport * from './lib/button/w-buttons-footer/w-buttons-footer.component';\r\nexport * from './lib/tables/w-tree-table/w-tree-table.component';\r\nexport * from './lib/layout/w-body-grid/w-body-grid.component';\r\nexport * from './lib/layout/w-panel-grid/w-panel-grid.component';\r\nexport * from './lib/button/w-toggle-button/w-toggle-button.component';\r\nexport * from './lib/misc/w-wizard/w-wizard.component';\r\nexport * from './lib/maps/w-maps/w-maps.component';\r\nexport * from './lib/tabview/w-tabview/w-tabview.component';\r\nexport * from './lib/tree/w-tree/w-tree.component';\r\nexport * from './lib/misc/w-badge/w-badge.component';\r\nexport * from './lib/misc/w-timeline/w-timeline.component';\r\nexport * from './lib/misc/w-chip/w-chip.component';\r\nexport * from './lib/view/w-view-text/w-view-text.component';\r\nexport * from './lib/view/w-view-boolean/w-view-boolean.component';\r\nexport * from './lib/shared/components/w-address-field/w-address-field.component';\r\nexport * from './lib/view/w-input-label/w-input-label.component'; \r\nexport * from './lib/layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component'; \r\nexport * from './lib/layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component'; \r\nexport * from './lib/button/w-button-week/w-button-week.component'; \r\nexport * from './lib/view/w-view-badge/w-view-badge.component'; \r\nexport * from './lib/edit/w-edit-calendar-month/w-edit-calendar-month.component'; \r\n\r\n//Skeletons \r\nexport * from './lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component'; \r\nexport * from './lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component'; \r\nexport * from './lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component'; \r\n\r\n//Pipes\r\nexport * from './lib/shared/pipes/color-text.pipe';\r\nexport * from './lib/shared/pipes/w-date.pipe';\r\nexport * from './lib/shared/pipes/w-summary.pipe';\r\n\r\n//Services\r\nexport * from './lib/shared/services/form-control.service';\r\nexport * from './lib/shared/services/modal.service';\r\nexport * from './lib/shared/services/tree.service';\r\nexport * from './lib/shared/services/session-storage.service';\r\n\r\n///models\r\nexport * from './lib/shared/models/enums.model';\r\nexport * from './lib/shared/models/filter.model';\r\nexport * from './lib/shared/models/lazy-element-query-request.model';\r\nexport * from './lib/shared/models/wapp-table-lazy-loading.model';\r\nexport * from './lib/shared/models/wapp-table.model';\r\nexport * from './lib/shared/models/filter-panel/filter-panel-translations.model';\r\nexport * from './lib/shared/models/image-b64.model';\r\nexport * from './lib/shared/models/w-file-b64.model';\r\nexport * from './lib/shared/models/w-image-file-uploader-config.model';\r\nexport * from './lib/shared/models/w-image-cropper-data.model';\r\nexport * from './lib/shared/models/w-address.model'\r\nexport * from './lib/shared/models/filter-panel/query-results.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4.WInputLabelComponent","i3.WButtonComponent","i4","i5","i6","i8","i9","i10","i11","i12.WBadgeComponent","i13.WDatePipe","i12","i13.WBadgeComponent","i14.WDatePipe","i4.WButtonComponent","i5.WContainerComponent","i3.WIconsComponent","i4.WLogosComponent","i4.WPanelTitleComponent","i5.WPanelSubtitleComponent","i1.ApiService","i4.WEditSelectComponent","i5.WEditMultiselectComponent","i2.ApiService","i3.SessionStorageService","i14.WButtonComponent","i15.WListFieldComponent","i16.WViewCardTitleTextComponent","i17.WToggleButtonComponent","i18.WSelectButtonComponent","i19.WEditCalendarComponent","i20.WAddressFieldComponent","i2.ModalService","i7","i9.WButtonComponent","i9.WIconsComponent","i10.WButtonComponent","i11.WInputLabelComponent","i4.WIconsComponent","i11.WBadgeComponent","i12.WDatePipe","i5.WIconsComponent","i6.WInputLabelComponent","i5.WPanelComponent","i6.WBodyGridComponent","i5.WButtonComponent","i2.WInputLabelComponent","i4.WPanelComponent","i3.WPanelComponent","i4.WBodyContainerComponent","i5.WHeaderPanelComponent","i6.WSkeletonInputGenericComponent","i2.WPanelComponent","i3.WBodyContainerComponent","i4.WHeaderPanelComponent","i5.WPanelGridComponent","i2.WIconsComponent","i3.WInputLabelComponent","i2.WPanelGridComponent","i3.WSkeletonInputGenericComponent","i1.WPanelGridComponent","i2.WSkeletonInputGenericComponent","i2.WBadgeComponent"],"mappings":"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"}
1
+ {"version":3,"file":"ngx-wapp-components.mjs","sources":["../../../projects/wapp-components/src/lib/wapp-components.service.ts","../../../projects/wapp-components/src/lib/wapp-components.component.ts","../../../projects/wapp-components/src/lib/shared/enums/enum.ts","../../../projects/wapp-components/src/lib/view/w-input-label/w-input-label.component.ts","../../../projects/wapp-components/src/lib/view/w-input-label/w-input-label.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-input-text/w-edit-input-text.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-text/w-edit-input-text.component.html","../../../projects/wapp-components/src/lib/button/w-button/w-button.component.ts","../../../projects/wapp-components/src/lib/button/w-button/w-button.component.html","../../../projects/wapp-components/src/lib/w-clipboard/w-clipboard.component.ts","../../../projects/wapp-components/src/lib/w-clipboard/w-clipboard.component.html","../../../projects/wapp-components/src/lib/icons/icons.ts","../../../projects/wapp-components/src/lib/icons/wapping-icons/w-icons.component.ts","../../../projects/wapp-components/src/lib/logos/logos.ts","../../../projects/wapp-components/src/lib/logos/wapping-logos/w-logos.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-textarea/w-edit-input-textarea.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-select/w-edit-select.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-select/w-edit-select.component.html","../../../projects/wapp-components/src/lib/shared/models/enums.model.ts","../../../projects/wapp-components/src/lib/misc/w-badge/w-badge.component.ts","../../../projects/wapp-components/src/lib/misc/w-badge/w-badge.component.html","../../../projects/wapp-components/src/lib/shared/pipes/w-date.pipe.ts","../../../projects/wapp-components/src/lib/tables/w-table/w-table.component.ts","../../../projects/wapp-components/src/lib/tables/w-table/w-table.component.html","../../../projects/wapp-components/src/lib/tables/w-table-lazy/w-table-lazy.component.ts","../../../projects/wapp-components/src/lib/tables/w-table-lazy/w-table-lazy.component.html","../../../projects/wapp-components/src/lib/layout/w-container/w-container.component.ts","../../../projects/wapp-components/src/lib/layout/w-navbar/w-navbar.component.ts","../../../projects/wapp-components/src/lib/layout/w-navbar/w-navbar.component.html","../../../projects/wapp-components/src/lib/layout/w-body/w-body.component.ts","../../../projects/wapp-components/src/lib/layout/w-body/w-body.component.html","../../../projects/wapp-components/src/lib/layout/w-footer/w-footer.component.ts","../../../projects/wapp-components/src/lib/layout/w-footer/w-footer.component.html","../../../projects/wapp-components/src/lib/shared/pipes/color-text.pipe.ts","../../../projects/wapp-components/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-multiselect/w-edit-multiselect.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-treeselect/w-edit-treeselect.component.html","../../../projects/wapp-components/src/lib/layout/w-panel-title/w-panel-title.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel-title/w-panel-title.component.html","../../../projects/wapp-components/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel-subtitle/w-panel-subtitle.component.html","../../../projects/wapp-components/src/lib/layout/w-panel/w-panel.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel/w-panel.component.html","../../../projects/wapp-components/src/lib/layout/w-body-container/w-body-container.component.ts","../../../projects/wapp-components/src/lib/layout/w-body-container/w-body-container.component.html","../../../projects/wapp-components/src/lib/layout/w-header-panel/w-header-panel.component.ts","../../../projects/wapp-components/src/lib/layout/w-header-panel/w-header-panel.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-input-number/w-edit-input-number.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-input-number/w-edit-input-number.component.html","../../../projects/wapp-components/src/lib/search/w-input-search/w-input-search.component.ts","../../../projects/wapp-components/src/lib/search/w-input-search/w-input-search.component.html","../../../projects/wapp-components/src/lib/shared/models/filter-panel/query-results.model.ts","../../../projects/wapp-components/src/lib/shared/service/api/api.service.ts","../../../projects/wapp-components/src/lib/shared/services/session-storage.service.ts","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.ts","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-list-field/w-list-field.component.html","../../../projects/wapp-components/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.ts","../../../projects/wapp-components/src/lib/view/w-view-card-title-text/w-view-card-title-text.component.html","../../../projects/wapp-components/src/lib/button/w-toggle-button/w-toggle-button.component.ts","../../../projects/wapp-components/src/lib/button/w-toggle-button/w-toggle-button.component.html","../../../projects/wapp-components/src/lib/button/w-select-button/w-select-button.component.ts","../../../projects/wapp-components/src/lib/button/w-select-button/w-select-button.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-calendar/w-edit-calendar.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-calendar/w-edit-calendar.component.html","../../../projects/wapp-components/src/lib/shared/components/w-address-field/w-address-field.component.ts","../../../projects/wapp-components/src/lib/shared/components/w-address-field/w-address-field.component.html","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-filter-panel.component.ts","../../../projects/wapp-components/src/lib/misc/w-filter-panel/w-filter-panel.component.html","../../../projects/wapp-components/src/lib/file/w-preview-image/w-preview-image.component.ts","../../../projects/wapp-components/src/lib/file/w-preview-image/w-preview-image.component.html","../../../projects/wapp-components/src/lib/shared/services/modal.service.ts","../../../projects/wapp-components/src/lib/file/w-image-cropper/w-image-cropper.component.ts","../../../projects/wapp-components/src/lib/file/w-image-cropper/w-image-cropper.component.html","../../../projects/wapp-components/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.ts","../../../projects/wapp-components/src/lib/file/w-image-file-uploader/w-image-file-uploader.component.html","../../../projects/wapp-components/src/lib/report/w-powerbi-report/w-powerbi-report.component.ts","../../../projects/wapp-components/src/lib/report/w-powerbi-report/w-powerbi-report.component.html","../../../projects/wapp-components/src/lib/sidebar/w-sidebar/w-sidebar.component.ts","../../../projects/wapp-components/src/lib/sidebar/w-sidebar/w-sidebar.component.html","../../../projects/wapp-components/src/lib/button/w-buttons-footer/w-buttons-footer.component.ts","../../../projects/wapp-components/src/lib/button/w-buttons-footer/w-buttons-footer.component.html","../../../projects/wapp-components/src/lib/tables/w-tree-table/w-tree-table.component.ts","../../../projects/wapp-components/src/lib/tables/w-tree-table/w-tree-table.component.html","../../../projects/wapp-components/src/lib/layout/w-body-grid/w-body-grid.component.ts","../../../projects/wapp-components/src/lib/layout/w-body-grid/w-body-grid.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-toggle/w-edit-toggle.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-toggle/w-edit-toggle.component.html","../../../projects/wapp-components/src/lib/layout/w-panel-grid/w-panel-grid.component.ts","../../../projects/wapp-components/src/lib/layout/w-panel-grid/w-panel-grid.component.html","../../../projects/wapp-components/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.ts","../../../projects/wapp-components/src/lib/search/w-autocomplete-search/w-autocomplete-search.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-checkbox/w-edit-checkbox.component.html","../../../projects/wapp-components/src/lib/maps/w-maps/w-maps.component.ts","../../../projects/wapp-components/src/lib/maps/w-maps/w-maps.component.html","../../../projects/wapp-components/src/lib/button/w-radio-button/w-radio-button.component.ts","../../../projects/wapp-components/src/lib/button/w-radio-button/w-radio-button.component.html","../../../projects/wapp-components/src/lib/misc/w-wizard/w-wizard.component.ts","../../../projects/wapp-components/src/lib/misc/w-wizard/w-wizard.component.html","../../../projects/wapp-components/src/lib/tabview/w-tabview/w-tabview.component.ts","../../../projects/wapp-components/src/lib/tabview/w-tabview/w-tabview.component.html","../../../projects/wapp-components/src/lib/tree/w-tree/w-tree.component.ts","../../../projects/wapp-components/src/lib/tree/w-tree/w-tree.component.html","../../../projects/wapp-components/src/lib/misc/w-timeline/w-timeline.component.ts","../../../projects/wapp-components/src/lib/misc/w-timeline/w-timeline.component.html","../../../projects/wapp-components/src/lib/view/w-view-text/w-view-text.component.ts","../../../projects/wapp-components/src/lib/view/w-view-text/w-view-text.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component.html","../../../projects/wapp-components/src/lib/shared/pipes/w-summary.pipe.ts","../../../projects/wapp-components/src/lib/misc/w-chip/w-chip.component.ts","../../../projects/wapp-components/src/lib/misc/w-chip/w-chip.component.html","../../../projects/wapp-components/src/lib/view/w-view-boolean/w-view-boolean.component.ts","../../../projects/wapp-components/src/lib/view/w-view-boolean/w-view-boolean.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component.html","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.ts","../../../projects/wapp-components/src/lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component.html","../../../projects/wapp-components/src/lib/layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component.ts","../../../projects/wapp-components/src/lib/layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component.html","../../../projects/wapp-components/src/lib/layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component.ts","../../../projects/wapp-components/src/lib/layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component.html","../../../projects/wapp-components/src/lib/button/w-button-week/w-button-week.component.ts","../../../projects/wapp-components/src/lib/button/w-button-week/w-button-week.component.html","../../../projects/wapp-components/src/lib/view/w-view-badge/w-view-badge.component.ts","../../../projects/wapp-components/src/lib/view/w-view-badge/w-view-badge.component.html","../../../projects/wapp-components/src/lib/edit/w-edit-calendar-month/w-edit-calendar-month.component.ts","../../../projects/wapp-components/src/lib/edit/w-edit-calendar-month/w-edit-calendar-month.component.html","../../../projects/wapp-components/src/lib/wapp-components.module.ts","../../../projects/wapp-components/src/lib/shared/services/form-control.service.ts","../../../projects/wapp-components/src/lib/shared/services/tree.service.ts","../../../projects/wapp-components/src/public-api.ts","../../../projects/wapp-components/src/ngx-wapp-components.ts"],"sourcesContent":["import { Injectable } from '@angular/core';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class WappComponentsService {\r\n\r\n constructor() { }\r\n}\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'lib-wapp-components',\r\n template: `\r\n <p>\r\n wapp-components works!\r\n </p>\r\n `,\r\n styles: [\r\n ]\r\n})\r\nexport class WappComponentsComponent {\r\n\r\n}\r\n","export enum SizeType {\r\n small = 0,\r\n medium = 1,\r\n large = 2\r\n}\r\n\r\nexport enum ButtonType{\r\n primary = 0,\r\n secondary = 1,\r\n tertiary = 2,\r\n text = 3\r\n}\r\n\r\nexport enum IconType{\r\n pIcon = 0, \r\n urlIcon = 1, \r\n wIcon = 2\r\n}","import { Component, Input, OnInit } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-input-label',\r\n templateUrl: './w-input-label.component.html',\r\n styleUrls: ['./w-input-label.component.scss']\r\n})\r\nexport class WInputLabelComponent implements OnInit {\r\n @Input('label') label!: string; \r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false; \r\n @Input('tooltip') tooltip!: string; \r\n @Input('size') size: string = \"small\"; \r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"label != undefined && label.length > 0\" class=\"w-input-label flex\">\r\n <div class=\"flex\">\r\n <div [ngClass]=\"{'w-input-label-small-label': getSizeName(sizeType.small) == size && !disabled, \r\n 'w-input-label-small-label-disabled': getSizeName(sizeType.small) == size && disabled, \r\n 'w-input-label-medium-label': getSizeName(sizeType.medium) == size && !disabled, \r\n 'w-input-label-medium-label-disabled': getSizeName(sizeType.medium) == size && disabled}\">\r\n {{label}}\r\n <span *ngIf=\"required\" class=\"required-symbol\">*</span>\r\n </div>\r\n </div>\r\n <div *ngIf=\"tooltip\" [pTooltip]=\"tooltip\" tooltipPosition=\"right\" class=\"w-input-label-icon-help-container\">\r\n <svg class=\"w-input-label-icon-help\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path id=\"Vector\" d=\"M6 0C2.7 0 0 2.7 0 6C0 9.3 2.7 12 6 12C9.3 12 12 9.3 12 6C12 2.7 9.3 0 6 0ZM6 9.75C5.586 9.75 5.25 9.414 5.25 9C5.25 8.586 5.586 8.25 6 8.25C6.414 8.25 6.75 8.586 6.75 9C6.75 9.414 6.414 9.75 6 9.75ZM7.21725 6.069C6.8445 6.38925 6.75 6.49725 6.75 6.75C6.75 7.16475 6.414 7.5 6 7.5C5.586 7.5 5.25 7.16475 5.25 6.75C5.25 5.7795 5.84625 5.268 6.2415 4.92975C6.61425 4.611 6.70875 4.50225 6.70875 4.25025C6.70875 4.113 6.70875 3.75 6.00075 3.75C5.67375 3.768 5.325 3.918 5.05725 4.17075C4.7565 4.45425 4.281 4.44 3.99675 4.14C3.7125 3.8385 3.726 3.36375 4.0275 3.0795C4.554 2.58375 5.24025 2.289 5.96175 2.2515H5.964C7.323 2.2515 8.20875 3.05475 8.20875 4.251C8.20875 5.22075 7.6125 5.73225 7.218 6.06975L7.21725 6.069Z\" fill=\"#9AA0A6\"/>\r\n </svg> \r\n </div>\r\n</div>\r\n<div *ngIf=\"label != undefined && label == ''\" class=\"w-input-no-label-height\"></div>\r\n","import { Component, EventEmitter, Input, OnInit, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { NgControl, FormControlName, NG_VALUE_ACCESSOR, FormControl, ControlValueAccessor } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-input-text',\r\n templateUrl: './w-edit-input-text.component.html',\r\n styleUrls: ['./w-edit-input-text.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditInputTextComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditInputTextComponent implements ControlValueAccessor {\r\n value: string = \"\";\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n @Input('successMessage') successMessage: string = \"\";\r\n\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Data is required\";\r\n\r\n @Input('disabled') disabled: boolean = false;\r\n\r\n @Input('pattern') pattern: string = \"\";\r\n @Input('patternErrorDescription') patternErrorDescription: string = \"Pattern error\";\r\n\r\n @Input('minlength') minlength!: number;\r\n @Input('minlengthErrorDescription') minlengthErrorDescription: string = \"Min length error\";\r\n\r\n @Input('maxlength') maxlength!: number;\r\n @Input('maxlengthErrorDescription') maxlengthErrorDescription: string = \"Max length error\";\r\n\r\n @Input('autofocus') autofocus: boolean = false;\r\n @Input('inputIcon') inputIcon: string = '';\r\n @Input('size') size: string = 'small';\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n\r\n @Input('tooltip') tooltip!: string;\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n onChangeForm(event: any){\r\n console.log(event);\r\n\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-input-text-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <span *ngIf=\"getSizeName(sizeType.medium) == size;\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-medium-icon pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n [ngClass]=\"{'w-edit-input-text-medium-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-text-medium-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-text-medium-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n class=\"w-edit-input-text-medium-height w-edit-input-text-medium\" id=\"w-textarea\" [placeholder]=\"placeholder\" [required]=\"required\"\r\n [formControl]=\"formControl\">\r\n </span>\r\n <span *ngIf=\"getSizeName(sizeType.small) == size;\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-small-icon pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n [ngClass]=\"{'w-edit-input-text-small-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-text-small-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-text-small-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n minlength=\"{{minlength}}\" maxlength=\"{{maxlength}}\"\r\n class=\"w-edit-input-text-small\" id=\"w-textarea\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [formControl]=\"formControl\">\r\n </span>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\"\r\n class=\"w-alert-message-height w-input-success-alert-text p-error block\">{{successMessage}}</small> -->\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('maxlength') && formControl.touched \"\r\n class=\"w-alert-message w-input-warning-alert-text p-error block\">{{maxlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('minlength') && formControl.touched \"\r\n class=\"w-alert-message w-input-warning-alert-text p-error block\">{{minlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.hasError('required') && formControl.dirty\"\r\n class=\"w-alert-message w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-input-text-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <span *ngIf=\"getSizeName(sizeType.medium) == size\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-medium-icon pi {{inputIcon}}\"></i>\r\n <input pInputText minlength=\"{{minlength}}\" maxlength=\"{{maxlength}}\" [required]=\"required\"\r\n class=\"w-edit-input-text-medium-height w-edit-input-text-medium\" id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [(ngModel)]=\"value\" (input)=\"onValueChanged()\" [disabled]=\"disabled\"\r\n [autofocus]=\"autofocus\">\r\n </span>\r\n <span *ngIf=\"getSizeName(sizeType.small) == size\" [ngClass]=\"{'p-input-icon-right' : inputIcon != ''}\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"w-edit-input-text-small-icon pi {{inputIcon}}\"></i>\r\n <input pInputText minlength=\"{{minlength}}\" maxlength=\"{{maxlength}}\" [required]=\"required\"\r\n class=\"w-edit-input-text-small\" id=\"w-textarea\"\r\n [placeholder]=\"placeholder\" [required]=\"required\" [(ngModel)]=\"value\" (input)=\"onValueChanged()\"\r\n [disabled]=\"disabled\" [autofocus]=\"autofocus\">\r\n </span>\r\n </div>\r\n</ng-template>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { ButtonType, SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-button',\r\n templateUrl: './w-button.component.html',\r\n styleUrls: ['./w-button.component.scss']\r\n})\r\nexport class WButtonComponent implements OnInit{\r\n @Input('type') type: string = \"primary\";\r\n @Input('label') label!: string;\r\n @Input('size') size: string = \"small\";\r\n @Input('icon') icon: string = \"\";\r\n @Input('tooltipPosition') tooltipPosition: string = \"bottom\";\r\n @Input('tooltip') tooltip: string = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('loading') loading: boolean = false;\r\n @Output('onClick') onClick: EventEmitter<MouseEvent> = new EventEmitter();\r\n @Input('buttonClass') buttonClass: string = \"\";\r\n \r\n sizeType: typeof SizeType = SizeType;\r\n buttonType: typeof ButtonType = ButtonType;\r\n\r\n ngOnInit(): void {}\r\n\r\n onButtonClick(event: MouseEvent){\r\n this.onClick.emit(event);\r\n }\r\n \r\n getIcon(): string{\r\n return this.icon ? \"pi \" + this.icon: \"\";\r\n }\r\n \r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n getButtonTypeName(value: number): string{\r\n return ButtonType[value];\r\n }\r\n}\r\n","<ng-container *ngIf=\"type == getButtonTypeName(buttonType.primary); else buttonSecondary\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-small border-none {{buttonClass}}\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-medium border-none {{buttonClass}}\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"w-button-large border-none {{buttonClass}}\" \r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n</ng-container>\r\n<ng-template #buttonSecondary>\r\n <ng-container *ngIf=\"type == getButtonTypeName(buttonType.secondary) || type == getButtonTypeName(buttonType.tertiary); else buttonText\">\r\n <p-button *ngIf=\"size == getSizeName(sizeType.small)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-small-tertiary' : 'w-button-small p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.medium)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-medium-tertiary' : 'w-button-medium p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n <p-button *ngIf=\"size == getSizeName(sizeType.large)\" \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n [styleClass]=\"'p-button-outlined ' + (type == getButtonTypeName(buttonType.tertiary) ? 'w-button-large-tertiary' : 'w-button-large p-button-outlined')\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-container>\r\n <ng-template #buttonText>\r\n <p-button \r\n label=\"{{label}}\" \r\n [icon]=\"getIcon()\" \r\n iconPos=\"right\" \r\n styleClass=\"p-button-text w-button-text-small {{buttonClass}}\"\r\n [disabled]=\"disabled\"\r\n (onClick)=\"onButtonClick($event)\"\r\n [loading]=\"loading\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-button>\r\n </ng-template>\r\n</ng-template>\r\n","import { Component, Input } from '@angular/core';\r\nimport { Clipboard } from '@angular/cdk/clipboard';\r\n\r\n@Component({\r\n selector: 'w-clipboard',\r\n templateUrl: './w-clipboard.component.html',\r\n styleUrls: ['./w-clipboard.component.css']\r\n})\r\nexport class WClipboardComponent {\r\n\r\n @Input('codeText') codeText!: string; \r\n @Input('languages') languages!: string[]; \r\n icon: string = 'pi pi-copy';\r\n\r\n constructor(private clipboard: Clipboard) {}\r\n\r\n copyToClipboard(){\r\n const successful = this.clipboard.copy(this.codeText);\r\n if(successful){\r\n this.icon = 'pi-check'\r\n setTimeout(() => {\r\n this.icon = 'pi-copy';\r\n }, 1500)\r\n }else{\r\n this.icon = 'pi-times'\r\n setTimeout(() => {\r\n this.icon = 'pi-copy';\r\n }, 1500)\r\n }\r\n }\r\n\r\n}\r\n","<div class=\"card relative\">\r\n <div class=\"absolute top-0 right-0 pr-3 pt-3\">\r\n <w-button [icon]=\"icon\" type=\"secondary\"\r\n (onClick)=\"copyToClipboard()\">\r\n </w-button>\r\n </div>\r\n <pre id=\"text\" class=\"-mb-2 ml-3\">\r\n <code [highlight]=\"codeText\" [languages]=\"languages\"></code>\r\n </pre>\r\n</div>","export const wappingIcons: any = {\r\n //General\r\n translation: '<svg id=\"translation\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M13 6V2.773C13 2.30277 12.8132 1.8518 12.4807 1.5193C12.1482 1.1868 11.6972 1 11.227 1H2.773C2.30277 1 1.8518 1.1868 1.5193 1.5193C1.1868 1.8518 1 2.30277 1 2.773V10.227C1 10.6972 1.1868 11.1482 1.5193 11.4807C1.8518 11.8132 2.30277 12 2.773 12H3V14L6 12H8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.2859 9H12.7139C12.2438 9.01644 11.7994 9.21862 11.4781 9.56223C11.1568 9.90583 10.9848 10.3628 10.9999 10.833V18.167C10.9848 18.6372 11.1568 19.0942 11.4781 19.4378C11.7994 19.7814 12.2438 19.9836 12.7139 20H17.9999L20.9999 22V20H21.2859C21.7561 19.9836 22.2005 19.7814 22.5218 19.4378C22.8431 19.0942 23.0151 18.6372 22.9999 18.167V10.833C23.0151 10.3628 22.8431 9.90583 22.5218 9.56223C22.2005 9.21862 21.7561 9.01644 21.2859 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10.2871 5.11299C9.97914 5.08499 9.70614 5.07099 9.28714 5.07099C9.18785 5.54042 9.02784 5.99491 8.81114 6.42299C8.60386 6.83394 8.34254 7.21532 8.03414 7.55699C8.77304 7.98948 9.58755 8.27728 10.4341 8.40499C10.1343 8.79359 9.90024 9.22869 9.74114 9.69299C8.78725 9.42381 7.88678 8.99252 7.07914 8.41799C6.23098 9.00461 5.28823 9.44097 4.29214 9.70799C4.1418 9.25859 3.91404 8.83894 3.61914 8.46799C4.49496 8.30917 5.33629 7.99849 6.10514 7.54999C5.75159 7.16324 5.44912 6.73273 5.20514 6.26899C5.00264 5.88698 4.84075 5.48478 4.72214 5.06899C4.30914 5.06899 4.07014 5.08299 3.72214 5.11099V3.84499C4.05955 3.88126 4.39881 3.89762 4.73814 3.89399H6.28014V3.47399C6.28156 3.32825 6.26748 3.18276 6.23814 3.03999H7.64614C7.61797 3.18058 7.6039 3.32362 7.60414 3.46699V3.89399H9.27114C9.61048 3.89778 9.94974 3.88141 10.2871 3.84499V5.11299ZM6.06314 5.07099C6.24411 5.71024 6.58123 6.29444 7.04414 6.77099C7.47028 6.2843 7.7707 5.70062 7.91914 5.07099H6.06314Z\" fill=\"#5F6368\"/><path d=\"M18.3689 17.451L18.0519 16.251H15.9649L15.6399 17.451H13.7329L15.8289 11H18.1449L20.2669 17.451H18.3689ZM17.6919 14.823L17.4149 13.769C17.3482 13.5343 17.2699 13.231 17.1799 12.859C17.0899 12.487 17.0292 12.2203 16.9979 12.059C16.9709 12.208 16.9189 12.459 16.8419 12.797C16.7649 13.135 16.5919 13.815 16.3249 14.823H17.6919Z\" fill=\"#5F6368\"/></svg>',\r\n globe: '<svg id=\"globe\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_270_10781)\"><path d=\"M12 1V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 12H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C15.0376 23 17.5 18.0751 17.5 12C17.5 5.92487 15.0376 1 12 1C8.96243 1 6.5 5.92487 6.5 12C6.5 18.0751 8.96243 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_270_10781\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n edit: '<svg id=\"edit\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M9 5H4C2.895 5 2 5.895 2 7V20C2 21.105 2.895 22 4 22H17C18.105 22 19 21.105 19 20V15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 5L19 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 16L7 17L8 13L18.293 2.70701C18.684 2.31601 19.317 2.31601 19.707 2.70701L21.293 4.29301C21.684 4.68401 21.684 5.31701 21.293 5.70701L11 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n calendar: '<svg id=\"calendar\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 12H11V13H13V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 17H5V18H7V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 17H11V18H13V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 12H17V13H19V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" fill=\"#5F6368\"/><path d=\"M13 12H11V13H13V12Z\" fill=\"#5F6368\"/><path d=\"M7 17H5V18H7V17Z\" fill=\"#5F6368\"/><path d=\"M13 17H11V18H13V17Z\" fill=\"#5F6368\"/><path d=\"M19 12H17V13H19V12Z\" fill=\"#5F6368\"/><path d=\"M1 8H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 4H3C1.89543 4 1 4.89543 1 6V20C1 21.1046 1.89543 22 3 22H21C22.1046 22 23 21.1046 23 20V6C23 4.89543 22.1046 4 21 4Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n info: '<svg id=\"info\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_252_9300)\"><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 11V17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 8C12.5523 8 13 7.55228 13 7C13 6.44772 12.5523 6 12 6C11.4477 6 11 6.44772 11 7C11 7.55228 11.4477 8 12 8Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_252_9300\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n connection: '<svg id=\"connection\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9076)\"><path d=\"M8.6001 10.2L15.4001 6.8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.6001 13.7L15.4001 17.1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 16C7.20914 16 9 14.2091 9 12C9 9.79086 7.20914 8 5 8C2.79086 8 1 9.79086 1 12C1 14.2091 2.79086 16 5 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 9C21.2091 9 23 7.20914 23 5C23 2.79086 21.2091 1 19 1C16.7909 1 15 2.79086 15 5C15 7.20914 16.7909 9 19 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 23C21.2091 23 23 21.2091 23 19C23 16.7909 21.2091 15 19 15C16.7909 15 15 16.7909 15 19C15 21.2091 16.7909 23 19 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9076\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n filter: '<svg id=\"filter\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9076)\"><path d=\"M8.6001 10.2L15.4001 6.8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.6001 13.7L15.4001 17.1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 16C7.20914 16 9 14.2091 9 12C9 9.79086 7.20914 8 5 8C2.79086 8 1 9.79086 1 12C1 14.2091 2.79086 16 5 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 9C21.2091 9 23 7.20914 23 5C23 2.79086 21.2091 1 19 1C16.7909 1 15 2.79086 15 5C15 7.20914 16.7909 9 19 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 23C21.2091 23 23 21.2091 23 19C23 16.7909 21.2091 15 19 15C16.7909 15 15 16.7909 15 19C15 21.2091 16.7909 23 19 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9076\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n support: '<svg id=\"support\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9074)\"><path d=\"M19.7776 4.222L15.5356 8.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.7776 19.778L15.5356 15.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.22168 19.778L8.46368 15.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.22168 4.222L8.46368 8.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.7777 19.7781C24.0734 15.4824 24.0734 8.51763 19.7777 4.2219C15.4819 -0.0738257 8.51719 -0.0738257 4.22146 4.2219C-0.0742669 8.51763 -0.0742669 15.4824 4.22146 19.7781C8.51719 24.0738 15.4819 24.0738 19.7777 19.7781Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.5352 15.5355C17.4878 13.5829 17.4878 10.4171 15.5352 8.4645C13.5826 6.5119 10.4168 6.5119 8.46421 8.4645C6.51161 10.4171 6.51161 13.5829 8.46421 15.5355C10.4168 17.4881 13.5826 17.4881 15.5352 15.5355Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9074\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n delete: '<svg id=\"delete\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9073)\"><path d=\"M20 9V21C20 21.5304 19.7893 22.0391 19.4142 22.4142C19.0391 22.7893 18.5304 23 18 23H6C5.46957 23 4.96086 22.7893 4.58579 22.4142C4.21071 22.0391 4 21.5304 4 21V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 12V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 12V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 12V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 5V1H16V5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9073\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n searchContent: '<svg id=\"searchContent\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23.0001 19L18.8281 14.828\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 9H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 15H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 21H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 3H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 16C18.2091 16 20 14.2091 20 12C20 9.79086 18.2091 8 16 8C13.7909 8 12 9.79086 12 12C12 14.2091 13.7909 16 16 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n addNotification: '<svg id=\"addNotification\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 14V20C19 21.105 18.105 22 17 22H4C2.895 22 2 21.105 2 20V7C2 5.895 2.895 5 4 5H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n launch: '<svg id=\"launch\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11 13L22 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 2H22V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 4H4C3.46957 4 2.96086 4.21071 2.58579 4.58579C2.21071 4.96086 2 5.46957 2 6V20C2 20.5304 2.21071 21.0391 2.58579 21.4142C2.96086 21.7893 3.46957 22 4 22H18C18.5304 22 19.0391 21.7893 19.4142 21.4142C19.7893 21.0391 20 20.5304 20 20V15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n swapVertical: '<svg id=\"swapVertical\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M7 17V2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 6L7 2L11 6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 6V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 18L17 22L21 18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n picture: '<path d=\"M3 23L7 15L11 18L17 10L23 23H3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 9C10.6569 9 12 7.65685 12 6C12 4.34315 10.6569 3 9 3C7.34315 3 6 4.34315 6 6C6 7.65685 7.34315 9 9 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n account: '<svg id=\"account\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9067)\"><path d=\"M1 23C1 17.477 5.477 13 11 13H13C18.523 13 23 17.477 23 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13C15.3137 13 18 10.3137 18 7C18 3.68629 15.3137 1 12 1C8.68629 1 6 3.68629 6 7C6 10.3137 8.68629 13 12 13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9067\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n comment: '<svg id=\"comment\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20.4 16.8C22 15.2 23 13.2 23 11C23 6 18.1 2 12 2C5.9 2 1 6 1 11C1 16 5.9 20 12 20C13.1 20 14.1 19.9 15.1 19.6L21 22L20.4 16.8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 9H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 13H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n bell: '<svg id=\"bell\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 11V8C19 6.14348 18.2625 4.36301 16.9497 3.05025C15.637 1.7375 13.8565 1 12 1C10.1435 1 8.36301 1.7375 7.05025 3.05025C5.7375 4.36301 5 6.14348 5 8V11C5 14.3 2 15.1 2 17C2 18.7 5.9 20 12 20C18.1 20 22 18.7 22 17C22 15.1 19 14.3 19 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 22C10.989 22 10.039 21.966 9.14502 21.9C9.33561 22.508 9.71532 23.0392 10.2288 23.4164C10.7424 23.7936 11.3629 23.997 12 23.997C12.6372 23.997 13.2577 23.7936 13.7712 23.4164C14.2847 23.0392 14.6644 22.508 14.855 21.9C13.961 21.966 13.011 22 12 22Z\" fill=\"#5F6368\"/></svg>', \r\n timesSmall: '<svg id=\"timesSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 8L8 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 16L8 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n minusSmall: '<svg id=\"minusSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M17 12H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n checkSmall: '<svg id=\"checkSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 12L10 16L18 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n checkSmallAlt: '<svg id=\"checkSmallAlt\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2.66666 5.99998L5 8.99998L9.33333 3.33331\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"></path></svg>',\r\n plusSmall: '<svg id=\"plusSmall\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 7V17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 12H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n viewOff: '<svg id=\"viewOff\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.47276 13.294C0.841762 12.547 0.841762 11.453 1.47276 10.706C3.18276 8.683 6.98476 5 11.9998 5C17.0148 5 20.8168 8.683 22.5268 10.706C23.1578 11.453 23.1578 12.547 22.5268 13.294C20.8168 15.317 17.0148 19 11.9998 19C6.98476 19 3.18276 15.317 1.47276 13.294Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 15C14.7614 15 17 12.7614 17 10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10C7 12.7614 9.23858 15 12 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 20L20 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n view: '<svg id=\"view\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1.47276 13.294C0.841762 12.547 0.841762 11.453 1.47276 10.706C3.18276 8.683 6.98476 5 11.9998 5C17.0148 5 20.8168 8.683 22.5268 10.706C23.1578 11.453 23.1578 12.547 22.5268 13.294C20.8168 15.317 17.0148 19 11.9998 19C6.98476 19 3.18276 15.317 1.47276 13.294Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 15C14.7614 15 17 12.7614 17 10C17 7.23858 14.7614 5 12 5C9.23858 5 7 7.23858 7 10C7 12.7614 9.23858 15 12 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n minus: '<svg id=\"minus\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22 12H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n times: '<svg id=\"times\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 5L5 19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 19L5 5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n check: '<svg id=\"check\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 12L9 19L22 6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n plus: '<svg id=\"plus\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <path d=\"M12 2V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 12H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n clock: '<svg id=\"clock\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_54_9054)\"><path d=\"M12 6V12H18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.96582 22.87L2.23682 17.073L7.92882 18.659\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.237 17.073C3.47619 19.4602 5.54709 21.3107 8.05815 22.2745C10.5692 23.2384 13.3464 23.2488 15.8646 22.3039C18.3828 21.3589 20.4676 19.524 21.7247 17.1462C22.9817 14.7683 23.3241 12.0123 22.6869 9.39919C22.0497 6.78607 20.4772 4.49695 18.2666 2.96466C16.0561 1.43236 13.3608 0.763068 10.6902 1.08334C8.01965 1.4036 5.55899 2.69123 3.77345 4.70276C1.98791 6.71429 1.00124 9.31031 1 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_54_9054\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n search: '<svg id=\"search\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22.0002 22L15.6562 15.656\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 18C14.4183 18 18 14.4183 18 10C18 5.58172 14.4183 2 10 2C5.58172 2 2 5.58172 2 10C2 14.4183 5.58172 18 10 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n\r\n //Navbar\r\n folderImage: '<svg id=\"folderImage\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 22H3C2.46957 22 1.96086 21.7893 1.58579 21.4142C1.21071 21.0391 1 20.5304 1 20V2H9L12 6H23V20C23 20.5304 22.7893 21.0391 22.4142 21.4142C22.0391 21.7893 21.5304 22 21 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 19L8 14L11 17L15 11L19 19H5Z\" fill=\"#5F6368\"/><path d=\"M9.5 12C10.3284 12 11 11.3284 11 10.5C11 9.67157 10.3284 9 9.5 9C8.67157 9 8 9.67157 8 10.5C8 11.3284 8.67157 12 9.5 12Z\" fill=\"#5F6368\"/></svg>',\r\n folderSettings: '<svg id=\"folderSettings\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 22H3C2.46957 22 1.96086 21.7893 1.58579 21.4142C1.21071 21.0391 1 20.5304 1 20V2H9L12 6H23V20C23 20.5304 22.7893 21.0391 22.4142 21.4142C22.0391 21.7893 21.5304 22 21 22H18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 19C13.6569 19 15 17.6569 15 16C15 14.3431 13.6569 13 12 13C10.3431 13 9 14.3431 9 16C9 17.6569 10.3431 19 12 19Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13V11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.1211 13.879L15.5361 12.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 16H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.1211 18.121L15.5361 19.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 19V21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.87887 18.121L8.46387 19.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 16H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.87887 13.879L8.46387 12.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n document: '<svg id=\"document\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 17H15V23L21 17Z\" fill=\"#5F6368\"/><path d=\"M21 17H15V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 17V1H3V23H15L21 17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 17H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 12H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 7H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n wallet: '<svg id=\"wallet\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8204)\"><path d=\"M21 12V5H3C1.895 5 1 4.105 1 3V20C1 21.657 2.343 23 4 23H21V16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 2V1H3C1.895 1 1 1.895 1 3C1 4.105 1.895 5 3 5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 16H18C16.895 16 16 15.105 16 14C16 12.895 16.895 12 18 12H23V16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8204\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n peopleNetwork: '<svg id=\"peopleNetwork\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8222)\"><path d=\"M12 16C13.3807 16 14.5 14.8807 14.5 13.5C14.5 12.1193 13.3807 11 12 11C10.6193 11 9.5 12.1193 9.5 13.5C9.5 14.8807 10.6193 16 12 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6C13.3807 6 14.5 4.88071 14.5 3.5C14.5 2.11929 13.3807 1 12 1C10.6193 1 9.5 2.11929 9.5 3.5C9.5 4.88071 10.6193 6 12 6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3.5 11C4.88071 11 6 9.88071 6 8.5C6 7.11929 4.88071 6 3.5 6C2.11929 6 1 7.11929 1 8.5C1 9.88071 2.11929 11 3.5 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.5 11C21.8807 11 23 9.88071 23 8.5C23 7.11929 21.8807 6 20.5 6C19.1193 6 18 7.11929 18 8.5C18 9.88071 19.1193 11 20.5 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.34082 23C7.16482 20.67 9.38682 19 11.9998 19C14.6128 19 16.8348 20.67 17.6588 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8222\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n licenseKey: '<svg id=\"licenseKey\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M11.6501 12C11.3095 11.282 10.7347 10.7013 10.0203 10.3533C9.30586 10.0054 8.49428 9.91093 7.71902 10.0855C6.94376 10.26 6.25098 10.6932 5.7546 11.3138C5.25822 11.9343 4.98779 12.7053 4.98779 13.5C4.98779 14.2947 5.25822 15.0657 5.7546 15.6862C6.25098 16.3068 6.94376 16.74 7.71902 16.9145C8.49428 17.0891 9.30586 16.9946 10.0203 16.6467C10.7347 16.2987 11.3095 15.718 11.6501 15H14.0001L15.5001 16L17.0001 15H19.0001L20.0001 12H11.6501Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8.5 14.501C9.05228 14.501 9.5 14.0533 9.5 13.501C9.5 12.9487 9.05228 12.501 8.5 12.501C7.94772 12.501 7.5 12.9487 7.5 13.501C7.5 14.0533 7.94772 14.501 8.5 14.501Z\" fill=\"#5F6368\"/><path d=\"M23 2H1V22H23V2Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 6C4.55228 6 5 5.55228 5 5C5 4.44772 4.55228 4 4 4C3.44772 4 3 4.44772 3 5C3 5.55228 3.44772 6 4 6Z\" fill=\"#5F6368\"/><path d=\"M7 6C7.55228 6 8 5.55228 8 5C8 4.44772 7.55228 4 7 4C6.44772 4 6 4.44772 6 5C6 5.55228 6.44772 6 7 6Z\" fill=\"#5F6368\"/></svg>',\r\n settingsWheel: '<svg id=\"settingsWheel\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8216)\"><path d=\"M7.5 4.205L12 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7.5 19.795L12 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 12H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.5 2.474L7.5 4.205\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.47412 6.5L4.20612 7.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 12H3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.47412 17.5L4.20612 16.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.5 21.526L7.5 19.795\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23V21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17.5 21.526L16.5 19.794\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.5259 17.5L19.7939 16.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 12H21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.5259 6.5L19.7939 7.5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17.5 2.474L16.5 4.206\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8216\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n image: '<svg id=\"image\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1 20L6 14L10 18L17 10L23 17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 3H1V21H23V3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 10C10.1046 10 11 9.10457 11 8C11 6.89543 10.1046 6 9 6C7.89543 6 7 6.89543 7 8C7 9.10457 7.89543 10 9 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n pSettings: '<svg id=\"pSettings\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8212)\"><path d=\"M10 23H3C2.46957 23 1.96086 22.7893 1.58579 22.4142C1.21071 22.0391 1 21.5304 1 21V3C1 2.46957 1.21071 1.96086 1.58579 1.58579C1.96086 1.21071 2.46957 1 3 1H15C15.5304 1 16.0391 1.21071 16.4142 1.58579C16.7893 1.96086 17 2.46957 17 3V8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 21C19.6569 21 21 19.6569 21 18C21 16.3431 19.6569 15 18 15C16.3431 15 15 16.3431 15 18C15 19.6569 16.3431 21 18 21Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 15V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 15.879L21.5361 14.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 18H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 20.121L21.5361 21.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 21V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 20.121L14.4639 21.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 18H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 15.879L14.4639 14.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8212\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n contactList: '<svg id=\"contactList\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8 10C10.2091 10 12 8.20914 12 6C12 3.79086 10.2091 2 8 2C5.79086 2 4 3.79086 4 6C4 8.20914 5.79086 10 8 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 5H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 10H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 15H18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 14C4.134 14 1 17.134 1 21V22H15V21C15 17.134 11.866 14 8 14Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n empty: '<svg id=\"empty\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 21C16.9706 21 21 16.9706 21 12C21 7.02944 16.9706 3 12 3C7.02944 3 3 7.02944 3 12C3 16.9706 7.02944 21 12 21Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 2L2 22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n folderShared: '<svg id=\"folderShared\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 22H3C1.895 22 1 21.105 1 20V2H9L12 6H23V20C23 21.105 22.105 22 21 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 15C10.1046 15 11 14.1046 11 13C11 11.8954 10.1046 11 9 11C7.89543 11 7 11.8954 7 13C7 14.1046 7.89543 15 9 15Z\" fill=\"#5F6368\"/><path d=\"M15 12C16.1046 12 17 11.1046 17 10C17 8.89543 16.1046 8 15 8C13.8954 8 13 8.89543 13 10C13 11.1046 13.8954 12 15 12Z\" fill=\"#5F6368\"/><path d=\"M14.1879 17H17.8289C18.4959 17 19.0049 16.35 18.7919 15.717C18.2609 14.14 16.7709 13.003 15.0139 13C13.7199 12.998 12.5059 13.622 11.7549 14.676C12.7699 15.204 13.6139 16.01 14.1879 17Z\" fill=\"#5F6368\"/><path d=\"M9.00005 16C10.76 16 12.254 17.136 12.789 18.715C13.003 19.348 12.495 20 11.827 20H6.17305C5.50505 20 4.99605 19.348 5.21105 18.715C5.74605 17.136 7.24005 16 9.00005 16Z\" fill=\"#5F6368\"/></svg>',\r\n users: '<svg id=\"users\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8186)\"><path d=\"M8 13C9.65685 13 11 11.6569 11 10C11 8.34315 9.65685 7 8 7C6.34315 7 5 8.34315 5 10C5 11.6569 6.34315 13 8 13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 16C4.134 16 1 19.134 1 23H15C15 19.134 11.866 16 8 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 7C17.6569 7 19 5.65685 19 4C19 2.34315 17.6569 1 16 1C14.3431 1 13 2.34315 13 4C13 5.65685 14.3431 7 16 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 17H23C23 13.134 19.866 10 16 10C15.66 10 15.327 10.024 15 10.071\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8186\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n handshake: '<svg id=\"handshake\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 8L11.828 10.172C11.0779 10.9219 10.0607 11.3431 9 11.3431C7.93934 11.3431 6.92211 10.9219 6.172 10.172L6 10L10.929 5.071C12.2552 3.74514 14.0537 3.00032 15.929 3.00032C17.8043 3.00032 19.6028 3.74514 20.929 5.071C22.0427 6.1848 22.7528 7.63843 22.9468 9.20152C23.1408 10.7646 22.8076 12.3477 22 13.7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.2662 11.266L18.8792 14.879C19.4416 15.4416 19.7575 16.2045 19.7575 17C19.7575 17.7955 19.4416 18.5584 18.8792 19.121L17.2432 20.757C16.686 21.3143 16.0245 21.7563 15.2965 22.0579C14.5685 22.3595 13.7882 22.5147 13.0002 22.5147C12.2122 22.5147 11.4319 22.3595 10.7038 22.0579C9.97581 21.7563 9.31433 21.3143 8.75717 20.757L3.07117 15.071C1.74532 13.7448 1.00049 11.9463 1.00049 10.071C1.00049 8.19571 1.74532 6.3972 3.07117 5.071C4.37841 3.76011 6.14894 3.01619 8.00017 3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.391 19.609L14.5 15.719\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.5133 21.965L11.8833 18.335\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n layers: '<svg id=\"layers\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">a<path d=\"M5 7H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a<path d=\"M5 1V19H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a<path d=\"M19 11H13V3H17L19 5V11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a<path d=\"M19 23H13V15H17L19 17V23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>a</svg>',\r\n filterOrganization: '<svg id=\"filterOrganization\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 13H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 5H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 1V21H10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 3H10V7H21V3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 19H10V23H21V19Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 11H10V15H21V11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n timeline: '<svg id=\"timeline\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8225)\"><path d=\"M12 1V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 2H17V8H23V2Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 5H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 16H17V22H23V16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 19H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 15H7L7 9H1L1 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 12H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8225\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n bag: '<svg id=\"bag\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 23H3V6H21V23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 9V5C8 2.8 9.8 1 12 1C14.2 1 16 2.8 16 5V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n barcodeScan: '<svg id=\"barcodeScan\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8213)\"><path d=\"M1 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13V18\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 1V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 13V18H16V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 9V1H19V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 13V18H5V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 9V1H8V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 23V13H23V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8213\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n messaging: '<svg id=\"messaging\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18 3V1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 3.879L21.5361 2.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 6H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.1211 8.121L21.5361 9.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 9V11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 8.121L14.4639 9.536\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 6H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.8789 3.879L14.4639 2.464\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.86 2.18C4.8 2.988 1 6.6 1 11C1 16 5.9 20 12 20C13.0475 20.0213 14.0923 19.8865 15.1 19.6L21 22L20.4 16.8C21.2506 15.9575 21.9272 14.9558 22.391 13.852\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 9C19.6569 9 21 7.65685 21 6C21 4.34315 19.6569 3 18 3C16.3431 3 15 4.34315 15 6C15 7.65685 16.3431 9 18 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n mobileCard: '<svg id=\"mobileCard\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8210)\"><path d=\"M7.5 20C8.32843 20 9 19.3284 9 18.5C9 17.6716 8.32843 17 7.5 17C6.67157 17 6 17.6716 6 18.5C6 19.3284 6.67157 20 7.5 20Z\" fill=\"#5F6368\"/><path d=\"M14 17V21C14 22.1 13.1 23 12 23H3C1.9 23 1 22.1 1 21V5C1 3.9 1.9 3 3 3H7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 13H18H7V1H23V13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 9H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8210\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n dropCap: '<svg id=\"dropCap\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15 10H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 15H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 20H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 15L7 4H6L2 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3.09082 12H9.90882\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n news: '<svg id=\"news\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8208)\"><path d=\"M9 14H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 18H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 6H9V10H19V6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 23C2.47005 22.9984 1.96227 22.7872 1.58753 22.4125C1.2128 22.0377 1.00158 21.5299 1 21V13H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 1V21C4.99842 21.5299 4.7872 22.0377 4.41247 22.4125C4.03773 22.7872 3.52995 22.9984 3 23H21C21.5299 22.9984 22.0377 22.7872 22.4125 22.4125C22.7872 22.0377 22.9984 21.5299 23 21V1H5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8208\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n loan: '<svg id=\"loan\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M15 11C17.7614 11 20 8.76142 20 6C20 3.23858 17.7614 1 15 1C12.2386 1 10 3.23858 10 6C10 8.76142 12.2386 11 15 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 16H18.838C19.4676 16 20.0812 16.1981 20.592 16.5662C21.1028 16.9343 21.4848 17.4537 21.684 18.051L22 19L10.532 22.529C9.5488 22.8313 8.48694 22.7432 7.567 22.283L1 19V12H2C3.105 12 5.906 12.438 7 14H10C11.0609 14 12.0783 14.4214 12.8284 15.1716C13.5786 15.9217 14 16.9391 14 18H8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5V7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n shopLocation: '<svg id=\"shopLocation\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8206)\"><path d=\"M13.374 11.997C12.052 11.931 11 10.839 11 9.5C11 10.881 9.881 12 8.5 12C7.119 12 6 10.881 6 9.5C6 10.881 4.881 12 3.5 12C2.119 12 1 10.958 1 9L5 1H17L21 9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 12V21H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 14C23 17.1 18 22.1 18 22.1C18 22.1 13 17.1 13 14C13 10.8 15.6 9 18 9C20.4 9 23 10.8 23 14Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 15C18.5523 15 19 14.5523 19 14C19 13.4477 18.5523 13 18 13C17.4477 13 17 13.4477 17 14C17 14.5523 17.4477 15 18 15Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8206\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n usersWm: '<svg id=\"usersWm\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 21H23V16.677C22.9999 16.4772 22.9399 16.282 22.8278 16.1166C22.7157 15.9512 22.5566 15.8231 22.371 15.749L18.629 14.249C18.4438 14.175 18.2849 14.0473 18.1728 13.8823C18.0607 13.7172 18.0005 13.5225 18 13.323V12.445C18.6065 12.0969 19.1107 11.5953 19.4617 10.9906C19.8128 10.3858 19.9985 9.69927 20 9V7C20.0002 6.29778 19.8154 5.60789 19.4644 4.99969C19.1134 4.39148 18.6085 3.8864 18.0004 3.53522C17.3923 3.18404 16.7024 2.99914 16.0002 2.9991C15.298 2.99906 14.6081 3.18389 14 3.535\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.371 16.749L10.629 15.249C10.4438 15.175 10.2849 15.0473 10.1728 14.8823C10.0607 14.7172 10.0005 14.5225 10 14.323V13.872C13.27 13.435 14 12 14 12C14 12 12 10 12 8C12 6.93913 11.5786 5.92172 10.8284 5.17157C10.0783 4.42143 9.06087 4 8 4C6.93913 4 5.92172 4.42143 5.17157 5.17157C4.42143 5.92172 4 6.93913 4 8C4 10 2 12 2 12C2 12 2.73 13.435 6 13.872V14.323C5.99987 14.5228 5.93989 14.718 5.82777 14.8834C5.71566 15.0488 5.55656 15.1769 5.371 15.251L1.629 16.751C1.44375 16.825 1.28488 16.9527 1.17279 17.1177C1.0607 17.2828 1.00053 17.4775 1 17.677V21H15V17.677C14.9999 17.4772 14.9399 17.282 14.8278 17.1166C14.7157 16.9512 14.5566 16.8231 14.371 16.749Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n shop: '<svg id=\"shop\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M4 13V22H20V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4.00001 2L1.00001 7C0.998497 7.67436 1.22485 8.32946 1.64235 8.85905C2.05985 9.38864 2.64402 9.76166 3.3001 9.9176C3.95619 10.0735 4.64572 10.0033 5.25686 9.71819C5.86801 9.43311 6.36492 8.94992 6.66701 8.347C6.91349 8.84349 7.29369 9.26131 7.76479 9.5534C8.2359 9.84549 8.7792 10.0003 9.33351 10.0003C9.88782 10.0003 10.4311 9.84549 10.9022 9.5534C11.3733 9.26131 11.7535 8.84349 12 8.347C12.2465 8.84349 12.6267 9.26131 13.0978 9.5534C13.5689 9.84549 14.1122 10.0003 14.6665 10.0003C15.2208 10.0003 15.7641 9.84549 16.2352 9.5534C16.7063 9.26131 17.0865 8.84349 17.333 8.347C17.6351 8.94992 18.132 9.43311 18.7432 9.71819C19.3543 10.0033 20.0438 10.0735 20.6999 9.9176C21.356 9.76166 21.9402 9.38864 22.3577 8.85905C22.7752 8.32946 23.0015 7.67436 23 7L20 2H4.00001Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 22V16H14V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n newConstruction: '<svg id=\"newConstruction\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 23H1V13H5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 16H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 19H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 13H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 6V2L23 5V23H5V9H15V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 19V9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n cardFavorite: '<svg id=\"cardFavorite\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 10H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 10V3C23 1.9 22.1 1 21 1H16H3C1.9 1 1 1.9 1 3V16C1 17.1 1.9 18 3 18H9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22.2012 13.812C20.9852 12.576 18.9552 12.778 18.0002 14.24C17.0442 12.776 15.0142 12.577 13.7992 13.812C12.7342 14.894 12.7342 16.649 13.7992 17.731L18.0002 22L22.2022 17.731C23.2662 16.649 23.2662 14.894 22.2012 13.812Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n cardUpdate: '<svg id=\"cardUpdate\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8190)\"><path d=\"M1 5H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 10H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 10V3C23 1.9 22.1 1 21 1H16H3C1.9 1 1 1.9 1 3V16C1 17.1 1.9 18 3 18H9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.126 17C14.57 15.275 16.136 14 18 14C19.48 14 20.772 14.804 21.464 15.999\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23.22 13.649L22.792 18L18.522 17.061L23.22 13.649Z\" fill=\"#5F6368\"/><path d=\"M21.8741 20C21.4301 21.725 19.8641 23 18.0001 23C16.5201 23 15.2281 22.196 14.5361 21.001\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.7798 23.351L13.2078 19L17.4778 19.939L12.7798 23.351Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8190\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n present: '<svg id=\"present\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8192)\"><path d=\"M4 3.5C4.02271 2.81501 4.31631 2.16702 4.81634 1.6983C5.31637 1.22957 5.98197 0.97843 6.667 1C10.611 1 12 6 12 6H6.667C5.98197 6.02157 5.31637 5.77043 4.81634 5.30171C4.31631 4.83298 4.02271 4.18499 4 3.5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17.333 6H12C12 6 13.389 1 17.333 1C18.018 0.97843 18.6836 1.22957 19.1837 1.6983C19.6837 2.16702 19.9773 2.81501 20 3.5C19.9773 4.18499 19.6837 4.83298 19.1837 5.30171C18.6836 5.77043 18.018 6.02157 17.333 6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 13V21C21 21.5304 20.7893 22.0391 20.4142 22.4142C20.0391 22.7893 19.5304 23 19 23H5C4.46957 23 3.96086 22.7893 3.58579 22.4142C3.21071 22.0391 3 21.5304 3 21V13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 6H1V10H23V6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6V23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8192\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n boardGame: '<svg id=\"boardGame\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8191)\"><path d=\"M21 5H7C5.89543 5 5 5.89543 5 7V21C5 22.1046 5.89543 23 7 23H21C22.1046 23 23 22.1046 23 21V7C23 5.89543 22.1046 5 21 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 5V3C19 2.46957 18.7893 1.96086 18.4142 1.58579C18.0391 1.21071 17.5304 1 17 1H3C2.46957 1 1.96086 1.21071 1.58579 1.58579C1.21071 1.96086 1 2.46957 1 3V17C1 17.5304 1.21071 18.0391 1.58579 18.4142C1.96086 18.7893 2.46957 19 3 19H5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.5 11C10.3284 11 11 10.3284 11 9.5C11 8.67157 10.3284 8 9.5 8C8.67157 8 8 8.67157 8 9.5C8 10.3284 8.67157 11 9.5 11Z\" fill=\"#5F6368\"/><path d=\"M18.5 11C19.3284 11 20 10.3284 20 9.5C20 8.67157 19.3284 8 18.5 8C17.6716 8 17 8.67157 17 9.5C17 10.3284 17.6716 11 18.5 11Z\" fill=\"#5F6368\"/><path d=\"M9.5 20C10.3284 20 11 19.3284 11 18.5C11 17.6716 10.3284 17 9.5 17C8.67157 17 8 17.6716 8 18.5C8 19.3284 8.67157 20 9.5 20Z\" fill=\"#5F6368\"/><path d=\"M18.5 20C19.3284 20 20 19.3284 20 18.5C20 17.6716 19.3284 17 18.5 17C17.6716 17 17 17.6716 17 18.5C17 19.3284 17.6716 20 18.5 20Z\" fill=\"#5F6368\"/><path d=\"M14 15.5C14.8284 15.5 15.5 14.8284 15.5 14C15.5 13.1716 14.8284 12.5 14 12.5C13.1716 12.5 12.5 13.1716 12.5 14C12.5 14.8284 13.1716 15.5 14 15.5Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8191\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n migration: '<svg id=\"migration\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8194)\"><path d=\"M12 23V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 14L12 10L16 14\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.9999 18.777C17.6144 18.4092 19.0961 17.603 20.282 16.4473C21.4679 15.2916 22.3119 13.8311 22.7213 12.2266C23.1306 10.6221 23.0893 8.93579 22.602 7.35323C22.1147 5.77067 21.2002 4.35323 19.9592 3.25691C18.7182 2.16059 17.1988 1.4279 15.5682 1.13946C13.9377 0.851028 12.2591 1.01804 10.7173 1.62211C9.17557 2.22618 7.83033 3.2439 6.82969 4.56325C5.82905 5.8826 5.21179 7.45244 5.04586 9.1C3.83442 9.34579 2.75697 10.0316 2.02146 11.0251C1.28595 12.0186 0.944536 13.2493 1.0631 14.4798C1.18167 15.7102 1.75182 16.8531 2.6635 17.6878C3.57519 18.5226 4.76377 18.9901 5.99986 19H7.99986\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8194\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n cockade: '<svg id=\"cockade\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M17.8731 11.81L22.0001 20L18.0001 19L16.0001 22L12.7251 14.963\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.127 11.81L2 20L6 19L8 22L11.275 14.963\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 15C15.866 15 19 11.866 19 8C19 4.13401 15.866 1 12 1C8.13401 1 5 4.13401 5 8C5 11.866 8.13401 15 12 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 10C13.1046 10 14 9.10457 14 8C14 6.89543 13.1046 6 12 6C10.8954 6 10 6.89543 10 8C10 9.10457 10.8954 10 12 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n percentage: '<svg id=\"percentage\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8195)\"><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 10C9.10457 10 10 9.10457 10 8C10 6.89543 9.10457 6 8 6C6.89543 6 6 6.89543 6 8C6 9.10457 6.89543 10 8 10Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 18C17.1046 18 18 17.1046 18 16C18 14.8954 17.1046 14 16 14C14.8954 14 14 14.8954 14 16C14 17.1046 14.8954 18 16 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 16L16 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8195\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n refund: '<svg id=\"refund\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8196)\"><path d=\"M15.6002 13.868C15.6124 14.2163 15.5443 14.5628 15.4013 14.8807C15.2582 15.1985 15.044 15.4792 14.7751 15.701C14.1079 16.2067 13.3017 16.496 12.4651 16.53V18H11.4831V16.558C10.429 16.5579 9.38546 16.3482 8.41315 15.941V14.048C8.89455 14.2773 9.39686 14.4598 9.91315 14.593C10.4252 14.7381 10.9505 14.8319 11.4811 14.873V12.649L11.0001 12.463C10.2477 12.2116 9.56051 11.7963 8.98815 11.247C8.59128 10.8006 8.38081 10.219 8.40015 9.622C8.39406 9.29339 8.46443 8.96786 8.60569 8.6711C8.74696 8.37434 8.95526 8.11447 9.21415 7.912C9.87359 7.42229 10.6637 7.13966 11.4842 7.1V6H12.4661V7.069C13.4889 7.10005 14.4965 7.32398 15.4361 7.729L14.7621 9.407C14.0285 9.10427 13.2529 8.91575 12.4621 8.848V10.964C13.1553 11.2074 13.8223 11.5197 14.4531 11.896C14.8044 12.1156 15.1009 12.4125 15.3201 12.764C15.5114 13.1 15.6081 13.4815 15.6002 13.868ZM10.5581 9.622C10.5552 9.71932 10.5732 9.81613 10.611 9.90586C10.6488 9.99559 10.7055 10.0761 10.7772 10.142C10.9887 10.3191 11.2275 10.4609 11.4842 10.562V8.876C10.8675 8.96733 10.5588 9.216 10.5581 9.622ZM13.4422 13.976C13.4427 13.8782 13.421 13.7816 13.3787 13.6934C13.3364 13.6053 13.2747 13.5278 13.1981 13.467C12.9746 13.2912 12.7284 13.1462 12.4661 13.036V14.822C13.1161 14.712 13.4415 14.43 13.4422 13.976Z\" fill=\"#5F6368\"/><path d=\"M2.96582 1.13L2.23682 6.927L7.92882 5.341\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2.237 6.927C3.47619 4.53978 5.54709 2.68931 8.05815 1.72546C10.5692 0.761614 13.3464 0.751185 15.8646 1.69615C18.3828 2.64111 20.4676 4.47597 21.7247 6.85382C22.9817 9.23166 23.3241 11.9877 22.6869 14.6008C22.0497 17.2139 20.4772 19.503 18.2666 21.0353C16.0561 22.5676 13.3608 23.2369 10.6902 22.9167C8.01965 22.5964 5.55899 21.3088 3.77345 19.2972C1.98791 17.2857 1.00124 14.6897 1 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8196\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n goldCoin: '<svg id=\"goldCoin\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8229)\"><path d=\"M12 6.767L13.545 9.898L17 10.4L14.5 12.837L15.09 16.278L12 14.653L8.91 16.278L9.5 12.837L7 10.4L10.455 9.898L12 6.767Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 20C12.5523 20 13 19.5523 13 19C13 18.4477 12.5523 18 12 18C11.4477 18 11 18.4477 11 19C11 19.5523 11.4477 20 12 20Z\" fill=\"#5F6368\"/><path d=\"M18.6572 15.163C19.2095 15.163 19.6572 14.7153 19.6572 14.163C19.6572 13.6107 19.2095 13.163 18.6572 13.163C18.1049 13.163 17.6572 13.6107 17.6572 14.163C17.6572 14.7153 18.1049 15.163 18.6572 15.163Z\" fill=\"#5F6368\"/><path d=\"M16.1138 7.337C16.6661 7.337 17.1138 6.88928 17.1138 6.337C17.1138 5.78472 16.6661 5.337 16.1138 5.337C15.5615 5.337 15.1138 5.78472 15.1138 6.337C15.1138 6.88928 15.5615 7.337 16.1138 7.337Z\" fill=\"#5F6368\"/><path d=\"M7.88623 7.337C8.43852 7.337 8.88623 6.88928 8.88623 6.337C8.88623 5.78472 8.43852 5.337 7.88623 5.337C7.33395 5.337 6.88623 5.78472 6.88623 6.337C6.88623 6.88928 7.33395 7.337 7.88623 7.337Z\" fill=\"#5F6368\"/><path d=\"M5.34277 15.163C5.89506 15.163 6.34277 14.7153 6.34277 14.163C6.34277 13.6107 5.89506 13.163 5.34277 13.163C4.79049 13.163 4.34277 13.6107 4.34277 14.163C4.34277 14.7153 4.79049 15.163 5.34277 15.163Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8229\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n calendarDate: '<svg id=\"calendarDate\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M6 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 1V3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 12H11V13H13V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 17H5V18H7V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M13 17H11V18H13V17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 12H17V13H19V12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 12H5V13H7V12Z\" fill=\"#5F6368\"/><path d=\"M13 12H11V13H13V12Z\" fill=\"#5F6368\"/><path d=\"M7 17H5V18H7V17Z\" fill=\"#5F6368\"/><path d=\"M13 17H11V18H13V17Z\" fill=\"#5F6368\"/><path d=\"M19 12H17V13H19V12Z\" fill=\"#5F6368\"/><path d=\"M1 8H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 4H3C1.89543 4 1 4.89543 1 6V20C1 21.1046 1.89543 22 3 22H21C22.1046 22 23 21.1046 23 20V6C23 4.89543 22.1046 4 21 4Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n windowParagraph: '<svg id=\"windowParagraph\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23 2H1V22H23V2Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 6H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11 11H5V17H11V11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 11H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 15H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 2V6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n notification: '<svg id=\"notification\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8197)\"><path d=\"M10.4932 14.389L12.8552 20.252C13.0527 20.7437 13.0469 21.2937 12.8391 21.7812C12.6314 22.2687 12.2387 22.6538 11.7472 22.852C11.2555 23.0494 10.7055 23.0436 10.218 22.8359C9.73053 22.6281 9.34541 22.2354 9.14723 21.744L5.51123 12.8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.3091 1.119L3.00008 6C2.36887 6.18783 1.8233 6.59066 1.458 7.13861C1.09269 7.68657 0.930687 8.3451 1.00008 9C0.930687 9.6549 1.09269 10.3134 1.458 10.8614C1.8233 11.4093 2.36887 11.8122 3.00008 12L18.3091 16.881\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 17C21.2091 17 23 13.4183 23 9C23 4.58172 21.2091 1 19 1C16.7909 1 15 4.58172 15 9C15 13.4183 16.7909 17 19 17Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.0001 9C19.9988 8.26544 19.7271 7.55708 19.2368 7.01004C18.7466 6.463 18.0721 6.11556 17.3421 6.034C17.1105 7.00554 16.9957 8.00125 17.0001 9C16.9957 9.99875 17.1105 10.9945 17.3421 11.966C18.0721 11.8844 18.7466 11.537 19.2368 10.99C19.7271 10.4429 19.9988 9.73456 20.0001 9Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8197\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n mobileChat: '<svg id=\"mobileChat\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 11H13L9 13V3C9 2.46957 9.21071 1.96086 9.58579 1.58579C9.96086 1.21071 10.4696 1 11 1H21C21.5304 1 22.0391 1.21071 22.4142 1.58579C22.7893 1.96086 23 2.46957 23 3V9C23 9.53043 22.7893 10.0391 22.4142 10.4142C22.0391 10.7893 21.5304 11 21 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 3H4C3.46957 3 2.96086 3.21071 2.58579 3.58579C2.21071 3.96086 2 4.46957 2 5V21C2 21.5304 2.21071 22.0391 2.58579 22.4142C2.96086 22.7893 3.46957 23 4 23H15C15.5304 23 16.0391 22.7893 16.4142 22.4142C16.7893 22.0391 17 21.5304 17 21V14\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n compass: '<svg id=\"compass\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8201)\"><path d=\"M12 1V4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23 12H20\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23V20\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M1 12H4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 23C18.0751 23 23 18.0751 23 12C23 5.92487 18.0751 1 12 1C5.92487 1 1 5.92487 1 12C1 18.0751 5.92487 23 12 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 7L14 14L7 17L10 10L17 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8201\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n feedback: '<svg id=\"feedback\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20.4 16.8C21.1969 16.0544 21.8373 15.1575 22.2837 14.1616C22.7301 13.1658 22.9736 12.091 23 11C23 6 18.1 2 12 2C5.9 2 1 6 1 11C1 16 5.9 20 12 20C13.0475 20.0213 14.0923 19.8865 15.1 19.6L21 22L20.4 16.8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6V12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 17C12.5523 17 13 16.5523 13 16C13 15.4477 12.5523 15 12 15C11.4477 15 11 15.4477 11 16C11 16.5523 11.4477 17 12 17Z\" fill=\"#5F6368\"/></svg>',\r\n receiptList: '<svg id=\"receiptList\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M3 1H21V22L18 20L15 22L12 20L9 22L6 20L3 22V1Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 7H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 7H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 11H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 11H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 15H12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M16 15H17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n fileCopies: '<svg id=\"fileCopies\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 9H2V23H14V9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 5H18V19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M10 1H22V15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n exchange: '<svg id=\"exchange\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8177)\"><path d=\"M5 5C6.10457 5 7 4.10457 7 3C7 1.89543 6.10457 1 5 1C3.89543 1 3 1.89543 3 3C3 4.10457 3.89543 5 5 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 8C2.791 8 1 9.791 1 12H9C9 9.791 7.209 8 5 8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 16C20.1046 16 21 15.1046 21 14C21 12.8954 20.1046 12 19 12C17.8954 12 17 12.8954 17 14C17 15.1046 17.8954 16 19 16Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 19C16.791 19 15 20.791 15 23H23C23 20.791 21.209 19 19 19Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 16V18C4 18.552 4.448 19 5 19H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 22L12 19L9 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20 8V6C20 5.448 19.552 5 19 5H12H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 2L12 5L15 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8177\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n copy: '<svg id=\"copy\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M21 9H3V23H21V9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 5H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M8 1H16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n usersHeart: '<svg id=\"usersHeart\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8175)\"><path d=\"M5.5 18C3.015 18 1 20.015 1 22.5V23H10V22.5C10 20.015 7.985 18 5.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.5 15C6.88071 15 8 13.8807 8 12.5C8 11.1193 6.88071 10 5.5 10C4.11929 10 3 11.1193 3 12.5C3 13.8807 4.11929 15 5.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 18C16.015 18 14 20.015 14 22.5V23H23V22.5C23 20.015 20.985 18 18.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 15C19.8807 15 21 13.8807 21 12.5C21 11.1193 19.8807 10 18.5 10C17.1193 10 16 11.1193 16 12.5C16 13.8807 17.1193 15 18.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15.361 1.631C14.388 0.670001 12.764 0.827001 12 1.964C11.235 0.826001 9.611 0.671001 8.639 1.631C7.787 2.473 7.787 3.838 8.639 4.679L12 8L15.361 4.679C16.213 3.838 16.213 2.473 15.361 1.631Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8175\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n usersCheck: '<svg id=\"usersCheck\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5.5 18C3.015 18 1 20.015 1 22.5V23H10V22.5C10 20.015 7.985 18 5.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.5 15C6.88071 15 8 13.8807 8 12.5C8 11.1193 6.88071 10 5.5 10C4.11929 10 3 11.1193 3 12.5C3 13.8807 4.11929 15 5.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 18C16.015 18 14 20.015 14 22.5V23H23V22.5C23 20.015 20.985 18 18.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 15C19.8807 15 21 13.8807 21 12.5C21 11.1193 19.8807 10 18.5 10C17.1193 10 16 11.1193 16 12.5C16 13.8807 17.1193 15 18.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 5L11 7L16 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n team: '<svg id=\"team\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8176)\"><path d=\"M4 7C2.895 7 2 6.105 2 5C2 3.895 2.895 3 4 3C5.105 3 6 3.895 6 5C6 6.105 5.105 7 4 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 21H3V17H1V12C1 10.895 1.895 10 3 10H4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20 7C21.105 7 22 6.105 22 5C22 3.895 21.105 3 20 3C18.895 3 18 3.895 18 5C18 6.105 18.895 7 20 7Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18 21H21V17H23V12C23 10.895 22.105 10 21 10H20\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 6C10.619 6 9.5 4.881 9.5 3.5C9.5 2.119 10.619 1 12 1C13.381 1 14.5 2.119 14.5 3.5C14.5 4.881 13.381 6 12 6Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 23H9V17H7V11C7 9.895 7.895 9 9 9H15C16.105 9 17 9.895 17 11V17H15V23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8176\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n coupon: '<svg id=\"coupon\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M20 12C20 10.3 21.3 9 23 9V4H1V9C2.7 9 4 10.3 4 12C4 13.7 2.7 15 1 15V20H23V15C21.3 15 20 13.7 20 12Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 9L9 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.5 10C10.3284 10 11 9.32843 11 8.5C11 7.67157 10.3284 7 9.5 7C8.67157 7 8 7.67157 8 8.5C8 9.32843 8.67157 10 9.5 10Z\" fill=\"#5F6368\"/><path d=\"M14.5 17C15.3284 17 16 16.3284 16 15.5C16 14.6716 15.3284 14 14.5 14C13.6716 14 13 14.6716 13 15.5C13 16.3284 13.6716 17 14.5 17Z\" fill=\"#5F6368\"/></svg>',\r\n userLocation: '<svg id=\"userLocation\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M18.999 17.857C20.851 18.402 22 19.161 22 20C22 21.657 17.523 23 12 23C6.477 23 2 21.657 2 20C2 19.161 3.149 18.402 5 17.858\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14 20H10V15H8V10C8 8.895 8.895 8 10 8H14C15.105 8 16 8.895 16 10V15H14V20Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 5C10.895 5 10 4.105 10 3C10 1.895 10.895 1 12 1C13.105 1 14 1.895 14 3C14 4.105 13.105 5 12 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n discount: '<svg id=\"discount\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M19 15L22 12L19 9V5H15L12 2L9 5H5V9L2 12L5 15V19H9L12 22L15 19H19V15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 9L9 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9.5 11C10.3284 11 11 10.3284 11 9.5C11 8.67157 10.3284 8 9.5 8C8.67157 8 8 8.67157 8 9.5C8 10.3284 8.67157 11 9.5 11Z\" fill=\"#5F6368\"/><path d=\"M14.5 16C15.3284 16 16 15.3284 16 14.5C16 13.6716 15.3284 13 14.5 13C13.6716 13 13 13.6716 13 14.5C13 15.3284 13.6716 16 14.5 16Z\" fill=\"#5F6368\"/></svg>',\r\n usersMeeting: '<svg id=\"usersMeeting\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8179)\"><path d=\"M5.5 18C3.015 18 1 20.015 1 22.5V23H10V22.5C10 20.015 7.985 18 5.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5.5 15C6.88071 15 8 13.8807 8 12.5C8 11.1193 6.88071 10 5.5 10C4.11929 10 3 11.1193 3 12.5C3 13.8807 4.11929 15 5.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 18C16.015 18 14 20.015 14 22.5V23H23V22.5C23 20.015 20.985 18 18.5 18Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.5 15C19.8807 15 21 13.8807 21 12.5C21 11.1193 19.8807 10 18.5 10C17.1193 10 16 11.1193 16 12.5C16 13.8807 17.1193 15 18.5 15Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 1H13C12.448 1 12 1.448 12 2V10L16 6H22C22.552 6 23 5.552 23 5V2C23 1.448 22.552 1 22 1Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8179\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n statistics: '<svg id=\"statistics\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 10L9 3L15 9L22 2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3 22V19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 12V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 22V19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 12V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n transactions: '<svg id=\"transactions\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8178)\"><path d=\"M12 5C13.1046 5 14 4.10457 14 3C14 1.89543 13.1046 1 12 1C10.8954 1 10 1.89543 10 3C10 4.10457 10.8954 5 12 5Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M3.33984 20C4.44441 20 5.33984 19.1046 5.33984 18C5.33984 16.8954 4.44441 16 3.33984 16C2.23527 16 1.33984 16.8954 1.33984 18C1.33984 19.1046 2.23527 20 3.33984 20Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M20.6597 20C21.7642 20 22.6597 19.1046 22.6597 18C22.6597 16.8954 21.7642 16 20.6597 16C19.5551 16 18.6597 16.8954 18.6597 18C18.6597 19.1046 19.5551 20 20.6597 20Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6.27891 4.806C4.50421 6.03911 3.17846 7.81571 2.50152 9.868C1.82458 11.9203 1.83314 14.137 2.52591 16.184\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.4897 19.61C18.062 21.2375 16.1426 22.3553 14.0224 22.7938C11.9023 23.2323 9.69695 22.9676 7.74072 22.04\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21.963 12.155C21.7798 9.99978 20.9028 7.96204 19.4635 6.34746C18.0241 4.73288 16.1001 3.62851 13.98 3.2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8178\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n currencyExchange: '<svg id=\"currencyExchange\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8187)\"><path d=\"M15.6002 13.873C15.6124 14.2213 15.5443 14.5678 15.4013 14.8857C15.2582 15.2035 15.044 15.4842 14.7751 15.706C14.1079 16.2117 13.3017 16.501 12.4651 16.535V18.005H11.4831V16.563C10.429 16.5629 9.38546 16.3532 8.41315 15.946V14.053C8.89455 14.2823 9.39686 14.4648 9.91315 14.598C10.4252 14.7431 10.9505 14.8369 11.4811 14.878V12.654L11.0001 12.468C10.2477 12.2166 9.56051 11.8013 8.98815 11.252C8.59128 10.8056 8.38081 10.224 8.40015 9.627C8.39422 9.29842 8.46465 8.97294 8.60591 8.6762C8.74716 8.37947 8.95537 8.11958 9.21415 7.917C9.87359 7.42729 10.6637 7.14466 11.4842 7.105V6.005H12.4661V7.074C13.4889 7.10505 14.4965 7.32898 15.4361 7.734L14.7621 9.412C14.0285 9.10927 13.2529 8.92075 12.4621 8.853V10.969C13.1551 11.2129 13.822 11.5251 14.4531 11.901C14.8042 12.1209 15.1007 12.4177 15.3201 12.769C15.5112 13.1051 15.608 13.4865 15.6002 13.873ZM10.5581 9.627C10.5552 9.72432 10.5732 9.82114 10.611 9.91086C10.6488 10.0006 10.7055 10.0811 10.7772 10.147C10.9887 10.3241 11.2275 10.4659 11.4842 10.567V8.881C10.8675 8.97167 10.5588 9.22033 10.5581 9.627ZM13.4422 13.981C13.4427 13.8832 13.421 13.7866 13.3787 13.6984C13.3364 13.6103 13.2747 13.5328 13.1981 13.472C12.9746 13.2962 12.7284 13.1512 12.4661 13.041V14.827C13.1161 14.717 13.4415 14.435 13.4422 13.981Z\" fill=\"#5F6368\"/><path d=\"M5.34577 7.929L6.93177 2.237L1.13477 2.966\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M11.7889 23C9.34308 22.9539 6.98237 22.0939 5.08008 20.5558C3.17778 19.0178 1.84246 16.8895 1.28525 14.5075C0.728047 12.1255 0.98075 9.62575 2.00341 7.40347C3.02606 5.1812 4.76031 3.36322 6.93194 2.237\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M18.6539 16.071L17.0679 21.763L22.8649 21.034\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.2109 1C14.6568 1.04607 17.0175 1.90613 18.9198 3.44418C20.8221 4.98224 22.1574 7.11052 22.7146 9.49251C23.2718 11.8745 23.0191 14.3743 21.9965 16.5965C20.9738 18.8188 19.2396 20.6368 17.0679 21.763\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g><defs><clipPath id=\"clip0_46_8187\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n selfie: '<svg id=\"selfie\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M5 1H2V4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 11V14H5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 14H22V11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 4V1H19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12 13C9.239 13 7 10.761 7 8V7C7 4.239 9.239 2 12 2C14.761 2 17 4.239 17 7V8C17 10.761 14.761 13 12 13Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 21.805C22 20 20.795 18.426 19.055 17.945C17.316 17.464 14.89 17 12 17C9.11 17 6.684 17.464 4.945 17.945C3.205 18.427 2 20 2 21.805V23H22V21.805Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n cartRefresh: '<svg id=\"cartRefresh\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8181)\"><path d=\"M1 1H4V16H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M6 23C7.10457 23 8 22.1046 8 21C8 19.8954 7.10457 19 6 19C4.89543 19 4 19.8954 4 21C4 22.1046 4.89543 23 6 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M21 23C22.1046 23 23 22.1046 23 21C23 19.8954 22.1046 19 21 19C19.8954 19 19 19.8954 19 21C19 22.1046 19.8954 23 21 23Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M4 4H9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M14.126 4C14.57 2.275 16.136 1 18 1C19.48 1 20.772 1.804 21.464 2.999\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M23.22 0.648998L22.792 5L18.522 4.061L23.22 0.648998Z\" fill=\"#5F6368\"/><path d=\"M21.8741 7C21.4301 8.725 19.8641 10 18.0001 10C16.5201 10 15.2281 9.196 14.5361 8.001\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M12.7798 10.351L13.2078 6L17.4778 6.939L12.7798 10.351Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8181\"><rect width=\"24\" height=\"24\" fill=\"white\"/></clipPath></defs></svg>',\r\n chart: '<svg id=\"chart\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16.6 18.5C15.2 20.6 12.7 22 10 22C5.6 22 2 18.4 2 14C2 9.6 5.6 6 10 6\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19.9 20.8C21.2 18.9 22 16.5 22 14C22 7.4 16.6 2 10 2V14L19.9 20.8Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n tag:'<svg id=\"tag\" width=\"24\" height=\"24\" viewBox=\"0 0 22 22\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"> <g id=\"Group\"><path id=\"Vector\" d=\"M13.242 20.414L20.414 13.242C20.5998 13.0563 20.7472 12.8358 20.8478 12.5931C20.9483 12.3503 21.0001 12.0902 21.0001 11.8275C21.0001 11.5648 20.9483 11.3046 20.8478 11.0619C20.7472 10.8192 20.5998 10.5987 20.414 10.413L11 1H1V11L10.413 20.415C10.5988 20.6007 10.8194 20.7481 11.0621 20.8485C11.3048 20.949 11.565 21.0007 11.8277 21.0006C12.0904 21.0005 12.3505 20.9486 12.5932 20.848C12.8359 20.7473 13.0563 20.5999 13.242 20.414Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M7 9C8.10457 9 9 8.10457 9 7C9 5.89543 8.10457 5 7 5C5.89543 5 5 5.89543 5 7C5 8.10457 5.89543 9 7 9Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n fork: '<svg id=\"fork\" width=\"24\" height=\"24\" viewBox=\"0 0 22 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M11 22V1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M4 9V15.681C4.00004 16.0723 4.1149 16.4551 4.33033 16.7818C4.54576 17.1085 4.85231 17.3648 5.212 17.519L8 18.714\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_3\" d=\"M18 6V13.681C18 14.0723 17.8851 14.4551 17.6697 14.7818C17.4542 15.1085 17.1477 15.3648 16.788 15.519L14 16.714\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_4\" d=\"M8 4L11 1L14 4\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_5\" d=\"M1 12L4 9L7 12\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_6\" d=\"M15 9L18 6L21 9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n addToCart: '<svg id=\"assToCart\" width=\"24\" height=\"24\" viewBox=\"0 0 23 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M6 22C6.55228 22 7 21.5523 7 21C7 20.4477 6.55228 20 6 20C5.44772 20 5 20.4477 5 21C5 21.5523 5.44772 22 6 22Z\" fill=\"#5F6368\"/><path id=\"Vector_2\" d=\"M20 22C20.5523 22 21 21.5523 21 21C21 20.4477 20.5523 20 20 20C19.4477 20 19 20.4477 19 21C19 21.5523 19.4477 22 20 22Z\" fill=\"#5F6368\"/><path id=\"Vector_3\" d=\"M6 22C6.55228 22 7 21.5523 7 21C7 20.4477 6.55228 20 6 20C5.44772 20 5 20.4477 5 21C5 21.5523 5.44772 22 6 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_4\" d=\"M20 22C20.5523 22 21 21.5523 21 21C21 20.4477 20.5523 20 20 20C19.4477 20 19 20.4477 19 21C19 21.5523 19.4477 22 20 22Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_5\" d=\"M17 6H22L20.322 14.392C20.135 15.327 19.314 16 18.361 16H7.751C6.749 16 5.901 15.258 5.769 14.264L4 1H1\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_6\" d=\"M4.80005 6H9.00005\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_7\" d=\"M13 2V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_8\" d=\"M16.462 9.309C16.385 9.122 16.202 9 16 9H10C9.79802 9 9.61502 9.122 9.53802 9.309C9.46102 9.496 9.50402 9.711 9.64602 9.854L12.646 12.854C12.744 12.952 12.872 13 13 13C13.128 13 13.256 12.951 13.354 12.854L16.354 9.854C16.497 9.711 16.54 9.496 16.462 9.309Z\" fill=\"#5F6368\"/></g></svg>',\r\n crown: '<svg id=\"crown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 19\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M1 14H23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M23 3L18 7L12 1L6 7L1 3V16C1 16.5304 1.21071 17.0391 1.58579 17.4142C1.96086 17.7893 2.46957 18 3 18H21C21.5304 18 22.0391 17.7893 22.4142 17.4142C22.7893 17.0391 23 16.5304 23 16V3Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n logoWhatsapp: '<svg id=\"logoWhatsapp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path stroke-width=\"0\" d=\"M0.0537109 24L1.74142 17.8373C0.700401 16.0338 0.152611 13.9878 0.153461 11.8918C0.156091 5.33464 5.49279 0 12.0499 0C15.2323 0.00127 18.2192 1.23986 20.4652 3.48773C22.7113 5.73561 23.9476 8.7236 23.9463 11.9013C23.9437 18.4585 18.6065 23.7938 12.0501 23.7938H12.0452C10.0541 23.793 8.09776 23.2937 6.36018 22.3463L0.0537109 24ZM6.65235 20.1932L7.01342 20.4074C8.53152 21.3081 10.2718 21.7845 12.046 21.7852H12.05C17.4999 21.7852 21.9355 17.351 21.9377 11.9005C21.9388 9.25935 20.9112 6.77584 19.0444 4.90748C17.1776 3.03912 14.6949 2.00959 12.0539 2.00858C6.59989 2.00858 2.16421 6.44251 2.16203 11.8926C2.16127 13.7602 2.68404 15.5792 3.67381 17.153L3.90894 17.527L2.91003 21.1746L6.65235 20.1932Z\" fill=\"#5F6368\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.07685 6.92043C8.83559 6.34098 8.59052 6.41938 8.40806 6.4103C8.23488 6.40168 8.03652 6.39986 7.83836 6.39986C7.6402 6.39986 7.31818 6.47422 7.0457 6.77169C6.77324 7.06918 6.00537 7.7881 6.00537 9.25069C6.00537 10.7133 7.07048 12.1263 7.21911 12.3246C7.36772 12.523 9.31513 15.5244 12.297 16.8116C13.0061 17.1177 13.5598 17.3005 13.9915 17.4375C14.7036 17.6637 15.3516 17.6318 15.8638 17.5553C16.4349 17.47 17.6224 16.8364 17.8701 16.1423C18.1178 15.4481 18.1178 14.8532 18.0435 14.7292C17.9692 14.6053 17.7711 14.5309 17.4738 14.3822C17.1766 14.2334 15.7152 13.5145 15.4427 13.4154C15.1702 13.3162 14.9721 13.2666 14.7739 13.5641C14.5758 13.8616 14.0061 14.5309 13.8327 14.7292C13.6593 14.9276 13.4859 14.9524 13.1887 14.8036C12.8914 14.6549 11.9337 14.3411 10.7983 13.3287C9.91467 12.5408 9.31806 11.5676 9.14467 11.2702C8.97128 10.9727 9.12623 10.8118 9.27503 10.6637C9.40873 10.5306 9.57226 10.3166 9.72089 10.1431C9.8695 9.96958 9.91905 9.84563 10.0181 9.64733C10.1172 9.449 10.0677 9.27547 9.99335 9.12673C9.91903 8.978 9.32457 7.51538 9.07685 6.92043Z\" fill=\"#5F6368\"/></svg>',\r\n tagLoyalty: '<svg id=\"tagLoyalty\" width=\"24\" height=\"24\" viewBox=\"0 0 20 23\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g id=\"Group\"><path id=\"Vector\" d=\"M9 22H1V8L8 1L15 8V10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_2\" d=\"M8 11C9.10457 11 10 10.1046 10 9C10 7.89543 9.10457 7 8 7C6.89543 7 6 7.89543 6 9C6 10.1046 6.89543 11 8 11Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path id=\"Vector_3\" d=\"M18.361 14.631C17.388 13.67 15.764 13.827 15 14.964C14.235 13.826 12.611 13.671 11.639 14.631C10.787 15.473 10.787 16.838 11.639 17.679L15 21L18.361 17.679C19.213 16.838 19.213 15.473 18.361 14.631Z\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></g></svg>',\r\n\r\n //Navigation\r\n slideRight: '<svg id=\"slideRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 12H21\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 20H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M2 4H11\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M17 17L22 12L17 7\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n slideLeft: '<svg id=\"slideLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22 12H3\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 4H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M22 20H13\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M7 7L2 12L7 17\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowSmLeft: '<svg id=\"arrowSmLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M14 16L10 12L14 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowSmRight: '<svg id=\"arrowSmRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M10 8L14 12L10 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowSmDown: '<svg id=\"arrowSmDown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 10L12 14L8 10\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n caretSmUp: '<svg id=\"caretSmUp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8 14L12 10L16 14\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlDown: '<svg id=\"ctrlDown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M1 8L12 16L23 8\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlUp: '<svg id=\"ctrlUp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M23 16L12 8L1 16\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlRight: '<svg id=\"ctrlRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M8 1L16 12L8 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n ctrlLeft: '<svg id=\"ctrlLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M16 1L8 12L16 23\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowDown: '<svg id=\"arrowDown\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 2V22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M19 15L12 22L5 15\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowUp: '<svg id=\"arrowUp\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M12 22V2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M5 9L12 2L19 9\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowRight: '<svg id=\"arrowRight\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M2 12H22\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M15 5L22 12L15 19\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>',\r\n arrowLeft: '<svg id=\"arrowLeft\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path d=\"M22 12H2\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/><path d=\"M9 19L2 12L9 5\" stroke=\"#5F6368\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/></svg>', \r\n doubleArrowLeft: '<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.389 9.389a0.55 0.55 0 0 0 0 -0.778L1.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"/><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.389 9.389a0.55 0.55 0 0 0 0 -0.778L5.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"\"/></svg>', \r\n doubleArrowRight: '<svg width=\"10\" height=\"10\" viewBox=\"0 0 10 10\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\" version=\"1.1\" xmlns:xlink=\"http://www.w3.org/1999/xlink\" transform=\"matrix(-1,0,0,1,0,0)\"><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.389 9.389a0.55 0.55 0 0 0 0 -0.778L1.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"></path><path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M9.389 9.389a0.55 0.55 0 0 0 0 -0.778L5.778 5l3.611 -3.611a0.55 0.55 0 1 0 -0.778 -0.778l-4 4a0.55 0.55 0 0 0 0 0.778l4 4a0.55 0.55 0 0 0 0.778 0Z\" fill=\"#202124\" stroke-width=\"0\"></path></svg>'\r\n}\r\n","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { wappingIcons } from '../icons';\r\n\r\n@Component({\r\n selector: 'w-icons',\r\n template: `\r\n <ng-content></ng-content>\r\n `,\r\n styles: [],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WIconsComponent implements OnInit, AfterViewInit{\r\n @Input('name') name!: string;\r\n @Input('width') width!: number;\r\n @Input('height') height!: number;\r\n @Input('color') color!: string;\r\n\r\n constructor(private element: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n this.element.nativeElement.innerHTML = wappingIcons[this.name] || null;\r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n\r\n if(this.width)\r\n svgElement.setAttribute('width', this.width.toString()); \r\n\r\n if(this.height)\r\n svgElement.setAttribute('height', this.height.toString());\r\n \r\n if(this.color){\r\n this.applyColorToPaths(this.color);\r\n }\r\n }\r\n \r\n private applyColorToPaths(fillColor: string) {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n if (svgElement) {\r\n const pathElements = svgElement.querySelectorAll('path');\r\n pathElements.forEach((path:any) => {\r\n path.setAttribute('stroke', fillColor);\r\n\r\n const fillAttribute = path.getAttribute('fill');\r\n if (fillAttribute) {\r\n path.setAttribute('fill', fillColor);\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","export const wappingLogos: any = {\r\n wappingComplete: '<svg id=\"wappingComplete\" width=\"197\" height=\"64\" viewBox=\"0 0 197 64\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8839)\"><path id=\"path\" d=\"M40.9986 43.7251C40.9482 44.072 40.8726 44.4189 40.743 44.7479C40.4658 45.4416 39.9113 45.9173 39.202 46.1533C39.004 46.2176 38.7915 46.2713 38.6187 46.3929C38.5215 46.4608 38.5071 46.6539 38.3955 46.679C38.2155 46.7183 38.2443 46.5574 38.2083 46.4501C38.1435 46.257 37.8806 46.1211 37.7186 46.0281C37.0669 45.649 36.5989 45.0733 36.4692 44.3259C36.4152 44.0183 36.2532 42.6201 36.7285 42.6344C37.0885 42.6451 37.4558 42.7166 37.8158 42.7595C38.8023 42.874 39.7889 42.9884 40.7754 43.1064C41.1462 43.1493 41.0454 43.4462 41.0022 43.7323L40.9986 43.7251ZM36.2532 53.7632C33.3692 52.7047 31.9074 50.8737 32.7283 48.9641C33.3836 47.4371 33.9129 45.9065 33.9129 44.1793C33.9129 38.4539 29.2395 33.8121 23.4751 33.8121C17.7108 33.8121 13.0373 38.4539 13.0373 44.1793C13.0373 49.4361 16.7746 53.5415 21.7613 54.4069C22.1285 54.4713 23.9144 54.6215 24.332 54.6215H35.9436C36.48 54.7002 36.6925 54.01 36.2604 53.7597L36.2532 53.7632ZM43.7206 33.569C43.2993 35.2783 41.6647 35.8612 40.1093 36.2689C38.2191 36.766 36.2424 36.7445 34.5286 35.8469C33.4304 35.2712 31.641 34.0052 31.1729 31.1229C30.7985 28.8127 31.7346 27.2857 32.5915 26.0949C33.0308 25.4834 33.8553 24.8897 34.6186 24.4821C35.7455 23.8777 36.0264 23.9063 36.2532 25.1365C36.4368 26.1307 37.2073 26.921 38.1218 27.2929C39.5188 27.8615 40.8258 28.5946 41.8915 29.6889C42.9465 30.7724 44.1202 31.9633 43.7206 33.5725V33.569ZM39.7925 31.6164C39.7925 30.9119 39.2164 30.3362 38.5035 30.3362C37.7906 30.3362 37.2145 30.9083 37.2145 31.6164C37.2145 32.3245 37.7906 32.8966 38.5035 32.8966C39.2164 32.8966 39.7925 32.3245 39.7925 31.6164ZM16.1085 32.657C18.9997 30.472 21.8693 28.237 24.5985 25.8553C29.7868 21.3351 31.0829 13.6536 27.8209 7.63146C24.6489 1.77022 17.4875 -1.25517 10.9239 0.49355C4.13337 2.30306 -0.201604 8.18218 0.00722364 15.5704C0.489687 15.6133 1.07296 15.4274 1.53743 15.2521C4.65184 14.0684 7.68704 14.3402 10.283 16.7005C12.7097 18.9033 13.3758 21.9931 12.3136 25.3654C11.4531 28.1655 10.4234 30.9119 9.48367 33.6905C8.33872 37.0771 8.05068 40.4244 10.2902 44.5333C9.75011 38.7221 12.4253 35.4464 16.1121 32.6606L16.1085 32.657ZM40.509 40.9286C40.0805 40.6532 39.8249 40.4244 39.0328 40.3385C38.2731 40.2563 37.6934 40.4458 37.3225 40.6711C36.8401 40.9643 36.6313 41.1396 36.48 41.4543C36.3468 41.7296 36.4476 42.1087 36.7933 42.148C37.607 42.2446 38.4243 42.3376 39.238 42.4341C39.6881 42.4878 40.1417 42.5378 40.5918 42.5915C40.7106 42.6058 40.8294 42.6272 40.9482 42.6308C41.2975 42.6415 41.4199 42.0658 41.2831 41.8369C41.0562 41.4471 40.9014 41.1825 40.5054 40.9286H40.509Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M104.353 34.3879C103.982 34.3771 103.478 34.37 102.837 34.37H102.358C101.94 34.37 101.595 34.3843 101.325 34.4058C101.054 34.4308 100.82 34.5166 100.622 34.6632C100.129 34.5416 99.6863 34.4665 99.2903 34.4415C98.8978 34.4165 98.3541 34.4058 97.6664 34.4058C96.6547 34.4058 95.6934 34.5166 94.7825 34.7348C93.7491 35.003 92.7734 35.4392 91.8625 36.0365C90.9516 36.6372 90.145 37.356 89.443 38.2036C88.7409 39.0475 88.154 39.9952 87.6895 41.0466C87.2215 42.098 86.901 43.1994 86.7282 44.3509C86.433 46.4787 86.5842 48.3275 87.1891 49.8939C87.7939 51.4602 88.8345 52.5974 90.3107 53.3091C90.6059 53.4306 90.9408 53.5487 91.308 53.6595C91.6789 53.7704 92.1073 53.849 92.6006 53.8991H92.6366C92.759 53.9241 92.8994 53.9349 93.0614 53.9349H93.5979C94.9517 53.9349 96.1866 53.7275 97.292 53.3091C97.5872 53.234 97.9185 53.1016 98.2893 52.905C98.6818 53.47 99.4091 53.7847 100.468 53.8598C100.885 53.8848 101.292 53.8848 101.688 53.8598C102.081 53.8347 102.444 53.799 102.779 53.7489C103.11 53.6988 103.395 53.6452 103.629 53.5844C103.863 53.5236 104.018 53.4807 104.09 53.4557H104.054C104.399 53.3341 104.633 53.1946 104.756 53.0337C104.878 52.8763 104.965 52.6618 105.015 52.3936L105.238 50.888C105.289 50.5698 105.22 50.3015 105.033 50.0798C104.849 49.8581 104.583 49.7508 104.237 49.7508H103.463L105.31 36.6837C105.386 36.0722 105.422 35.6073 105.422 35.2891C105.422 34.9708 105.335 34.7455 105.163 34.6096C104.99 34.4773 104.72 34.4022 104.349 34.3915L104.353 34.3879ZM98.2173 48.281C98.0913 48.3311 97.9581 48.3848 97.8105 48.4455C97.6628 48.5063 97.4036 48.5993 97.0328 48.7209C96.3415 48.9176 95.7582 49.0392 95.2793 49.0892C94.8005 49.1393 94.4368 49.1393 94.1884 49.0892C93.6951 49.0177 93.3063 48.8568 93.0254 48.6136C92.741 48.3704 92.5394 48.0701 92.4169 47.716C92.2945 47.362 92.2261 46.965 92.2117 46.5216C92.1973 46.0817 92.2189 45.6276 92.2693 45.1627C92.3413 44.4296 92.471 43.7072 92.6582 42.9956C92.8418 42.2839 93.119 41.6509 93.4899 41.0859C93.8607 40.5245 94.3216 40.0703 94.8761 39.727C95.4305 39.3837 96.1146 39.212 96.9283 39.212C97.4216 39.212 97.8825 39.2299 98.3145 39.2657C98.7466 39.3014 99.1318 39.3444 99.4775 39.3944L98.2209 48.2775L98.2173 48.281Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M94.6276 15.3201C92.1325 14.3116 90.9264 15.9852 90.7319 16.3893L74.6414 48.0128L71.3218 32.2923C71.1633 31.5699 70.9725 31.037 70.7529 30.6937C70.5333 30.3504 69.1363 28.5159 66.688 29.2705C63.9804 30.1073 64.2756 32.1349 64.2144 32.6678C64.182 32.9181 64.2072 33.1934 64.2864 33.4903C64.3657 33.7907 64.4377 34.1089 64.4989 34.4558C64.4989 34.4558 68.3046 49.64 68.751 51.2635C69.0175 52.0574 69.1183 52.4043 69.2623 52.7154C69.4027 53.0301 69.5539 53.3126 69.7124 53.5629C70.1552 54.3783 70.9437 54.929 72.0815 55.2115C72.3335 55.2723 72.6107 55.3224 72.9096 55.351C73.2084 55.3832 73.4857 55.3975 73.7377 55.3975C74.4974 55.3975 75.2211 55.233 75.9196 54.904C76.6145 54.575 77.2626 54.128 77.8602 53.5629C78.2383 53.1875 78.5623 52.8084 78.8324 52.4329C79.0988 52.0574 79.3616 51.6497 79.6137 51.2099L96.2371 19.1966C96.3127 19.0464 97.5656 16.5038 94.624 15.3165L94.6276 15.3201Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M64.1207 44.4832C63.8039 45.1734 63.487 45.8493 63.1738 46.5073C62.857 47.1653 62.5581 47.7303 62.2737 48.2024L59.0512 32.3888C58.8928 31.8882 58.5472 31.3911 58.0107 30.9047C57.4742 30.4184 56.7289 30.1752 55.782 30.1752C54.9611 30.1752 53.7441 30.2825 52.8224 31.4304C51.447 33.1398 52.6568 36.5729 52.6568 36.5729C53.3841 39.6161 53.9674 42.0336 54.4102 43.8216C54.8531 45.6097 55.1987 47.0151 55.4508 48.0343C55.7028 49.0535 55.8936 49.783 56.0196 50.2229C56.1457 50.6627 56.2717 51.0525 56.3977 51.3994H56.3509C56.4445 51.7463 56.5705 52.1146 56.7289 52.5044C56.8874 52.8978 57.0602 53.2482 57.251 53.5629C57.8199 54.3783 58.6264 54.929 59.6669 55.2115C59.919 55.2723 60.189 55.3224 60.4734 55.351C60.7579 55.3832 61.0243 55.3975 61.2799 55.3975C62.0684 55.3975 62.8281 55.2401 63.5554 54.9254C64.2827 54.6107 64.9128 54.1423 65.4493 53.5129C65.6077 53.3555 65.7805 53.1588 65.9714 52.9264C66.1622 52.6904 66.335 52.4329 66.4934 52.1504L67.1019 51.1276L64.902 42.7702C64.6464 43.3317 64.3872 43.8967 64.1207 44.4796V44.4832Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M125.696 38.3323C125.091 36.791 124.051 35.6538 122.575 34.9171C122.254 34.7705 121.804 34.631 121.224 34.4952C120.645 34.3628 120.036 34.2949 119.395 34.2949H119.359C118.668 34.2949 118.009 34.345 117.383 34.4415C116.756 34.5416 116.169 34.699 115.626 34.9171L114.628 35.3212C114.409 35.053 114.092 34.8206 113.685 34.6239C113.278 34.4272 112.817 34.3307 112.306 34.3307C111.669 34.3307 111.107 34.4058 110.617 34.5524C110.128 34.699 109.699 34.8706 109.332 35.0673C108.893 35.289 108.511 35.5215 108.194 35.7647C108.144 35.8147 108.072 35.9363 107.975 36.133C107.877 36.3297 107.816 36.487 107.791 36.6086L107.568 38.1857C107.517 38.529 107.579 38.8044 107.751 39.0118C107.924 39.2192 108.18 39.3229 108.522 39.3229H109.364L106.272 61.273C106.196 61.8345 106.156 62.2708 106.142 62.5747C106.128 62.8787 106.196 63.1076 106.347 63.2542C106.495 63.4008 106.722 63.4866 107.031 63.5117C107.341 63.5367 107.777 63.5474 108.338 63.5474H108.742C109.303 63.5474 109.76 63.5331 110.117 63.5117C110.47 63.4866 110.747 63.4008 110.941 63.2542C111.136 63.1076 111.291 62.8823 111.402 62.5747C111.514 62.2672 111.604 61.8345 111.676 61.273L114.7 40.1311C115.021 39.9344 115.438 39.727 115.957 39.5089C116.573 39.2406 117.127 39.094 117.62 39.069C118.114 39.044 118.495 39.0583 118.765 39.1048C119.284 39.1799 119.676 39.3372 119.95 39.5804C120.22 39.8236 120.425 40.1311 120.558 40.4959C120.692 40.8642 120.76 41.2719 120.76 41.726C120.76 42.1802 120.735 42.6379 120.684 43.1028C120.634 43.6428 120.548 44.1936 120.425 44.755C120.303 45.32 120.13 45.8564 119.907 46.3714C119.683 46.8864 119.403 47.3513 119.057 47.7661C118.711 48.1845 118.294 48.4992 117.8 48.7209C117.53 48.9176 116.925 49.0141 115.989 49.0141C115.579 49.0141 115.197 48.9998 114.823 48.982L114.121 53.7847H115.251C115.77 53.7847 116.256 53.7668 116.709 53.731C117.167 53.6953 117.638 53.6166 118.132 53.4914C118.747 53.3448 119.493 53.0802 120.367 52.7011C121.242 52.322 122.074 51.6926 122.863 50.8093C123.651 49.9511 124.346 48.9247 124.951 47.7267C125.556 46.5288 125.955 45.2449 126.153 43.8717C126.449 41.7189 126.294 39.87 125.693 38.3287L125.696 38.3323Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M155.962 24.972C155.555 24.9469 154.993 24.9362 154.28 24.9362C153.639 24.9362 153.128 24.9505 152.746 24.972C152.365 24.997 152.062 25.0936 151.843 25.2652C151.619 25.4369 151.454 25.6944 151.342 26.0341C151.231 26.3774 151.137 26.878 151.065 27.5396L150.993 28.1619C150.917 28.8485 150.881 29.367 150.881 29.721C150.881 30.0751 150.975 30.3326 151.159 30.4935C151.342 30.6544 151.634 30.7367 152.026 30.751C152.419 30.7653 152.973 30.7688 153.69 30.7688C154.331 30.7688 154.849 30.7581 155.242 30.7331C155.634 30.7081 155.944 30.6115 156.163 30.4398C156.386 30.2682 156.552 30.0107 156.664 29.671C156.775 29.3277 156.869 28.827 156.941 28.1654L157.017 27.5432C157.089 26.8816 157.128 26.3738 157.128 26.0198C157.128 25.6657 157.035 25.4083 156.851 25.2473C156.667 25.09 156.372 24.997 155.965 24.972H155.962Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M196.74 34.6096C196.568 34.4773 196.298 34.4022 195.927 34.3914C195.556 34.3807 195.041 34.3736 194.375 34.3736H194.116C193.622 34.3736 193.223 34.3914 192.913 34.4272C192.604 34.463 192.351 34.5667 192.157 34.7383C192.207 34.8098 192.143 34.8098 191.973 34.7383C191.801 34.6632 191.653 34.606 191.531 34.5559C191.505 34.5559 191.48 34.5488 191.459 34.5381C191.433 34.5273 191.408 34.5202 191.383 34.5202C191.16 34.4701 190.861 34.4415 190.476 34.4272C190.094 34.4165 189.68 34.4093 189.237 34.4093C188.225 34.4093 187.278 34.5202 186.393 34.7383C185.777 34.8849 185.021 35.1675 184.121 35.5823C183.221 36.0007 182.403 36.6086 181.662 37.4168C180.873 38.2751 180.171 39.2943 179.555 40.4816C178.94 41.6688 178.533 42.9598 178.335 44.3545C178.04 46.4823 178.191 48.3311 178.796 49.8974C179.401 51.4638 180.441 52.601 181.917 53.3126C182.187 53.4342 182.508 53.5522 182.879 53.6631C183.249 53.7739 183.667 53.8526 184.135 53.9027C184.258 53.9277 184.405 53.9384 184.578 53.9384H185.133C186.465 53.9384 187.721 53.731 188.902 53.3126H188.866L189.086 53.2375L188.679 56.3952C188.603 57.0318 188.359 57.4967 187.941 57.7899C187.523 58.0831 186.994 58.2906 186.353 58.4157C186.133 58.4658 185.874 58.5016 185.579 58.5266C185.284 58.5516 184.974 58.5623 184.654 58.5623C183.988 58.5623 183.329 58.5194 182.677 58.4336C182.025 58.3478 181.55 58.2798 181.255 58.2333C180.96 58.1833 180.736 58.1404 180.589 58.1046C180.441 58.0688 180.268 58.051 180.07 58.051C179.505 58.051 179.055 58.2405 178.72 58.6196C178.389 58.9986 178.036 59.5815 177.669 60.3647C177.546 60.6329 177.442 60.8797 177.356 61.0978C177.269 61.3195 177.211 61.5126 177.19 61.6843C177.139 61.9525 177.165 62.1671 177.262 62.328C177.359 62.4889 177.539 62.6284 177.798 62.75C178.058 62.8716 178.407 62.9896 178.85 63.1004C179.293 63.2113 179.836 63.34 180.477 63.4866C180.92 63.5367 181.402 63.5832 181.917 63.6333C182.436 63.6833 183.001 63.7084 183.617 63.7084C183.937 63.7084 184.344 63.6833 184.837 63.6333C185.331 63.5832 185.842 63.5117 186.371 63.4151C186.9 63.315 187.422 63.2006 187.941 63.0647C188.459 62.9288 188.927 62.7643 189.345 62.5712C190.576 62.0061 191.624 61.2194 192.485 60.2038C193.349 59.1882 193.9 57.8364 194.148 56.1485L196.884 36.6945C196.957 36.0829 196.996 35.618 196.996 35.2998C196.996 34.9815 196.91 34.7562 196.737 34.6203L196.74 34.6096ZM189.792 48.281C189.619 48.3526 189.446 48.4241 189.273 48.4813C189.1 48.5421 188.877 48.6243 188.607 48.7209C187.966 48.9426 187.404 49.0678 186.926 49.1071C186.447 49.1429 186.069 49.1393 185.799 49.0892C185.28 49.0177 184.877 48.8639 184.578 48.6315C184.283 48.3991 184.074 48.0987 183.952 47.7339C183.829 47.3656 183.761 46.965 183.746 46.5216C183.732 46.0817 183.754 45.6276 183.804 45.1627C183.876 44.6012 183.97 44.0326 184.081 43.4569C184.193 42.8811 184.358 42.3447 184.578 41.8405C184.801 41.3398 185.079 40.8857 185.41 40.4816C185.741 40.0775 186.155 39.7663 186.648 39.5446C186.846 39.4481 187.109 39.3658 187.444 39.305C187.775 39.2442 188.128 39.212 188.495 39.212C188.863 39.212 189.197 39.2192 189.493 39.2299C189.788 39.2406 190.072 39.2728 190.342 39.3229C190.465 39.3479 190.584 39.3765 190.695 39.4159C190.807 39.4516 190.922 39.4838 191.048 39.5089L189.792 48.281Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M175.454 49.7115H174.677L176.045 40.0202C176.34 37.9425 175.94 36.4477 174.842 35.5429C173.744 34.6382 171.829 34.209 169.096 34.2591C168.455 34.2591 167.872 34.2841 167.343 34.3306C166.813 34.3807 166.363 34.4415 165.992 34.513C165.769 34.5631 165.506 34.6274 165.197 34.7133C164.887 34.7991 164.624 34.9028 164.401 35.0244C163.933 34.513 163.216 34.2555 162.259 34.2555C161.618 34.2555 161.045 34.3271 160.541 34.4737C160.037 34.6203 159.598 34.7919 159.231 34.9886C158.788 35.2104 158.406 35.4428 158.086 35.686C157.963 35.8076 157.87 35.9506 157.808 36.108C157.747 36.2689 157.704 36.3976 157.679 36.4942L157.456 38.0712C157.405 38.4145 157.474 38.6935 157.661 38.9152C157.844 39.1369 158.111 39.2442 158.457 39.2442H159.27L158.791 42.4377L157.499 51.3207C157.423 51.8106 157.387 52.2076 157.387 52.5116C157.387 52.8155 157.456 53.0587 157.592 53.2268C157.729 53.3984 157.931 53.5093 158.201 53.5558C158.471 53.6058 158.842 53.6273 159.31 53.6273H160.638C161.081 53.6273 161.445 53.5951 161.729 53.5343C162.01 53.4735 162.233 53.3555 162.395 53.1874C162.554 53.0158 162.676 52.7798 162.766 52.4722C162.853 52.1682 162.932 51.782 163.008 51.3171L164.671 39.5339C165.287 39.4373 165.92 39.3515 166.576 39.2764C167.227 39.2013 167.886 39.1906 168.552 39.2406C169.218 39.2907 169.715 39.4373 170.05 39.6805C170.381 39.9237 170.5 40.3528 170.403 40.9643L169.035 50.6198C169.01 50.7664 168.999 51.006 168.999 51.335C168.999 51.664 169.071 52.0037 169.222 52.3435C169.37 52.6868 169.622 52.9979 169.978 53.2804C170.335 53.5629 170.86 53.7382 171.548 53.8133C172.484 53.9098 173.258 53.8991 173.877 53.7775C174.493 53.6559 174.864 53.5701 174.986 53.52C175.307 53.3734 175.584 53.2196 175.818 53.0623C176.052 52.9049 176.192 52.6653 176.243 52.3471L176.463 50.8415C176.513 50.5232 176.445 50.255 176.261 50.0333C176.074 49.8116 175.811 49.7043 175.465 49.7043L175.454 49.7115Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M154.942 35.1031C154.723 34.8599 154.431 34.6561 154.075 34.4987C153.718 34.3414 153.293 34.2591 152.8 34.2591C152.159 34.2591 151.587 34.3306 151.083 34.4773C150.579 34.6239 150.139 34.7848 149.772 34.9529C149.329 35.1746 148.948 35.4071 148.627 35.6502C148.505 35.7218 148.4 35.8398 148.314 35.9971C148.228 36.158 148.17 36.3225 148.148 36.4906L147.929 38.0677C147.878 38.411 147.954 38.6899 148.148 38.9116C148.346 39.1334 148.606 39.2406 148.922 39.2406H149.772L148.037 51.3171C147.961 51.9036 147.918 52.3506 147.907 52.6582C147.893 52.9657 147.961 53.191 148.112 53.3376C148.26 53.4843 148.487 53.5701 148.796 53.5951C149.103 53.6202 149.542 53.6309 150.107 53.6309H150.514C151.079 53.6309 151.536 53.6202 151.882 53.5951C152.228 53.5701 152.505 53.4843 152.714 53.3376C152.923 53.191 153.081 52.9657 153.193 52.6582C153.304 52.3506 153.394 51.9072 153.47 51.3171L155.501 36.7803C155.526 36.5121 155.493 36.2224 155.407 35.9184C155.321 35.6109 155.166 35.3355 154.946 35.0924L154.942 35.1031Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M142.42 34.9207C142.1 34.7741 141.65 34.6346 141.07 34.4987C140.49 34.3664 139.882 34.2985 139.241 34.2985H139.205C138.514 34.2985 137.855 34.3485 137.228 34.4451C136.602 34.5452 136.015 34.7026 135.471 34.9207L134.474 35.3248C134.254 35.0566 133.938 34.8241 133.531 34.6275C133.124 34.4308 132.663 34.3342 132.152 34.3342C131.514 34.3342 130.953 34.4093 130.463 34.5559C129.973 34.7026 129.545 34.8742 129.178 35.0709C128.738 35.2926 128.357 35.5251 128.04 35.7682C127.99 35.8183 127.918 35.9399 127.82 36.1366C127.723 36.3333 127.662 36.4906 127.637 36.6122L127.414 38.1893C127.363 38.5326 127.424 38.8079 127.597 39.0153C127.77 39.2228 128.026 39.3265 128.368 39.3265H129.21L126.117 61.2766C126.042 61.8381 126.002 62.2743 125.988 62.5783C125.973 62.8823 126.042 63.1111 126.193 63.2578C126.341 63.4044 126.567 63.4902 126.877 63.5152C127.187 63.5403 127.622 63.551 128.184 63.551H128.587C129.149 63.551 129.606 63.5367 129.963 63.5152C130.315 63.4902 130.593 63.4044 130.787 63.2578C130.982 63.1111 131.136 62.8859 131.248 62.5783C131.36 62.2708 131.45 61.8381 131.522 61.2766L134.546 40.1347C134.866 39.938 135.284 39.7306 135.803 39.5124C136.418 39.2442 136.973 39.0976 137.466 39.0726C137.725 39.0583 137.948 39.0583 138.147 39.0654C138.399 39.0654 138.625 39.0797 138.795 39.1083C139.313 39.1834 139.706 39.3408 139.976 39.5839C140.246 39.8271 140.451 40.1347 140.584 40.4994C140.717 40.8678 140.786 41.2754 140.786 41.7296C140.786 42.1838 140.76 42.6415 140.714 43.1064C140.663 43.6464 140.577 44.1971 140.454 44.7586C140.332 45.3236 140.159 45.86 139.936 46.375C139.713 46.8899 139.432 47.3548 139.086 47.7697C138.741 48.1881 138.323 48.5028 137.83 48.7245C137.56 48.9212 136.955 49.0177 136.019 49.0177C135.986 49.0177 135.957 49.0177 135.921 49.0177C135.889 49.0177 135.867 49.0177 135.835 49.0177C135.425 49.0177 135.043 49.0034 134.668 48.9855L133.966 53.7882H135.097C135.615 53.7882 136.101 53.7704 136.555 53.7346C137.012 53.6988 137.484 53.6202 137.977 53.495C138.593 53.3484 139.338 53.0837 140.213 52.7047C141.088 52.3256 141.92 51.6962 142.708 50.8129C143.497 49.9547 144.192 48.9283 144.797 47.7303C145.401 46.5323 145.801 45.2485 145.999 43.8753C146.294 41.7225 146.14 39.8736 145.538 38.3323C144.933 36.791 143.893 35.6538 142.417 34.9171L142.42 34.9207Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8839\"><rect width=\"197\" height=\"64\" fill=\"white\"/></clipPath></defs></svg>',\r\n wappingNaming: '<svg id=\"wappingNaming\" width=\"145\" height=\"40\" viewBox=\"0 0 145 50\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8840)\"><path id=\"path\" d=\"M52.4312 20.1687C52.0606 20.1579 51.557 20.1507 50.9167 20.1507H50.4382C50.0209 20.1507 49.6756 20.1651 49.4058 20.1867C49.1359 20.2119 48.9021 20.2984 48.7042 20.4461C48.2114 20.3236 47.7689 20.2479 47.3732 20.2227C46.9811 20.1975 46.4379 20.1867 45.7508 20.1867C44.7399 20.1867 43.7794 20.2984 42.8692 20.5181C41.8368 20.7883 40.8619 21.2278 39.9517 21.8295C39.0416 22.4347 38.2358 23.1588 37.5343 24.0126C36.8328 24.8628 36.2464 25.8175 35.7823 26.8767C35.3147 27.9358 34.9945 29.0454 34.8218 30.2054C34.5268 32.349 34.6779 34.2115 35.2823 35.7894C35.8867 37.3674 36.9263 38.513 38.4013 39.2299C38.6962 39.3524 39.0308 39.4713 39.3977 39.5829C39.7683 39.6946 40.1964 39.7739 40.6892 39.8243H40.7252C40.8475 39.8495 40.9878 39.8603 41.1497 39.8603H41.6857C43.0383 39.8603 44.2722 39.6514 45.3766 39.2299C45.6716 39.1542 46.0026 39.0209 46.3731 38.8228C46.7652 39.392 47.4919 39.709 48.5496 39.7847C48.9669 39.8099 49.3734 39.8099 49.7691 39.7847C50.1612 39.7595 50.5245 39.7234 50.8591 39.673C51.1901 39.6226 51.4743 39.5685 51.7081 39.5073C51.9419 39.446 52.0966 39.4028 52.1686 39.3776H52.1326C52.4779 39.2551 52.7118 39.1146 52.8341 38.9525C52.9564 38.794 53.0427 38.5778 53.0931 38.3076L53.3161 36.791C53.3665 36.4703 53.2981 36.2001 53.1111 35.9768C52.9276 35.7534 52.6614 35.6453 52.3161 35.6453H51.5426L53.3881 22.4815C53.4636 21.8655 53.4996 21.3972 53.4996 21.0765C53.4996 20.7559 53.4133 20.5289 53.2406 20.392C53.0679 20.2587 52.7981 20.1831 52.4276 20.1723L52.4312 20.1687ZM46.3012 34.1647C46.1753 34.2151 46.0422 34.2692 45.8947 34.3304C45.7472 34.3916 45.4882 34.4853 45.1176 34.6078C44.4269 34.8059 43.8441 34.9284 43.3657 34.9789C42.8872 35.0293 42.5239 35.0293 42.2757 34.9789C41.7828 34.9068 41.3943 34.7447 41.1137 34.4997C40.8295 34.2547 40.628 33.9521 40.5057 33.5955C40.3834 33.2388 40.3151 32.8389 40.3007 32.3922C40.2863 31.9491 40.3079 31.4916 40.3582 31.0232C40.4302 30.2847 40.5597 29.557 40.7468 28.8401C40.9302 28.1232 41.2072 27.4855 41.5778 26.9163C41.9483 26.3507 42.4088 25.8932 42.9628 25.5473C43.5168 25.2015 44.2003 25.0286 45.0133 25.0286C45.5061 25.0286 45.9666 25.0466 46.3983 25.0826C46.83 25.1186 47.2149 25.1618 47.5603 25.2123L46.3048 34.1611L46.3012 34.1647Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M42.7146 0.959747C40.2216 -0.0561787 39.0164 1.62983 38.8222 2.03692L22.7453 33.8945L19.4285 18.0576C19.2702 17.3298 19.0796 16.7931 18.8601 16.4472C18.6407 16.1014 17.2449 14.2532 14.7986 15.0134C12.0934 15.8564 12.3884 17.8991 12.3272 18.4358C12.2948 18.688 12.32 18.9654 12.3992 19.2644C12.4783 19.567 12.5503 19.8877 12.6114 20.2371C12.6114 20.2371 16.4139 35.5337 16.86 37.1692C17.1262 37.969 17.2269 38.3184 17.3708 38.6319C17.5111 38.9489 17.6622 39.2335 17.8205 39.4857C18.2629 40.3071 19.0508 40.8619 20.1876 41.1465C20.4394 41.2077 20.7164 41.2581 21.015 41.287C21.3136 41.3194 21.5906 41.3338 21.8424 41.3338C22.6014 41.3338 23.3245 41.1681 24.0224 40.8366C24.7167 40.5052 25.3642 40.0549 25.9614 39.4857C26.3391 39.1074 26.6629 38.7255 26.9327 38.3473C27.1989 37.969 27.4615 37.5583 27.7134 37.1152L44.3226 4.86494C44.3982 4.71363 45.6501 2.1522 42.711 0.956145L42.7146 0.959747Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M12.2336 30.3387C11.917 31.034 11.6005 31.7149 11.2875 32.3778C10.9709 33.0407 10.6723 33.6099 10.3881 34.0854L7.16844 18.1548C7.01015 17.6505 6.6648 17.1497 6.12878 16.6598C5.59277 16.1698 4.8481 15.9248 3.90198 15.9248C3.08177 15.9248 1.86585 16.0329 0.944913 17.1893C-0.429299 18.9114 0.77943 22.3698 0.77943 22.3698C1.50611 25.4356 2.08889 27.871 2.53137 29.6723C2.97385 31.4735 3.3192 32.8894 3.57102 33.9161C3.82284 34.9428 4.0135 35.6777 4.13941 36.1209C4.26532 36.564 4.39123 36.9567 4.51714 37.3061H4.47038C4.56391 37.6556 4.68982 38.0266 4.84811 38.4193C5.00639 38.8156 5.17907 39.1686 5.36973 39.4857C5.93812 40.3071 6.74394 40.8619 7.7836 41.1465C8.03542 41.2077 8.30522 41.2581 8.58942 41.287C8.87362 41.3194 9.13982 41.3338 9.39524 41.3338C10.1831 41.3338 10.9421 41.1753 11.6688 40.8582C12.3955 40.5412 13.025 40.0693 13.561 39.4352C13.7193 39.2767 13.892 39.0786 14.0827 38.8444C14.2733 38.6066 14.446 38.3473 14.6043 38.0627L15.2123 37.0323L13.0142 28.6131C12.7588 29.1787 12.4998 29.7479 12.2336 30.3351V30.3387Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M73.7567 24.1423C73.1524 22.5896 72.1127 21.444 70.6378 20.7019C70.3176 20.5542 69.8679 20.4137 69.2887 20.2768C68.7096 20.1435 68.1016 20.075 67.4612 20.075H67.4253C66.7346 20.075 66.0762 20.1254 65.4503 20.2227C64.8243 20.3236 64.238 20.4821 63.6948 20.7019L62.6983 21.1089C62.4788 20.8388 62.1623 20.6046 61.7557 20.4064C61.3492 20.2083 60.8888 20.111 60.3779 20.111C59.7412 20.111 59.18 20.1867 58.6908 20.3344C58.2015 20.4821 57.7734 20.655 57.4065 20.8532C56.9676 21.0765 56.5863 21.3107 56.2697 21.5557C56.2193 21.6061 56.1474 21.7286 56.0503 21.9267C55.9531 22.1249 55.892 22.2834 55.8668 22.4059L55.6437 23.9946C55.5934 24.3405 55.6545 24.6179 55.8272 24.8268C55.9999 25.0358 56.2553 25.1402 56.5971 25.1402H57.4389L54.3487 47.2528C54.2731 47.8184 54.2336 48.2579 54.2192 48.5642C54.2048 48.8704 54.2731 49.101 54.4242 49.2487C54.5717 49.3964 54.7983 49.4828 55.1077 49.508C55.4171 49.5333 55.8524 49.5441 56.4136 49.5441H56.8165C57.3777 49.5441 57.8346 49.5297 58.1907 49.508C58.5433 49.4828 58.8203 49.3964 59.0145 49.2487C59.2088 49.101 59.3635 48.874 59.475 48.5642C59.5865 48.2543 59.6764 47.8184 59.7484 47.2528L62.7702 25.9544C63.0904 25.7563 63.5077 25.5473 64.0257 25.3276C64.6409 25.0574 65.1949 24.9097 65.6877 24.8844C66.1806 24.8592 66.5619 24.8736 66.8317 24.9205C67.3497 24.9961 67.7418 25.1546 68.0152 25.3996C68.2851 25.6446 68.4901 25.9544 68.6232 26.3219C68.7563 26.6929 68.8247 27.1036 68.8247 27.5612C68.8247 28.0187 68.7995 28.4798 68.7491 28.9482C68.6988 29.4921 68.6124 30.0469 68.4901 30.6125C68.3678 31.1817 68.1951 31.7221 67.9721 32.2409C67.749 32.7597 67.4684 33.228 67.1231 33.6459C66.7777 34.0674 66.3604 34.3844 65.8676 34.6078C65.5978 34.8059 64.9934 34.9032 64.0581 34.9032C63.648 34.9032 63.2667 34.8888 62.8925 34.8708L62.191 39.709H63.3206C63.8387 39.709 64.3243 39.691 64.7776 39.655C65.2344 39.619 65.7057 39.5397 66.1986 39.4136C66.8137 39.2659 67.5584 38.9993 68.4326 38.6175C69.3067 38.2356 70.1377 37.6015 70.9256 36.7117C71.7134 35.8471 72.4077 34.8131 73.0121 33.6063C73.6164 32.3994 74.0157 31.1061 74.2136 29.7227C74.5086 27.554 74.3539 25.6914 73.7531 24.1387L73.7567 24.1423Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M103.996 10.6831C103.59 10.6579 103.029 10.6471 102.316 10.6471C101.676 10.6471 101.165 10.6615 100.784 10.6831C100.403 10.7083 100.1 10.8056 99.8809 10.9785C99.6579 11.1514 99.4924 11.4108 99.3809 11.7531C99.2694 12.0989 99.1758 12.6033 99.1039 13.2697L99.0319 13.8966C98.9564 14.5883 98.9204 15.1107 98.9204 15.4673C98.9204 15.824 99.0139 16.0833 99.1974 16.2455C99.3809 16.4076 99.6723 16.4904 100.064 16.5048C100.457 16.5193 101.011 16.5229 101.726 16.5229C102.367 16.5229 102.885 16.5121 103.277 16.4868C103.669 16.4616 103.978 16.3643 104.198 16.1914C104.421 16.0185 104.586 15.7591 104.698 15.4169C104.809 15.071 104.903 14.5667 104.975 13.9002L105.05 13.2733C105.122 12.6069 105.162 12.0953 105.162 11.7386C105.162 11.382 105.068 11.1226 104.885 10.9605C104.701 10.802 104.406 10.7083 104 10.6831H103.996Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M144.741 20.392C144.568 20.2587 144.298 20.1831 143.928 20.1723C143.557 20.1615 143.043 20.1543 142.377 20.1543H142.118C141.626 20.1543 141.226 20.1723 140.917 20.2083C140.607 20.2443 140.356 20.3488 140.161 20.5217C140.212 20.5938 140.147 20.5938 139.978 20.5217C139.805 20.4461 139.658 20.3884 139.535 20.338C139.51 20.338 139.485 20.3308 139.464 20.32C139.438 20.3092 139.413 20.302 139.388 20.302C139.165 20.2515 138.866 20.2227 138.481 20.2083C138.1 20.1975 137.686 20.1903 137.244 20.1903C136.233 20.1903 135.287 20.302 134.402 20.5217C133.787 20.6694 133.031 20.954 132.132 21.3719C131.233 21.7934 130.416 22.4059 129.675 23.2201C128.887 24.0847 128.186 25.1114 127.57 26.3075C126.955 27.5035 126.549 28.804 126.351 30.209C126.056 32.3526 126.207 34.2151 126.811 35.793C127.416 37.371 128.455 38.5166 129.93 39.2335C130.2 39.356 130.52 39.4749 130.891 39.5865C131.261 39.6982 131.679 39.7775 132.146 39.8279C132.269 39.8531 132.416 39.8639 132.589 39.8639H133.143C134.474 39.8639 135.729 39.655 136.909 39.2335H136.873L137.093 39.1578L136.686 42.3389C136.611 42.9802 136.366 43.4485 135.949 43.7439C135.532 44.0393 135.003 44.2483 134.362 44.3744C134.143 44.4248 133.884 44.4608 133.589 44.4861C133.294 44.5113 132.985 44.5221 132.664 44.5221C131.999 44.5221 131.341 44.4788 130.689 44.3924C130.038 44.3059 129.563 44.2375 129.268 44.1906C128.973 44.1402 128.75 44.097 128.603 44.0609C128.455 44.0249 128.283 44.0069 128.085 44.0069C127.52 44.0069 127.07 44.1978 126.736 44.5797C126.405 44.9616 126.052 45.5488 125.685 46.3378C125.563 46.608 125.459 46.8565 125.372 47.0763C125.286 47.2997 125.229 47.4942 125.207 47.6671C125.157 47.9373 125.182 48.1535 125.279 48.3156C125.376 48.4777 125.556 48.6182 125.815 48.7407C126.074 48.8632 126.423 48.9821 126.865 49.0937C127.308 49.2054 127.851 49.3351 128.491 49.4828C128.934 49.5333 129.416 49.5801 129.93 49.6305C130.448 49.681 131.013 49.7062 131.628 49.7062C131.949 49.7062 132.355 49.681 132.848 49.6305C133.341 49.5801 133.852 49.508 134.38 49.4108C134.909 49.3099 135.431 49.1946 135.949 49.0577C136.467 48.9208 136.935 48.7551 137.352 48.5606C138.582 47.9914 139.629 47.1988 140.489 46.1757C141.352 45.1525 141.903 43.7908 142.151 42.0903L144.885 22.4923C144.957 21.8763 144.996 21.408 144.996 21.0873C144.996 20.7667 144.91 20.5397 144.737 20.4028L144.741 20.392ZM137.798 34.1647C137.625 34.2367 137.453 34.3088 137.28 34.3664C137.107 34.4277 136.884 34.5105 136.614 34.6078C135.974 34.8312 135.413 34.9572 134.934 34.9969C134.456 35.0329 134.078 35.0293 133.808 34.9789C133.29 34.9068 132.887 34.7519 132.589 34.5177C132.294 34.2836 132.085 33.9809 131.963 33.6135C131.841 33.2424 131.772 32.8389 131.758 32.3922C131.743 31.9491 131.765 31.4916 131.815 31.0232C131.887 30.4576 131.981 29.8848 132.092 29.3048C132.204 28.7248 132.369 28.1844 132.589 27.6764C132.812 27.1721 133.089 26.7146 133.42 26.3075C133.751 25.9004 134.165 25.5869 134.657 25.3636C134.855 25.2663 135.118 25.1835 135.452 25.1222C135.783 25.061 136.136 25.0285 136.503 25.0285C136.87 25.0285 137.204 25.0358 137.499 25.0466C137.794 25.0574 138.079 25.0898 138.348 25.1402C138.471 25.1654 138.589 25.1943 138.701 25.2339C138.812 25.2699 138.927 25.3023 139.053 25.3276L137.798 34.1647Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M123.473 35.6057H122.696L124.063 25.8427C124.358 23.7496 123.958 22.2438 122.861 21.3323C121.764 20.4209 119.85 19.9886 117.12 20.039C116.479 20.039 115.897 20.0642 115.368 20.111C114.839 20.1615 114.389 20.2227 114.019 20.2948C113.796 20.3452 113.533 20.4101 113.224 20.4965C112.914 20.583 112.652 20.6874 112.429 20.8099C111.961 20.2948 111.245 20.0354 110.288 20.0354C109.648 20.0354 109.076 20.1074 108.572 20.2551C108.069 20.4028 107.63 20.5758 107.263 20.7739C106.82 20.9973 106.439 21.2314 106.119 21.4764C105.996 21.5989 105.903 21.743 105.842 21.9015C105.781 22.0636 105.737 22.1933 105.712 22.2906L105.489 23.8793C105.439 24.2252 105.507 24.5062 105.694 24.7295C105.878 24.9529 106.144 25.061 106.489 25.061H107.302L106.824 28.2781L105.532 37.2269C105.457 37.7204 105.421 38.1203 105.421 38.4265C105.421 38.7327 105.489 38.9777 105.626 39.147C105.763 39.32 105.964 39.4316 106.234 39.4785C106.504 39.5289 106.874 39.5505 107.342 39.5505H108.669C109.112 39.5505 109.475 39.5181 109.759 39.4569C110.04 39.3956 110.263 39.2767 110.425 39.1074C110.583 38.9345 110.706 38.6967 110.795 38.3869C110.882 38.0807 110.961 37.6916 111.036 37.2233L112.698 25.3528C113.314 25.2555 113.947 25.1691 114.601 25.0934C115.253 25.0177 115.911 25.0069 116.576 25.0574C117.242 25.1078 117.738 25.2555 118.073 25.5005C118.404 25.7455 118.523 26.1778 118.426 26.7938L117.059 36.5208C117.033 36.6685 117.023 36.9098 117.023 37.2413C117.023 37.5727 117.095 37.915 117.246 38.2572C117.393 38.603 117.645 38.9165 118.001 39.2011C118.357 39.4857 118.882 39.6622 119.57 39.7379C120.505 39.8351 121.278 39.8243 121.897 39.7018C122.512 39.5793 122.883 39.4929 123.005 39.4424C123.325 39.2947 123.602 39.1398 123.836 38.9813C124.07 38.8228 124.21 38.5814 124.261 38.2608L124.48 36.7441C124.53 36.4235 124.462 36.1533 124.279 35.9299C124.091 35.7066 123.829 35.5985 123.484 35.5985L123.473 35.6057Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M102.978 20.8892C102.759 20.6442 102.468 20.4389 102.112 20.2803C101.755 20.1218 101.331 20.039 100.838 20.039C100.198 20.039 99.6257 20.111 99.1221 20.2587C98.6184 20.4064 98.1795 20.5685 97.8126 20.7379C97.3701 20.9612 96.9888 21.1954 96.6686 21.4404C96.5463 21.5124 96.442 21.6313 96.3557 21.7898C96.2693 21.9519 96.2118 22.1177 96.1902 22.287L95.9707 23.8757C95.9204 24.2216 95.9959 24.5026 96.1902 24.7259C96.388 24.9493 96.647 25.0574 96.9636 25.0574H97.8126L96.0787 37.2232C96.0031 37.8141 95.9599 38.2644 95.9491 38.5742C95.9348 38.884 96.0031 39.111 96.1542 39.2587C96.3017 39.4064 96.5283 39.4929 96.8377 39.5181C97.1435 39.5433 97.5824 39.5541 98.1472 39.5541H98.5537C99.1185 39.5541 99.5753 39.5433 99.9207 39.5181C100.266 39.4929 100.543 39.4064 100.752 39.2587C100.96 39.111 101.119 38.884 101.23 38.5742C101.342 38.2644 101.432 37.8177 101.507 37.2232L103.536 22.5788C103.561 22.3086 103.529 22.0168 103.443 21.7106C103.356 21.4007 103.202 21.1233 102.982 20.8784L102.978 20.8892Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M90.4664 20.7055C90.1462 20.5578 89.6965 20.4173 89.1173 20.2804C88.5382 20.1471 87.9302 20.0786 87.2899 20.0786H87.2539C86.5632 20.0786 85.9049 20.129 85.2789 20.2263C84.653 20.3272 84.0666 20.4857 83.5234 20.7055L82.5269 21.1126C82.3074 20.8424 81.9909 20.6082 81.5844 20.41C81.1778 20.2119 80.7174 20.1146 80.2066 20.1146C79.5698 20.1146 79.0086 20.1903 78.5194 20.338C78.0301 20.4857 77.602 20.6586 77.2351 20.8568C76.7962 21.0801 76.4149 21.3143 76.0983 21.5593C76.0479 21.6097 75.976 21.7322 75.8789 21.9303C75.7817 22.1285 75.7206 22.287 75.6954 22.4095L75.4723 23.9982C75.422 24.3441 75.4831 24.6215 75.6558 24.8304C75.8285 25.0394 76.0839 25.1438 76.4257 25.1438H77.2675L74.1773 47.2564C74.1017 47.822 74.0622 48.2615 74.0478 48.5678C74.0334 48.874 74.1017 49.1045 74.2528 49.2523C74.4003 49.4 74.627 49.4864 74.9363 49.5116C75.2457 49.5369 75.681 49.5477 76.2422 49.5477H76.6451C77.2063 49.5477 77.6632 49.5333 78.0193 49.5116C78.3719 49.4864 78.6489 49.4 78.8431 49.2523C79.0374 49.1045 79.1921 48.8776 79.3036 48.5678C79.4151 48.2579 79.5051 47.822 79.577 47.2564L82.5988 25.958C82.919 25.7599 83.3363 25.5509 83.8543 25.3312C84.4695 25.061 85.0235 24.9133 85.5163 24.888C85.7753 24.8736 85.9984 24.8736 86.1962 24.8808C86.4481 24.8808 86.6747 24.8953 86.8438 24.9241C87.3618 24.9997 87.7539 25.1582 88.0237 25.4032C88.2935 25.6482 88.4986 25.958 88.6317 26.3255C88.7648 26.6965 88.8331 27.1072 88.8331 27.5648C88.8331 28.0223 88.808 28.4834 88.7612 28.9518C88.7108 29.4957 88.6245 30.0505 88.5022 30.6161C88.3799 31.1853 88.2072 31.7257 87.9842 32.2445C87.7611 32.7633 87.4805 33.2316 87.1352 33.6495C86.7898 34.071 86.3725 34.388 85.8797 34.6114C85.6099 34.8095 85.0055 34.9068 84.0702 34.9068C84.0378 34.9068 84.009 34.9068 83.973 34.9068C83.9407 34.9068 83.9191 34.9068 83.8867 34.9068C83.4766 34.9068 83.0953 34.8924 82.7211 34.8744L82.0196 39.7126H83.1492C83.6673 39.7126 84.1529 39.6946 84.6062 39.6586C85.0631 39.6226 85.5343 39.5433 86.0272 39.4172C86.6423 39.2695 87.387 39.0029 88.2612 38.6211C89.1353 38.2392 89.9663 37.6051 90.7542 36.7153C91.542 35.8507 92.2363 34.8167 92.8407 33.6099C93.445 32.403 93.8444 31.1097 94.0422 29.7263C94.3372 27.5576 94.1825 25.695 93.5817 24.1423C92.9774 22.5896 91.9377 21.444 90.4628 20.7019L90.4664 20.7055Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8840\"><rect width=\"145\" height=\"50\" fill=\"white\"/></clipPath></defs></svg>',\r\n wappingIsotype: '<svg id=\"wappingIsotype\" width=\"45\" height=\"55\" viewBox=\"0 0 45 55\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8841)\"><path id=\"path\" d=\"M41.5017 43.839C41.4513 44.1867 41.3757 44.5345 41.2461 44.8644C40.9688 45.56 40.4143 46.0368 39.705 46.2735C39.5069 46.338 39.2945 46.3918 39.1216 46.5137C39.0244 46.5818 39.01 46.7754 38.8984 46.8005C38.7184 46.84 38.7472 46.6786 38.7112 46.5711C38.6463 46.3774 38.3835 46.2412 38.2215 46.148C37.5697 45.7679 37.1016 45.1907 36.972 44.4413C36.918 44.133 36.756 42.7311 37.2313 42.7454C37.5913 42.7562 37.9586 42.8279 38.3187 42.8709C39.3053 42.9856 40.2919 43.1004 41.2785 43.2187C41.6494 43.2617 41.5485 43.5593 41.5053 43.8461L41.5017 43.839ZM36.756 53.9032C33.8718 52.842 32.4099 51.0062 33.2308 49.0916C33.8862 47.5606 34.4155 46.0261 34.4155 44.2943C34.4155 38.5541 29.7417 33.9002 23.9769 33.9002C18.2121 33.9002 13.5383 38.5541 13.5383 44.2943C13.5383 49.5649 17.2759 53.6809 22.2629 54.5486C22.6302 54.6132 24.4162 54.7637 24.8339 54.7637H36.4463C36.9828 54.8426 37.1952 54.1506 36.7632 53.8997L36.756 53.9032ZM44.2239 33.6564C43.8026 35.3702 42.1679 35.9546 40.6124 36.3634C38.722 36.8617 36.7452 36.8402 35.0312 35.9403C33.933 35.363 32.1434 34.0938 31.6753 31.2039C31.3008 28.8878 32.237 27.3568 33.094 26.1628C33.5333 25.5497 34.3579 24.9546 35.1212 24.5458C36.2482 23.9399 36.5291 23.9686 36.756 25.202C36.9396 26.1987 37.7101 26.9911 38.6247 27.364C40.0218 27.934 41.3289 28.6691 42.3947 29.7662C43.4497 30.8526 44.6236 32.0465 44.2239 33.66V33.6564ZM40.2955 31.6987C40.2955 30.9924 39.7194 30.4152 39.0064 30.4152C38.2935 30.4152 37.7174 30.9888 37.7174 31.6987C37.7174 32.4086 38.2935 32.9823 39.0064 32.9823C39.7194 32.9823 40.2955 32.4086 40.2955 31.6987ZM16.6098 32.7421C19.5012 30.5514 22.371 28.3105 25.1003 25.9226C30.289 21.3907 31.5853 13.6892 28.323 7.65133C25.1507 1.77483 17.9889 -1.25844 11.4247 0.494834C4.63368 2.30906 0.298381 8.20348 0.507224 15.611C0.989724 15.654 1.57305 15.4675 2.03754 15.2919C5.15219 14.1051 8.18762 14.3776 10.7838 16.744C13.2107 18.9526 13.8768 22.0504 12.8146 25.4314C11.954 28.2388 10.9242 30.9924 9.98439 33.7783C8.83935 37.1737 8.5513 40.5296 10.791 44.6493C10.2508 38.823 12.9262 35.5387 16.6134 32.7457L16.6098 32.7421ZM41.012 41.0352C40.5835 40.7591 40.3279 40.5296 39.5357 40.4436C38.776 40.3611 38.1963 40.5511 37.8254 40.777C37.3429 41.071 37.134 41.2467 36.9828 41.5622C36.8496 41.8383 36.9504 42.2184 37.2961 42.2578C38.1098 42.3546 38.9272 42.4478 39.741 42.5446C40.1911 42.5984 40.6448 42.6486 41.0949 42.7024C41.2137 42.7167 41.3325 42.7382 41.4513 42.7418C41.8006 42.7526 41.923 42.1753 41.7862 41.9459C41.5594 41.555 41.4045 41.2897 41.0084 41.0352H41.012Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8841\"><rect width=\"44\" height=\"55\" fill=\"white\" transform=\"translate(0.5)\"/></clipPath></defs></svg>',\r\n wappingIsotype2: '<svg id=\"wappingIsotype2\" width=\"45\" height=\"40\" viewBox=\"0 0 45 40\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><g clip-path=\"url(#clip0_46_8842)\"><path id=\"path\" d=\"M42.3339 0.926238C39.9109 -0.0542108 38.7396 1.57292 38.5508 1.96579L22.9255 32.7109L19.7018 17.427C19.548 16.7247 19.3627 16.2066 19.1494 15.8729C18.9361 15.5391 17.5795 13.7555 15.202 14.4891C12.5727 15.3027 12.8594 17.274 12.8 17.792C12.7685 18.0354 12.793 18.3031 12.8699 18.5917C12.9468 18.8838 13.0167 19.1932 13.0762 19.5304C13.0762 19.5304 16.7719 34.2928 17.2054 35.8713C17.4641 36.6431 17.562 36.9803 17.7019 37.2828C17.8383 37.5888 17.9851 37.8634 18.1389 38.1068C18.569 38.8995 19.3347 39.4349 20.4396 39.7096C20.6843 39.7687 20.9535 39.8174 21.2437 39.8452C21.5339 39.8765 21.8031 39.8904 22.0479 39.8904C22.7856 39.8904 23.4884 39.7305 24.1667 39.4106C24.8415 39.0907 25.4708 38.6561 26.0512 38.1068C26.4184 37.7418 26.733 37.3732 26.9953 37.0082C27.254 36.6431 27.5092 36.2467 27.754 35.8191L43.8968 4.69506C43.9702 4.54903 45.1869 2.07705 42.3304 0.922762L42.3339 0.926238Z\" fill=\"#5F6368\"/><path id=\"path\" d=\"M12.7091 29.2793C12.4015 29.9503 12.0938 30.6074 11.7896 31.2472C11.4819 31.8869 11.1917 32.4362 10.9155 32.8951L7.78623 17.5209C7.63239 17.0341 7.29674 16.5508 6.77578 16.078C6.25482 15.6052 5.53107 15.3687 4.61152 15.3687C3.81434 15.3687 2.63257 15.473 1.7375 16.5891C0.401884 18.251 1.57667 21.5887 1.57667 21.5887C2.28293 24.5474 2.84935 26.8977 3.2794 28.6361C3.70945 30.3745 4.04511 31.7409 4.28985 32.7317C4.5346 33.7226 4.71991 34.4319 4.84228 34.8595C4.96465 35.2872 5.08703 35.6661 5.2094 36.0034H5.16395C5.25485 36.3406 5.37723 36.6987 5.53107 37.0777C5.68491 37.4601 5.85273 37.8009 6.03804 38.1068C6.59047 38.8995 7.37366 39.4349 8.38411 39.7096C8.62886 39.7687 8.89109 39.8174 9.1673 39.8452C9.44352 39.8765 9.70225 39.8904 9.95049 39.8904C10.7162 39.8904 11.4539 39.7374 12.1602 39.4315C12.8665 39.1255 13.4783 38.6701 13.9993 38.0581C14.1531 37.9052 14.321 37.7139 14.5063 37.488C14.6916 37.2585 14.8594 37.0082 15.0132 36.7335L15.6041 35.7391L13.4678 27.6139C13.2196 28.1598 12.9679 28.7091 12.7091 29.2758V29.2793Z\" fill=\"#5F6368\"/></g><defs><clipPath id=\"clip0_46_8842\"><rect width=\"44\" height=\"40\" fill=\"white\" transform=\"translate(0.5)\"/></clipPath></defs></svg>',\r\n itx: '<svg width=\"164\" height=\"32\" viewBox=\"0 0 164 32\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\"><rect width=\"163.424\" height=\"32\" fill=\"white\"/><g clip-path=\"url(#clip0_6230_1938)\"><path d=\"M26.26 4.78003C30.85 4.78003 34.84 7.21003 35.44 12.1H31.78C31.36 9.25003 28.81 7.84003 26.26 7.84003C21.7 7.84003 19.75 11.98 19.75 16C19.75 20.2 21.67 24.16 26.38 24.16C30.1 24.16 32.17 21.94 32.26 18.28H26.56V15.43H35.68V26.71H33.28L32.71 24.19C30.88 26.29 29.05 27.22 26.26 27.22C19.87 27.22 16 22.09 16 16C16 9.91003 19.87 4.78003 26.26 4.78003Z\" fill=\"black\"/><path d=\"M50.0737 4.78003C55.0237 4.78003 58.6837 7.57003 59.1637 12.1H55.4137C54.6637 9.25003 52.8937 7.84003 50.0737 7.84003C45.9937 7.84003 43.5637 11.23 43.5637 16C43.5637 20.74 45.9637 24.16 50.0737 24.16C53.1337 24.16 55.1437 22 55.5337 18.55H59.1937C58.8037 23.68 55.3537 27.22 50.0737 27.22C47.0437 27.22 44.5837 26.14 42.6637 24.04C40.7737 21.91 39.8137 19.21 39.8137 16C39.8137 9.88003 43.6237 4.78003 50.0737 4.78003Z\" fill=\"black\"/><path d=\"M61.9441 5.29003H66.4141L71.2741 12.85L76.3441 5.29003H80.5441L73.4641 15.61L81.0541 26.71H76.4941L71.1541 18.52L65.7241 26.71H61.4341L69.0241 15.61L61.9441 5.29003Z\" fill=\"black\"/></g><rect width=\"30\" height=\"1\" transform=\"matrix(0 -1 1 0 89.0542 31)\" fill=\"black\"/><g clip-path=\"url(#clip1_6230_1938)\"><path d=\"M100.75 3.02393C101.974 3.02393 102.926 3.69593 103.134 4.91993H102.59C102.518 4.21593 101.782 3.48793 100.75 3.48793C99.2382 3.48793 98.5982 4.75193 98.5982 5.99993C98.5982 7.26393 99.2462 8.51193 100.75 8.51193C101.926 8.51193 102.726 7.73593 102.726 6.46393V6.41593H100.782V5.95193H103.206V8.85593H102.814L102.742 7.81593H102.726C102.374 8.56793 101.654 8.97593 100.75 8.97593C98.9822 8.97593 98.0542 7.60793 98.0542 5.99993C98.0542 4.43193 98.9502 3.02393 100.75 3.02393Z\" fill=\"black\"/><path d=\"M104.576 3.14393H105.12V8.39193H108.32V8.85593H104.576V3.14393Z\" fill=\"black\"/><path d=\"M111.585 3.02393C113.361 3.02393 114.273 4.41593 114.273 5.99993C114.273 7.54393 113.393 8.97593 111.585 8.97593C109.801 8.97593 108.889 7.59193 108.889 5.99993C108.889 4.42393 109.793 3.02393 111.585 3.02393ZM109.433 5.99993C109.433 7.25593 110.081 8.51193 111.585 8.51193C113.073 8.51193 113.729 7.26393 113.729 5.99993C113.729 4.75993 113.097 3.48793 111.577 3.48793C110.137 3.48793 109.433 4.67193 109.433 5.99993Z\" fill=\"black\"/><path d=\"M115.442 3.14393H117.858C118.946 3.14393 119.69 3.56793 119.69 4.53593C119.69 5.12793 119.322 5.67993 118.698 5.82393V5.83993C119.434 5.93593 119.906 6.48793 119.906 7.23193C119.906 8.28793 119.186 8.85593 117.866 8.85593H115.442V3.14393ZM115.986 5.64793H117.866C118.658 5.64793 119.146 5.26393 119.146 4.67993C119.146 3.95993 118.706 3.60793 117.85 3.60793H115.986V5.64793ZM115.986 8.39193H117.866C118.826 8.39193 119.362 8.03193 119.362 7.21593C119.362 6.48793 118.826 6.11193 117.858 6.11193H115.986V8.39193Z\" fill=\"black\"/><path d=\"M122.77 3.14393H123.378L125.618 8.85593H125.034L124.338 7.07993H121.738L121.05 8.85593H120.466L122.77 3.14393ZM123.05 3.68793L121.906 6.61593H124.154L123.05 3.68793Z\" fill=\"black\"/><path d=\"M126.457 3.14393H127.001V8.39193H130.201V8.85593H126.457V3.14393Z\" fill=\"black\"/><path d=\"M100.75 13.0239C101.87 13.0239 102.902 13.7119 103.046 14.8719H102.502C102.31 13.9999 101.59 13.4879 100.75 13.4879C99.2542 13.4879 98.5982 14.7279 98.5982 15.9999C98.5982 17.2239 99.2222 18.5119 100.75 18.5119C101.742 18.5119 102.47 17.7679 102.582 16.6799H103.126C102.974 18.1199 102.054 18.9759 100.75 18.9759C98.9742 18.9759 98.0542 17.5999 98.0542 15.9999C98.0542 14.4479 98.9342 13.0239 100.75 13.0239Z\" fill=\"black\"/><path d=\"M104.223 13.1439H104.767V16.6879C104.767 17.8399 105.239 18.5119 106.439 18.5119C107.591 18.5119 108.119 17.9119 108.119 16.6799V13.1439H108.663V16.7839C108.663 18.1199 107.903 18.9759 106.439 18.9759C104.943 18.9759 104.223 18.0719 104.223 16.7839V13.1439Z\" fill=\"black\"/><path d=\"M111.932 13.0239C113.14 13.0239 114.052 13.6719 114.052 14.7999H113.508C113.468 13.9519 112.788 13.4879 111.94 13.4879C111.164 13.4879 110.516 13.8079 110.516 14.6239C110.516 15.2159 110.996 15.3999 111.316 15.4799L112.708 15.8239C113.812 16.0959 114.252 16.5839 114.252 17.3439C114.252 17.9039 113.948 18.9759 112.068 18.9759C110.66 18.9759 109.788 18.3279 109.788 17.1199V16.9759H110.332V17.0239C110.332 18.0719 111.044 18.5119 112.18 18.5119C112.828 18.5119 113.708 18.1679 113.708 17.3519C113.708 16.8319 113.308 16.5119 112.564 16.3279L111.26 16.0079C110.412 15.7999 109.972 15.3999 109.972 14.6319C109.972 13.9839 110.42 13.0239 111.932 13.0239Z\" fill=\"black\"/><path d=\"M114.819 13.1439H119.347V13.6079H117.355V18.8559H116.811V13.6079H114.819V13.1439Z\" fill=\"black\"/><path d=\"M122.592 13.0239C124.368 13.0239 125.28 14.4159 125.28 15.9999C125.28 17.5439 124.4 18.9759 122.592 18.9759C120.808 18.9759 119.896 17.5919 119.896 15.9999C119.896 14.4239 120.8 13.0239 122.592 13.0239ZM120.44 15.9999C120.44 17.2559 121.088 18.5119 122.592 18.5119C124.08 18.5119 124.736 17.2639 124.736 15.9999C124.736 14.7599 124.104 13.4879 122.584 13.4879C121.144 13.4879 120.44 14.6719 120.44 15.9999Z\" fill=\"black\"/><path d=\"M126.434 13.1439H127.234L129.21 18.1519L131.178 13.1439H131.978V18.8559H131.434V13.9199H131.418L129.466 18.8559H128.954L126.994 13.9199H126.978V18.8559H126.434V13.1439Z\" fill=\"black\"/><path d=\"M133.434 13.1439H137.378V13.6079H133.978V15.6719H137.162V16.1359H133.978V18.3919H137.418V18.8559H133.434V13.1439Z\" fill=\"black\"/><path d=\"M138.496 13.1439H141.096C142.12 13.1439 142.848 13.6479 142.848 14.6319C142.848 15.3919 142.44 15.9439 141.736 16.0879V16.1039C142.632 16.2239 142.72 16.9359 142.744 17.5359C142.76 17.9279 142.784 18.6079 143 18.8559H142.4C142.28 18.6719 142.264 18.1919 142.24 17.8079C142.208 17.2479 142.12 16.8879 141.928 16.6399C141.752 16.4159 141.488 16.3199 141.184 16.3199H139.04V18.8559H138.496V13.1439ZM139.04 15.8559H141.08C141.72 15.8559 142.304 15.4479 142.304 14.7439C142.304 14.0079 141.856 13.6079 141.08 13.6079H139.04V15.8559Z\" fill=\"black\"/><path d=\"M98.3262 23.1439H102.27V23.6079H98.8702V25.6719H102.054V26.1359H98.8702V28.3919H102.31V28.8559H98.3262V23.1439Z\" fill=\"black\"/><path d=\"M102.836 23.1439H103.476L105.092 25.5359L106.764 23.1439H107.372L105.42 25.9279L107.484 28.8559H106.828L105.092 26.3359L103.332 28.8559H102.716L104.772 25.9119L102.836 23.1439Z\" fill=\"black\"/><path d=\"M108.302 23.1439H110.846C111.83 23.1439 112.534 23.7119 112.534 24.7759C112.534 25.8639 111.798 26.4079 110.846 26.4079H108.846V28.8559H108.302V23.1439ZM108.846 25.9439H110.726C111.47 25.9439 111.99 25.5759 111.99 24.7759C111.99 24.0639 111.574 23.6079 110.71 23.6079H108.846V25.9439Z\" fill=\"black\"/><path d=\"M113.661 23.1439H117.605V23.6079H114.205V25.6719H117.389V26.1359H114.205V28.3919H117.645V28.8559H113.661V23.1439Z\" fill=\"black\"/><path d=\"M118.723 23.1439H121.323C122.347 23.1439 123.075 23.6479 123.075 24.6319C123.075 25.3919 122.667 25.9439 121.963 26.0879V26.1039C122.859 26.2239 122.947 26.9359 122.971 27.5359C122.987 27.9279 123.011 28.6079 123.227 28.8559H122.627C122.507 28.6719 122.491 28.1919 122.467 27.8079C122.435 27.2479 122.347 26.8879 122.155 26.6399C121.979 26.4159 121.715 26.3199 121.411 26.3199H119.267V28.8559H118.723V23.1439ZM119.267 25.8559H121.307C121.947 25.8559 122.531 25.4479 122.531 24.7439C122.531 24.0079 122.083 23.6079 121.307 23.6079H119.267V25.8559Z\" fill=\"black\"/><path d=\"M124.419 23.1439H124.963V28.8559H124.419V23.1439Z\" fill=\"black\"/><path d=\"M126.473 23.1439H130.417V23.6079H127.017V25.6719H130.201V26.1359H127.017V28.3919H130.457V28.8559H126.473V23.1439Z\" fill=\"black\"/><path d=\"M131.527 23.1439H132.135L135.463 27.9759H135.479V23.1439H136.023V28.8559H135.415L132.087 24.0239H132.071V28.8559H131.527V23.1439Z\" fill=\"black\"/><path d=\"M139.912 23.0239C141.032 23.0239 142.064 23.7119 142.208 24.8719H141.664C141.472 23.9999 140.752 23.4879 139.912 23.4879C138.416 23.4879 137.76 24.7279 137.76 25.9999C137.76 27.2239 138.384 28.5119 139.912 28.5119C140.904 28.5119 141.632 27.7679 141.744 26.6799H142.288C142.136 28.1199 141.216 28.9759 139.912 28.9759C138.136 28.9759 137.216 27.5999 137.216 25.9999C137.216 24.4479 138.096 23.0239 139.912 23.0239Z\" fill=\"black\"/><path d=\"M143.441 23.1439H147.385V23.6079H143.985V25.6719H147.169V26.1359H143.985V28.3919H147.425V28.8559H143.441V23.1439Z\" fill=\"black\"/></g><defs><clipPath id=\"clip0_6230_1938\"><rect width=\"65.0541\" height=\"22.44\" fill=\"white\" transform=\"translate(16 4.78003)\"/></clipPath><clipPath id=\"clip1_6230_1938\"><rect width=\"49.3704\" height=\"25.952\" fill=\"white\" transform=\"translate(98.0542 3.02393)\"/></clipPath></defs></svg>'\r\n}","import { AfterViewInit, ChangeDetectionStrategy, Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { wappingLogos } from '../logos';\r\n\r\n@Component({\r\n selector: 'w-logos',\r\n template: `\r\n <ng-content></ng-content>\r\n `,\r\n styles: [],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WLogosComponent implements OnInit, AfterViewInit{\r\n @Input('name') name!: string;\r\n @Input('width') width!: number;\r\n @Input('height') height!: number;\r\n @Input('color') color!: string;\r\n\r\n constructor(private element: ElementRef) { }\r\n \r\n ngOnInit(): void {\r\n this.element.nativeElement.innerHTML = wappingLogos[this.name] || null; \r\n }\r\n\r\n ngAfterViewInit(): void {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n\r\n if(this.width)\r\n svgElement.setAttribute('width', this.width.toString()); \r\n\r\n if(this.height)\r\n svgElement.setAttribute('height', this.height.toString());\r\n \r\n if(this.color){\r\n this.applyColorToPaths(this.color);\r\n }\r\n }\r\n \r\n private applyColorToPaths(fillColor: string) {\r\n const svgElement = this.element.nativeElement.querySelector('svg');\r\n if (svgElement) {\r\n const pathElements = svgElement.querySelectorAll('path');\r\n pathElements.forEach((path:any) => {\r\n path.setAttribute('fill', fillColor);\r\n });\r\n }\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { FormControl, FormControlName, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n@Component({\r\n selector: 'w-edit-input-textarea',\r\n templateUrl: './w-edit-input-textarea.component.html',\r\n styleUrls: ['./w-edit-input-textarea.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditInputTextareaComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditInputTextareaComponent {\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n\r\n @Input('rows') rows: number = 4;\r\n @Input('minlength') minlength!: number;\r\n @Input('maxlength') maxlength!: number;\r\n @Input('autoResize') autoResize: boolean = true;\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('successMessage') successMessage: string = \"\";\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Data is required\";\r\n @Input('minlengthErrorDescription') minlengthErrorDescription: string = \"Min length warning\";\r\n @Input('maxlengthErrorDescription') maxlengthErrorDescription: string = \"Max length warning\";\r\n\r\n @Input('size') size: string = \"small\";\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n\r\n @Input('tooltip') tooltip!: string;\r\n\r\n value: string = '';\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <div class=\"flex flex-column w-edit-input-textarea-medium-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea \r\n [ngClass]=\"{'w-edit-input-textarea-medium-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-textarea-medium-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-textarea-medium-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n [autoResize]=\"autoResize\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-medium\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\">\r\n </textarea>\r\n </div>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\" class=\"w-input-alert-message-height w-full w-input-success-alert-text p-error block\">{{successMessage}}</small> -->\r\n <small *ngIf=\"formControl.invalid && formControl.hasError('maxlength')\" class=\"w-input-alert-message-height w-full w-input-warning-alert-text p-error block\">{{maxlengthErrorDescription}}</small>\r\n <small *ngIf=\"formControl.invalid && formControl.hasError('minlength')\" class=\"w-input-alert-message-height w-full w-input-warning-alert-text p-error block\">{{minlengthErrorDescription}}</small>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.dirty\" class=\"w-input-alert-message-height w-full w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</small>\r\n </div>\r\n <ng-template #inputSmall>\r\n <div class=\"flex flex-column w-edit-input-textarea-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea\r\n [ngClass]=\"{'w-edit-input-textarea-small-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-textarea-small-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-textarea-small-warning': formControl.invalid && (formControl.hasError('minlength') || formControl.hasError('maxlength'))}\"\r\n [autoResize]=\"autoResize\"\r\n [rows]=\"rows\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-small\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\">\r\n </textarea>\r\n </div>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\" class=\"w-input-alert-message-height w-full w-input-success-alert-text p-error block\">{{successMessage}}</small> -->\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('maxlength')\" class=\"w-input-alert-message w-full w-input-warning-alert-text p-error block\">{{maxlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('minlength')\" class=\"w-input-alert-message w-full w-input-warning-alert-text p-error block\">{{minlengthErrorDescription}}</span>\r\n <span *ngIf=\"formControl.hasError('required') && formControl.dirty\" class=\"w-input-alert-message w-full w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <div class=\"flex flex-column w-edit-input-textarea-medium-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea\r\n [disabled]=\"disabled\"\r\n minlength=\"{{minlength}}\"\r\n maxlength=\"{{maxlength}}\"\r\n [autoResize]=\"autoResize\"\r\n [required]=\"required\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-medium\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [(ngModel)]=\"value\" (input)=\"onValueChanged()\" [disabled]=\"disabled\">\r\n </textarea>\r\n </div>\r\n <!-- <div class=\"w-input-alert-message-height\"></div> -->\r\n </div>\r\n <ng-template #inputSmall>\r\n <div class=\"flex flex-column w-edit-input-textarea-height\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <textarea pInputTextarea\r\n [disabled]=\"disabled\"\r\n minlength=\"{{minlength}}\"\r\n maxlength=\"{{maxlength}}\"\r\n [autoResize]=\"autoResize\"\r\n [required]=\"required\"\r\n [rows]=\"rows\"\r\n class=\"flex flex-1 h-max w-edit-input-textarea-small\"\r\n id=\"w-textarea\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"disabled\">\r\n </textarea>\r\n </div>\r\n <!-- <div class=\"w-input-alert-message-height\"></div> -->\r\n </ng-template>\r\n</ng-template>\r\n","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { AbstractControl, ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-select',\r\n templateUrl: './w-edit-select.component.html',\r\n styleUrls: ['./w-edit-select.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditSelectComponent),\r\n multi: true\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WEditSelectComponent implements OnInit, ControlValueAccessor{\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('options') options: any;\r\n @Input('filter') filter: boolean = false;\r\n @Input('optionLabel') optionLabel!: string;\r\n @Input('optionValue') optionValue!: string;\r\n @Input('appendTo') appendTo!: string;\r\n @Input('showClear') showClear: boolean = true;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('requiredErrorDescription') errorDescription: string = \"Select an option is required\";\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n @Input('tooltip') tooltip!: string;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {\r\n this.showClear = !this.required;\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onOptionSelectForm(event: any){\r\n this.onChangeEvent.emit(event.value);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.ngModelValue = newValue;\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-select-medium\" \r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [filter]=\"filter\"\r\n [showClear]=\"showClear\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)=\"onOptionSelectForm($event)\">\r\n </p-dropdown>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-select-small\"\r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [filter]=\"filter\"\r\n [placeholder]=\"placeholder\"\r\n [showClear]=\"showClear\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [appendTo]=\"appendTo\"\r\n (onChange)=\"onOptionSelectForm($event)\">\r\n </p-dropdown>\r\n <span *ngIf=\"getSizeName(sizeType.medium) == size && formControl.dirty && formControl.hasError('required')\"\r\n class=\"w-error-message-container w-full w-error-message p-error block\">{{errorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-select-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-select-medium\" \r\n [options]=\"options\" \r\n [optionLabel]=\"optionLabel\" \r\n [optionValue]=\"optionValue\" \r\n [filter]=\"filter\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"ngModelValue\" (onChange)=\"onOptionSelected()\" [showClear]=\"showClear\"\r\n [appendTo]=\"appendTo\">\r\n </p-dropdown>\r\n <p-dropdown *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-select-small\"\r\n [options]=\"options\"\r\n [filter]=\"filter\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\" [(ngModel)]=\"ngModelValue\" (onChange)=\"onOptionSelected()\" [showClear]=\"showClear\"\r\n [appendTo]=\"appendTo\">\r\n </p-dropdown>\r\n </div>\r\n</ng-template>\r\n","export enum TableColumnFilterTypes {\r\n None = 0,\r\n Text = 1,\r\n Multiselect = 2,\r\n Checkbox = 3,\r\n Image = 4,\r\n Boolean = 5,\r\n Date = 6\r\n}\r\n\r\nexport enum TableColumnTypes {\r\n None = 0,\r\n Text = 1,\r\n Badge = 2,\r\n Checkbox = 3,\r\n Image = 4,\r\n Boolean = 5,\r\n Date = 6,\r\n Currency = 7,\r\n Number = 8,\r\n ShortDate = 9,\r\n LongDate = 10,\r\n GeneralDateTimeShortTime = 11,\r\n GeneralDateTimeLongTime = 12,\r\n ColoredBadge = 13\r\n}\r\n\r\nexport enum WappTableColumnAlignTypes {\r\n Right = 0,\r\n Left = 1,\r\n Center = 2,\r\n}\r\n\r\nexport enum QBDataTypeEnum{\r\n Boolean = 1,\r\n Datetime = 2,\r\n Decimal = 3,\r\n List = 4, \r\n Number = 5, \r\n Text = 6,\r\n Address = 7,\r\n StoreList = 8,\r\n ServiceList = 9,\r\n ProductList = 10,\r\n CategoryList = 11,\r\n ProductTagList = 12,\r\n SegmentList = 13,\r\n GroupList = 14,\r\n CustomerTagList = 15,\r\n TypeEventActivityList = 16,\r\n PaymentTypeList = 17,\r\n SaleChannelList = 18,\r\n CustomerChannelList = 19,\r\n OperationTypeList = 20,\r\n Multiselect = 21,\r\n NullableSelect = 22,\r\n BooleanSelect = 23\r\n}\r\n\r\nexport enum OperatorEnum{\r\n Equals = '=',\r\n NotEquals = '!=',\r\n LessThan = '<',\r\n LessThanEqual = '<=',\r\n GreaterThan = '>',\r\n GreaterThanEqual = '>=',\r\n In = 'in',\r\n NotIn = 'not in',\r\n IsNull = 'is null',\r\n IsNotNull = 'is not null',\r\n Nullable = 'nullable'\r\n}\r\n\r\nexport enum DataTypeEnum{\r\n Single = 1,\r\n Multi = 2,\r\n Nullable = 3\r\n}\r\n\r\nexport enum WDatePipeFormatType {\r\n d = 0,\r\n D = 1,\r\n g = 2,\r\n G = 3,\r\n}\r\n\r\nexport enum AddressEnum{\r\n Country = 1,\r\n AreaLevel1 = 2,\r\n AreaLevel2 = 3,\r\n Locality = 4,\r\n PostalCode = 5\r\n}","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-badge',\r\n templateUrl: './w-badge.component.html',\r\n styleUrls: ['./w-badge.component.scss']\r\n})\r\nexport class WBadgeComponent {\r\n @Input('label') label: string = \"\";\r\n @Input('color') color: string = \"default\";\r\n @Input('tooltip') tooltip!: string;\r\n @Input('maxWidthOverflow') maxWidthOverflow!: string;\r\n}\r\n","<span [class]=\"'w-badge color-' + color\" [ngClass]=\"{'w-badge-overflow-text': maxWidthOverflow}\" [pTooltip]=\"tooltip\" [style.max-width]=\"maxWidthOverflow\">\r\n {{label}}\r\n</span>\r\n","import { Pipe, PipeTransform } from '@angular/core';\r\nimport { DatePipe } from '@angular/common';\r\nimport { WDatePipeFormatType } from '../models/enums.model';\r\n\r\n@Pipe({\r\n name: 'wappDate'\r\n})\r\nexport class WDatePipe implements PipeTransform {\r\n\r\n transform(date: Date | number | string, format?: WDatePipeFormatType | \"\", locale?: any) {\r\n let wappDate: any;\r\n\r\n switch(format) { \r\n case WDatePipeFormatType.d: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'shortDate')\r\n break; \r\n } \r\n case WDatePipeFormatType.D: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'fullDate')\r\n break; \r\n } \r\n case WDatePipeFormatType.g: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'short')?.replace(/,/g, \"\")\r\n break; \r\n } \r\n case WDatePipeFormatType.G: { \r\n wappDate = new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'shortDate')! + ' '\r\n + new DatePipe(locale ? locale : window.navigator.language.slice(0, 2)).transform(date, 'mediumTime')\r\n break; \r\n }\r\n\r\n default: { \r\n wappDate = locale ?\r\n new DatePipe(locale).transform(date, 'short')?.replace(/,/g, \"\") :\r\n new DatePipe(window.navigator.language.slice(0, 2)).transform(date, 'short')?.replace(/,/g, \"\");\r\n break; \r\n } \r\n } \r\n return wappDate;\r\n }\r\n\r\n}","import { Component, ElementRef, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport { WappTable } from '../../shared/models/wapp-table.model';\r\nimport { TableColumnFilterTypes, TableColumnTypes, WDatePipeFormatType, WappTableColumnAlignTypes } from '../../shared/models/enums.model';\r\n\r\n@Component({\r\n selector: 'w-table',\r\n templateUrl: './w-table.component.html',\r\n styleUrls: ['./w-table.component.scss'],\r\n providers: [ConfirmationService]\r\n\r\n})\r\nexport class WTableComponent implements OnInit, OnChanges {\r\n selectedElements: any[] = [];\r\n translations: any;\r\n translateObjectName: string = \"object\"\r\n selectAll: boolean = false;\r\n tableMinWidth: number = 70;\r\n\r\n tableSkeletons: any = [{ name: '' }, { name: '' }, { name: '' }, { name: '' }];\r\n\r\n private _totalRecords: number = 0;\r\n\r\n set totalRecords(value: number) {\r\n this._totalRecords = value;\r\n }\r\n\r\n get totalRecords() {\r\n return this._totalRecords;\r\n }\r\n\r\n wappDateFormat: typeof WDatePipeFormatType = WDatePipeFormatType;\r\n\r\n @Input('elements') elements!: any[];\r\n @Input('rowsPerPage') rowsPerPage: number = 0;\r\n @Input('loading') loading: boolean = true;\r\n @Input('wappTableObject') wappTableObject!: WappTable;\r\n\r\n @Output('onElementSelect') onElementSelect = new EventEmitter<any>();\r\n @Output('onViewElementSelect') onViewElementSelect = new EventEmitter<any>();\r\n @Output('onCopyElementSelect') onCopyElementSelect = new EventEmitter<any>();\r\n @Output('onEditElementSelect') onEditElementSelect = new EventEmitter<any>();\r\n @Output('onCustomElementSelect') onCustomElementSelect = new EventEmitter<any>();\r\n @Output('onDeleteElementSelect') onDeleteElementSelect = new EventEmitter<any[]>();\r\n @Output('onNewElementSelect') onNewElementSelect = new EventEmitter<boolean>();\r\n @Output('onPageChange') onPageChange = new EventEmitter<any>();\r\n\r\n @ViewChild('filter') filter!: ElementRef;\r\n @ViewChild('table') dataTable!: Table;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService,\r\n ) { }\r\n\r\n ngOnInit(): void { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if (changes?.['elements'] && changes?.['elements']?.currentValue.length != 0) {\r\n this.totalRecords = changes?.['elements']?.currentValue.length;\r\n }\r\n }\r\n\r\n create() {\r\n this.onNewElementSelect.emit(true);\r\n }\r\n\r\n onElement(element: any) {\r\n this.onElementSelect.emit(element);\r\n }\r\n\r\n viewElement(element: any) {\r\n this.onViewElementSelect.emit(element);\r\n }\r\n\r\n editElement(element: any) {\r\n this.onEditElementSelect.emit(element);\r\n }\r\n\r\n customElement(element: any) {\r\n this.onCustomElementSelect.emit(element);\r\n }\r\n\r\n readProperty(obj: any, prop: string): any {\r\n if (typeof obj === 'undefined') {\r\n return false;\r\n }\r\n\r\n var _index = prop.indexOf('.')\r\n if (_index > -1) {\r\n return this.readProperty(obj[prop.substring(0, _index)], prop.substr(_index + 1));\r\n }\r\n return obj[prop];\r\n }\r\n\r\n confirmDeleteSelected(event: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableObject.confirmMultipleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSelectedElements();\r\n }\r\n });\r\n }\r\n\r\n deleteSelectedElements() {\r\n this.onDeleteElementSelect.emit(this.selectedElements)\r\n this.selectedElements = [];\r\n }\r\n\r\n confirmDelete(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableObject.confirmSingleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSingleElement(element);\r\n }\r\n });\r\n }\r\n\r\n deleteSingleElement(element: any) {\r\n this.onDeleteElementSelect.emit([element])\r\n }\r\n\r\n copyElement(element: any) {\r\n this.onCopyElementSelect.emit(element);\r\n }\r\n\r\n confirmCopy(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableObject.confirmCopyLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableObject.confirmCopyBtnLabel,\r\n accept: () => {\r\n this.copyElement(element);\r\n }\r\n });\r\n }\r\n\r\n onSelectionChange(value = []) {\r\n this.selectAll = value.length === this.elements.length;\r\n this.selectedElements = value;\r\n }\r\n\r\n onSelectAllChange(event: any) {\r\n const checked = event.checked;\r\n\r\n if (checked) {\r\n this.selectedElements = this.wappTableObject.disableCheckbox ? this.getSelectableElements(this.elements) : this.elements;\r\n this.selectAll = true;\r\n }\r\n else {\r\n this.selectedElements = [];\r\n this.selectAll = false;\r\n }\r\n }\r\n\r\n getSelectableElements(allElements: any[]) {\r\n return allElements.filter((element: any) => !this.readProperty(element, this.wappTableObject.disableCheckbox!));\r\n }\r\n\r\n onGlobalFilter(table: Table, event: Event) {\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains');\r\n }\r\n\r\n clear(table: Table) {\r\n table.clear();\r\n }\r\n\r\n public get tableColumnFilterTypes(): typeof TableColumnFilterTypes {\r\n return TableColumnFilterTypes;\r\n }\r\n\r\n public get tableColumnTypes(): typeof TableColumnTypes {\r\n return TableColumnTypes;\r\n }\r\n\r\n getBooleanColumnClass(index: number, valueProperty: boolean) {\r\n const booleanIconClasses = [];\r\n\r\n if (valueProperty == true) {\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].trueIcon ?? '');\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].trueIconColor ?? '');\r\n } else if (valueProperty == false) {\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].falseIcon ?? '');\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].falseIconColor ?? '');\r\n } else if (valueProperty == null) {\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].nullIcon ?? '');\r\n booleanIconClasses.push(this.wappTableObject.columnBooleanTypeIcons[index].nullIconColor ?? '');\r\n }\r\n\r\n return booleanIconClasses;\r\n }\r\n\r\n clearFilters() {\r\n this.dataTable.clear();\r\n }\r\n\r\n getTableColumnAlignClass(alignment: number) {\r\n if (alignment == WappTableColumnAlignTypes.Right) return 'text-right';\r\n if (alignment == WappTableColumnAlignTypes.Left) return 'text-left';\r\n if (alignment == WappTableColumnAlignTypes.Center) return 'text-center';\r\n return 'text-left'\r\n }\r\n\r\n getTableColumnAlignClassDefaultByColumnType(columnType: TableColumnTypes) {\r\n if (columnType == TableColumnTypes.Text) return 'text-left';\r\n if (columnType == TableColumnTypes.Currency) return 'text-left';\r\n if (columnType == TableColumnTypes.Date) return 'text-left';\r\n if (columnType == TableColumnTypes.Badge) return 'text-center';\r\n if (columnType == TableColumnTypes.Boolean) return 'text-center';\r\n if (columnType == TableColumnTypes.Image) return 'text-center';\r\n if (columnType == TableColumnTypes.Number) return 'text-right';\r\n return 'text-left'\r\n }\r\n\r\n calculateColspan() {\r\n let colspan = this.wappTableObject.headers.length;\r\n this.wappTableObject.hasCheckbox ?\r\n colspan += 1 : '';\r\n this.hasActionButtons() ?\r\n colspan += 1 : '';\r\n return colspan;\r\n }\r\n\r\n hasActionButtons(): boolean {\r\n return this.wappTableObject.hasCopyButton ||\r\n this.wappTableObject.hasEditButton ||\r\n this.wappTableObject.hasViewButton ||\r\n this.wappTableObject.hasDeleteButton ||\r\n this.wappTableObject.customButtonConfig?.hasCustomButton ?\r\n true : false;\r\n }\r\n\r\n pageChange(element: any) {\r\n this.onPageChange.emit(element);\r\n }\r\n}\r\n","<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableObject\" [class.table-container]=\"wappTableObject.tableContainer\">\r\n <p-table class=\"w-table-styles\" [ngClass]=\"{'w-table-no-buttons' : !wappTableObject.hasEditButton && !wappTableObject.hasDeleteButton && !wappTableObject.hasCopyButton && !wappTableObject.customButtonConfig}\"\r\n *ngIf=\"!loading; else loadingTable\" #table \r\n [value]=\"elements\" dataKey=\"{{wappTableObject.identificator}}\" \r\n [paginator]=\"wappTableObject.hasPaginator\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [totalRecords]=\"totalRecords\" [showCurrentPageReport]=\"true\" \r\n [rows]=\"rowsPerPage\"\r\n [currentPageReportTemplate]=\"wappTableObject.currentPageReportTemplate ? wappTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [globalFilterFields]=\"wappTableObject.globalFilterFields!\" responsiveLayout=\"scroll\"\r\n [rowHover]=\"true\" [tableStyle]=\"{'min-width': wappTableObject.tableMinWidth!}\"\r\n (onPage)=\"pageChange($event)\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template pTemplate=\"caption\" *ngIf=\"wappTableObject?.hasClearButton || wappTableObject.hasGlobalSearch || wappTableObject.hasTotalPagingSelector\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span *ngIf=\"wappTableObject.hasTotalPagingSelector\" class=\"showing-per-page\"> {{wappTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber *ngIf=\"wappTableObject.hasTotalPagingSelector\"\r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords!\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter (input)=\"onGlobalFilter(table, $event)\" \r\n [placeholder]=\"wappTableObject.searchPlaceholder\" class=\"w-full height-input w-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"wappTableObject.hasCheckbox\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[0]) : 'text-center'\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-container *ngIf=\"!wappTableObject.hasSortableColumns; else sortableColumns\">\r\n <th *ngFor=\"let header of wappTableObject?.headers; index as i\"\r\n [class.image-header]=\"wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i] == tableColumnTypes.Image \"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[wappTableObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i])\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n <ng-template #sortableColumns>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableObject.sortableNames[i]\" \r\n [class.image-header]=\"wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i] === tableColumnTypes.Image \"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[wappTableObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableObject.columnTypes[wappTableObject.hasCheckbox ? i+1 : i])\">\r\n {{wappTableObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableObject.sortableNames[i] != null\" [field]=\"wappTableObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableObject.hasDeleteButton || wappTableObject.hasEditButton || wappTableObject.hasViewButton || wappTableObject.hasCopyButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element>\r\n <tr [ngClass]=\"wappTableObject.hasSelectableRow ? 'p-selectable-row' : ''\" (click)=\"wappTableObject.hasSelectableRow ? onElement(element) : ''\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableObject.columnTypes!\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes?.Checkbox! && wappTableObject.hasCheckbox\" [style]=\"'width: '+wappTableObject.columnWidths![i]\"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\">\r\n <div *ngIf=\"wappTableObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" [style]=\"'width: '+wappTableObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n <img *ngIf=\"readProperty(element, wappTableObject.columns[i])\" \r\n [src]=\"readProperty(element, wappTableObject.columns[i])\" \r\n class=\"element-image-width\"/>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Number\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-right'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-right'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n <w-badge [label]=\"readProperty(element, wappTableObject.columns[i])\" [color]=\"'info'\"></w-badge> \r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableObject.columns[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ShortDate\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.d }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.LongDate\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.D }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeShortTime\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.g }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeLongTime\" \r\n [ngClass]=\"wappTableObject.columnAlign ? getTableColumnAlignClass(wappTableObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-selectable-row\">\r\n {{ readProperty(element, wappTableObject.columns[i]) | wappDate : wappDateFormat.G }}\r\n </td>\r\n </ng-template>\r\n <td *ngIf=\"wappTableObject.customButtonConfig?.hasCustomButton || wappTableObject?.hasEditButton || wappTableObject?.hasCopyButton || wappTableObject?.hasDeleteButton || wappTableObject?.hasViewButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableObject?.hasViewButton\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.viewTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n pButton pRipple (click)=\"viewElement(element)\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.customButtonConfig?.hasCustomButton && !wappTableObject.customButtonConfig?.disableProperty\"\r\n pButton pRipple (click)=\"customElement(element)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n [icon]=\"wappTableObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.customButtonConfig?.disableProperty\" \r\n pButton pRipple (click)=\"customElement(element)\" [disabled]=\"readProperty(element, wappTableObject.customButtonConfig?.disableProperty!)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n [icon]=\"wappTableObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasEditButton && !wappTableObject.disableEditProperty\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n pButton pRipple (click)=\"editElement(element)\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableObject.disableEditProperty)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.copyTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <span *ngIf=\"wappTableObject?.hasDeleteButton\">\r\n <button *ngIf=\"wappTableObject.disableDeleteProperty; else noDisableDelete\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableObject.disableDeleteProperty)\"\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <ng-template #noDisableDelete>\r\n <button *ngIf=\"!wappTableObject?.disableDelete && !wappTableObject.disableDeleteProperty\" \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableObject.buttonTooltips?.position!\"\r\n pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"w-table-lazy-empty-message-padding\">\r\n <td [attr.colspan]=\"calculateColspan()\">{{wappTableObject.emptyMessage ? wappTableObject.emptyMessage : 'No matches.'}}</td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr>\r\n <td colspan=\"8\">Loading elements.</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n \r\n <ng-template #loadingTable>\r\n <p-table class=\"w-table-styles\" [value]=\"tableSkeletons\" responsiveLayout=\"scroll\" [paginator]=\"wappTableObject.hasPaginator\" [rows]=\"rowsPerPage\" [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\" \r\n [currentPageReportTemplate]=\"wappTableObject.currentPageReportTemplate ? wappTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords : 'Showing ' + rowsPerPage + ' of ' + totalRecords\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableObject?.hasClearButton || wappTableObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span *ngIf=\"wappTableObject.hasTotalPagingSelector\" class=\"showing-per-page\"> {{wappTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber *ngIf=\"wappTableObject.hasTotalPagingSelector\"\r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter \r\n [placeholder]=\"wappTableObject.searchPlaceholder\" class=\"w-full height-input w-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableObject.hasColumnFilters && wappTableObject.hasCheckbox; else selectAllCheckbox\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <ng-template #selectAllCheckbox><th></th></ng-template>\r\n <th *ngFor=\"let header of wappTableObject?.headers\">\r\n {{header}}\r\n </th>\r\n <th *ngIf=\"wappTableObject?.hasDeleteButton || wappTableObject?.hasEditButton || wappTableObject?.hasViewButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\">\r\n <tr height=\"70px\">\r\n <td *ngFor=\"let item of wappTableObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableObject.hasEditButton || wappTableObject.hasDeleteButton || wappTableObject.hasCopyButton || wappTableObject.hasViewButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableObject?.hasViewButton\" \r\n pButton pRipple \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.viewTooltip!\"\r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject.customButtonConfig?.hasCustomButton\"\r\n pButton pRipple\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.customTooltip!\"\r\n [icon]=\"wappTableObject.customButtonConfig?.icon!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasEditButton\" \r\n pButton pRipple\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.editTooltip!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasCopyButton\" \r\n pButton pRipple \r\n [pTooltip]=\"wappTableObject.buttonTooltips?.copyTooltip!\"\r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableObject?.hasDeleteButton\" \r\n pButton pRipple\r\n [pTooltip]=\"wappTableObject.buttonTooltips?.deleteTooltip!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n </ng-template>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { ConfirmationService, LazyLoadEvent } from 'primeng/api';\r\nimport { Table } from 'primeng/table';\r\nimport { LazyElementQueryRequest } from '../../shared/models/lazy-element-query-request.model';\r\nimport { WappTableLazyLoading } from '../../shared/models/wapp-table-lazy-loading.model';\r\nimport { TableColumnFilterTypes, TableColumnTypes, WDatePipeFormatType, WappTableColumnAlignTypes } from '../../shared/models/enums.model';\r\n\r\n@Component({\r\n selector: 'w-table-lazy',\r\n templateUrl: './w-table-lazy.component.html',\r\n styleUrls: ['./w-table-lazy.component.scss']\r\n})\r\nexport class WTableLazyComponent implements OnInit {\r\n selectedElements: any[] = [];\r\n translations: any;\r\n lastQuery!: LazyElementQueryRequest;\r\n\r\n selectAll: boolean = false;\r\n filterElementsIndex: number = 0;\r\n wappDateFormat: typeof WDatePipeFormatType = WDatePipeFormatType;\r\n\r\n @Input('loading') loading!: boolean;\r\n @Input('elements') elements!: any[];\r\n @Input('rowsPerPage') rowsPerPage: number = 10;\r\n @Input('allElements') allElements!: any[];\r\n @Input('totalRecords') totalRecords!: number;\r\n @Input('maxRowsPerPage') maxRowsPerPage: number = 50;\r\n @Input('wappTableLazyLoadingObject') wappTableLazyLoadingObject!: WappTableLazyLoading;\r\n\r\n @Output('queryElements') queryElements = new EventEmitter<LazyElementQueryRequest>();\r\n\r\n @Output('onElementSelect') onElementSelect = new EventEmitter<any>();\r\n @Output('onViewElementSelect') onViewElementSelect = new EventEmitter<any>();\r\n @Output('onCustomElementSelect') onCustomElementSelect = new EventEmitter<any>();\r\n @Output('onCopyElementSelect') onCopyElementSelect = new EventEmitter<any>();\r\n @Output('onEditElementSelect') onEditElementSelect = new EventEmitter<any>();\r\n @Output('onDeleteElementSelect') onDeleteElementSelect = new EventEmitter<any[]>();\r\n @Output('onAllElementSelect') onAllElementSelect = new EventEmitter<boolean>();\r\n @Output('onPageChange') onPageChange = new EventEmitter<any>();\r\n\r\n @ViewChild('table', { static: false }) dataTable!: Table;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService\r\n ) { }\r\n\r\n ngOnInit(): void {\r\n this.loading = true;\r\n }\r\n\r\n loadElements(event: LazyLoadEvent) {\r\n this.loading = true;\r\n let adaptedQuery: LazyElementQueryRequest = {\r\n first: event.first!,\r\n rows: this.rowsPerPage!,\r\n sortOrder: event.sortOrder!,\r\n sortField: event.sortField!,\r\n filters: Object.keys(event.filters!).map((key) => {\r\n return {\r\n columnName: key!,\r\n value: event.filters![key].value,\r\n matchMode: event.filters![key].matchMode!\r\n }\r\n })\r\n }\r\n this.lastQuery = adaptedQuery;\r\n this.queryElements.emit(adaptedQuery);\r\n }\r\n\r\n reloadElements() {\r\n this.lastQuery.rows = this.rowsPerPage;\r\n this.queryElements.emit(this.lastQuery);\r\n }\r\n\r\n readProperty(obj: any, prop: string): any {\r\n if (prop === null) {\r\n return undefined;\r\n }\r\n if (typeof obj === 'undefined') {\r\n return false;\r\n }\r\n\r\n const properties = prop.split('.');\r\n let result = obj;\r\n\r\n for (const property of properties) {\r\n const match = property.match(/(.+?)\\[(\\d+)\\]/);\r\n if (match) {\r\n const arrayProp = match[1];\r\n const index = parseInt(match[2], 10);\r\n if (!Array.isArray(result[arrayProp]) || isNaN(index) || index < 0 || index >= result[arrayProp].length) {\r\n return undefined;\r\n }\r\n result = result[arrayProp][index];\r\n } else {\r\n if (typeof result[property] === 'undefined') {\r\n return undefined;\r\n }\r\n result = result[property];\r\n }\r\n }\r\n\r\n return result;\r\n }\r\n\r\n onElement(element: any) {\r\n this.onElementSelect.emit(element);\r\n }\r\n\r\n viewElement(element: any) {\r\n this.onViewElementSelect.emit(element);\r\n }\r\n customElement(element: any) {\r\n this.onCustomElementSelect.emit(element);\r\n }\r\n\r\n editElement(element: any) {\r\n this.onEditElementSelect.emit(element);\r\n }\r\n\r\n confirmDeleteSelection(event: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableLazyLoadingObject.confirmMultipleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableLazyLoadingObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSelectedElements();\r\n }\r\n });\r\n }\r\n\r\n deleteSelectedElements() {\r\n this.onDeleteElementSelect.emit(this.selectedElements)\r\n this.selectedElements = [];\r\n }\r\n\r\n confirmDelete(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableLazyLoadingObject.confirmSingleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableLazyLoadingObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteSingleElement(element);\r\n }\r\n });\r\n }\r\n\r\n deleteSingleElement(element: any) {\r\n this.onDeleteElementSelect.emit([element])\r\n }\r\n\r\n copyElement(element: any) {\r\n this.onCopyElementSelect.emit(element);\r\n }\r\n\r\n confirmCopy(event: Event, element: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTableLazyLoadingObject.confirmCopyLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTableLazyLoadingObject.confirmCopyBtnLabel,\r\n accept: () => {\r\n this.copyElement(element);\r\n }\r\n });\r\n }\r\n\r\n onSelectionChange(value = []) {\r\n this.selectAll = value.length === this.totalRecords;\r\n this.selectedElements = value;\r\n }\r\n\r\n onSelectAllChange(event: any) {\r\n const checked = event.checked;\r\n\r\n if (checked) {\r\n this.onAllElementSelect.emit(true);\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.selectedElements = this.wappTableLazyLoadingObject.disableCheckbox ? this.getSelectableElements(this.allElements) : this.allElements;\r\n this.selectAll = true;\r\n this.loading = false;\r\n }, 1000);\r\n }\r\n else {\r\n this.selectedElements = [];\r\n this.selectAll = false;\r\n }\r\n }\r\n\r\n getSelectableElements(allElements: any[]) {\r\n return allElements.filter((element: any) => !this.readProperty(element, this.wappTableLazyLoadingObject.disableCheckbox!));\r\n }\r\n\r\n getBooleanColumnClass(index: number, valueProperty: boolean) {\r\n const booleanIconClasses = [];\r\n\r\n if (valueProperty == true) {\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIcon ?? '');\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].trueIconColor ?? '');\r\n } else if (valueProperty == false) {\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIcon ?? '');\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].falseIconColor) ?? '';\r\n } else if (valueProperty == null) {\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIcon ?? '');\r\n booleanIconClasses.push(this.wappTableLazyLoadingObject.columnBooleanTypeIcons[index].nullIconColor ?? '');\r\n }\r\n\r\n return booleanIconClasses;\r\n }\r\n\r\n clear(table: Table) {\r\n table.clear();\r\n }\r\n\r\n public get tableColumnFilterTypes(): typeof TableColumnFilterTypes {\r\n return TableColumnFilterTypes;\r\n }\r\n\r\n public get tableColumnTypes(): typeof TableColumnTypes {\r\n return TableColumnTypes;\r\n }\r\n\r\n clearFilters() {\r\n this.dataTable.clear();\r\n }\r\n\r\n getTableColumnAlignClass(alignment: number) {\r\n if(alignment == WappTableColumnAlignTypes.Right) return 'text-right';\r\n if(alignment == WappTableColumnAlignTypes.Left) return 'text-left';\r\n if(alignment == WappTableColumnAlignTypes.Center) return 'text-center';\r\n return 'text-left'\r\n }\r\n\r\n getTableColumnAlignClassDefaultByColumnType(columnType: TableColumnTypes) {\r\n if(columnType == TableColumnTypes.Text) return 'text-left';\r\n if(columnType == TableColumnTypes.Currency) return 'text-left';\r\n if(columnType == TableColumnTypes.Date) return 'text-left';\r\n if(columnType == TableColumnTypes.Badge) return 'text-center';\r\n if(columnType == TableColumnTypes.Boolean) return 'text-center';\r\n if(columnType == TableColumnTypes.Image) return 'text-center';\r\n if(columnType == TableColumnTypes.Number) return 'text-right';\r\n return 'text-left'\r\n }\r\n\r\n calculateColspan() {\r\n let colspan = this.wappTableLazyLoadingObject.headers.length;\r\n this.wappTableLazyLoadingObject.hasCheckbox ? \r\n colspan += 1 : '';\r\n this.hasActionButtons() ?\r\n colspan += 1 : '';\r\n return colspan;\r\n }\r\n\r\n hasActionButtons() : boolean {\r\n return this.wappTableLazyLoadingObject.hasCopyButton ||\r\n this.wappTableLazyLoadingObject.hasEditButton ||\r\n this.wappTableLazyLoadingObject.hasViewButton ||\r\n this.wappTableLazyLoadingObject.hasDeleteButton || \r\n this.wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton ?\r\n true : false;\r\n }\r\n\r\n refreshPagination(first: number) {\r\n this.dataTable._first = first;\r\n }\r\n\r\n pageChange(element: any) {\r\n this.onPageChange.emit(element);\r\n }\r\n}\r\n","<ng-content select=\".filter-panel\"></ng-content>\r\n<div *ngIf=\"wappTableLazyLoadingObject\" [class.table-container]=\"wappTableLazyLoadingObject.tableContainer\">\r\n <p-table class=\"w-table-styles\"\r\n [ngClass]=\"{'w-table-no-buttons' : !wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.hasDeleteButton && !wappTableLazyLoadingObject.hasCopyButton && !wappTableLazyLoadingObject.customButtonConfig && !wappTableLazyLoadingObject.hasViewButton }\"\r\n #table [value]=\"elements\" \r\n dataKey=\"{{wappTableLazyLoadingObject.identificator}}\"\r\n [lazy]=\"true\" \r\n (onLazyLoad)=\"loadElements($event)\"\r\n [selection]=\"selectedElements\" (selectionChange)=\"onSelectionChange($event)\"\r\n [selectAll]=\"selectAll\" (selectAllChange)=\"onSelectAllChange($event)\"\r\n [paginator]=\"wappTableLazyLoadingObject.hasPaginator! && totalRecords >= 10\"\r\n [rows]=\"rowsPerPage\" \r\n [currentPageReportTemplate]=\"wappTableLazyLoadingObject.currentPageReportTemplate ? wappTableLazyLoadingObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [loading]=\"loading\"\r\n [showLoader]=\"false\"\r\n [globalFilterFields]=\"wappTableLazyLoadingObject.globalFilterFields!\"\r\n [tableStyle]=\"{'min-width': wappTableLazyLoadingObject.tableMinWidth!}\"\r\n (onPage)=\"pageChange($event)\"\r\n styleClass=\"p-datatable-striped\">\r\n <ng-template *ngIf=\"wappTableLazyLoadingObject.hasClearButton || wappTableLazyLoadingObject.hasGlobalSearch\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span *ngIf=\"wappTableLazyLoadingObject.hasTotalPagingSelector\" class=\"showing-per-page\"> {{wappTableLazyLoadingObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber *ngIf=\"wappTableLazyLoadingObject.hasTotalPagingSelector\"\r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"maxRowsPerPage\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"reloadElements()\">\r\n </p-inputNumber>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasGlobalSearch\" class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input class=\"height-input w-input\" pInputText type=\"text\" (input)=\"table.filterGlobal($event, 'contains')\" placeholder=\"{{wappTableLazyLoadingObject.searchPlaceholder}}\" />\r\n </span>\r\n </span>\r\n </ng-template>\r\n <ng-template pTemplate=\"header\">\r\n <tr>\r\n <th *ngIf=\"!wappTableLazyLoadingObject.hasColumnFilters && wappTableLazyLoadingObject.hasCheckbox; else noCheckbox\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[0]) : 'text-center'\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n\r\n <ng-template #noCheckbox><th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\"></th></ng-template>\r\n\r\n <ng-container *ngIf=\"!wappTableLazyLoadingObject.hasSortableColumns; else something\">\r\n <th *ngFor=\"let header of wappTableLazyLoadingObject?.headers; index as i\" [class]=\"header == ('Imagen' || 'Image') ? 'image-header': ''\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableLazyLoadingObject.columnTypes[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i])\">\r\n {{header}}\r\n </th>\r\n </ng-container>\r\n\r\n <ng-template #something>\r\n <ng-template #something ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.headers\" let-i=\"index\"> \r\n <th [pSortableColumn]=\"wappTableLazyLoadingObject.sortableNames[i]\" [class]=\"wappTableLazyLoadingObject.headers[i] == ('Imagen' || 'Image') ? 'image-header': ''\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i]) : getTableColumnAlignClassDefaultByColumnType(wappTableLazyLoadingObject.columnTypes[wappTableLazyLoadingObject.hasCheckbox ? i+1 : i])\">\r\n {{wappTableLazyLoadingObject.headers[i]}} \r\n <p-sortIcon *ngIf=\"wappTableLazyLoadingObject.sortableNames[i] != null\" [field]=\"wappTableLazyLoadingObject.sortableNames[i]\"></p-sortIcon>\r\n </th>\r\n </ng-template>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasViewButton || wappTableLazyLoadingObject.hasCopyButton || wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"></th>\r\n </tr>\r\n\r\n <tr *ngIf=\"wappTableLazyLoadingObject.hasColumnFilters\">\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasCheckbox\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[0]) : 'text-left'\">\r\n <p-tableHeaderCheckbox></p-tableHeaderCheckbox>\r\n </th>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasImage\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[wappTableLazyLoadingObject.hasCheckbox ? 1 : 0]) : getTableColumnAlignClassDefaultByColumnType(wappTableLazyLoadingObject.columnTypes[wappTableLazyLoadingObject.hasCheckbox ? 1 : 0])\">\r\n </th>\r\n <ng-template ngFor let-filterType [ngForOf]=\"wappTableLazyLoadingObject.columnFilterTypes\" let-i=\"index\">\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Text\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\">\r\n <p-columnFilter type=\"text\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Multiselect\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\">\r\n <p-columnFilter [field]=\"wappTableLazyLoadingObject.filterNames[i]\" matchMode=\"in\" [showMenu]=\"false\">\r\n <ng-template pTemplate=\"filter\" let-value let-filter=\"filterCallback\">\r\n <p-multiSelect [ngModel]=\"value\" appendTo=\"body\" [options]=\"wappTableLazyLoadingObject.selectFilterElements[i]\" placeholder=\"Any\" (onChange)=\"filter($event.value)\" optionLabel=\"name\" [maxSelectedLabels]=\"1\" [selectedItemsLabel]=\"'{0} items'\">\r\n <ng-template let-option pTemplate=\"item\">\r\n <div class=\"p-multiselect-representative-option\">\r\n <span class=\"ml-1\">{{option.name}}</span>\r\n </div>\r\n </ng-template>\r\n </p-multiSelect>\r\n </ng-template>\r\n </p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.None\"></th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Boolean\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\">\r\n <p-columnFilter type=\"boolean\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n <th *ngIf=\"filterType == tableColumnFilterTypes.Date\" [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\">\r\n <p-columnFilter type=\"date\" [field]=\"wappTableLazyLoadingObject.filterNames[i]\"></p-columnFilter>\r\n </th>\r\n </ng-template>\r\n <th *ngIf=\"wappTableLazyLoadingObject.hasDeleteButton || wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasViewButton || wappTableLazyLoadingObject.hasCopyButton || wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton\"></th>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"body\" let-element let-index=\"index\">\r\n <tr *ngIf=\"!loading\">\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTableLazyLoadingObject.columnTypes\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\" class=\"text-center\">\r\n <div *ngIf=\"wappTableLazyLoadingObject.disableCheckbox; else activeCheckbox\">\r\n <p-tableCheckbox [value]=\"element\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableCheckbox)\"></p-tableCheckbox>\r\n </div>\r\n <ng-template #activeCheckbox>\r\n <p-tableCheckbox [value]=\"element\"></p-tableCheckbox>\r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <img *ngIf=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" \r\n [src]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" \r\n class=\"element-image-width\"/>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Number\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-right'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | currency }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <w-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" [color]=\"'info'\"></w-badge> \r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ColoredBadge\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <w-badge *ngIf=\"!coloredBadge || (coloredBadge && !readProperty(element, wappTableLazyLoadingObject.coloredBadge?.coloredBadgeProperty!)); else coloredBadge\" \r\n [label]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" [color]=\"'info'\">\r\n </w-badge> \r\n <ng-template #coloredBadge>\r\n <w-badge [label]=\"readProperty(element, wappTableLazyLoadingObject.columns[i])\" [color]=\"wappTableLazyLoadingObject.coloredBadge?.color!\"></w-badge> \r\n </ng-template>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-center'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(element, wappTableLazyLoadingObject.columns[i]))\"></i>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ShortDate\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.d }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.LongDate\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.D }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeShortTime\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\"\r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.g }}\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeLongTime\" [style]=\"'width: '+wappTableLazyLoadingObject.columnWidths[i]\" \r\n [ngClass]=\"wappTableLazyLoadingObject.columnAlign ? getTableColumnAlignClass(wappTableLazyLoadingObject.columnAlign[i]) : 'text-left'\"\r\n (click)=\"viewElement(element)\" class=\"w-table-lazy-selectable-row\">\r\n {{ readProperty(element, wappTableLazyLoadingObject.columns[i]) | wappDate : wappDateFormat.G }}\r\n </td>\r\n </ng-template>\r\n <td>\r\n <div class=\"flex justify-content-end align-items-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasViewButton\" \r\n pButton pRipple (click)=\"viewElement(element)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.viewTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\" \r\n icon=\"pi pi-eye\" class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton && !wappTableLazyLoadingObject.customButtonConfig?.disableProperty\"\r\n pButton pRipple (click)=\"customElement(element)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.customButtonConfig?.hasCustomButton && wappTableLazyLoadingObject.customButtonConfig?.disableProperty\"\r\n pButton pRipple (click)=\"customElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.customButtonConfig?.disableProperty!)\"\r\n [icon]=\"wappTableLazyLoadingObject.customButtonConfig?.icon!\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.customTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n class=\"p-button-text p-button-info mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && !wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject.hasEditButton && wappTableLazyLoadingObject.disableEditProperty\" \r\n pButton pRipple (click)=\"editElement(element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableEditProperty)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.editTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasCopyButton\" \r\n pButton pRipple (click)=\"confirmCopy($event, element)\" \r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.copyTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-copy\" class=\"p-button-text p-button-help mr-2\">\r\n </button>\r\n <span *ngIf=\"wappTableLazyLoadingObject?.hasDeleteButton\">\r\n <button *ngIf=\"wappTableLazyLoadingObject.disableDeleteProperty; else noDisableDelete\" \r\n pButton pRipple (click)=\"confirmDelete($event, element)\" [disabled]=\"readProperty(element, wappTableLazyLoadingObject.disableDeleteProperty)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n <ng-template #noDisableDelete>\r\n <button pButton pRipple (click)=\"confirmDelete($event, element)\"\r\n [pTooltip]=\"wappTableLazyLoadingObject.buttonTooltips?.deleteTooltip!\"\r\n [tooltipPosition]=\"wappTableLazyLoadingObject.buttonTooltips?.position!\"\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </ng-template>\r\n </span>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"loadingbody\">\r\n <tr height=\"70px\" *ngFor=\"let n of [0,1,2,3,4]\">\r\n <td *ngFor=\"let item of wappTableLazyLoadingObject.columnTypes\" [style.width]=\"item == tableColumnTypes.Checkbox ? '8rem' : ''\" >\r\n <p-tableCheckbox *ngIf=\"item == tableColumnTypes.Checkbox && wappTableLazyLoadingObject.hasCheckbox\"></p-tableCheckbox>\r\n <p-skeleton *ngIf=\"item == tableColumnTypes.Image\" width=\"6rem\" height=\"4rem\"></p-skeleton>\r\n <p-skeleton *ngIf=\"item != tableColumnTypes.Checkbox && item != tableColumnTypes.Image\"></p-skeleton>\r\n </td>\r\n <td *ngIf=\"wappTableLazyLoadingObject.hasEditButton || wappTableLazyLoadingObject.hasDeleteButton\">\r\n <div class=\"flex justify-content-end\">\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasEditButton\" \r\n pButton pRipple\r\n icon=\"pi pi-pencil\" class=\"p-button-text p-button-success mr-2\">\r\n </button>\r\n <button *ngIf=\"wappTableLazyLoadingObject?.hasDeleteButton\" \r\n pButton pRipple\r\n icon=\"pi pi-trash\" class=\"p-button-text p-button-danger\">\r\n </button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n <ng-template pTemplate=\"emptymessage\">\r\n <tr class=\"w-table-lazy-empty-message-padding\">\r\n <td [attr.colspan]=\"calculateColspan()\">{{wappTableLazyLoadingObject.emptyMessage ? wappTableLazyLoadingObject.emptyMessage : 'No matches.'}}</td>\r\n </tr>\r\n </ng-template>\r\n </p-table>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-container',\r\n template: `\r\n <div class=\"w-filter-panel-container\">\r\n <ng-content></ng-content>\r\n </div>\r\n `,\r\n styleUrls: ['./w-container.component.scss']\r\n})\r\nexport class WContainerComponent {\r\n\r\n}\r\n","import { Component } from '@angular/core';\r\nimport { ActivatedRouteSnapshot, NavigationEnd, Router } from '@angular/router';\r\nimport { BehaviorSubject } from 'rxjs';\r\nimport { filter } from 'rxjs/operators';\r\n\r\ninterface Breadcrumb {\r\n label: string;\r\n url?: string;\r\n}\r\n\r\n@Component({\r\n selector: 'w-navbar',\r\n templateUrl: './w-navbar.component.html',\r\n styleUrls: ['./w-navbar.component.scss']\r\n})\r\nexport class WNavbarComponent {\r\n\r\n private readonly _breadcrumbs$ = new BehaviorSubject<Breadcrumb[]>([]);\r\n\r\n readonly breadcrumbs$ = this._breadcrumbs$.asObservable();\r\n\r\n constructor(private router: Router) {\r\n this.router.events.pipe(filter((event) => event instanceof NavigationEnd)).subscribe(event => {\r\n const root = this.router.routerState.snapshot.root;\r\n const breadcrumbs: Breadcrumb[] = [];\r\n this.addBreadcrumb(root, [], breadcrumbs);\r\n\r\n this._breadcrumbs$.next(breadcrumbs);\r\n });\r\n }\r\n\r\n private addBreadcrumb(route: ActivatedRouteSnapshot, parentUrl: string[], breadcrumbs: Breadcrumb[]) {\r\n const routeUrl = parentUrl.concat(route.url.map(url => url.path));\r\n const breadcrumb = route.data['breadcrumb'];\r\n const parentBreadcrumb = route.parent && route.parent.data ? route.parent.data['breadcrumb'] : null;\r\n\r\n if (breadcrumb && breadcrumb !== parentBreadcrumb) {\r\n breadcrumbs.push({\r\n label: route.data['breadcrumb'],\r\n url: '/' + routeUrl.join('/')\r\n });\r\n }\r\n\r\n if (route.firstChild) {\r\n this.addBreadcrumb(route.firstChild, routeUrl, breadcrumbs);\r\n }\r\n }\r\n}\r\n","<w-container>\r\n <div class=\"flex wrap navbar-margins\">\r\n <div class=\"flex flex-column sm:flex-row align-items-center gap-4\">\r\n <nav class=\"layout-breadcrumb\">\r\n <ol>\r\n <ng-template ngFor let-item let-last=\"last\" [ngForOf]=\"breadcrumbs$ | async\">\r\n <li>{{item.label}}</li>\r\n <li *ngIf=\"!last\" class=\"layout-breadcrumb-chevron\"> | </li>\r\n </ng-template>\r\n </ol>\r\n </nav>\r\n </div>\r\n <div class=\"flex sm:ml-auto\">\r\n <div class=\"navbar-button-spacing\">\r\n <!-- ToDo remplace with w-button -->\r\n <w-button icon=\"pi pi-check\" styleClass=\"p-button-outlined p-button-secondary\" icon=\"pi pi-check\"></w-button>\r\n <p-button icon=\"pi pi-check\" styleClass=\"p-button-outlined p-button-seco ndary\" icon=\"pi pi-check\"></p-button>\r\n </div>\r\n <div class=\"navbar-button-spacing\">\r\n <!-- ToDo remplace with w-button -->\r\n <p-button label=\"Submit\"></p-button>\r\n <p-button label=\"Submit\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n</w-container>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-body',\r\n templateUrl: './w-body.component.html',\r\n styleUrls: ['./w-body.component.scss']\r\n})\r\nexport class WBodyComponent {\r\n @Input('showFooterSpace') showFooterSpace: boolean = false;\r\n}\r\n","<div class=\"w-body\" [ngClass]=\"{'w-body-with-footer-space' : showFooterSpace}\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-footer',\r\n templateUrl: './w-footer.component.html',\r\n styleUrls: ['./w-footer.component.scss']\r\n})\r\nexport class WFooterComponent implements OnInit{\r\n \r\n @Input('supportLabel') supportLabel!: string;\r\n @Input('support') support: boolean = false;\r\n\r\n year!: any;\r\n\r\n ngOnInit(): void {\r\n this.year = new Date().getFullYear();\r\n }\r\n\r\n}\r\n","\r\n<div class=\"w-footer flex justify-content-between flex-wrap w-full\">\r\n <div class=\"w-info-footer flex align-items-center justify-content-center\">\r\n <w-logos [name]=\"'wappingIsotype'\" [width]=\"16\" [height]=\"20\"></w-logos>\r\n <div class=\"body textMainColor\">Wapping Networks S.L. © {{year}} </div>\r\n </div>\r\n <div class=\"w-support-footer flex align-items-center justify-content-center\">\r\n <div class=\"subtitle2 textMainColor\">{{supportLabel}}</div>\r\n <w-icons *ngIf=\"support\" name=\"support\" pTooltip=\"support\" [width]=\"16\" [height]=\"16\"></w-icons>\r\n </div>\r\n</div>","import { Pipe, PipeTransform } from \"@angular/core\";\r\n\r\n@Pipe({\r\n name: 'ColorTextPipe'\r\n})\r\nexport class ColorTextPipe implements PipeTransform {\r\n transform(value: any) {\r\n var mapObj: any = {\r\n \"string\": \"string\",\r\n \"number\": \"number\",\r\n \"boolean\": \"boolean\",\r\n \"any\": \"any\",\r\n \"null\": \"null\",\r\n \"Input\": \"Input\",\r\n \"Output\":\"Output\"\r\n };\r\n return value.replace(/\\b(?:string|number|boolean|number|any|null|Input|Output)\\b/gi, (matched: any) => mapObj[matched] != \"Input\" && mapObj[matched] != \"Output\" ? `<font color=\"#9900FF\">${mapObj[matched]}</font>`: `<font color='#ff7373'>${mapObj[matched]}</font>`)\r\n ;\r\n }\r\n}","import { ChangeDetectionStrategy, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { ControlValueAccessor } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-multiselect',\r\n templateUrl: './w-edit-multiselect.component.html',\r\n styleUrls: ['./w-edit-multiselect.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditMultiselectComponent),\r\n multi: true\r\n }\r\n ],\r\n changeDetection: ChangeDetectionStrategy.OnPush\r\n})\r\nexport class WEditMultiselectComponent implements OnInit, ControlValueAccessor{\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder = \"\";\r\n @Input('filter') filter: boolean = true;\r\n @Input('filterPlaceholder') filterPlaceholder: string = 'Search';\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('options') options: any;\r\n @Input('optionLabel') optionLabel!: string;\r\n @Input('optionValue') optionValue!: string;\r\n @Input('appendTo') appendTo!: string;\r\n @Input('showClear') showClear: boolean = true;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('requiredErrorDescription') errorDescription: string = \"Select an option is required\";\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n @Input('tooltip') tooltip!: string;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onOptionSelectedForm(event: any){\r\n this.onChangeEvent.emit(event.value);\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.ngModelValue = newValue;\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-multiselect-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-multiselect-medium\" \r\n [options]=\"options\" \r\n display=\"chip\" \r\n [optionLabel]=\"optionLabel\" \r\n [optionValue]=\"optionValue\" \r\n [placeholder]=\"placeholder\" \r\n [required]=\"required\" \r\n [formControl]=\"formControl\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\"\r\n (onChange)=\"onOptionSelectedForm($event)\">\r\n </p-multiSelect>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-multiselect-small\"\r\n [options]=\"options\"\r\n display=\"chip\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [filter]=\"filter\"\r\n [filterPlaceHolder]=\"filterPlaceholder\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\"\r\n (onChange)=\"onOptionSelectedForm($event)\">\r\n \r\n </p-multiSelect>\r\n <span *ngIf=\"getSizeName(sizeType.small) == size && formControl.dirty && formControl.hasError('required')\" class=\"w-full w-error-message\">{{errorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-multiselect-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-multiselect-medium\"\r\n [options]=\"options\"\r\n display=\"chip\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"ngModelValue\"\r\n (onChange)=\"onOptionSelected()\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\">\r\n </p-multiSelect>\r\n <p-multiSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-multiselect-small\"\r\n [options]=\"options\"\r\n display=\"chip\"\r\n [optionLabel]=\"optionLabel\"\r\n [optionValue]=\"optionValue\"\r\n [placeholder]=\"placeholder\"\r\n [disabled]=\"disabled\"\r\n [(ngModel)]=\"ngModelValue\"\r\n (onChange)=\"onOptionSelected()\"\r\n [appendTo]=\"appendTo\"\r\n [showClear]=\"showClear\">\r\n </p-multiSelect>\r\n </div>\r\n</ng-template>\r\n","import { EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { Component, OnInit } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-treeselect',\r\n templateUrl: './w-edit-treeselect.component.html',\r\n styleUrls: ['./w-edit-treeselect.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditTreeselectComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditTreeselectComponent implements OnInit, ControlValueAccessor {\r\n @Input('label') label!: string;\r\n @Input('placeholder') placeholder!: string;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('options') options: any;\r\n @Input('appendTo') appendTo!: string; \r\n @Input('showClear') showClear: boolean = true;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('requiredErrorDescription') errorDescription: string = \"Select an option is required\";\r\n @Input('filterBy') filterBy!: string;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false; \r\n @Input('tooltip') tooltip!: string; \r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {}\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n \r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onOptionSelectedForm(event: any){\r\n this.onTouch();\r\n this.onChangeEvent.emit(event.node);\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.ngModelValue = newValue;\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n}","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-treeselect-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\"></w-input-label>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-treeselect-medium\" \r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\" \r\n [required]=\"required\"\r\n [formControl]=\"formControl\" \r\n [appendTo]=\"appendTo\" \r\n (onNodeSelect)=\"onOptionSelectedForm($event)\">\r\n </p-treeSelect>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-treeselect-small\" \r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.dirty && formControl.hasError('required')}\"\r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\" \r\n [appendTo]=\"appendTo\" \r\n (onNodeSelect)=\"onOptionSelectedForm($event)\">\r\n </p-treeSelect>\r\n <small *ngIf=\"getSizeName(sizeType.medium) == size && formControl.dirty && formControl.hasError('required')\" \r\n class=\"w-error-message-container w-full w-error-message p-error block\">{{errorDescription}}</small> \r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-treeselect-field p-fluid field\">\r\n <w-input-label [required]=\"required\" [label]=\"label\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\"></w-input-label>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.medium) == size\" class=\"w-edit-treeselect-medium\" \r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [disabled]=\"disabled\"\r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\" \r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onOptionSelected()\" \r\n [appendTo]=\"appendTo\">\r\n </p-treeSelect>\r\n <p-treeSelect *ngIf=\"getSizeName(sizeType.small) == size\" class=\"w-edit-treeselect-small\" \r\n [options]=\"options\" \r\n [placeholder]=\"placeholder\" \r\n [showClear]=\"showClear\" \r\n [disabled]=\"disabled\"\r\n [filter]=\"true\"\r\n [filterBy]=\"filterBy\"\r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onOptionSelected()\" \r\n [appendTo]=\"appendTo\">\r\n </p-treeSelect>\r\n </div>\r\n</ng-template>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-title',\r\n templateUrl: './w-panel-title.component.html',\r\n styleUrls: ['./w-panel-title.component.scss']\r\n})\r\nexport class WPanelTitleComponent {\r\n @Input('title') title!: string;\r\n @Input('activePaddingBottom') activePaddingBottom!: boolean\r\n}\r\n","<div class=\"w-panel-title w-panel-title-text\">{{title}}</div>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-subtitle',\r\n templateUrl: './w-panel-subtitle.component.html',\r\n styleUrls: ['./w-panel-subtitle.component.scss']\r\n})\r\nexport class WPanelSubtitleComponent {\r\n @Input('subtitle') subtitle!: string;\r\n @Input('activePaddingBottom') activePaddingBottom!: boolean\r\n}\r\n","<div class=\"w-panel-subtitle w-panel-subtitle-text\">{{subtitle}}</div>\r\n","import { Component, ElementRef, Input, OnInit } from '@angular/core';\r\nimport { MenuItem } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-panel',\r\n templateUrl: './w-panel.component.html',\r\n styleUrls: ['./w-panel.component.scss']\r\n})\r\nexport class WPanelComponent implements OnInit {\r\n @Input('width') width: any;\r\n @Input('title') title!: string;\r\n @Input('subtitle') subtitle!: string;\r\n @Input('activeGrid') activeGrid: boolean = true;\r\n @Input('reduced') reduced: boolean = false;\r\n @Input('justifyContent') justifyContent: string = '';\r\n @Input('activeOverflow') activeOverflow: boolean = false;\r\n @Input('heightOverflow') heightOverflow!: string;\r\n @Input('maxHeightOverflow') maxHeightOverflow!: string;\r\n @Input('backgroundColor') backgroundColor: string = '#fff';\r\n @Input('activeMaxHeight') activeMaxHeight: boolean = false; \r\n\r\n @Input('activeMenu') activeMenu: boolean = false;\r\n @Input('menuOptions') menuOptions!: MenuItem[];\r\n\r\n spacing4XL: string = '36px'; \r\n \r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.elementRef.nativeElement.style.setProperty(\"--bgcolor\", this.backgroundColor);\r\n }\r\n \r\n getCombinedClasses() {\r\n let classes = [];\r\n \r\n if (this.activeGrid) {\r\n classes.push('w-panel-content grid');\r\n }\r\n \r\n if (this.justifyContent.length > 0) {\r\n classes.push('flex flex-wrap '+this.justifyContent);\r\n }\r\n\r\n if(this.activeOverflow){\r\n classes.push('w-panel-overflow');\r\n }\r\n \r\n return classes.join(' ');\r\n }\r\n}\r\n","<div [ngClass]=\"{ 'w-panel': !reduced, 'w-reduced-panel': reduced}\" class=\"w-full h-full\">\r\n <div *ngIf=\"activeMenu == true\" class=\"flex flex-wrap\" [ngClass]=\"{'justify-content-between': title, 'justify-content-end': !title}\">\r\n <w-panel-title *ngIf=\"title\" class=\"flex\" [title]=\"title\"></w-panel-title>\r\n <div class=\"flex\">\r\n <p-button icon=\"pi pi-ellipsis-v\" styleClass=\"w-menu-button-x-small p-button-text\" (onClick)=\"menu.toggle($event)\"></p-button>\r\n <p-tieredMenu styleClass=\"w-panel-menu\" #menu [model]=\"menuOptions\" [popup]=\"true\"></p-tieredMenu>\r\n </div>\r\n </div>\r\n <w-panel-title *ngIf=\"title && activeMenu == false\" [title]=\"title\"></w-panel-title>\r\n <w-panel-subtitle *ngIf=\"subtitle\" [subtitle]=\"subtitle\"></w-panel-subtitle>\r\n <div class=\"w-panel-content\" [ngClass]=\"getCombinedClasses()\" [style.height]=\"heightOverflow\" [style.max-height]=\"maxHeightOverflow\" [style.padding-bottom]=\"(activeMaxHeight == true && (title != undefined)) ? spacing4XL : ''\">\r\n <ng-content></ng-content>\r\n </div>\r\n</div>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-body-container',\r\n templateUrl: './w-body-container.component.html',\r\n styleUrls: ['./w-body-container.component.scss']\r\n})\r\nexport class WBodyContainerComponent {\r\n\r\n}\r\n","<div class=\"grid w-body-container\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { Location } from '@angular/common';\r\nimport { Router } from '@angular/router';\r\nimport { ConfirmationService } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-header-panel',\r\n templateUrl: './w-header-panel.component.html',\r\n styleUrls: ['./w-header-panel.component.scss'],\r\n providers: [ConfirmationService]\r\n})\r\nexport class WHeaderPanelComponent {\r\n @Input('label') label!: string;\r\n @Input(\"backToCustomRoute\") public backToCustomRoute!: string;\r\n @Input('requireConfirmation') requireConfirmation: boolean = false;\r\n @Input('contentConfirmation') contentConfirmation!: string;\r\n @Input('acceptLabel') acceptLabel!: string;\r\n @Input('rejectLabel') rejectLabel!: string;\r\n @Input('showButtonBack') showButtonBack: boolean = false;\r\n @Output('onClickButtonBack') onClickButtonBack: EventEmitter<any> = new EventEmitter();\r\n\r\n constructor(\r\n private location: Location,\r\n private router: Router,\r\n private confirmationService: ConfirmationService,\r\n ){}\r\n\r\n onButtonBack(event: any){\r\n if(!this.requireConfirmation){\r\n if(this.backToCustomRoute){\r\n this.router.navigate([this.backToCustomRoute])\r\n return\r\n }\r\n this.location.back();\r\n }else{\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.contentConfirmation,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.acceptLabel,\r\n rejectLabel: this.rejectLabel,\r\n accept: () => {\r\n if(this.backToCustomRoute){\r\n this.router.navigate([this.backToCustomRoute])\r\n return\r\n }\r\n this.location.back();\r\n }\r\n });\r\n }\r\n }\r\n}\r\n","<div class=\"w-header-panel flex flex-row-reverse flex-wrap\" [ngClass]=\"{'justify-content-between' : showButtonBack}\">\r\n <div class=\"w-action-buttons flex flex-column lg:flex-row-reverse\">\r\n <ng-content select=\".main-actions\"></ng-content>\r\n <ng-content select=\".secondary-actions\"></ng-content>\r\n </div>\r\n <div *ngIf=\"showButtonBack\" class=\"flex\">\r\n <w-button class=\"flex align-items-center justify-content-center\" type=\"text\" icon=\"pi-arrow-left\" (onClick)=\"onButtonBack($event)\"></w-button>\r\n </div>\r\n</div>\r\n<p-confirmPopup></p-confirmPopup>","import { Component, EventEmitter, Input, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, FormControlName, NG_VALUE_ACCESSOR, NgControl, Validators } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-input-number',\r\n templateUrl: './w-edit-input-number.component.html',\r\n styleUrls: ['./w-edit-input-number.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditInputNumberComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditInputNumberComponent implements ControlValueAccessor{\r\n value: number = 0;\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n @Input('successMessage') successMessage: string = \"\";\r\n @Input('mode') mode: string = \"decimal\";\r\n @Input('minFractionDigits') minFractionDigits: number = 0;\r\n @Input('maxFractionDigits') maxFractionDigits: number = 0;\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Data is required\";\r\n\r\n @Input('disabled') disabled: boolean = false;\r\n\r\n @Input('pattern') pattern: string = \"\";\r\n @Input('patternErrorDescription') patternErrorDescription: string = \"\";\r\n\r\n @Input('min') min!: number;\r\n @Input('minErrorDescription') minErrorDescription: string = \"Min error\";\r\n\r\n @Input('max') max!: number;\r\n @Input('maxErrorDescription') maxErrorDescription: string = \"Max error\";\r\n\r\n @Input('autofocus') autofocus: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n\r\n @Input('tooltip') tooltip!: string;\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: number) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = +value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onValueChanged(){\r\n this.onChange(+this.value);\r\n this.onTouch();\r\n }\r\n\r\n onInputBlur(event: Event){\r\n const newValue: number = +(event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl != null; else noNgControl\" class=\"w-edit-input-number-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.medium) == size\"\r\n [ngClass]=\"{'w-edit-input-number-medium-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-number-medium-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-number-medium-warning': formControl.invalid && formControl.touched && (formControl.hasError('min') || formControl.hasError('max'))}\"\r\n class=\"w-edit-input-number-medium w-edit-input-number-medium-height\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [formControl]=\"formControl\" >\r\n </p-inputNumber>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.small) == size\"\r\n [ngClass]=\"{'w-edit-input-number-small-error': formControl.hasError('required') && formControl.dirty && requiredErrorDescription != '',\r\n 'w-edit-input-number-small-valid': formControl.valid && formControl.touched && successMessage != '',\r\n 'w-edit-input-number-small-warning': formControl.invalid && formControl.touched && (formControl.hasError('min') || formControl.hasError('max'))}\"\r\n class=\"w-edit-input-number-small\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [formControl]=\"formControl\"></p-inputNumber>\r\n <!-- <small *ngIf=\"formControl.valid && formControl.touched\" class=\"w-input-success-alert-text\">{{successMessage}}</small>-->\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('max') && formControl.touched \"\r\n class=\"w-input-alert-message w-input-warning-alert-text p-error block\">{{maxErrorDescription}}</span>\r\n <span *ngIf=\"formControl.invalid && formControl.hasError('min') && formControl.touched \"\r\n class=\"w-input-alert-message w-input-warning-alert-text p-error block\">{{maxErrorDescription}}</span>\r\n <span *ngIf=\"formControl.hasError('required') && formControl.dirty\"\r\n class=\"w-input-alert-message w-input-error-alert-text p-error block\">{{requiredErrorDescription}}</span>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-input-number-field p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.medium) == size\" [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n class=\"w-edit-input-number-medium w-edit-input-number-medium-height\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [(ngModel)]=\"value\" (onInput)=\"onValueChanged()\" [disabled]=\"disabled\"></p-inputNumber>\r\n <p-inputNumber *ngIf=\"getSizeName(sizeType.small) == size\" [disabled]=\"disabled\"\r\n [required]=\"required\"\r\n class=\"w-edit-input-number-small\"\r\n styleClass=\"flex flex-1\"\r\n [mode]=\"mode\"\r\n [minFractionDigits]=\"minFractionDigits\" [maxFractionDigits]=\"maxFractionDigits\"\r\n id=\"w-textarea\" [placeholder]=\"placeholder\"\r\n [required]=\"required\" [(ngModel)]=\"value\" (onInput)=\"onValueChanged()\" [disabled]=\"disabled\"></p-inputNumber>\r\n </div>\r\n</ng-template>\r\n","import { Component, EventEmitter, Input, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\nimport { NgControl, FormControlName, NG_VALUE_ACCESSOR, FormControl } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-input-search',\r\n templateUrl: './w-input-search.component.html',\r\n styleUrls: ['./w-input-search.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WInputSearchComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WInputSearchComponent {\r\n @Input('label') label!: string;\r\n @Input('placeholder') placeholder: string = \"\";\r\n\r\n @Input('isRequired') isRequired: boolean = false;\r\n @Input('isDisabled') isDisabled: boolean = false;\r\n @Input('hasButton') hasButton: boolean = true;\r\n @Input('disabledButton') disabledButton: boolean = false;\r\n\r\n @Input('inputIcon') inputIcon: string = '';\r\n @Input('size') size: string = \"small\";\r\n\r\n \r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('removePaddingTop') removePaddingTop: boolean = false; \r\n \r\n @Output('getInputData') getInputData: EventEmitter<any> = new EventEmitter();\r\n\r\n selectedItem: any;\r\n suggestions: any[] = [];\r\n value: any ;\r\n\r\n isTouched : boolean = false;\r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n onInputData(){\r\n if(this.formControl){\r\n this.getInputData.emit(this.formControl.value);\r\n }else{\r\n this.getInputData.emit(this.value);\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n \r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n \r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl != null; else noNgControl\" class=\"w-input-search-field p-fluid field\">\r\n <div *ngIf=\"(label != undefined && label.length > 0)\" class=\"flex\" [ngClass]=\"{'w-input-search-height-label': removePaddingTop == false,\r\n 'w-input-search-height-label-no-top': removePaddingTop == true}\">\r\n <label htmlFor=\"state\" [ngClass]=\"{'w-input-search-small-label': getSizeName(sizeType.small) == size && !isDisabled, \r\n 'w-input-search-small-label-disabled': getSizeName(sizeType.small) == size && isDisabled,\r\n 'w-input-search-medium-label': getSizeName(sizeType.medium) == size && !isDisabled,\r\n 'w-input-search-medium-label-disabled': getSizeName(sizeType.medium) == size && isDisabled, \r\n 'no-top': removePaddingTop == true}\">\r\n {{label}}\r\n </label>\r\n </div>\r\n <div *ngIf=\"(label != undefined && label == '')\" class=\"w-input-no-label-height\"></div>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\" class=\"w-input-search\">\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-medium p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText [formControl]=\"formControl\"\r\n (keydown.enter)='onInputData()'\r\n class=\"w-input-search-text\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div >\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"w-input-search-text-wo-button flex flex-1 col-12\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"formControl\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template #inputSmall>\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-small p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText \r\n (keydown.enter)='onInputData()'\r\n [formControl]=\"formControl\"\r\n class=\"w-input-search-text\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div class=\"w-input-search-small p-fluid field\">\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"flex flex-1 col-12 w-input-search-text-wo-button\"\r\n [placeholder]=\"placeholder\"\r\n [formControl]=\"formControl\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-input-search-field\">\r\n <div *ngIf=\"(label != undefined && label.length > 0)\" [ngClass]=\"{'w-input-search-height-label': removePaddingTop == false,\r\n 'w-input-search-height-label-no-top': removePaddingTop == true}\">\r\n <label htmlFor=\"state\" [ngClass]=\"{'w-input-search-small-label': getSizeName(sizeType.small) == size && !isDisabled, \r\n 'w-input-search-small-label-disabled': getSizeName(sizeType.small) == size && isDisabled,\r\n 'w-input-search-medium-label': getSizeName(sizeType.medium) == size && !isDisabled,\r\n 'w-input-search-medium-label-disabled': getSizeName(sizeType.medium) == size && isDisabled, \r\n 'no-top': removePaddingTop == true}\">\r\n {{label}}\r\n </label>\r\n </div>\r\n <div *ngIf=\"(label != undefined && label == '')\" class=\"w-input-no-label-height\"></div>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\" >\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-medium p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText \r\n (keydown.enter)='onInputData()'\r\n class=\"w-input-search-text\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div class=\"w-input-search-medium p-fluid field\">\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"flex flex-1 col-12 w-input-search-text-wo-button\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"isDisabled\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template #inputSmall>\r\n <div *ngIf=\"hasButton; else withoutButton\">\r\n <div class=\"w-input-search-small p-inputgroup\">\r\n <button (click)=\"onInputData()\" type=\"button\" \r\n pButton icon=\"pi {{inputIcon}}\"\r\n [disabled]=\"disabledButton\"></button>\r\n <input type=\"text\" pInputText \r\n (keydown.enter)='onInputData()'\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n class=\"w-input-search-text\"\r\n [disabled]=\"isDisabled\"\r\n [placeholder]=\"placeholder\"/>\r\n </div>\r\n </div>\r\n <ng-template #withoutButton>\r\n <div class=\"w-input-search-small p-fluid field\">\r\n <span class=\"p-input-icon-left\">\r\n <i *ngIf=\"inputIcon != ''\" class=\"pi {{inputIcon}}\"></i>\r\n <input pInputText\r\n (keydown.enter)='onInputData()'\r\n class=\"flex flex-1 col-12 w-input-search-text-wo-button\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\"\r\n (input)=\"onValueChanged()\"\r\n [disabled]=\"isDisabled\">\r\n </span>\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n\r\n </div>\r\n</ng-template>","import { RuleSet } from \"angular2-query-builder\";\r\nimport { LazyElementQueryRequest } from \"../lazy-element-query-request.model\";\r\n\r\nexport interface QueryResults {\r\n type: QueryResultType,\r\n basic?: RuleSet | null | undefined,\r\n advanced?: RuleSet | null | undefined,\r\n grouped: RuleSet | null | undefined,\r\n lazyRequest?: LazyElementQueryRequest\r\n}\r\n\r\nexport enum QueryResultType {\r\n NoFilters = 0,\r\n Basic = 1,\r\n Advanced = 2,\r\n Grouped = 3\r\n}","import { HttpClient, HttpHeaders } from \"@angular/common/http\";\r\nimport { Injectable } from \"@angular/core\";\r\nimport { Observable, forkJoin, map, of, switchMap, tap } from \"rxjs\";\r\nimport { QbPanelFilter } from \"../../models/filter-panel/qb-panel-filter.model\";\r\nimport { QbPanelToFields } from \"../../models/filter-panel/qb-panel-to-fields.model\";\r\nimport { GMCountry } from \"../../models/filter-panel/gmcountry-model\";\r\nimport { MessageService } from \"primeng/api\";\r\nimport { GMLocality } from \"../../models/filter-panel/gmlocality.model\";\r\nimport { GMPostalCode } from \"../../models/filter-panel/gmpostalcode.model\";\r\nimport { GMAreaLevel2 } from \"../../models/filter-panel/gmarealevel2.model\";\r\nimport { GMAreaLevel1 } from \"../../models/filter-panel/gmarealevel1.model\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ApiService {\r\n \r\n constructor(\r\n private http: HttpClient,\r\n private messageService: MessageService, \r\n ) { }\r\n\r\n getFilterPanel(apiUrl: string, token: string, commonDataApiUrl: string, commonDataApiToken: string, filterId?: string): Observable<QbPanelFilter> {\r\n let url = filterId ? `${apiUrl}/${filterId}` : `${apiUrl}`;\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${token}` }); \r\n let fieldsModified: any; \r\n \r\n return this.http.get<any>(url, {headers: headers}).pipe(\r\n switchMap((filtersPanel: QbPanelFilter) => {\r\n const fields = filtersPanel.qbpanelToFields;\r\n return forkJoin(\r\n fields.map((field: QbPanelToFields) => {\r\n fieldsModified = field;\r\n if(field.qbfilterField.hasListOfValues) {\r\n return this.getFieldValues(commonDataApiUrl, commonDataApiToken, field.qbfilterField.sqlGetListValues).pipe(\r\n map(values => {\r\n const arrayOfValues = Object.keys(values).map((key: any) => ({\r\n name: values[key],\r\n value: +key\r\n }));\r\n field.qbfilterField.listOfValues = arrayOfValues;\r\n return field;\r\n })\r\n );\r\n } else {\r\n return of(field);\r\n }\r\n })).pipe(\r\n map(modifiedItems => {\r\n filtersPanel.qbpanelToFields = modifiedItems;\r\n return filtersPanel;\r\n })\r\n );\r\n }\r\n )\r\n );\r\n }\r\n\r\n getFieldValues(commonDataApiUrl: string, commonDataApiToken: string, sqlValueList: string): Observable<string[]> {\r\n let url = `${commonDataApiUrl}/fields/${sqlValueList}/values`;\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${commonDataApiToken}` }); \r\n return this.http.get<string[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { })\r\n );\r\n }\r\n\r\n getCountries(segmentationApi: string, segmentationApiToken: string):Observable<GMCountry[]>{\r\n let url = `${segmentationApi}/countries`;\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n return this.http.get<GMCountry[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getAreaLevels1(countryIds: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMAreaLevel1[]>{\r\n let params = countryIds.map(id => id.toString()).join('&gmCountryIds=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/arealevels1?gmCountryIds=`+params;\r\n return this.http.get<GMAreaLevel1[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getAreaLevels2(areaLevel1Ids: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMAreaLevel2[]>{\r\n let params = areaLevel1Ids.map(id => id.toString()).join('&gmAreaLevel1Ids=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/arealevels2?gmAreaLevel1Ids=`+params;\r\n return this.http.get<GMAreaLevel2[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getLocalities(areaLevel2Ids: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMLocality[]>{\r\n let params = areaLevel2Ids.map(id => id.toString()).join('&gmAreaLevel2Ids=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/localities?gmAreaLevel2Ids=`+params;\r\n return this.http.get<GMLocality[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n\r\n getPostalCodes(localityIds: number[], segmentationApi: string, segmentationApiToken: string): Observable<GMPostalCode[]>{\r\n let params = localityIds.map(id => id.toString()).join('&gmLocalityIds=')\r\n const headers = new HttpHeaders({ 'Content-Type': 'application/json', Authorization: `Bearer ${segmentationApiToken}` }); \r\n let url = `${segmentationApi}/postalcodes?gmLocalityIds=`+params;\r\n return this.http.get<GMPostalCode[]>(url, {headers})\r\n .pipe(\r\n tap(_ => { }),\r\n );\r\n }\r\n}\r\n","import { Injectable } from '@angular/core';\r\nimport { StoredFilterPanelQuery } from '../models/stored-filter-panel-query.model';\r\nimport { ComponentsTenantStorage } from '../models/components-tenant-storage.model';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class SessionStorageService {\r\n\r\n constructor() { }\r\n\r\n setComponentsTenantStorage(tenantId: string, tenantStorage: ComponentsTenantStorage) {\r\n sessionStorage.setItem(tenantId, JSON.stringify(tenantStorage));\r\n }\r\n\r\n getComponentsTenantStorage(tenantId: string): ComponentsTenantStorage {\r\n return JSON.parse(sessionStorage.getItem(tenantId)!);\r\n }\r\n\r\n setLastFilterPanelQuery(tenantId: string, storedQuery: StoredFilterPanelQuery | null) {\r\n\r\n if(storedQuery != undefined) {\r\n let allFilters:ComponentsTenantStorage = this.getAllLastFilterPanelQueries(tenantId);\r\n if(allFilters) {\r\n allFilters[storedQuery.id] = storedQuery;\r\n sessionStorage.setItem(tenantId, JSON.stringify(allFilters));\r\n } else {\r\n let tenantStorage: ComponentsTenantStorage = {\r\n [storedQuery.id]: storedQuery\r\n }\r\n sessionStorage.setItem(tenantId, JSON.stringify(tenantStorage));\r\n }\r\n }\r\n }\r\n\r\n getAllLastFilterPanelQueries(tenantId: string): ComponentsTenantStorage {\r\n return this.getComponentsTenantStorage(tenantId);\r\n }\r\n\r\n getLastFilterPanelQuery(tenantId: string, filterId: string): StoredFilterPanelQuery {\r\n return this.getComponentsTenantStorage(tenantId)?.[filterId]!;\r\n }\r\n\r\n removeLastFilterPanelQuery(tenantId: string, filterId: string) {\r\n let tenantStorage: ComponentsTenantStorage = JSON.parse(sessionStorage.getItem(tenantId)!);\r\n tenantStorage[filterId] = null;\r\n this.setComponentsTenantStorage(tenantId, tenantStorage);\r\n }\r\n}\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, forwardRef } from \"@angular/core\";\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from \"@angular/forms\";\r\nimport { DataTypeEnum, OperatorEnum } from \"../../../shared/models/enums.model\";\r\n\r\n@Component({\r\n selector: 'w-list-field',\r\n templateUrl: './w-list-field.component.html',\r\n styleUrls: ['./w-list-field.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WListFieldComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WListFieldComponent implements OnInit, ControlValueAccessor, OnChanges{\r\n @Input('options') optionsReceived!: any;\r\n options!: any;\r\n optionSelected: any;\r\n @Input('operator') operator: any;\r\n @Input('placeholder') placeholder!: any;\r\n @Input('onlyDropdown') onlyDropdown: boolean = false;\r\n \r\n\r\n dataType: typeof DataTypeEnum = DataTypeEnum;\r\n\r\n private onChange: any = () => {};\r\n private onTouched: any = () => {};\r\n\r\n constructor(){}\r\n \r\n ngOnInit(): void {\r\n this.options = this.optionsReceived;\r\n }\r\n \r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(this.onlyDropdown == true && (changes[this.optionsReceived] != undefined) && (changes[this.optionsReceived].currentValue[0] !== changes[this.optionsReceived].previousValue[0])){\r\n this.options = this.optionsReceived;\r\n }\r\n\r\n if(this.onlyDropdown == false){\r\n if(changes[this.operator]?.previousValue != undefined){\r\n this.optionSelected = null;\r\n }\r\n }\r\n }\r\n\r\n onOptionSelected(){\r\n this.onChange(this.optionSelected);\r\n this.onTouched();\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.optionSelected = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n \r\n getDataType(){\r\n if(this.operator == OperatorEnum.Equals || this.operator == OperatorEnum.NotEquals){\r\n return DataTypeEnum.Single;\r\n }else{\r\n return DataTypeEnum.Multi;\r\n }\r\n }\r\n}\r\n","<div *ngIf=\"options.length == 0; else optionsDataReady\" class=\"mx-2 w-list-field-skeleton-container p-dropdown p-component\"><p-skeleton width=\"8rem\" height=\"9px\"></p-skeleton></div>\r\n<ng-template #optionsDataReady>\r\n <p-multiSelect *ngIf=\"getDataType() == dataType.Multi\"\r\n appendTo=\"body\" \r\n [options]=\"options\" \r\n [(ngModel)]=\"optionSelected\" \r\n optionLabel=\"name\" \r\n optionValue=\"value\" \r\n [placeholder]=\"placeholder ?? 'Select an option'\"\r\n (onChange)=\"onOptionSelected()\">\r\n </p-multiSelect>\r\n <p-dropdown *ngIf=\"options && getDataType() == dataType.Single\"\r\n appendTo=\"body\" \r\n [options]=\"options\" \r\n [(ngModel)]=\"optionSelected\" \r\n optionLabel=\"name\" \r\n optionValue=\"value\" \r\n [placeholder]=\"placeholder ?? 'Select an option'\" \r\n (onChange)=\"onOptionSelected()\">\r\n </p-dropdown>\r\n</ng-template>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-view-card-title-text',\r\n templateUrl: './w-view-card-title-text.component.html',\r\n styleUrls: ['./w-view-card-title-text.component.scss']\r\n})\r\nexport class WViewCardTitleTextComponent implements OnInit {\r\n\r\n @Input('cardTitle') cardTitle!: string;\r\n constructor() { }\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n}\r\n","<span class=\"w-view-card-title-text-style\">{{cardTitle}}</span>\r\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType, ButtonType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-toggle-button',\r\n templateUrl: './w-toggle-button.component.html',\r\n styleUrls: ['./w-toggle-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WToggleButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WToggleButtonComponent implements OnInit, ControlValueAccessor {\r\n @Input('onLabel') onLabel: string = \"\";\r\n @Input('offLabel') offLabel: string = \"\";\r\n @Input('size') size: string = \"small\";\r\n @Input('onIcon') onIcon: string = \"\";\r\n @Input('offIcon') offIcon: string = \"\";\r\n @Input('tooltipPosition') tooltipPosition: string = \"bottom\";\r\n @Input('tooltip') tooltip: string = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n buttonType: typeof ButtonType = ButtonType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngModelValue: any;\r\n\r\n ngOnInit(): void {\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n \r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onButtonChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onButtonChangedForm(value: any){\r\n this.onChangeEvent.emit(value.checked);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n getButtonTypeName(value: number): string{\r\n return ButtonType[value];\r\n }\r\n}\r\n","<ng-container *ngIf=\"formControl; else noNgControl\">\r\n <p-toggleButton \r\n [ngClass]=\"{'w-togglebutton-small' : size == getSizeName(sizeType.small),\r\n 'w-togglebutton-medium' : size == getSizeName(sizeType.medium),\r\n 'w-togglebutton-large' : size == getSizeName(sizeType.large)}\"\r\n [onLabel]=\"onLabel\" \r\n [offLabel]=\"offLabel\" \r\n iconPos=\"right\" \r\n [onIcon]=\"onIcon\"\r\n [offIcon]=\"offIcon\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n [formControl]=\"formControl\" \r\n (onChange)=\"onButtonChangedForm($event)\">\r\n </p-toggleButton>\r\n</ng-container>\r\n<ng-template #noNgControl>\r\n <p-toggleButton \r\n [ngClass]=\"{'w-togglebutton-small' : size == getSizeName(sizeType.small),\r\n 'w-togglebutton-medium' : size == getSizeName(sizeType.medium),\r\n 'w-togglebutton-large' : size == getSizeName(sizeType.large)}\"\r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onButtonChanged()\"\r\n [disabled]=\"disabled\" \r\n [onLabel]=\"onLabel\" \r\n [offLabel]=\"offLabel\" \r\n iconPos=\"right\" \r\n [onIcon]=\"onIcon\"\r\n [offIcon]=\"offIcon\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\">\r\n </p-toggleButton>\r\n</ng-template>","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { WSelectButtonState } from '../../shared/models/w-select-button-state.model';\r\n\r\n@Component({\r\n selector: 'w-select-button',\r\n templateUrl: './w-select-button.component.html',\r\n styleUrls: ['./w-select-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WSelectButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WSelectButtonComponent {\r\n @Input('stateOptions') stateOptions: WSelectButtonState[] = [{label: 'Off', value: 'off'}, {label: 'On', value: 'on'}];\r\n @Input('size') size: string = \"small\";\r\n \r\n @Input('tooltipPosition') tooltipPosition: string = \"bottom\";\r\n @Input('tooltip') tooltip: string = \"\";\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n ngModelValue: any;\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n \r\n setDisabledState(isDisabled: boolean): void {\r\n this.disabled = isDisabled;\r\n }\r\n\r\n onButtonChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onButtonChangedForm(value: any){\r\n this.onChangeEvent.emit(value.checked);\r\n }\r\n}\r\n","<ng-container *ngIf=\"formControl; else noNgControl\">\r\n <p-selectButton [ngClass]=\"{'w-button-small' : size == getSizeName(sizeType.small), \r\n 'w-button-medium' : size == getSizeName(sizeType.medium),\r\n 'w-button-large' : size == getSizeName(sizeType.large)}\"\r\n [options]=\"stateOptions\" \r\n [formControl]=\"formControl\" \r\n [disabled]=\"disabled\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n (onChange)=\"onButtonChangedForm($event)\">\r\n </p-selectButton>\r\n</ng-container>\r\n<ng-template #noNgControl>\r\n <p-selectButton [ngClass]=\"{'w-button-small' : size == getSizeName(sizeType.small), \r\n 'w-button-medium' : size == getSizeName(sizeType.medium),\r\n 'w-button-large' : size == getSizeName(sizeType.large)}\"\r\n [options]=\"stateOptions\" \r\n [(ngModel)]=\"ngModelValue\" \r\n [disabled]=\"disabled\" \r\n optionLabel=\"label\" \r\n optionValue=\"value\" \r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\"\r\n (ngModelChange)=\"onButtonChanged()\">\r\n </p-selectButton>\r\n</ng-template>\r\n\r\n","import { Component, EventEmitter, Input, OnInit, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { NG_VALUE_ACCESSOR, ControlValueAccessor, FormControl } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-calendar',\r\n templateUrl: './w-edit-calendar.component.html',\r\n styleUrls: ['./w-edit-calendar.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditCalendarComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditCalendarComponent implements OnInit, ControlValueAccessor {\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('showTime') showTime: boolean = true;\r\n @Input('showSeconds') showSeconds: boolean = true;\r\n @Input('timeOnly') timeOnly: boolean = false;\r\n @Input('showIcon') showIcon: boolean = true;\r\n @Input('placeholder') placeholder: string = \"\";\r\n @Input('minDate') minDate!: Date;\r\n @Input('maxDate') maxDate!: Date;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('size') size: string = \"small\";\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('displayInlineBlock') displayInlineBlock: boolean = false;\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription : string = \"Mensaje default required\";\r\n @Input('removePaddingTop') removePaddingTop: boolean = false;\r\n @Input('firstDayOfWeek') firstDayOfWeek: number = 1;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('dataType') dataType: string = 'date';\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n sizeType: typeof SizeType = SizeType;\r\n\r\n ngModelValue: any;\r\n\r\n isDisabled: boolean = false;\r\n isTouched : boolean = false;\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n ngOnInit(): void { }\r\n\r\n writeValue(value: any) {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValue(value: any){\r\n this.onChangeEvent.emit(value);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n onDateChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\" class=\"w-edit-calendar-styles p-fluid field\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [size]=\"size\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <p-calendar [ngClass]=\"{'ng-invalid ng-dirty': formControl.hasError('required') && formControl.touched}\"\r\n [ngClass]=\"{'w-edit-calendar-small' : size == getSizeName(sizeType.small),\r\n 'w-edit-calendar-medium' : size == getSizeName(sizeType.medium)}\"\r\n appendTo=\"body\"\r\n inputId=\"time\" placeholder=\"{{placeholder}}\"\r\n [showTime]=\"showTime\"\r\n [showSeconds]=\"showSeconds\"\r\n [showIcon]=\"showIcon\"\r\n [icon]=\"timeOnly ? 'pi pi-clock' : 'pi pi-calendar'\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [required]=\"required\"\r\n [formControl]=\"formControl\"\r\n [dataType]=\"dataType\"\r\n (onSelect)=\"onValue($event)\"\r\n [inputStyleClass]=\"getSizeName(sizeType.small) ? 'w-edit-calendar-medium' : 'w-edit-calendar-small' \">\r\n </p-calendar>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.touched\" class=\"p-error block\">{{requiredErrorDescription}}</small>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-calendar-styles\" [ngClass]=\"{'w-edit-calendar-medium-display-block' : displayInlineBlock}\">\r\n <p-calendar [ngClass]=\"{'w-edit-calendar-small' : size == getSizeName(sizeType.small),\r\n 'w-edit-calendar-medium' : size == getSizeName(sizeType.medium)}\"\r\n appendTo=\"body\"\r\n [(ngModel)]=\"ngModelValue\" inputId=\"time\" placeholder=\"{{placeholder}}\"\r\n [showTime]=\"showTime\"\r\n [timeOnly]=\"timeOnly\"\r\n [showSeconds]=\"showSeconds\"\r\n [showIcon]=\"showIcon\"\r\n [icon]=\"timeOnly ? 'pi pi-clock' : 'pi pi-calendar'\"\r\n [minDate]=\"minDate\"\r\n [maxDate]=\"maxDate\"\r\n [firstDayOfWeek]=\"firstDayOfWeek\"\r\n [dataType]=\"dataType\"\r\n (onSelect)=\"onDateChanged()\">\r\n </p-calendar>\r\n </div>\r\n</ng-template>\r\n","import { Component, Input, OnChanges, OnInit, SimpleChanges, forwardRef } from '@angular/core';\r\nimport { GMCountry } from '../../models/filter-panel/gmcountry-model';\r\nimport { GMAreaLevel1 } from '../../models/filter-panel/gmarealevel1.model';\r\nimport { GMAreaLevel2 } from '../../models/filter-panel/gmarealevel2.model';\r\nimport { GMLocality } from '../../models/filter-panel/gmlocality.model';\r\nimport { GMPostalCode } from '../../models/filter-panel/gmpostalcode.model';\r\nimport { AddressEnum, DataTypeEnum, OperatorEnum } from '../../models/enums.model';\r\nimport { ApiService } from '../../service/api/api.service';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-address-field',\r\n templateUrl: './w-address-field.component.html',\r\n styleUrls: ['./w-address-field.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WAddressFieldComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WAddressFieldComponent implements OnInit, OnChanges, ControlValueAccessor {\r\n\r\n countries: GMCountry[] = [];\r\n countrySelected: any;\r\n countryId: number | null = null;\r\n areaLevels1: GMAreaLevel1[] = [];\r\n areaLevel1Selected!: any;\r\n areaLevel1Id: number | null = null;\r\n areaLevels2: GMAreaLevel2[] = [];\r\n areaLevel2Selected!: any;\r\n areaLevel2Id: number | null = null;\r\n localities: GMLocality[] = [];\r\n localitySelected: any;\r\n localityId: number | null = null;\r\n postalCodes: GMPostalCode[] = [];\r\n postalCodeSelected: any;\r\n addressValue: any;\r\n @Input('operator') operator!: any;\r\n @Input('selectPlaceholder') selectPlaceholder: string = 'Select an option';\r\n @Input('segmentationApiUrl') segmentationApiUrl!: string;\r\n @Input('segmentationApiToken') segmentationApiToken!: string;\r\n dataType: typeof DataTypeEnum = DataTypeEnum;\r\n\r\n private onChange: any = () => {};\r\n private onTouched: any = () => {};\r\n\r\n constructor(private apiService: ApiService){}\r\n\r\n ngOnInit(): void {\r\n this.getCountries();\r\n }\r\n\r\n ngOnChanges(changes: any): void {\r\n if(changes.operator.previousValue !== undefined){\r\n this.countrySelected = null;\r\n this.countryId = null;\r\n this.areaLevel1Selected = null;\r\n this.areaLevel1Id = null;\r\n this.areaLevel2Selected = null;\r\n this.areaLevel2Id = null;\r\n this.localitySelected = null;\r\n this.localityId = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.onChange(null);\r\n this.onTouched();\r\n }\r\n }\r\n\r\n getCountries(){\r\n this.apiService.getCountries(this.segmentationApiUrl, this.segmentationApiToken).subscribe({ \r\n next: (countries: GMCountry[]) => {\r\n this.countries = countries ?? [];\r\n this.countrySelected = this.getAddressData(AddressEnum.Country, true, \"gMCountryId\");\r\n this.onCountrySelected();\r\n }\r\n })\r\n }\r\n\r\n getAreaLevel1(countryId: number[]){\r\n this.apiService.getAreaLevels1(countryId, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (areaLevels1: GMAreaLevel1[]) => {\r\n this.areaLevels1 = areaLevels1 ?? [];\r\n this.areaLevel1Selected = this.getAddressData(AddressEnum.AreaLevel1, true, \"gMAreaLevel1Id\");\r\n this.onAreaLevel1Selected();\r\n }\r\n })\r\n }\r\n\r\n getAreaLevel2(areaLevel1Id: number[]){\r\n this.apiService.getAreaLevels2(areaLevel1Id, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (areaLevels2: GMAreaLevel2[]) => {\r\n this.areaLevels2 = areaLevels2 ?? [];\r\n this.areaLevel2Selected = this.getAddressData(AddressEnum.AreaLevel2, true, \"gMAreaLevel2Id\");\r\n this.onAreaLevel2Selected();\r\n }\r\n })\r\n }\r\n\r\n getLocalities(areaLevel2Id: number[]){\r\n this.apiService.getLocalities(areaLevel2Id, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (localities: GMLocality[]) => {\r\n this.localities = localities ?? [];\r\n this.localitySelected = this.getAddressData(AddressEnum.Locality, true, \"gMLocalityId\");\r\n this.onLocalitySelected();\r\n }\r\n })\r\n }\r\n\r\n getPostalCodes(localityId: number[]){\r\n this.apiService.getPostalCodes(localityId, this.segmentationApiUrl, this.segmentationApiToken).subscribe({\r\n next: (postalCodes: GMPostalCode[]) => {\r\n this.postalCodes = postalCodes ?? [];\r\n this.postalCodeSelected = this.getAddressData(AddressEnum.PostalCode, false);\r\n this.onPostalCodeSelected();\r\n }\r\n })\r\n }\r\n\r\n getAddressData(addressEnumType: number, isNotLastSelect: boolean, addressPropertyIdName?: string){\r\n let dataSelected: any;\r\n if(this.addressValue?.property){\r\n if(this.addressValue.property == addressEnumType){\r\n dataSelected = this.addressValue.data;\r\n this.addressValue = null;\r\n }else if(isNotLastSelect && addressPropertyIdName){\r\n dataSelected = this.addressValue[addressPropertyIdName];\r\n }\r\n }else if(Array.isArray(this.addressValue)){\r\n dataSelected = [];\r\n if(this.hasPropertyValueFirstElement(this.addressValue, \"property\", addressEnumType)){\r\n dataSelected = this.addressValue.map(a => a.data);\r\n this.addressValue = null;\r\n }else if(isNotLastSelect && addressPropertyIdName){\r\n dataSelected = this.addressValue[0][addressPropertyIdName];\r\n }\r\n }\r\n return dataSelected;\r\n }\r\n\r\n onCountrySelected(){\r\n this.areaLevel1Selected = null;\r\n this.areaLevel2Selected = null;\r\n this.localitySelected = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.countryId = this.countrySelected;\r\n\r\n this.doOnChange(AddressEnum.Country, this.countrySelected);\r\n\r\n this.areaLevels1 = [];\r\n if(this.countrySelected?.length > 0){\r\n this.getAreaLevel1(this.countrySelected);\r\n } else if(!Array.isArray(this.countrySelected) && this.countrySelected){\r\n this.getAreaLevel1([this.countrySelected]);\r\n }\r\n }\r\n\r\n onAreaLevel1Selected(){\r\n this.areaLevel2Selected = null;\r\n this.localitySelected = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.areaLevel1Id = this.areaLevel1Selected;\r\n\r\n this.doOnChange(AddressEnum.AreaLevel1, this.areaLevel1Selected, this.countryId);\r\n\r\n this.areaLevels2 = [];\r\n if(this.areaLevel1Selected?.length > 0){\r\n this.getAreaLevel2(this.areaLevel1Selected);\r\n } else if(!Array.isArray(this.areaLevel1Selected) && this.areaLevel1Selected){\r\n this.getAreaLevel2([this.areaLevel1Selected]);\r\n }\r\n }\r\n\r\n onAreaLevel2Selected(){\r\n this.localitySelected = null;\r\n this.postalCodeSelected = null;\r\n\r\n this.areaLevel2Id = this.areaLevel2Selected;\r\n\r\n this.doOnChange(AddressEnum.AreaLevel2, this.areaLevel2Selected, this.countryId, this.areaLevel1Id);\r\n\r\n this.localities = [];\r\n if(this.areaLevel2Selected?.length > 0){\r\n this.getLocalities(this.areaLevel2Selected);\r\n } else if(!Array.isArray(this.areaLevel2Selected) && this.areaLevel2Selected){\r\n this.getLocalities([this.areaLevel2Selected]);\r\n }\r\n }\r\n\r\n onLocalitySelected(){\r\n this.postalCodeSelected = null;\r\n\r\n this.localityId = this.localitySelected;\r\n\r\n this.doOnChange(AddressEnum.Locality, this.localitySelected, this.countryId, this.areaLevel1Id, this.areaLevel2Id);\r\n\r\n this.postalCodes = [];\r\n if(this.localitySelected?.length > 0){\r\n this.getPostalCodes(this.localitySelected);\r\n } else if(!Array.isArray(this.localitySelected) && this.localitySelected){\r\n this.getPostalCodes([this.localitySelected]);\r\n }\r\n }\r\n\r\n onPostalCodeSelected(){\r\n this.doOnChange(AddressEnum.PostalCode, this.postalCodeSelected, this.countryId, this.areaLevel1Id, this.areaLevel2Id, this.localityId)\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.postalCodeSelected = value;\r\n this.addressValue = value;\r\n\r\n if(value == undefined){\r\n this.countrySelected = null;\r\n }\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouched = fn;\r\n }\r\n\r\n createObjectAddressProperty(addressType: any, value: any, countryId?: number | null, areaLevel1Id?: number | null, areaLevel2Id?: number|null, localityId?: number|null){\r\n return {\r\n property: addressType, \r\n data: value,\r\n gMCountryId: countryId,\r\n gMAreaLevel1Id: areaLevel1Id,\r\n gMAreaLevel2Id: areaLevel2Id,\r\n gMLocalityId: localityId\r\n }\r\n }\r\n\r\n doOnChange(addressType: any, value: any, countryId?: number | null, areaLevel1Id?: number | null, areaLevel2Id?: number|null, localityId?: number|null){\r\n if(value){\r\n if(this.getDataType() == DataTypeEnum.Single){\r\n this.onChange(this.createObjectAddressProperty(addressType, value, countryId, areaLevel1Id, areaLevel2Id, localityId));\r\n }else if(this.getDataType() == DataTypeEnum.Multi){\r\n let addressProperties = value.map((v: any) => this.createObjectAddressProperty(addressType, v, countryId, areaLevel1Id, areaLevel2Id, localityId));\r\n this.onChange(addressProperties);\r\n }\r\n\r\n this.onTouched();\r\n }\r\n }\r\n\r\n getDataType(){\r\n if(this.operator == OperatorEnum.Equals || this.operator == OperatorEnum.NotEquals){\r\n return DataTypeEnum.Single;\r\n }else{\r\n return DataTypeEnum.Multi;\r\n }\r\n }\r\n\r\n hasPropertyValueFirstElement(arr: any[], property: string, value: any): boolean {\r\n const firstElement = arr[0];\r\n return firstElement && firstElement[property] === value;\r\n }\r\n}\r\n","<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && countries.length > 0\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"countries\" [(ngModel)]=\"countrySelected\" optionLabel=\"name\" optionValue=\"gmCountryId\" (onChange)=\"onCountrySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && areaLevels1.length > 0 && countrySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels1\" [(ngModel)]=\"areaLevel1Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel1Id\" (onChange)=\"onAreaLevel1Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && areaLevels2.length > 0 && areaLevel1Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels2\" [(ngModel)]=\"areaLevel2Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel2Id\" (onChange)=\"onAreaLevel2Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && localities.length > 0 && areaLevel2Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"localities\" [(ngModel)]=\"localitySelected\" optionLabel=\"name\" optionValue=\"gmLocalityId\" (onChange)=\"onLocalitySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n<w-edit-multiselect *ngIf=\"getDataType() == dataType.Multi && postalCodes.length > 0 && localitySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"postalCodes\" [(ngModel)]=\"postalCodeSelected\" optionLabel=\"name\" optionValue=\"gmPostalCodeId\" (onChange)=\"onPostalCodeSelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-multiselect>\r\n\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && countries.length > 0\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"countries\" [(ngModel)]=\"countrySelected\" optionLabel=\"name\" optionValue=\"gmCountryId\" (onChange)=\"onCountrySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && areaLevels1.length > 0 && countrySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels1\" [(ngModel)]=\"areaLevel1Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel1Id\" (onChange)=\"onAreaLevel1Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && areaLevels2.length > 0 && areaLevel1Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"areaLevels2\" [(ngModel)]=\"areaLevel2Selected\" optionLabel=\"name\" optionValue=\"gmAreaLevel2Id\" (onChange)=\"onAreaLevel2Selected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && localities.length > 0 && areaLevel2Selected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"localities\" [(ngModel)]=\"localitySelected\" optionLabel=\"name\" optionValue=\"gmLocalityId\" (onChange)=\"onLocalitySelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n<w-edit-select *ngIf=\"getDataType() == dataType.Single && postalCodes.length > 0 && localitySelected\" class=\"w-address-field-width q-inline-block-display inline-flex\" [showClear]=\"false\" appendTo=\"body\" [options]=\"postalCodes\" [(ngModel)]=\"postalCodeSelected\" optionLabel=\"name\" optionValue=\"gmPostalCodeId\" (onChange)=\"onPostalCodeSelected()\" [placeholder]=\"selectPlaceholder\"></w-edit-select>\r\n","import { Component, EventEmitter, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { FormBuilder, FormControl } from '@angular/forms';\r\nimport { OperatorEnum, QBDataTypeEnum } from '../../shared/models/enums.model';\r\nimport { QbPanelFilter } from '../../shared/models/filter-panel/qb-panel-filter.model';\r\nimport { Entity, EntityMap, Field, FieldMap, QueryBuilderConfig, Rule, RuleSet } from '../../shared/models/filter-panel/field.model';\r\nimport { FilterPanelTranslations } from '../../shared/models/filter-panel/filter-panel-translations.model';\r\nimport { QueryResultType, QueryResults } from '../../shared/models/filter-panel/query-results.model';\r\nimport { FilterField } from '../../shared/models/filter-panel/filter-field.models';\r\nimport { QbFilterEntity } from '../../shared/models/filter-panel/qb-filter-entity.model';\r\nimport { ApiService } from '../../shared/service/api/api.service';\r\nimport { StoredFilterPanelQuery } from '../../shared/models/stored-filter-panel-query.model';\r\nimport { SessionStorageService } from '../../shared/services/session-storage.service';\r\nimport { NullableSelectOption } from '../../shared/models/filter-panel/nullable-select-option.model';\r\nimport { BooleanSelectOption } from '../../shared/models/filter-panel/boolean-select-option.model';\r\nimport { QueryBuilderComponent } from 'angular2-query-builder';\r\n\r\n@Component({\r\n selector: 'w-filter-panel',\r\n templateUrl: './w-filter-panel.component.html',\r\n styleUrls: ['./w-filter-panel.component.scss']\r\n})\r\nexport class WFilterPanelComponent implements OnInit {\r\n public queryCtrl!: FormControl;\r\n public advancedQueryCtrl!: FormControl;\r\n public groupedQueryCtrl!: FormControl;\r\n public persistValueOnFieldChange: boolean = false;\r\n \r\n queryConfigReady: boolean = false;\r\n isAdvancedSearch: boolean = false;\r\n qbDataTypeEnum = QBDataTypeEnum;\r\n qbDataEnums = Object.values(QBDataTypeEnum);\r\n basicQueryConfig!: any;\r\n advancedQueryConfig!: any;\r\n basicQuery: any = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n groupedQuery: any = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n advancedQuery: any = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n filterPanelObject!: QbPanelFilter;\r\n entityConfigGrouped: QueryBuilderConfig = { fields: {} };\r\n entities: any[] = [];\r\n defaultValues: any[] = [];\r\n defaultOperators: any[] = [];\r\n storedQuery!: StoredFilterPanelQuery;\r\n parentRoute!: string;\r\n\r\n @Input('apiUrl') authorizationApiUrl!: string;\r\n @Input('commonDataApiUrl') commonDataApiUrl!: string;\r\n @Input('segmentationApiUrl') segmentationApiUrl!: string;\r\n @Input('token') token!: string;\r\n @Input('commonDataToken') commonDataToken!: string;\r\n @Input('segmentationToken') segmentationToken!: string;\r\n @Input('filterId') filterId!: string;\r\n @Input('dataIsLoadingSearchButton') dataIsLoadingSearchButton: boolean = false;\r\n @Input('tenantId') tenantId!: string;\r\n\r\n @Input('translationsObject') translationsObject: FilterPanelTranslations = {\r\n basicSearchTabLabel: 'Basic search',\r\n advancedSearchTabLabel: 'Advanced search',\r\n groupedFilterTitle: 'Grouped filter',\r\n advancedSearch: {\r\n andButtonLabel: 'And',\r\n orButtonLabel: 'Or',\r\n addRuleButtonLabel: 'Add filter',\r\n addRuleSetButtonLabel: 'Add filter set',\r\n removeRuleSetButtonLabel: 'Remove rule set'\r\n },\r\n noRulesLabel: 'Add filter or filter set to start',\r\n searchButtonLabel: 'Clear',\r\n clearButtonLabel: 'Clear',\r\n fieldsPlaceholders: {\r\n boolean: {\r\n true: 'True',\r\n false: 'False'\r\n },\r\n decimal: 'Insert decimal number',\r\n list: 'Select an option',\r\n number: 'Insert a number',\r\n text: 'Insert text',\r\n datetime: 'Select a date'\r\n },\r\n firstDayOfWeek: 0,\r\n operators: {\r\n contains:'contains'\r\n },\r\n fields: {\r\n IdleDeadline: 'Id',\r\n name: 'Name',\r\n code: 'Code',\r\n delete: 'Deleted',\r\n country: 'Country'\r\n },\r\n nullableSelectOptions: {\r\n customeroperation: {\r\n isNullOption: 'No customers',\r\n isNotNullOption: 'Customers'\r\n }\r\n },\r\n booleanSelectOptions: {\r\n voidedoperation: {\r\n isNullOption: 'No voided',\r\n isNotNullOption: 'Voided'\r\n }\r\n }\r\n };\r\n \r\n @Output('searchClicked') searchClicked = new EventEmitter<QueryResults>();\r\n @Output('clearClicked') clearClicked = new EventEmitter<boolean>();\r\n @Output('lastQuery') lastQuery = new EventEmitter<QueryResults>();\r\n \r\n stateOptions: any[] = [{ label: this.translationsObject.advancedSearch.andButtonLabel, value: 'and' }, { label: this.translationsObject.advancedSearch.orButtonLabel, value: 'or' }];\r\n \r\n @ViewChild('advancedQueryBuilder', { static: false }) queryBuilder!: QueryBuilderComponent;\r\n \r\n constructor(\r\n private formBuilder: FormBuilder, \r\n private apiService: ApiService,\r\n private sessionStorage: SessionStorageService\r\n ) { }\r\n\r\n ngOnInit() {\r\n this.isAdvancedSearch = this.sessionStorage.getLastFilterPanelQuery(this.tenantId, this.filterId)?.advancedQueryValue ? true : false;\r\n if((this.storedQuery?.advancedQueryValue && this.storedQuery?.advancedQueryValue.rules.length == 0) || (this.storedQuery?.basicQueryValue && this.storedQuery?.basicQueryValue.rules.length == 0)) {\r\n //Do nothing\r\n } else {\r\n this.storedQuery= this.sessionStorage.getLastFilterPanelQuery(this.tenantId, this.filterId)\r\n }\r\n this.getQueryBuilderFilterPanel();\r\n }\r\n\r\n initQueryBuilderControls() {\r\n this.queryCtrl = this.formBuilder.control(this.basicQuery);\r\n this.advancedQueryCtrl = this.formBuilder.control(this.advancedQuery);\r\n if(this.filterPanelObject.allowGrouped) {\r\n this.groupedQueryCtrl = this.formBuilder.control(this.groupedQuery);\r\n }\r\n \r\n if((this.storedQuery?.advancedQueryValue && this.storedQuery?.advancedQueryValue.rules.length == 0) || (this.storedQuery?.basicQueryValue && this.storedQuery?.basicQueryValue.rules.length == 0)) {\r\n //Do nothing\r\n } else {\r\n let lastQuery: QueryResults = {\r\n type: this.getQueryType(),\r\n basic: this.storedQuery?.basicQueryValue ? Object.assign({}, this.storedQuery?.basicQueryValue) : null,\r\n advanced: this.storedQuery?.advancedQueryValue ? Object.assign({}, this.storedQuery?.advancedQueryValue) : null,\r\n grouped: this.isAdvancedSearch && this.filterPanelObject.allowGrouped && this.groupedQueryCtrl ? Object.assign({}, this.groupedQueryCtrl?.value) : null\r\n }\r\n\r\n this.setNoFiltersQueryType(lastQuery)\r\n .then((res) => {\r\n lastQuery = this.deleteFieldsWithoutValue(lastQuery);\r\n lastQuery = this.handleEmptyFieldsQuery(lastQuery);\r\n this.lastQuery.emit(lastQuery);\r\n }).then(() => {\r\n this.inverseNullableFilterOperationHandle(this.advancedQueryCtrl.value);\r\n })\r\n }\r\n }\r\n\r\n nullableSelectPlaceholder(rule: Rule, options: NullableSelectOption[]) {\r\n if(rule.operator == 'is' && rule.value == 'null') {\r\n rule.value = 0;\r\n return this.translationsObject.nullableSelectOptions![options[0].name].isNullOption;\r\n }\r\n if(rule.operator == 'is not' && rule.value == 'null') {\r\n rule.value = 1;\r\n return this.translationsObject.nullableSelectOptions![options[0].name].isNotNullOption;\r\n }\r\n return this.translationsObject.fieldsPlaceholders.list;\r\n }\r\n \r\n setEmtpyArraysToNull(query: any) {\r\n if (\"rules\" in query) {\r\n query.rules.forEach((rule: RuleSet | Rule) => {\r\n this.setEmtpyArraysToNull(rule);\r\n });\r\n } else {\r\n if (query.value instanceof Array && query.value.length == 0) {\r\n query.value = null;\r\n }\r\n }\r\n }\r\n\r\n updateSearchType() {\r\n this.isAdvancedSearch = !this.isAdvancedSearch;\r\n if(this.isAdvancedSearch) {\r\n setTimeout(() => {\r\n this.updateNullableElements(this.queryBuilder.config.fields)\r\n }, 3000);\r\n }\r\n }\r\n\r\n updateNullableElements(elements: { [key: string]: any }): void {\r\n for (const key in elements) {\r\n if (elements.hasOwnProperty(key)) {\r\n const element = elements[key];\r\n if (element.operators.includes('nullable')) {\r\n element.defaultValue = 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n onSearchClicked() {\r\n let queries: QueryResults = {\r\n type: this.getQueryType(),\r\n basic: this.isAdvancedSearch ? null : Object.assign({}, this.queryCtrl.value),\r\n advanced: this.isAdvancedSearch ? Object.assign({}, this.advancedQueryCtrl.value) : null,\r\n grouped: this.isAdvancedSearch && this.filterPanelObject.allowGrouped ? Object.assign({}, this.groupedQueryCtrl.value) : null\r\n }\r\n \r\n this.setEntity(queries);\r\n\r\n queries = this.initializeOperators(queries);\r\n \r\n this.setNoFiltersQueryType(queries).then((resQueries:any) => {\r\n if(resQueries.type != 0){\r\n this.nullableFilterOperationHandle(queries.basic ? queries.basic : queries.advanced);\r\n }\r\n }).then((resQueries:any) => {\r\n let storedQuery: StoredFilterPanelQuery = {\r\n id: this.filterId,\r\n basicQueryValue: queries.basic,\r\n advancedQueryValue: queries.advanced,\r\n groupedQueryValue: queries.grouped\r\n }\r\n this.setEmtpyArraysToNull(queries.basic ? queries.basic : queries.advanced);\r\n if(storedQuery.advancedQueryValue && storedQuery.advancedQueryValue.rules == 0) {\r\n //Do nothing\r\n } else {\r\n this.sessionStorage.setLastFilterPanelQuery(this.tenantId, storedQuery);\r\n }\r\n }).then((resQueries: any) => {\r\n queries = this.deleteFieldsWithoutValue(queries);\r\n queries = this.handleEmptyFieldsQuery(queries);\r\n this.searchClicked.emit(queries);\r\n }).then(() => {\r\n this.inverseNullableFilterOperationHandle(this.advancedQueryCtrl.value);\r\n })\r\n .catch((error) => {\r\n console.error(\"Error en la promesa:\", error);\r\n });\r\n }\r\n\r\n setNoFiltersQueryType(queries:any) {\r\n return new Promise((resolve, reject) => {\r\n queries = this.handleEmptyFieldsQuery(queries);\r\n resolve(queries);\r\n });\r\n }\r\n\r\n onClearClicked() {\r\n this.resetBasicQueryValues();\r\n this.advancedQuery.rules = [];\r\n this.groupedQuery.rules = [];\r\n this.sessionStorage.removeLastFilterPanelQuery(this.tenantId, this.filterId);\r\n this.clearClicked.emit(true);\r\n }\r\n\r\n handleEmptyFieldsQuery(queries: QueryResults): QueryResults {\r\n if(queries.advanced != null && queries.advanced?.rules.length == 0) {\r\n queries.type = 0\r\n }\r\n if(queries.basic != null && queries.basic?.rules.length == 0) {\r\n queries.type = 0\r\n }\r\n if(queries.grouped != null && queries.grouped?.rules.length == 0) {\r\n queries.type = 0\r\n }\r\n return queries;\r\n }\r\n\r\n nullableFilterOperationHandle(query: any) {\r\n if (\"rules\" in query) {\r\n query.rules.forEach((rule: RuleSet | Rule) => {\r\n this.nullableFilterOperationHandle(rule);\r\n });\r\n } else {\r\n if (query.operator === OperatorEnum.Nullable || ((query.operator == 'is' || query.operator == 'is not') && (query.value == 1 || query.value == 0))) {\r\n if(query.value == 1) {\r\n query.operator = 'is not';\r\n }\r\n if(query.value == 0) {\r\n query.operator = 'is';\r\n }\r\n query.value = 'null';\r\n }\r\n }\r\n }\r\n\r\n inverseNullableFilterOperationHandle(query: any) {\r\n if (\"rules\" in query) {\r\n query.rules.forEach((rule: RuleSet | Rule) => {\r\n this.inverseNullableFilterOperationHandle(rule);\r\n });\r\n } else {\r\n if ((query.operator == 'is not' || query.operator == 'is') && query.value == 'null') {\r\n if(query.operator == 'is not') {\r\n query.value = 1;\r\n }\r\n if(query.operator == 'is') {\r\n query.value = 0;\r\n }\r\n }\r\n }\r\n }\r\n\r\n getQueryType(): QueryResultType {\r\n if(!this.isAdvancedSearch) {\r\n return QueryResultType.Basic;\r\n } else {\r\n if(this.isAdvancedSearch && this.groupedQueryCtrl?.value) {\r\n return QueryResultType.Grouped\r\n } else {\r\n return QueryResultType.Advanced;\r\n }\r\n }\r\n }\r\n\r\n setEntity(queries: QueryResults) {\r\n if(this.getQueryType() == QueryResultType.Basic) {\r\n queries.basic!.rules = queries.basic!.rules.map((r:any) => {\r\n return {\r\n field: r.field,\r\n operator: r.operator,\r\n value: r.value,\r\n entity: this.entities.find(e => e.fieldJsonName == r.field).entity\r\n }\r\n })\r\n }\r\n }\r\n\r\n getQueryBuilderFilterPanel() {\r\n this.apiService.getFilterPanel(this.authorizationApiUrl, this.token, this.commonDataApiUrl, this.commonDataToken, this.filterId)\r\n .subscribe((qbPanelFilter: QbPanelFilter) => {\r\n this.filterPanelObject = qbPanelFilter;\r\n let basicFilterIds: number[] = qbPanelFilter.qbpanelToFields.filter(panelToField => panelToField.basic).map(panelToField => panelToField.qbfilterFieldId);\r\n let advancedFilterIds: number[] = qbPanelFilter.qbpanelToFields.filter(panelToField => !panelToField.basic).map(panelToField => panelToField.qbfilterFieldId);\r\n this.defaultValues = qbPanelFilter.qbpanelToFields.map(panelToField => {\r\n return {\r\n qbfilterFieldId: panelToField.qbfilterFieldId,\r\n defaultValue: panelToField.defaultValue\r\n }\r\n })\r\n this.defaultOperators = qbPanelFilter.qbpanelToFields.map(panelToField => {\r\n return {\r\n qbfilterFieldId: panelToField.qbfilterFieldId,\r\n qbdefaultOperator: panelToField.qbdefaultOperator\r\n }\r\n })\r\n let filterEntity: QbFilterEntity[] = qbPanelFilter.qbpanelToFields.map(panelToField => {\r\n return {\r\n id: panelToField.qbfilterField.qbfilterEntity.id, \r\n basic: panelToField.basic,\r\n name: panelToField.qbfilterField.qbfilterEntity.name, \r\n jsonName: panelToField.qbfilterField.qbfilterEntity.jsonName, \r\n fields: []\r\n }\r\n });\r\n\r\n let filterFields: FilterField[] = qbPanelFilter.qbpanelToFields.map(p => p.qbfilterField);\r\n filterEntity.forEach((entity: QbFilterEntity, index: number) => {\r\n let fields = filterFields.filter(e => e.qbfilterEntity.id == entity.id);\r\n filterEntity[index].fields = fields ;\r\n })\r\n \r\n this.basicQueryConfig = this.initQueryBuilder(filterEntity);\r\n this.basicQueryConfig = this.filterFieldsById(this.basicQueryConfig, basicFilterIds);\r\n this.basicQueryConfig.fields = this.translateFields(this.basicQueryConfig.fields);\r\n this.advancedQueryConfig = this.initQueryBuilder(filterEntity);\r\n this.advancedQueryConfig = this.filterFieldsById(this.advancedQueryConfig, advancedFilterIds);\r\n this.advancedQueryConfig.fields = this.translateFields(this.advancedQueryConfig.fields);\r\n let rules = Object.keys(this.basicQueryConfig.fields)\r\n .map(fieldKey => { \r\n let defaultOperator = this.defaultOperators.find(operator => operator.qbfilterFieldId == this.basicQueryConfig.fields[fieldKey].id && operator.qbdefaultOperator != null);\r\n return {\r\n field: fieldKey, \r\n value: this.basicQueryConfig.fields[fieldKey].defaultValue!,\r\n operator: defaultOperator ? defaultOperator.qbdefaultOperator.symbol : null\r\n }\r\n });\r\n\r\n if(this.storedQuery && this.storedQuery?.id == this.filterId && this.storedQuery?.basicQueryValue && this.storedQuery?.basicQueryValue.rules.length != 0) {\r\n this.basicQuery = this.storedQuery.basicQueryValue;\r\n } else {\r\n this.basicQuery = {\r\n condition: 'and',\r\n rules: rules\r\n };\r\n }\r\n if(this.storedQuery && this.storedQuery?.id == this.filterId && this.storedQuery?.advancedQueryValue && this.storedQuery?.advancedQueryValue.rules.length != 0) {\r\n this.advancedQuery = this.storedQuery.advancedQueryValue;\r\n } else {\r\n this.advancedQuery = {\r\n condition: 'and',\r\n rules: []\r\n };\r\n }\r\n\r\n this.queryConfigReady = true;\r\n this.initQueryBuilderControls();\r\n })\r\n }\r\n\r\n initQueryBuilder(filterEntities: QbFilterEntity[]) {\r\n let entityConfigAux: QueryBuilderConfig = { fields: {} };\r\n let entitiesArray: EntityMap[] = [];\r\n \r\n filterEntities.map((e, index) => {\r\n let entity: Entity = { name: e.jsonName };\r\n return entitiesArray[index] = { [e.jsonName]: entity };\r\n });\r\n\r\n let entitiesMap: EntityMap = {};\r\n\r\n for (const entity of entitiesArray) {\r\n const keys = Object.keys(entity);\r\n\r\n keys.forEach(key => {\r\n if(this.translationsObject.entities) {\r\n let entitiesTranslationsKeys = Object.keys(this.translationsObject.entities);\r\n let translation = entitiesTranslationsKeys.find(translationKey => translationKey == key);\r\n if(translation) {\r\n entitiesMap[key] = { name: this.translationsObject.entities[key] }\r\n } else {\r\n entitiesMap[key] = entity[key]\r\n }\r\n } else {\r\n entitiesMap[key] = entity[key]\r\n }\r\n });\r\n\r\n entityConfigAux.entities = entitiesMap;\r\n }\r\n\r\n let fields: FieldMap[] = [];\r\n filterEntities.forEach((filterEntity) => {\r\n return filterEntity.fields.filter((filterField: FilterField) => {\r\n let index: number = fields.length ?? 0;\r\n let operatorsFlatArray = filterField.operators.map((o:any) => o.symbol);\r\n let defaultOperator = this.defaultOperators.find(operator => operator.qbfilterFieldId == filterField.id);\r\n let field: Field = {\r\n id: filterField.id,\r\n name: filterField.name,\r\n operators: defaultOperator.qbdefaultOperator?.symbol ? this.moveElementToFirstPlace(operatorsFlatArray, defaultOperator.qbdefaultOperator?.symbol) : operatorsFlatArray,\r\n type: this.getDataType(filterField.dataType),\r\n defaultValue: this.formatDefaultValue(this.defaultValues.find(value => value.qbfilterFieldId == filterField.id).defaultValue, filterField.dataType),\r\n defaultOperator: defaultOperator.qbdefaultOperator?.symbol,\r\n entity: filterEntity.jsonName,\r\n options: filterField.listOfValues,\r\n validator: (rule: Rule, parent: RuleSet): any | null => {\r\n if (rule.operator !== \"is null\" && rule.operator !== \"is not null\") {\r\n if (rule.value === undefined || rule.value === null || rule.value === '' || rule.value.length == 0) {\r\n return { required: 'empty field' };\r\n }\r\n }\r\n return null;\r\n }\r\n }\r\n this.entities.push({fieldJsonName: filterField.jsonName, entity: field.entity});\r\n fields[index] = { [filterField.jsonName]: field };\r\n });\r\n });\r\n\r\n let fieldsMap: FieldMap = {};\r\n\r\n for (const field of fields) {\r\n const keys = Object.keys(field);\r\n keys.forEach(key => {\r\n fieldsMap[key] = field[key];\r\n });\r\n\r\n entityConfigAux.fields = fieldsMap;\r\n }\r\n return entityConfigAux;\r\n }\r\n\r\n filterFieldsById(fieldsObj: any, idArray: number[]): any {\r\n const filteredFields: any = {};\r\n \r\n for (const key in fieldsObj.fields) {\r\n const field = fieldsObj.fields[key];\r\n if (idArray.includes(field.id)) {\r\n filteredFields[key] = field;\r\n }\r\n }\r\n \r\n return {\r\n ...fieldsObj,\r\n fields: filteredFields,\r\n };\r\n }\r\n\r\n translateFields(fields: FieldMap) {\r\n for (const key in fields) {\r\n if (fields.hasOwnProperty(key)) {\r\n fields[key].field = key;\r\n fields[key].name = this.translationsObject.fields[key];\r\n }\r\n }\r\n return fields;\r\n }\r\n\r\n moveElementToFirstPlace(array: any[], elementToFirstPlace: string) {\r\n const index = array.indexOf(elementToFirstPlace);\r\n if (index !== -1) {\r\n array.splice(index, 1);\r\n array.unshift(elementToFirstPlace); \r\n }\r\n return array;\r\n }\r\n\r\n formatDefaultValue(value: any, type: QBDataTypeEnum) {\r\n if(value) {\r\n if(type == QBDataTypeEnum.Boolean) {\r\n return value.toLowerCase() === 'true';\r\n }\r\n if(type == this.qbDataTypeEnum.Number || type == this.qbDataTypeEnum.Decimal || type == this.qbDataTypeEnum.List){\r\n return Number(value);\r\n }\r\n if(type == this.qbDataTypeEnum.NullableSelect) {\r\n return 0;\r\n }\r\n if(type == this.qbDataTypeEnum.BooleanSelect) {\r\n return 0;\r\n }\r\n } \r\n return value;\r\n }\r\n\r\n getDataType(id: number) {\r\n return this.qbDataEnums.find(value => value === id)?.toString() ?? \"\";\r\n }\r\n\r\n deleteFieldsWithoutValue(json: any) {\r\n if (json.basic && json.basic.rules) {\r\n json.basic.rules = json.basic.rules.filter((rule: any) => rule.value != null);\r\n json.basic.rules = json.basic.rules.filter((rule: any) => rule.value != undefined);\r\n json.basic.rules = json.basic.rules.filter((rule: any) => rule.value !== \"\");\r\n json.basic.rules = json.basic.rules.filter((rule: any) => { return !(rule.operator === \"nullable\" && rule.value === \"null\"); });\r\n }\r\n if(json.advanced && json.advanced.rules?.length != 0) {\r\n json.advanced.rules = json.advanced.rules.filter((rule: any) => rule.rules?.length != 0);\r\n }\r\n if(json.grouped && json.grouped?.rules.length != 0) {\r\n json.grouped.rules = json.grouped.rules.filter((rule: any) => rule.rules?.length != 0);\r\n }\r\n if(json.grouped && json.grouped?.rules.length == 0) {\r\n json.grouped = null;\r\n }\r\n return json;\r\n }\r\n \r\n initializeOperators(json: any) {\r\n if (json.basic && json.basic.rules) {\r\n json.basic.rules.forEach((rule:any) => {\r\n if(!rule.operator) {\r\n rule.operator = \"=\";\r\n }\r\n });\r\n }\r\n return json;\r\n }\r\n\r\n resetBasicQueryValues() {\r\n this.basicQuery.rules.forEach((rule: Rule) => {\r\n if(rule.value || rule.value == 0){\r\n rule.value = null\r\n }\r\n });\r\n }\r\n\r\n getQueryFieldName(fieldName: string, fields: FieldMap) {\r\n const fieldEntry = Object.keys(fields).find(key => fields[key].field === fieldName);\r\n\r\n return fieldEntry && fields[fieldEntry].name ? fields[fieldEntry].name : fieldName;\r\n }\r\n\r\n getNullableSelectOptions(options: NullableSelectOption[]) {\r\n return options.map((option: NullableSelectOption) => {\r\n return {\r\n name: option.value === 1 ? \r\n this.translationsObject.nullableSelectOptions![option.name].isNotNullOption :\r\n this.translationsObject.nullableSelectOptions![option.name].isNullOption,\r\n value: option.value,\r\n }\r\n })\r\n }\r\n\r\n getBooleanSelectOptions(options: BooleanSelectOption[]) {\r\n return options.map((option: BooleanSelectOption) => {\r\n return {\r\n name: option.value === 1 ? \r\n this.translationsObject.booleanSelectOptions![option.name].isNotNullOption :\r\n this.translationsObject.booleanSelectOptions![option.name].isNullOption,\r\n value: option.value,\r\n }\r\n })\r\n }\r\n\r\n fieldIsBoolean(fieldName: string, fields: FieldMap) {\r\n const fieldEntry = Object.keys(fields).find(key => fields[key].field === fieldName);\r\n\r\n return fields[fieldEntry!].type == QBDataTypeEnum.Boolean.toString() ? true : false;\r\n }\r\n\r\n}\r\n","<!-- TODO: Intentar otra vez pasar los componentes a los de w- porque no se alinena y el w-edit-select no va bien en field. \r\n Ahora se conservan los de p-w con estilos. -->\r\n<p-blockUI styleClass=\"w-filter-panel-blockui\" [autoZIndex]=\"false\" [target]=\"filterPanel\" [blocked]=\"dataIsLoadingSearchButton\"></p-blockUI>\r\n\r\n<p-card styleClass=\"w-filter-panel-no-style-card\" #filterPanel>\r\n <div *ngIf=\"queryConfigReady\" class=\"w-filter-panel-styles\">\r\n <div *ngIf=\"!filterPanelObject.allowAdvancedSearch; else baiscAndAdvanced\">\r\n <div [ngClass]=\"{ 'w-filter-panel-container-advanced' : isAdvancedSearch, 'w-filter-panel-container-basic' : !isAdvancedSearch }\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n <div class=\"flex justify-content-end button-gap\">\r\n <w-button [label]=\"translationsObject.clearButtonLabel\" type=\"tertiary\" size=\"small\" (onClick)=\"onClearClicked()\"></w-button>\r\n <w-button [label]=\"translationsObject.searchButtonLabel\" size=\"small\" (onClick)=\"onSearchClicked()\"></w-button>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <ng-template #baiscAndAdvanced>\r\n <div [ngClass]=\"{ 'w-filter-panel-container-advanced' : isAdvancedSearch, 'w-filter-panel-container-basic' : !isAdvancedSearch }\">\r\n <div *ngIf=\"!isAdvancedSearch; else advancedView\">\r\n <ng-container *ngTemplateOutlet=\"basic\"></ng-container>\r\n </div>\r\n <ng-template #advancedView>\r\n <ng-container *ngTemplateOutlet=\"advanced\"></ng-container>\r\n </ng-template>\r\n\r\n <div class=\"flex justify-content-end button-gap\" [class.pt-3]=\"isAdvancedSearch\">\r\n <w-button [label]=\"translationsObject.clearButtonLabel\" type=\"tertiary\" size=\"small\" (onClick)=\"onClearClicked()\"></w-button>\r\n <w-button [label]=\"translationsObject.searchButtonLabel\" size=\"small\" (onClick)=\"onSearchClicked()\" [loading]=\"dataIsLoadingSearchButton\"></w-button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n</p-card>\r\n\r\n <ng-template #basic>\r\n <div *ngIf=\"filterPanelObject.allowAdvancedSearch\" class=\"flex justify-content-end flex-wrap\">\r\n <w-button [label]=\"translationsObject.advancedSearchTabLabel\" type=\"text\" (onClick)=\"updateSearchType()\"></w-button>\r\n </div>\r\n <div class=\"w-filter-panel-basic query-builder-style fadein animation-duration-500\">\r\n <query-builder [formControl]='queryCtrl' [config]='basicQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset;\">\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown [disabled]=\"true\" class=\" w-edit-select-small\" *ngIf=\"false\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields; let value=value; let name=name; let index=index\">\r\n <span appendTo=\"body\" class=\"w-4 text-left w-filter-panel-input-text-label\" [class.w-filter-panel-boolean-label-width]=\"fieldIsBoolean(rule.field, getFields(rule.entity))\" optionLabel=\"name\" optionValue=\"value\">{{ getQueryFieldName(rule.field, getFields(rule.entity))}}</span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\" w-edit-select-small\" *ngIf=\"isAdvancedSearch\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <w-toggle-button size=\"small\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></w-toggle-button>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"w-edit-calendar\" style=\"width: 100%;\">\r\n <w-edit-calendar appendTo=\"body\" size=\"small\" [showIcon]=\"false\" [dataType]=\"'string'\" [(ngModel)]=\"rule.value\" (onChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [firstDayOfWeek]=\"translationsObject.firstDayOfWeek ?? 1\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\" [displayInlineBlock]=\"true\"></w-edit-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\" w-filter-panel-basic-query-builder-input-width w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-dropdown class=\"w-edit-select-small\" appendTo=\"body\" [options]=\"options\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <p-inputNumber [useGrouping]=\"false\" inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\" w-filter-panel-basic-query-builder-input-width w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\" w-filter-panel-basic-query-builder-input-width w-edit-input-text-small-height w-edit-input-text-small\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Multiselect.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-multiSelect class=\"w-edit-multiselect-small\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.NullableSelect.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-dropdown class=\"w-edit-select-small\" appendTo=\"body\" [options]=\"getNullableSelectOptions(options)\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" \r\n [placeholder]=\"nullableSelectPlaceholder(rule, options)\">\r\n </p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.BooleanSelect.toString(); let onChange=onChange\">\r\n <span class=\"w-filter-panel-basic-query-builder-input-width\">\r\n <p-dropdown class=\"w-edit-select-small\" appendTo=\"body\" [options]=\"getBooleanSelectOptions(options)\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Address.toString(); let onChange=onChange\">\r\n <w-address-field [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [operator]=\"rule.operator\" [segmentationApiUrl]=\"segmentationApiUrl\" [segmentationApiToken]=\"segmentationToken\"></w-address-field>\r\n </ng-container>\r\n </query-builder>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!isAdvancedSearch && basicQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </ng-template>\r\n\r\n <ng-template #advanced>\r\n <div [class.query-builder-style]=\"!filterPanelObject.allowRuleSet\" class=\"w-filter-panel-container fadein animation-duration-500\">\r\n <div *ngIf=\"filterPanelObject.allowRuleSet\" class=\"flex justify-content-end flex-wrap\">\r\n <w-button class=\"mb-2\" [label]=\"translationsObject.basicSearchTabLabel\" type=\"text\" (onClick)=\"updateSearchType()\"></w-button>\r\n </div>\r\n <query-builder #advancedQueryBuilder [formControl]='advancedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <div *ngIf=\"filterPanelObject.allowRuleSet; else noRuleSet\">\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <w-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" type=\"secondary\" size=\"small\" (onClick)=\"addRule()\"></w-button>\r\n <w-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" type=\"secondary\" icon=\"pi pi-plus\" size=\"small\" *ngIf=\"addRuleSet\" (onClick)=\"addRuleSet()\"></w-button>\r\n <w-button class=\"mr-2\" [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" type=\"tertiary\" icon=\"pi pi-minus\" size=\"small\" *ngIf=\"removeRuleSet\" (onClick)=\"removeRuleSet()\"></w-button>\r\n </ng-container>\r\n </div>\r\n\r\n <ng-template #noRuleSet>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex justify-content-end flex-wrap\">\r\n <w-button [label]=\"translationsObject.basicSearchTabLabel\" type=\"text\" (onClick)=\"updateSearchType()\"></w-button>\r\n </div>\r\n <span class=\"advanced-query-button-group gap-3\">\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" type=\"secondary\" size=\"small\" (onClick)=\"addRule()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" type=\"secondary\" icon=\"pi pi-plus\" size=\"small\" *ngIf=\"addRuleSet\" (onClick)=\"addRuleSet()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" type=\"tertiary\" icon=\"pi pi-minus\" size=\"small\" *ngIf=\"removeRuleSet\" (onClick)=\"removeRuleSet()\"></w-button>\r\n </span>\r\n </ng-container>\r\n </ng-template>\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <w-button class=\"\" label=\"\" size=\"small\" type=\"tertiary\" icon=\"pi pi-times\" (onClick)=\"removeRule(rule)\"></w-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\" class=\"w-filter-panel-switch-group-padding\">\r\n <w-select-button *ngIf=\"filterPanelObject.allowLogicalRule\" [stateOptions]=\"[{label: 'And', value: 'and'}, {label: 'Or', value: 'or'}]\"\r\n [(ngModel)]=\"ruleset.condition\"\r\n [size]=\"'small'\"\r\n (value)=\"ruleset.condition = $event\">\r\n </w-select-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown *ngIf=\"filterPanelObject.enityMode\" class=\"field-gap w-edit-select-small w-entity-dropdown\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n <!-- <w-list-field class=\"field-gap\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" [operator]=\"'='\" (ngModelChange)=\"onChange($event, rule)\" [onlyDropdown]=\"true\"></w-list-field> -->\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown *ngIf=\"!operators.includes('nullable')\" class=\"field-gap w-edit-select-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <w-toggle-button class=\"field-gap toggle-button-align\" size=\"small\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></w-toggle-button>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-edit-calendar class=\"field-gap\" appendTo=\"body\" size=\"small\" [dataType]=\"'string'\" [showIcon]=\"false\" [(ngModel)]=\"rule.value\" (onChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [firstDayOfWeek]=\"translationsObject.firstDayOfWeek ?? 1\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\" [displayInlineBlock]=\"true\"></w-edit-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"options\" [filter]=\"true\" [showClear]=\"true\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width field-gap\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber [useGrouping]=\"false\" inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"field-gap query-builder-input-width w-edit-input-text-small-height w-edit-input-text-small\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Multiselect.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-multiSelect class=\"w-edit-multiselect-small\" [appendTo]=\"'body'\" [options]=\"options\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" display=\"chip\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-multiSelect>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.Address.toString(); let onChange=onChange\">\r\n <w-address-field [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [operator]=\"rule.operator\" [segmentationApiUrl]=\"segmentationApiUrl\" [segmentationApiToken]=\"segmentationToken\" [selectPlaceholder]=\"translationsObject.fieldsPlaceholders.list\"></w-address-field>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.NullableSelect.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"getNullableSelectOptions(options)\" [filter]=\"true\" [showClear]=\"false\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.BooleanSelect.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-dropdown class=\"field-gap w-edit-select-small\" appendTo=\"body\" [options]=\"getBooleanSelectOptions(options)\" [ngModelOptions]=\"{standalone: true}\" [filter]=\"true\" [showClear]=\"false\" [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" optionLabel=\"name\" optionValue=\"value\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && advancedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n\r\n <!-- Grouped filter -->\r\n <div *ngIf=\"filterPanelObject.allowGrouped\">\r\n <div class=\"py-5\">\r\n <w-view-card-title-text [cardTitle]=\"translationsObject.groupedFilterTitle\"></w-view-card-title-text>\r\n </div>\r\n\r\n <query-builder [formControl]='groupedQueryCtrl' [config]='advancedQueryConfig' [allowRuleset]='filterPanelObject.allowRuleSet' [allowCollapse]='filterPanelObject.allowColapse' [allowRuleset]=\"filterPanelObject.allowRuleSet\" [persistValueOnFieldChange]='persistValueOnFieldChange'>\r\n <ng-container *queryButtonGroup=\"let ruleset; let addRule=addRule; let addRuleSet=addRuleSet; let removeRuleSet=removeRuleSet\">\r\n <div class=\"flex gap-3 mb-3\">\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleButtonLabel\" type=\"secondary\" size=\"small\" (onClick)=\"addRule()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.addRuleSetButtonLabel\" type=\"secondary\" icon=\"pi pi-plus\" size=\"small\" *ngIf=\"addRuleSet\" (onClick)=\"addRuleSet()\"></w-button>\r\n <w-button [label]=\"translationsObject.advancedSearch.removeRuleSetButtonLabel\" type=\"tertiary\" icon=\"pi pi-minus\" size=\"small\" *ngIf=\"removeRuleSet\" (onClick)=\"removeRuleSet()\"></w-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryArrowIcon>\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-angle-right\" class=\"p-button-rounded p-button-text\"></button>\r\n </ng-container>\r\n\r\n <ng-container *queryRemoveButton=\"let rule; let removeRule=removeRule\">\r\n <w-button class=\"\" label=\"\" size=\"small\" type=\"tertiary\" icon=\"pi pi-times\" (onClick)=\"removeRule(rule)\"></w-button>\r\n </ng-container>\r\n\r\n <ng-container *querySwitchGroup=\"let ruleset; let onChange=onChange\">\r\n <div *ngIf=\"ruleset\">\r\n <w-select-button *ngIf=\"filterPanelObject.allowLogicalRule\" [stateOptions]=\"[{label: 'And', value: 'and'}, {label: 'Or', value: 'or'}]\"\r\n [(ngModel)]=\"ruleset.condition\"\r\n [size]=\"'small'\"\r\n (value)=\"ruleset.condition = $event\">\r\n </w-select-button>\r\n </div>\r\n </ng-container>\r\n\r\n <ng-container *queryEntity=\"let rule; let entities=entities; let onChange=onChange\">\r\n <p-dropdown class=\"mr-3 w-edit-select-small\" *ngIf=\"filterPanelObject.enityMode\" appendTo=\"body\" [options]=\"entities\" [(ngModel)]=\"rule.entity\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </ng-container>\r\n\r\n <ng-container *queryField=\"let rule; let fields=fields; let onChange=onChange; let getFields = getFields\">\r\n <span class=\"query-builder-field-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-small\" appendTo=\"body\" [options]=\"getFields(rule.entity)\" [(ngModel)]=\"rule.field\" optionLabel=\"name\" optionValue=\"value\" (ngModelChange)=\"onChange($event, rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryOperator=\"let rule; let operators=operators; let onChange=onChange\">\r\n <span class=\"query-builder-operator-width\">\r\n <p-dropdown class=\"mr-3 w-edit-select-small\" appendTo=\"body\" [(ngModel)]=\"rule.operator\" [options]=\"operators\" (ngModelChange)=\"onChange(rule)\"></p-dropdown>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Boolean.toString(); let onChange=onChange\">\r\n <w-toggle-button class=\"mr-3\" size=\"small\" [(ngModel)]=\"rule.value\" onLabel=\"True\" offLabel=\"False\" (ngModelChange)=\"onChange()\"></w-toggle-button>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; type: qbDataTypeEnum.Datetime.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-edit-calendar class=\"field-gap\" appendTo=\"body\" size=\"small\" [dataType]=\"'string'\" [showIcon]=\"false\" [(ngModel)]=\"rule.value\" (onChange)=\"onChange()\" [showTime]=\"true\" [showSeconds]=\"true\" [placeholder]=\"translationsObject.fieldsPlaceholders.datetime\" [displayInlineBlock]=\"true\"></w-edit-calendar>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Decimal.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber class=\"mr-3\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" mode=\"decimal\" [minFractionDigits]=\"2\" [maxFractionDigits]=\"5\" [min]=\"0\" [max]=\"100\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.decimal\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let options=options; type: qbDataTypeEnum.List.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <w-list-field [options]=\"options\" [(ngModel)]=\"rule.value\" [operator]=\"rule.operator\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.list\"></w-list-field>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Number.toString(); let onChange=onChange\">\r\n <span class=\"query-builder-input-width\">\r\n <p-inputNumber [useGrouping]=\"false\" inputStyleClass=\"flex flex-1\" styleClass=\"flex flex-1\" class=\"field-gap w-edit-input-number-small w-edit-input-number-small-height\" [(ngModel)]=\"rule.value\" inputId=\"minmax\" inputId=\"minmax\" [min]=\"0\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.number\"> </p-inputNumber>\r\n </span>\r\n </ng-container>\r\n\r\n <ng-container *queryInput=\"let rule; let field=field; type: qbDataTypeEnum.Text.toString(); let onChange=onChange\">\r\n <input class=\"mr-3 query-builder-input-width w-edit-input-text-small-height wapp-input\" type=\"text\" pInputText [(ngModel)]=\"rule.value\" (ngModelChange)=\"onChange()\" [placeholder]=\"translationsObject.fieldsPlaceholders.text\"/>\r\n </ng-container>\r\n\r\n </query-builder>\r\n\r\n <ng-container *ngIf=\"isAdvancedSearch && groupedQuery.rules.length==0\" >\r\n <ng-container *ngTemplateOutlet=\"noQueryData\"></ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template #noQueryData>\r\n <div class=\"flex justify-content-center flex-wrap card-container surface-50 mb-3\">\r\n <div class=\"flex align-items-center justify-content-center w-full h-4rem text-gray-900 border-round m-2\">\r\n {{translationsObject.noRulesLabel}}\r\n </div>\r\n </div>\r\n </ng-template>\r\n","import { Component } from '@angular/core';\r\nimport { DynamicDialogConfig } from 'primeng/dynamicdialog';\r\n\r\n@Component({\r\n selector: 'w-preview-image',\r\n templateUrl: './w-preview-image.component.html',\r\n styleUrls: ['./w-preview-image.component.css']\r\n})\r\nexport class WPreviewImageComponent {\r\n imageCropped!: any;\r\n\r\n constructor(public dynamicDialogConfig: DynamicDialogConfig){}\r\n\r\n ngOnInit(): void {\r\n this.imageCropped = this.dynamicDialogConfig.data.imageEdited;\r\n }\r\n}\r\n","<div class=\"flex align-content-center align-items-center justify-content-center h-full w-full\">\r\n <p-image *ngIf=\"imageCropped\" \r\n class=\"flex align-content-center align-items-center\"\r\n [src]=\"imageCropped\" > </p-image>\r\n</div>\r\n","import { Injectable, Type } from '@angular/core';\r\nimport { Breakpoints, BreakpointObserver } from '@angular/cdk/layout';\r\nimport { DialogService, DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\n\r\nexport interface ModalSize {\r\n width: string;\r\n height?: string;\r\n}\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class ModalService {\r\n\r\n constructor(private dialogService: DialogService, private breakpointObserver: BreakpointObserver) { }\r\n\r\n dialogRef: any;\r\n smallDialogSubscription: any;\r\n dialogData: any;\r\n\r\n open(componentOrTemplateRef: Type<any>, modalConfig?: DynamicDialogConfig, modalSize?: ModalSize,): DynamicDialogRef {\r\n if (!modalConfig) {\r\n modalConfig = new DynamicDialogConfig;\r\n }\r\n\r\n if (modalConfig.data) {\r\n this.dialogData = modalConfig.data;\r\n }\r\n\r\n // TODO dejo esto comentado como guía para completarlo más adelante\r\n //modalConfig.maxWidth = '100vw';\r\n\r\n this.dialogRef = this.dialogService.open(componentOrTemplateRef, modalConfig);\r\n\r\n this.smallDialogSubscription = this.breakpointObserver.observe([Breakpoints.XSmall])\r\n .subscribe(size => {\r\n if (size.matches) {\r\n //this.dialogRef.updateSize('100%', '100%');\r\n //this.dialogRef.hasBackdrop = false;\r\n } else {\r\n if (!modalSize) {\r\n //this.dialogRef.updateSize('auto', 'auto');\r\n }\r\n else {\r\n //this.dialogRef.updateSize(modalSize.width, modalSize.height);\r\n }\r\n }\r\n });\r\n\r\n return this.dialogRef;\r\n }\r\n\r\n close(): void {\r\n this.smallDialogSubscription.unsubscribe();\r\n this.dialogRef.close();\r\n }\r\n \r\n getComponentInstance<T>() {\r\n let dialogComponentRef = this.dialogService.dialogComponentRefMap.get(this.dialogRef);\r\n dialogComponentRef!.changeDetectorRef.detectChanges();\r\n\r\n return dialogComponentRef?.instance.componentRef.instance as T;\r\n }\r\n\r\n getComponentRef() {\r\n let dialogComponentRef = this.dialogService.dialogComponentRefMap.get(this.dialogRef);\r\n dialogComponentRef!.changeDetectorRef.detectChanges();\r\n\r\n return dialogComponentRef?.instance.componentRef;\r\n }\r\n}\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { WImageCropperData } from '../../shared/models/w-image-cropper-data.model';\r\nimport { WFileB64 } from '../../shared/models/w-file-b64.model';\r\nimport { DynamicDialogConfig, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { ModalService } from '../../shared/services/modal.service';\r\nimport { WPreviewImageComponent } from '../w-preview-image/w-preview-image.component';\r\nimport { Dimensions, ImageCroppedEvent, ImageTransform } from 'ngx-image-cropper';\r\n\r\n@Component({\r\n selector: 'w-image-cropper',\r\n templateUrl: './w-image-cropper.component.html',\r\n styleUrls: ['./w-image-cropper.component.scss']\r\n})\r\nexport class WImageCropperComponent {\r\n @Input() dimensionsInput!: WImageCropperData;\r\n @Input() translationsImageCropper: any;\r\n @Output() imageCroppedFinal = new EventEmitter<any>();\r\n @Output() imageB64 = new EventEmitter<any>();\r\n @Input() blob: any;\r\n\r\n imageChangedEvent: any = '';\r\n croppedImage: any = '';\r\n canvasRotation = 0;\r\n rotation: number = 0;\r\n translateH = 0;\r\n translateV = 0;\r\n scale = 1;\r\n aspectRatio = 4 / 3;\r\n showCropper = false;\r\n containWithinAspectRatio = false;\r\n transform: ImageTransform = {\r\n translateUnit: 'px'\r\n };\r\n imageURL?: string;\r\n loading = false;\r\n allowMoveImage = true;\r\n hidden = false;\r\n\r\n croppedImageFile: WFileB64 = {name: \"\", type: \"\", fileBase64: \"\", base64: \"\"};\r\n\r\n dimensions: any;\r\n maxFileSize!: number;\r\n roundedCropper!: boolean;\r\n fromModal: boolean = true;\r\n dialogPreview!: DynamicDialogRef;\r\n constructor(\r\n private ref: DynamicDialogRef,\r\n private dialogService: ModalService,\r\n public dynamicDialogConfig: DynamicDialogConfig){\r\n\r\n }\r\n\r\n ngOnInit(): void {\r\n if(this.dynamicDialogConfig.data == undefined){\r\n this.fromModal = false;\r\n this.aspectRatio = this.dimensionsInput.configuredAspectRatio;\r\n this.roundedCropper = this.dimensionsInput.roundedCropper;\r\n this.dimensions = {\r\n width: this.dimensionsInput.viewPortWidthPx,\r\n height: this.dimensionsInput.viewPortHeihtPx\r\n }\r\n this.maxFileSize = this.dimensions.maxFileSize;\r\n }else{\r\n this.aspectRatio = this.dynamicDialogConfig.data.dataModal.configuredAspectRatio;\r\n this.roundedCropper = this.dynamicDialogConfig.data.dataModal.roundedCropper;\r\n this.dimensions = {\r\n width: this.dynamicDialogConfig.data.dataModal.viewPortWidthPx,\r\n height: this.dynamicDialogConfig.data.dataModal.viewPortHeihtPx\r\n }\r\n this.maxFileSize = this.dynamicDialogConfig.data.dataModal.maxFileSize\r\n this.translationsImageCropper = this.dynamicDialogConfig.data.translations;\r\n this.blob = this.dynamicDialogConfig.data.blob;\r\n if(this.blob)\r\n this.setCroppeImageFileObject();\r\n }\r\n }\r\n\r\n myUploader(event: any) {\r\n this.resetImage()\r\n this.loading = true;\r\n this.blob = event.files[0];\r\n this.setCroppeImageFileObject();\r\n }\r\n\r\n setCroppeImageFileObject(){\r\n this.croppedImageFile.name = this.blob.name;\r\n this.croppedImageFile.type = this.blob.type;\r\n }\r\n\r\n imageCropped(event: ImageCroppedEvent) {\r\n this.croppedImage = event.base64;\r\n }\r\n\r\n imageLoaded() {\r\n this.showCropper = true;\r\n }\r\n\r\n cropperReady(sourceImageDimensions: Dimensions) {\r\n this.loading = false;\r\n }\r\n\r\n loadImageFailed() {\r\n console.error('Load image failed');\r\n }\r\n\r\n rotateLeft() {\r\n this.loading = true;\r\n setTimeout(() => { // Use timeout because rotating image is a heavy operation and will block the ui thread\r\n this.canvasRotation--;\r\n this.flipAfterRotate();\r\n });\r\n }\r\n\r\n rotateRight() {\r\n this.loading = true;\r\n setTimeout(() => {\r\n this.canvasRotation++;\r\n this.flipAfterRotate();\r\n });\r\n }\r\n\r\n moveLeft() {\r\n this.transform = {\r\n ...this.transform,\r\n translateH: ++this.translateH\r\n };\r\n }\r\n\r\n moveRight() {\r\n this.transform = {\r\n ...this.transform,\r\n translateH: --this.translateH\r\n };\r\n }\r\n\r\n moveTop() {\r\n this.transform = {\r\n ...this.transform,\r\n translateV: ++this.translateV\r\n };\r\n }\r\n\r\n moveBottom() {\r\n this.transform = {\r\n ...this.transform,\r\n translateV: --this.translateV\r\n };\r\n }\r\n\r\n flipHorizontal() {\r\n this.transform = {\r\n ...this.transform,\r\n flipH: !this.transform.flipH\r\n };\r\n }\r\n\r\n flipVertical() {\r\n this.transform = {\r\n ...this.transform,\r\n flipV: !this.transform.flipV\r\n };\r\n }\r\n\r\n resetImage() {\r\n this.scale = 1;\r\n this.rotation = 0;\r\n this.canvasRotation = 0;\r\n this.transform = {\r\n translateUnit: 'px'\r\n };\r\n }\r\n\r\n zoomOut() {\r\n this.scale -= .1;\r\n this.transform = {\r\n ...this.transform,\r\n scale: this.scale\r\n };\r\n }\r\n\r\n zoomIn() {\r\n this.scale += .1;\r\n this.transform = {\r\n ...this.transform,\r\n scale: this.scale\r\n };\r\n }\r\n\r\n toggleContainWithinAspectRatio() {\r\n this.containWithinAspectRatio = !this.containWithinAspectRatio;\r\n }\r\n\r\n updateRotation() {\r\n this.transform = {\r\n ...this.transform,\r\n rotate: this.rotation\r\n };\r\n }\r\n\r\n toggleAspectRatio() {\r\n this.aspectRatio = this.aspectRatio === 4 / 3 ? 16 / 5 : 4 / 3;\r\n }\r\n \r\n toggleAspectRatio1() {\r\n this.aspectRatio = this.aspectRatio = 1;\r\n }\r\n\r\n viewCrop(){\r\n this.dialogPreview = this.dialogService.open(WPreviewImageComponent, {\r\n header: this.translationsImageCropper.modal.preview,\r\n width:'35rem',\r\n contentStyle: {\"overflow\": \"auto\", \"height\": \"35rem\", \"padding-bottom\": \"8px\"},\r\n data: {imageEdited: this.croppedImage}\r\n })\r\n }\r\n\r\n deleteBlob(){\r\n this.blob = null\r\n this.croppedImage = null\r\n }\r\n\r\n cancelDialog(){\r\n this.blob = null\r\n this.croppedImage = null\r\n this.ref.close();\r\n }\r\n\r\n saveImageCropped(){\r\n this.croppedImageFile.fileBase64 = this.croppedImage;\r\n this.croppedImageFile.base64 = this.imageCroppedToBase64(this.croppedImage, this.croppedImageFile.name);\r\n\r\n if(this.fromModal){\r\n this.ref.close(this.croppedImageFile)\r\n }else{\r\n this.imageCroppedFinal.emit(this.croppedImageFile);\r\n }\r\n }\r\n\r\n private flipAfterRotate() {\r\n const flippedH = this.transform.flipH;\r\n const flippedV = this.transform.flipV;\r\n this.transform = {\r\n ...this.transform,\r\n flipH: flippedV,\r\n flipV: flippedH\r\n };\r\n this.translateH = 0;\r\n this.translateV = 0;\r\n }\r\n\r\n imageCroppedToBase64(imageData: string, imageName: string){\r\n const base64Parts = imageData?.split(',');\r\n if (base64Parts.length === 2) {\r\n const base64Content = base64Parts[1];\r\n return base64Content;\r\n }\r\n return '';\r\n }\r\n}\r\n","<div class=\"flex flex-column align-content-center justify-content-center wapp-card-cropper\">\r\n <div class=\"flex flex-1\" ></div> \r\n <div class=\"flex justify-content-center align-content-center\" *ngIf=\"!blob; else imageCropper\">\r\n <span class=\"flex align-content-center surface-border justify-content-between flex-wrap\"> \r\n <p-fileUpload #fileUploader\r\n class=\"w-file-button bg-white\"\r\n chooseIcon=\"pi pi-image\"\r\n chooseLabel=\"Choose\"\r\n (onSelect)=\"myUploader($event)\"\r\n name=\"filesToUpload[]\" \r\n [auto]=\"true\"\r\n [multiple]=\"false\"\r\n accept=\"image/*\"\r\n mode=\"basic\"\r\n accept=\"image/*\" \r\n [maxFileSize]=\"maxFileSize\">\r\n </p-fileUpload>\r\n </span>\r\n </div>\r\n <ng-template #imageCropper>\r\n <div class=\"flex flex-column w-full\">\r\n <div class=\"flex flex-row align-content-center\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex align-content-center align-items-center justify-content-between wapp-image-cropper-wrapper flex-1\">\r\n <image-cropper\r\n [imageFile]=\"blob\"\r\n [imageURL]=\"imageURL\"\r\n [maintainAspectRatio]=\"true\"\r\n [containWithinAspectRatio]=\"containWithinAspectRatio\"\r\n [aspectRatio]=\"aspectRatio\"\r\n [resizeToWidth]= \"dimensions.width\"\r\n [resizeToHeight]=\"dimensions.height\"\r\n [cropperMinWidth]=\"128\"\r\n [onlyScaleDown]=\"true\"\r\n [roundCropper]=\"false\"\r\n [canvasRotation]=\"canvasRotation\"\r\n [(transform)]=\"transform\"\r\n [alignImage]=\"'center'\"\r\n [style.display]=\"showCropper ? null : 'none'\"\r\n [allowMoveImage]=\"allowMoveImage\"\r\n [hidden]=\"hidden\"\r\n backgroundColor=\"white\"\r\n format=\"png\"\r\n [roundCropper]=\"roundedCropper\"\r\n (imageCropped)=\"imageCropped($event)\"\r\n (imageLoaded)=\"imageLoaded()\"\r\n (cropperReady)=\"cropperReady($event)\"\r\n (loadImageFailed)=\"loadImageFailed()\"\r\n ></image-cropper>\r\n </div>\r\n <div class=\"flex flex-column justify-content-center align-content-center align-items-center\">\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomIn\"\r\n icon=\"pi pi-search-plus\" (click)=\"zoomIn()\"\r\n type=\"text\"></w-button>\r\n <w-button \r\n class=\"flex align-items-center align-content-center justify-content-start px-3 py-3\" \r\n [pTooltip]=\"translationsImageCropper.zoomOut\"\r\n icon=\"pi pi-search-minus\" \r\n (click)=\"zoomOut()\"\r\n type=\"text\"></w-button> \r\n </div>\r\n <div class=\"flex flex-1\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 flex-column wapp-image-cropper-tools py-4\">\r\n <p-slider [(ngModel)]=\"rotation\" [min]=\"-360\" [max]=\"360\" \r\n (ngModelChange)=\"updateRotation()\" class=\"w-full align-content-center\"\r\n [pTooltip]=\"translationsImageCropper.rotation\"></p-slider>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n \r\n <div class=\"flex flex-1\">\r\n <div class=\"w-3\"></div>\r\n <div class=\"flex flex-1 wapp-image-cropper-tools flex-row justify-content-center align-items-center align-content-center\">\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-replay\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateLeft\"\r\n (click)=\"rotateLeft()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n icon=\"pi pi-refresh\"\r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.rotateRight\"\r\n (click)=\"rotateRight()\"></w-button>\r\n <w-button\r\n type=\"text\"\r\n icon=\"pi pi-arrows-h\" \r\n tooltipPosition=\"bottom\"\r\n [pTooltip]=\"translationsImageCropper.flipHorizontal\"\r\n (click)=\"flipHorizontal()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.flipVertical\"\r\n icon=\"pi pi-arrows-v\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"flipVertical()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.restore\"\r\n icon=\"pi pi-history\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"resetImage()\"></w-button>\r\n <w-button \r\n type=\"text\"\r\n [pTooltip]=\"translationsImageCropper.preview\"\r\n icon=\"pi pi-eye\"\r\n tooltipPosition=\"bottom\"\r\n (click)=\"viewCrop()\"></w-button>\r\n </div>\r\n <div class=\"w-3 align-items-end\"></div>\r\n </div>\r\n </div>\r\n \r\n </ng-template>\r\n <div class=\"flex flex-1\" ></div>\r\n <div class=\"wapp-image-cropper-dialog-buttons flex justify-content-end align-content-center align-items-center w-full h-2\">\r\n <w-button *ngIf=\"blob\"\r\n (onClick)=\"deleteBlob()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-trash\"\r\n [label]=\"translationsImageCropper.delete\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n *ngIf=\"fromModal\"\r\n (onClick)=\"cancelDialog()\"\r\n class=\"flex align-content-center align-items-center \"\r\n icon=\"pi-times\"\r\n [label]=\"translationsImageCropper.cancel\"\r\n type=\"text\">\r\n </w-button>\r\n <w-button \r\n icon=\"pi-save\"\r\n (click)=\"saveImageCropped()\"\r\n [disabled]=\"!blob\"\r\n [label]=\"translationsImageCropper.save\"\r\n class=\"flex align-content-center align-items-center\"\r\n type=\"text\">\r\n </w-button>\r\n </div> \r\n</div>\r\n \r\n ","import { HttpClient, HttpHeaders } from '@angular/common/http';\r\nimport { AfterViewInit, Component, ElementRef, EventEmitter, Input, Output, QueryList, ViewChild, ViewChildren } from '@angular/core';\r\nimport { WImageFileUploaderConfig } from '../../shared/models/w-image-file-uploader-config.model';\r\nimport { FileUpload } from 'primeng/fileupload';\r\nimport { ConfirmationService } from 'primeng/api';\r\nimport { DialogService, DynamicDialogRef } from 'primeng/dynamicdialog';\r\nimport { ImageB64 } from '../../shared/models/image-b64.model';\r\nimport { WImageCropperComponent } from '../w-image-cropper/w-image-cropper.component';\r\nimport { WImageCropperData } from '../../shared/models/w-image-cropper-data.model';\r\nimport { WFileB64 } from '../../shared/models/w-file-b64.model';\r\nimport { WIconsComponent } from '../../icons/wapping-icons/w-icons.component';\r\n\r\n@Component({\r\n selector: 'w-image-file-uploader',\r\n templateUrl: './w-image-file-uploader.component.html',\r\n styleUrls: ['./w-image-file-uploader.component.scss'],\r\n providers: [ConfirmationService]\r\n})\r\nexport class WImageFileUploaderComponent {\r\n @Input('allowMultipleImages') allowMultipleImages: boolean = false;\r\n @Input('activeImageUpload') activeImageUpload: boolean = false;\r\n @Input('imagesAlreadyUploaded') imagesAlreadyUploaded: any[] = [];\r\n @Input('imageSingleMode') imageSingleMode: any;\r\n @Input('uploadUrl') uploadUrl!: string;\r\n @Input('updateUrl') updateUrl!: string;\r\n @Input('deleteUrl') deleteUrl!: string;\r\n @Input('headers') headers!: HttpHeaders;\r\n @Input('activePositionProperty') activePositionProperty: boolean = false;\r\n @Input('viewSingleMode') viewSingleMode: boolean = false;\r\n @Input('viewMultiMode') viewMultiMode: boolean = false;\r\n @Input('identificatorImageName') identificatorName: string = \"id\";\r\n @Input('identificatorImagesCollectionValue') identificatorValue: any = 0;\r\n @Input('imageUploadConfig') imageUploadConfig: WImageFileUploaderConfig = { \r\n imagePropertyNames: [], \r\n acceptImageTypes: \"image/*\", \r\n maxImageSize: 1000000,\r\n allowAuto: false, \r\n uploadButtonLabel: \"\",\r\n chooseButtonLabel: \"\",\r\n cancelButtonLabel: \"\",\r\n contentHeaderLabel: \"\",\r\n contentSubheaderLabel: \"\",\r\n deleteImageButtonLabel: \"\",\r\n croppedDialogTranslations: \"\",\r\n croppedImageConfiguration: {\r\n roundedCropper: false,\r\n configuredAspectRatio: 4/3,\r\n viewPortWidthPx: 400,\r\n viewPortHeihtPx: 500\r\n },\r\n confirmDeleteMessageLabel: \"\",\r\n confirmDeleteButtonLabel: \"\"\r\n }\r\n @Input('activeFieldVersion') activeFieldVersion: boolean = false; \r\n @Input('label') label!: string; \r\n @Input('tooltip') tooltip!: string; \r\n @Input('required') required: boolean = false; \r\n\r\n @Output('onUploadFinished') onUploadFinished: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('onErrorHandler') onErrorHandler: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('onReturnImagesB64') onReturnImagesB64: EventEmitter<any> = new EventEmitter<any>();\r\n @Output('onDeleteImage') onDeleteImage: EventEmitter<any> = new EventEmitter<any>();\r\n\r\n @ViewChild('fileUpload') fileUpload!: FileUpload;\r\n \r\n @ViewChildren('buttonRemoveOnlyImage') buttonRemoveOnlyImage!: QueryList<ElementRef>;\r\n @ViewChild('fileUploadOnlyImage') fileuploadOnlyImage!: FileUpload;\r\n\r\n activeIndexGallery: number = 0; \r\n cropperImages: any[] = [];\r\n defaultWidth: string = \"w-18rem\";\r\n defaultHeight: string = \"h-18rem\";\r\n disableMoveButtons: boolean = false;\r\n isUploadingMultiMode: boolean = false;\r\n isDeletingMultiMode: boolean = false;\r\n \r\n onlyImageSelected: any;\r\n onlyCroppedImageSelected: any = null;\r\n \r\n dimensionsInput!: WImageCropperData;\r\n carouselImagesResponsiveOptions: any[] = [\r\n {\r\n breakpoint: '1024px',\r\n numVisible: 4,\r\n numScroll: 4\r\n },\r\n {\r\n breakpoint: '850px',\r\n numVisible: 2,\r\n numScroll: 2\r\n },\r\n {\r\n breakpoint: '560px',\r\n numVisible: 1,\r\n numScroll: 1\r\n }\r\n ];\r\n\r\n constructor(\r\n private dialogService: DialogService, \r\n private http: HttpClient, \r\n private confirmationService: ConfirmationService\r\n ){}\r\n\r\n ngOnInit(): void {\r\n this.dimensionsInput = {\r\n roundedCropper: this.imageUploadConfig.croppedImageConfiguration.roundedCropper,\r\n configuredAspectRatio: this.imageUploadConfig.croppedImageConfiguration.configuredAspectRatio,\r\n viewPortWidthPx: this.imageUploadConfig.croppedImageConfiguration.viewPortWidthPx,\r\n viewPortHeihtPx: this.imageUploadConfig.croppedImageConfiguration.viewPortHeihtPx,\r\n maxFileSize: this.imageUploadConfig.maxImageSize\r\n }\r\n\r\n if(this.activeImageUpload == false && this.imagesAlreadyUploaded.length > 0){\r\n this.cropperImages.push(...this.imagesAlreadyUploaded);\r\n }\r\n }\r\n\r\n readProperty(obj: any, prop:string):any {\r\n if(typeof obj === 'undefined') {\r\n return false;\r\n }\r\n \r\n var _index = prop.indexOf('.')\r\n if(_index > -1) {\r\n return this.readProperty(obj[prop.substring(0, _index)], prop.substr(_index + 1));\r\n }\r\n return obj[prop];\r\n }\r\n\r\n onCustomUploadSingleMode(event: any){\r\n this.onlyImageSelected = event.currentFiles[0];\r\n this.openModalCropper(this.onlyImageSelected, event.originalEvent);\r\n }\r\n\r\n onCustomizeUploadFunctionSingleMode(event: any){\r\n if(this.activeImageUpload == true){\r\n if(this.onlyCroppedImageSelected){\r\n let base64Images: ImageB64[] = [{base64: this.onlyCroppedImageSelected.base64, name: this.onlyCroppedImageSelected.name}];\r\n\r\n this.http.post(this.uploadUrl, base64Images, { headers: this.headers }).subscribe({\r\n next: (imageUploaded: any) => {\r\n this.fileuploadOnlyImage.clear();\r\n this.onUploadFinished.emit(imageUploaded);\r\n },\r\n error: (error) => {\r\n this.fileuploadOnlyImage.uploading = false;\r\n this.onErrorHandler.emit(error);\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n removeImageSingleMode(event: Event, file: any) {\r\n event.stopPropagation();\r\n this.fileuploadOnlyImage.clear();\r\n this.onlyImageSelected = null;\r\n this.onlyCroppedImageSelected = null;\r\n this.imageSingleMode = null;\r\n this.onReturnImagesB64.emit(null);\r\n }\r\n\r\n moveImageToLeft(event: any){\r\n let indexToMove = this.findIndex(event);\r\n if(indexToMove > 0 && indexToMove < this.imagesAlreadyUploaded.length){\r\n const temp = this.imagesAlreadyUploaded[indexToMove];\r\n this.imagesAlreadyUploaded[indexToMove] = this.imagesAlreadyUploaded[ indexToMove - 1];\r\n this.imagesAlreadyUploaded[indexToMove - 1] = temp;\r\n\r\n this.imagesAlreadyUploaded = (this.activePositionProperty) ? this.addPositionProperty(this.imagesAlreadyUploaded) : this.imagesAlreadyUploaded;\r\n \r\n if(this.uploadUrl != undefined && this.identificatorValue !== 0){\r\n this.disableMoveButtons = true;\r\n this.updateImage(this.imagesAlreadyUploaded);\r\n }else if(this.activeImageUpload == true && this.uploadUrl != undefined){\r\n this.onUploadFinished.emit(this.imagesAlreadyUploaded);\r\n }else{\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.imagesAlreadyUploaded));\r\n }\r\n }\r\n }\r\n\r\n moveImageToRight(event: any){ \r\n let indexToMove = this.findIndex(event);\r\n if(indexToMove >= 0 && indexToMove < this.imagesAlreadyUploaded.length -1){\r\n const temp = this.imagesAlreadyUploaded[indexToMove];\r\n this.imagesAlreadyUploaded[indexToMove] = this.imagesAlreadyUploaded[ indexToMove + 1];\r\n this.imagesAlreadyUploaded[indexToMove + 1] = temp;\r\n\r\n this.imagesAlreadyUploaded = (this.activePositionProperty) ? this.addPositionProperty(this.imagesAlreadyUploaded) : this.imagesAlreadyUploaded;\r\n\r\n if(this.uploadUrl!=undefined && this.identificatorValue !== 0){\r\n this.disableMoveButtons = true; \r\n this.updateImage(this.imagesAlreadyUploaded);\r\n }else{\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.imagesAlreadyUploaded));\r\n }\r\n }\r\n }\r\n\r\n onCustomizeUploadFunctionMultiMode(event?: any){\r\n if(this.activeImageUpload == true){\r\n if(this.cropperImages.length > 0){\r\n let base64Images: ImageB64[] = this.mapToObjectB64(this.cropperImages);\r\n this.isUploadingMultiMode = true;\r\n\r\n this.http.post(this.uploadUrl, base64Images, { headers: this.headers }).subscribe({\r\n next: (imagesUploaded: any) => {\r\n this.imagesAlreadyUploaded.push(...imagesUploaded);\r\n this.imagesAlreadyUploaded = [...this.imagesAlreadyUploaded];\r\n \r\n if(this.imagesAlreadyUploaded.length == 1){\r\n this.activeIndexGallery = 0; \r\n }\r\n \r\n this.cropperImages = [];\r\n this.fileUpload.clear();\r\n\r\n this.imagesAlreadyUploaded = this.activePositionProperty ? this.addPositionProperty(this.imagesAlreadyUploaded) : this.imagesAlreadyUploaded;\r\n \r\n if(this.uploadUrl!=undefined && this.identificatorValue !== 0){\r\n this.updateImage(this.imagesAlreadyUploaded);\r\n }else{\r\n this.onUploadFinished.emit(this.imagesAlreadyUploaded);\r\n }\r\n\r\n this.isUploadingMultiMode = false;\r\n },\r\n error: (error) => {\r\n this.isUploadingMultiMode = false;\r\n this.onErrorHandler.emit(error);\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n onCustomUploadMultiMode(event: any){\r\n if(this.allowMultipleImages == true){\r\n event.currentFiles.forEach((file: any, index: number) => {\r\n let foundIt = this.cropperImages.find(f => f.name == file.name);\r\n if(event.currentFiles.length == 0){\r\n this.openModalCropper(file, event.originalEvent);\r\n }else if(foundIt == undefined){\r\n this.openModalCropper(file, event.originalEvent);\r\n }\r\n });\r\n }else{\r\n this.openModalCropper(event.currentFiles[0], event.originalEvent);\r\n }\r\n }\r\n\r\n confirmDeleteImageMultiMode(event: any, image: any){\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget, \r\n message: this.imageUploadConfig.confirmDeleteMessageLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.imageUploadConfig.deleteImageButtonLabel, \r\n accept: () => {\r\n this.onDeleteImageMultiMode(image);\r\n }\r\n })\r\n }\r\n\r\n onDeleteFileMultiMode(event: any, file: File, uploader: FileUpload){\r\n const index = uploader.files.indexOf(file);\r\n uploader.remove(event, index);\r\n this.cropperImages = this.cropperImages.filter(s => !file.name.includes(s.name));\r\n }\r\n\r\n onDeleteImageMultiMode(image: any){\r\n this.isDeletingMultiMode = true;\r\n if(this.activeImageUpload){\r\n let deleteUrlFinal = this.deleteUrl+\"/\"+image[this.identificatorName];\r\n this.http.delete(deleteUrlFinal, {headers: this.headers}).subscribe({\r\n next: () => {\r\n this.getIndexToDelete(image); \r\n this.imagesAlreadyUploaded = this.imagesAlreadyUploaded.filter(img => (img.base64 !== image.base64) || (img[this.identificatorName] !== image[this.identificatorName]));\r\n this.isDeletingMultiMode = false;\r\n this.onDeleteImage.emit(image);\r\n },\r\n error: (error) => {\r\n this.isDeletingMultiMode = false;\r\n this.onErrorHandler.emit(error);\r\n this.onDeleteImage.emit(null);\r\n }\r\n })\r\n }else{\r\n this.getIndexToDelete(image); \r\n this.imagesAlreadyUploaded = this.imagesAlreadyUploaded.filter(img => (img.base64 !== image.base64) || (img[this.identificatorName] !== image[this.identificatorName]));\r\n this.onDeleteImage.emit(image);\r\n this.isDeletingMultiMode = false;\r\n }\r\n }\r\n\r\n getIndexToDelete(image: any){\r\n let imageIndex = this.imagesAlreadyUploaded.findIndex(img => {\r\n if((img.base64 != undefined)){\r\n if(img.base64 == image.base64){\r\n return img.index; \r\n }\r\n }else if(img[this.identificatorName] !== image[this.identificatorName]){\r\n return img.index; \r\n }\r\n return -1; \r\n });\r\n\r\n if(imageIndex+1 == this.imagesAlreadyUploaded.length){\r\n this.activeIndexGallery = imageIndex-1; \r\n }\r\n }\r\n\r\n updateImage(imagesToUpdate: any[]): any{\r\n let updateUrlFinal = this.updateUrl + \"/\" + this.identificatorValue;\r\n this.http.put(updateUrlFinal, imagesToUpdate, {headers: this.headers}).subscribe({\r\n next: (imagesUpdated: any) => {\r\n this.disableMoveButtons = false;\r\n this.imagesAlreadyUploaded = imagesUpdated;\r\n this.onUploadFinished.emit(this.imagesAlreadyUploaded);\r\n }\r\n });\r\n }\r\n\r\n openModalCropper(fileBlob: any, event?: any){\r\n const ref: DynamicDialogRef = this.dialogService.open(WImageCropperComponent, {\r\n header: this.imageUploadConfig.croppedDialogTranslations?.modal.header,\r\n width: '70rem',\r\n contentStyle: {\"overflow\": \"auto\", \"height\": \"auto\", \"padding-bottom\": \"8px\"},\r\n data: {dataModal: this.dimensionsInput, translations: this.imageUploadConfig.croppedDialogTranslations, blob: fileBlob},\r\n resizable: true\r\n });\r\n\r\n ref.onClose.subscribe((imageCropped: WFileB64) => {\r\n if(imageCropped){\r\n if(this.allowMultipleImages == false){\r\n this.onlyCroppedImageSelected = imageCropped;\r\n this.onReturnImagesB64.emit(this.mapToObjectB64(this.onlyCroppedImageSelected));\r\n }else{\r\n this.cropperImages.push(imageCropped);\r\n \r\n this.cropperImages = (this.activePositionProperty && this.activeImageUpload == false ) ? this.addPositionProperty(this.cropperImages) : this.cropperImages;\r\n\r\n if(this.activeImageUpload == false){\r\n this.imagesAlreadyUploaded.push(imageCropped);\r\n this.imagesAlreadyUploaded = [...this.imagesAlreadyUploaded];\r\n\r\n if(this.imagesAlreadyUploaded.length == 1){\r\n this.activeIndexGallery = 0; \r\n }\r\n\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.cropperImages));\r\n }else{\r\n this.onReturnImagesB64.emit(this.getArraysToCreateAndToUpdate(this.mapToObjectB64(this.cropperImages)));\r\n }\r\n }\r\n }else{\r\n if(this.allowMultipleImages){\r\n this.fileUpload._files = this.fileUpload._files.filter(f => !f.name.includes(fileBlob.name));\r\n let filesAux = this.fileUpload._files;\r\n this.fileUpload.clear();\r\n this.fileUpload._files = filesAux;\r\n }else{\r\n this.onlyImageSelected = null;\r\n this.fileuploadOnlyImage.clear();\r\n }\r\n }\r\n\r\n if((this.activeImageUpload == true) && (this.imageUploadConfig.allowAuto == true) && (this.cropperImages.length == this.fileUpload._files.length)){\r\n this.onCustomizeUploadFunctionMultiMode();\r\n }\r\n })\r\n }\r\n\r\n mapToObjectB64(images: any): ImageB64[]{\r\n if(Array.isArray(images) == false){\r\n return [{\r\n base64: images.base64,\r\n name: images.name,\r\n ...(images.position !== undefined && { position: images.position })\r\n }]\r\n }\r\n\r\n return images.map((img: any) => {\r\n return {\r\n base64: img.base64,\r\n name: img.name, \r\n ...(img.position !== undefined && { position: img.position })\r\n }\r\n });\r\n }\r\n\r\n getArraysToCreateAndToUpdate(images: any[]){\r\n return {\r\n toCreate: \r\n images.filter((img) => img[this.identificatorName] == undefined),\r\n toUpdated: \r\n images.filter((img) => img.base64 == undefined)\r\n }\r\n }\r\n\r\n addPositionProperty(imagesArray: any[]){\r\n imagesArray = imagesArray.map((img, index) => ({\r\n ...img,\r\n position: index\r\n }))\r\n\r\n return imagesArray;\r\n }\r\n\r\n onImageMouseOver(file: any) {\r\n this.buttonRemoveOnlyImage.toArray().forEach(btnRemove => {\r\n btnRemove.nativeElement.id === file.name ? btnRemove.nativeElement.style.display = 'flex' : null;\r\n })\r\n }\r\n\r\n onImageMouseLeave(file: any) {\r\n this.buttonRemoveOnlyImage.toArray().forEach(btnRemove => {\r\n btnRemove.nativeElement.id === file.name ? btnRemove.nativeElement.style.display = 'none' : null;\r\n })\r\n }\r\n\r\n findIndex(img: any){\r\n return this.imagesAlreadyUploaded.indexOf(img);\r\n }\r\n\r\n openImageFileSelector(){\r\n this.fileUpload.choose(); \r\n }\r\n\r\n openSingleImageFileSelector(){\r\n this.fileuploadOnlyImage.choose(); \r\n } \r\n\r\n getGalleryClass(){\r\n if(this.activeFieldVersion == true){\r\n return 'w-image-file-uploader-gallery-field'; \r\n }\r\n return 'w-image-file-uploader-gallery'; \r\n }\r\n}\r\n","\r\n<w-input-label *ngIf=\"activeFieldVersion == true\" [label]=\"label\" [tooltip]=\"tooltip\" [required]=\"required\"></w-input-label>\r\n<div *ngIf=\"activeFieldVersion == true && (label != undefined && label.length > 0)\" class=\"input-label-gap-divider\"></div>\r\n<p-fileUpload *ngIf=\"allowMultipleImages == false; else withCarousel\" #fileUploadOnlyImage class=\"w-image-file-button\" \r\n [ngClass]=\"{'w-image-file-uploader' : activeFieldVersion == false, \r\n 'w-image-file-uploader-field' : activeFieldVersion == true, \r\n 'w-image-file-uploader-field-no-image' : activeFieldVersion == true && (onlyCroppedImageSelected == null || undefined ) && (imageSingleMode == null || undefined)}\"\r\n mode=\"advanced\" \r\n [accept]=\"imageUploadConfig.acceptImageTypes\" \r\n [multiple]=\"false\" \r\n (onSelect)=\"onCustomUploadSingleMode($event)\" \r\n [uploadLabel]=\"onlyCroppedImageSelected ? (onlyCroppedImageSelected.name.length>6)? (onlyCroppedImageSelected.name | slice:0:6)+'...':(onlyCroppedImageSelected.name) : ''\" \r\n [customUpload]=\"true\" \r\n (uploadHandler)=\"onCustomizeUploadFunctionSingleMode($event)\" \r\n [maxFileSize]=\"imageUploadConfig.maxImageSize\">\r\n <ng-template let-file let-i=\"index\" pTemplate='file'>\r\n <div *ngIf=\"activeImageUpload\"></div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <p-progressBar *ngIf=\"false\"></p-progressBar>\r\n <div *ngIf=\"(onlyCroppedImageSelected != null || undefined) || (imageSingleMode != null || undefined)\" style=\"flex-grow: 1;\">\r\n <p-galleria \r\n [ngClass]=\"getGalleryClass()\" \r\n [value]=\"(onlyCroppedImageSelected !== null) ? [onlyCroppedImageSelected.fileBase64] : (imageUploadConfig.singleModeImageDefault ? [imageUploadConfig.singleModeImageDefault] : (imageSingleMode ? [imageSingleMode] : ['https://wappingstoragedev.blob.core.windows.net/wapping/appresources/ic_image_blue.png']))\" \r\n [responsiveOptions]=\"carouselImagesResponsiveOptions\" \r\n [containerStyle]=\"{ 'max-width': '100%', 'max-height':'100%'}\" \r\n [numVisible]=\"2\" \r\n [showItemNavigators]=\"false\"\r\n [showThumbnails]=\"false\" [showIndicators]=\"false\">\r\n <ng-template pTemplate=\"item\" let-image>\r\n <div *ngIf=\"(viewSingleMode == false && (imageSingleMode != null || undefined)) || \r\n (viewSingleMode == false && onlyCroppedImageSelected != null)\" class=\"w-image-file-uploader-delete-button flex align-content-center justify-content-center\" style=\"width: 100%;\">\r\n <w-button buttonClass=\"w-image-file-uploader-delete-button-icon\" icon=\"pi pi-trash\" type=\"text\" (click)=\"removeImageSingleMode($event, onlyImageSelected)\"></w-button>\r\n </div>\r\n <div class=\"flex flex-wrap align-content-center justify-content-center\" [ngClass]=\"{'w-image-file-uploader-field-img-container': activeFieldVersion}\" style=\"object-fit: contain; /* width: 300px; height: 300px; */\">\r\n <img [src]=\"image\" style=\"max-width:100%;\r\n max-height:100%;\r\n height: auto;\r\n width:auto;\" />\r\n </div>\r\n </ng-template>\r\n </p-galleria>\r\n </div>\r\n <div *ngIf=\"viewSingleMode == false; else viewSingleModeMessage\" (click)=\"openSingleImageFileSelector()\" \r\n class=\"w-image-file-uploader-space-container flex flex-column justify-content-center align-items-center\" style=\"cursor: pointer;\"\r\n [ngClass]=\"{'w-image-file-uploader-container-height' : (onlyCroppedImageSelected == null || undefined ) && (imageSingleMode == null || undefined) && activeFieldVersion == false, 'w-image-file-uploader-field-container-height' : activeFieldVersion == true && (onlyCroppedImageSelected == null || undefined ) && (imageSingleMode == null || undefined)}\">\r\n <span class=\"pi pi-upload subtitle1 textMainColor\"></span>\r\n <span class=\"subtitle1 textMainColor m-2\">\r\n {{imageUploadConfig.contentHeaderLabel}}\r\n </span>\r\n <span class=\"textSoftColor text-center\">\r\n {{imageUploadConfig.contentSubheaderLabel}}\r\n </span>\r\n </div>\r\n <ng-template #viewSingleModeMessage>\r\n <div *ngIf=\"imageSingleMode == null || undefined\" class=\"textSoftColor flex justify-content-center align-items-center w-image-file-uploader-container-height\">\r\n {{imageUploadConfig.viewModecontentLabel}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n</p-fileUpload>\r\n<ng-template #withCarousel>\r\n <p-fileUpload *ngIf=\"imageUploadConfig\" #fileUpload class=\"w-image-file-button\" \r\n [ngClass]=\"{'w-image-file-uploader' : activeFieldVersion == false, \r\n 'w-image-file-uploader-field' : activeFieldVersion == true, \r\n 'w-image-file-uploader-field-no-image' : activeFieldVersion == true && (imagesAlreadyUploaded.length == 0 || undefined ) || (imagesAlreadyUploaded == null || undefined)}\"\r\n name=\"mediaImages[]\" \r\n [accept]=\"imageUploadConfig.acceptImageTypes\" \r\n mode=\"advanced\" \r\n [customUpload]=\"true\" \r\n (onSelect)=\"onCustomUploadMultiMode($event)\" \r\n (uploadHandler)=\"onCustomizeUploadFunctionMultiMode($event)\" \r\n [uploadLabel]=\"imageUploadConfig.uploadButtonLabel ?? ''\" \r\n [chooseLabel]=\"imageUploadConfig.chooseButtonLabel ?? ''\" \r\n [cancelLabel]=\"imageUploadConfig.cancelButtonLabel ?? ''\" \r\n [showUploadButton]=\"activeImageUpload\"\r\n [showCancelButton]=\"activeImageUpload\"\r\n [auto]=\"imageUploadConfig.allowAuto\" \r\n [multiple]=\"true\" \r\n [maxFileSize]=\"imageUploadConfig.maxImageSize\" \r\n [chooseStyleClass]=\"'p-button-icon p-button-icon-right'\">\r\n <ng-template let-file let-i=\"index\" pTemplate='file'>\r\n <div *ngIf=\"activeImageUpload && cropperImages.length > 0\" class=\"p-fileupload-row\">\r\n <div><img [src]=\"cropperImages[i]?.fileBase64\" width=\"50\"/></div>\r\n <div class=\"p-fileupload-filename\">{{file.name}}</div>\r\n <div> <w-button icon=\"pi pi-times\" (onClick)=\"onDeleteFileMultiMode($event, file, fileUpload)\"></w-button> </div>\r\n </div>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\">\r\n <p-progressBar *ngIf=\"isUploadingMultiMode\" class=\"p-element ng-star-inserted\" [mode]=\"'indeterminate'\">\r\n <div role=\"progressbar\" aria-valuemin=\"0\" aria-valuenow=\"0\" aria-valuemax=\"100\" data-pc-name=\"progressbar\" data-pc-section=\"root\" class=\"p-progressbar p-component p-progressbar-determinate\">\r\n <div class=\"p-progressbar-value p-progressbar-value-animate ng-star-inserted\" style=\"display: flex; width: 0%;\" data-pc-section=\"value\"></div>\r\n </div>\r\n </p-progressBar>\r\n <div *ngIf=\"imagesAlreadyUploaded.length > 0\" style=\"flex-grow: 1;\">\r\n <p-galleria \r\n [ngClass]=\"getGalleryClass()\" \r\n [value]=\"imagesAlreadyUploaded\" \r\n [activeIndex]=\"activeIndexGallery\" \r\n [responsiveOptions]=\"carouselImagesResponsiveOptions\" \r\n [containerStyle]=\"{ 'max-width': '100%', 'max-height':'100%'}\" \r\n [numVisible]=\"3\" \r\n [showItemNavigators]=\"true\"\r\n [showThumbnails]=\"false\">\r\n <ng-template pTemplate=\"item\" let-image>\r\n <div *ngIf=\"viewMultiMode == false\" class=\"w-image-file-uploader-delete-button flex align-content-center justify-content-center\" style=\"width: 100%;\">\r\n <w-button buttonClass=\"w-image-file-uploader-delete-button-icon\" icon=\"pi pi-trash\" type=\"text\" (onClick)=\"confirmDeleteImageMultiMode($event, image)\" [loading]=\"isDeletingMultiMode\"></w-button>\r\n </div>\r\n <div class=\"flex flex-wrap align-content-center justify-content-center\" [ngClass]=\"{'w-image-file-uploader-field-img-container': activeFieldVersion}\" style=\"object-fit: contain;\">\r\n <img [src]=\"readProperty(image, imageUploadConfig.imagePropertyNames[0]) ?? image.fileBase64\" style=\"max-width:100%;\r\n max-height:100%;\r\n height: auto;\r\n width:auto;\" />\r\n </div>\r\n <div class=\"w-image-file-uploader-move-buttons flex align-content-center justify-content-center\" style=\"width: 100%;\">\r\n <div *ngIf=\"viewMultiMode == false\" class=\"w-image-file-uploader-multi-action-button\" [ngClass]=\"{'w-image-gile-uploader-hide-move-button' : findIndex(image) == 0 || disableMoveButtons}\" (click)=\"moveImageToLeft(image)\">\r\n <w-icons name=\"doubleArrowLeft\" class=\"w-image-file-uploader-arrow\" [height]=\"10\" [width]=\"10\" [color]=\"'white'\"></w-icons>\r\n </div>\r\n\r\n <div *ngIf=\"isDeletingMultiMode == false; else indexLoading\" class=\"w-image-file-uploader-multi-images-index flex align-items-center justify-content-center\">\r\n {{ findIndex(image) + 1 }} / {{ imagesAlreadyUploaded.length }}\r\n </div>\r\n <ng-template #indexLoading>\r\n <div class=\"w-image-file-uploader-multi-images-index flex align-items-center justify-content-center\"> - / - </div>\r\n </ng-template>\r\n \r\n <div *ngIf=\"viewMultiMode == false\" class=\"w-image-file-uploader-multi-action-button\" [ngClass]=\"{'w-image-gile-uploader-hide-move-button' : (findIndex(image) == imagesAlreadyUploaded.length-1) || disableMoveButtons}\" (click)=\"moveImageToRight(image)\">\r\n <w-icons name=\"doubleArrowRight\" class=\"w-image-file-uploader-arrow\" [height]=\"10\" [width]=\"10\" [color]=\"'white'\"></w-icons>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </p-galleria>\r\n </div>\r\n <div *ngIf=\"viewMultiMode == false; else viewMultiModeMessage\" (click)=\"openImageFileSelector()\" \r\n class=\"w-image-file-uploader-space-container flex flex-column justify-content-center align-items-center\" \r\n style=\"cursor: pointer;\" \r\n [ngClass]=\"{'w-image-file-uploader-container-height' : (imagesAlreadyUploaded.length == 0 || undefined ) || (imagesAlreadyUploaded == null || undefined) && activeFieldVersion == false, 'w-image-file-uploader-field-container-height' : activeFieldVersion == true && (imagesAlreadyUploaded.length == 0 || undefined ) || (imagesAlreadyUploaded == null || undefined)}\">\r\n <span class=\"pi pi-upload subtitle1 textMainColor\"></span>\r\n <span class=\"subtitle1 textMainColor m-2\">\r\n {{imageUploadConfig.contentHeaderLabel}}\r\n </span>\r\n <span class=\"textSoftColor text-center\">\r\n {{imageUploadConfig.contentSubheaderLabel}}\r\n </span>\r\n </div>\r\n <ng-template #viewMultiModeMessage>\r\n <div *ngIf=\"imagesAlreadyUploaded.length==0\" class=\"textSoftColor flex justify-content-center align-items-center w-image-file-uploader-container-height\">\r\n {{imageUploadConfig.viewModecontentLabel}}\r\n </div>\r\n </ng-template>\r\n </ng-template>\r\n </p-fileUpload>\r\n</ng-template>\r\n\r\n<p-confirmPopup></p-confirmPopup>\r\n","import { Component, ElementRef, EventEmitter, HostListener, Input, OnInit, Output, ViewChild } from '@angular/core';\r\nimport { EmbedConfig } from '../../shared/models/embed-config.model';\r\nimport { Embed, IReportEmbedConfiguration, Report, models, service } from 'powerbi-client';\r\nimport { PowerBIReportEmbedComponent } from 'powerbi-client-angular';\r\n\r\n@Component({\r\n selector: 'w-powerbi-report',\r\n templateUrl: './w-powerbi-report.component.html',\r\n styleUrls: ['./w-powerbi-report.component.css']\r\n})\r\nexport class WPowerbiReportComponent implements OnInit {\r\n\r\n @Input('embedConfig') embedConfig!: EmbedConfig;\r\n @Input('reportTitle') reportTitle!: string;\r\n @Input('hasReportFilters') hasReportFilters: boolean = false;\r\n @Input('parameterReportFilters') parameterReportFilters!: string;\r\n @Input('showReportFilters') showReportFilters: boolean = false;\r\n @Input('filterPanelPosition') filterPanelPosition: string = \"bottom\";\r\n @Input('showPageNavigation') showPageNavigation: boolean = false;\r\n @Input('showPrintButton') showPrintButton: boolean = false;\r\n @Input('showFullScreenButton') showFullScreenButton: boolean = false;\r\n @Input('showVisualHeaders') showVisualHeaders: boolean = true;\r\n @Input('showRefreshButton') showRefreshButton: boolean = false;\r\n @Input('height') height: string = '810px';\r\n @Input('filters') filters!: models.IFilter[];\r\n // @Input('zoomRatio') zoomRatio: number = 0.00175;\r\n\r\n @Output('refreshNotAllowed') refreshNotAllowed = new EventEmitter<boolean>();\r\n\r\n powerbiReportWidth!: number;\r\n private _zoom!: number;\r\n\r\n @Input() set zoom(value: number) {\r\n this._zoom = value;\r\n this.setReportZoom(this._zoom);\r\n }\r\n\r\n get zoom(): number {\r\n return this._zoom;\r\n }\r\n reportClass = 'report-container';\r\n\r\n reportConfig: IReportEmbedConfiguration = {\r\n type: 'report',\r\n embedUrl: undefined,\r\n tokenType: models.TokenType.Aad,\r\n accessToken: undefined,\r\n filters: undefined,\r\n settings: {\r\n layoutType: models.LayoutType.Custom,\r\n customLayout: {\r\n displayOption: models.DisplayOption.FitToWidth\r\n },\r\n background: models.BackgroundType.Transparent\r\n }\r\n };\r\n\r\n eventHandlersMap = new Map([\r\n ['loaded', () => {\r\n const report = this.reportObj.getReport();\r\n report.setComponentTitle('Embedded report');\r\n if (this.filters) {\r\n this.updateFilters(this.filters);\r\n } \r\n },\r\n ],\r\n ['rendered', () => {\r\n }],\r\n ['error', (event?: service.ICustomEvent<any>) => {\r\n if (event) {\r\n console.error(event.detail);\r\n }\r\n },\r\n ],\r\n ['visualClicked', () => { }],\r\n ['pageChanged', (event) => { }],\r\n ]) as Map<string, (event?: service.ICustomEvent<any>, embeddedEntity?: Embed) => void | null>;\r\n\r\n @ViewChild(PowerBIReportEmbedComponent) reportObj!: PowerBIReportEmbedComponent;\r\n\r\n // @HostListener('window:resize', ['$event'])\r\n // onResize(event: any) {\r\n // this.getReportDivWidth();\r\n // }\r\n\r\n constructor(private elementRef: ElementRef) { }\r\n\r\n ngOnInit(): void {\r\n this.embedReport();\r\n this.elementRef.nativeElement.style.setProperty(\"--height\", this.height)\r\n }\r\n\r\n // getReportDivWidth() {\r\n // this.powerbiReportWidth = this.elementRef.nativeElement.querySelector('#powerbiContainer').offsetWidth;\r\n // this.setReportZoom(this.powerbiReportWidth * this.zoomRatio);\r\n // }\r\n\r\n async embedReport(): Promise<void> {\r\n try {\r\n this.reportConfig = {\r\n ...this.reportConfig,\r\n id: this.embedConfig!.id,\r\n embedUrl: this.embedConfig!.embedUrl,\r\n accessToken: this.embedConfig!.embedToken.token,\r\n filters: this.parameterReportFilters ? [JSON.parse(this.parameterReportFilters)] : undefined,\r\n settings: {\r\n panes: {\r\n filters: {\r\n visible: this.showReportFilters\r\n },\r\n pageNavigation: {\r\n visible: this.showPageNavigation\r\n },\r\n },\r\n visualSettings: {\r\n visualHeaders: [\r\n {\r\n settings: {\r\n visible: this.showVisualHeaders\r\n }\r\n }\r\n ]\r\n },\r\n customLayout: {\r\n displayOption: models.DisplayOption.FitToWidth\r\n },\r\n background: models.BackgroundType.Transparent\r\n }\r\n };\r\n } catch (error: any) {\r\n console.log(`Failed to fetch config for report. Status: ${error.status} ${error.statusText}`);\r\n return;\r\n }\r\n }\r\n\r\n async refresh() {\r\n const report: Report = this.reportObj.getReport();\r\n try {\r\n await report.refresh();\r\n } catch (errors: any) {\r\n console.log(errors);\r\n if (errors.message = \"refreshNotAllowed\") this.onRefreshNotAllowed();\r\n }\r\n }\r\n\r\n async updateFilters(filters: models.IFilter[]) {\r\n try {\r\n const report: Report = this.reportObj.getReport();\r\n await report.removeFilters();\r\n await report.updateFilters(models.FiltersOperations.Add, filters);\r\n } catch (error: any) {\r\n console.error(error);\r\n if (error.message = \"refreshNotAllowed\") this.onRefreshNotAllowed();\r\n return;\r\n }\r\n }\r\n\r\n async setReportZoom(zoom: number) {\r\n try {\r\n const report: Report = this.reportObj.getReport();\r\n await report.setZoom(zoom);\r\n } catch (error) {\r\n console.log(\"Error setting report zoom: \" + error)\r\n }\r\n }\r\n\r\n print() {\r\n const report: Report = this.reportObj.getReport();\r\n report.print();\r\n }\r\n\r\n enterFullScreen() {\r\n const report: Report = this.reportObj.getReport();\r\n report.fullscreen();\r\n }\r\n\r\n onRefreshNotAllowed() {\r\n this.refreshNotAllowed.emit(true);\r\n }\r\n}\r\n","<div *ngIf=\"reportTitle || showPrintButton || showFullScreenButton\" class=\"flex justify-content-between flex-wrap\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <div class=\"text-right\">\r\n <p-button *ngIf=\"showRefreshButton\" icon=\"pi pi-refresh\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"refresh()\">\r\n </p-button>\r\n <p-button *ngIf=\"showPrintButton\" icon=\"pi pi-print\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"print()\">\r\n </p-button>\r\n <p-button *ngIf=\"showFullScreenButton\" icon=\"pi pi-arrows-alt\" \r\n styleClass=\"p-button-rounded p-button-secondary p-button-text\"\r\n (onClick)=\"enterFullScreen()\">\r\n </p-button>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'right'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-right\"></ng-content>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'left'\" class=\"grid\">\r\n <div class=\"col-12 md:col-12 lg:col-8\">\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-left\"></ng-content>\r\n </div>\r\n <div class=\"col-12 md:col-12 lg:col-4\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"filterPanelPosition == 'bottom'\">\r\n <ng-container *ngTemplateOutlet=\"powerbiReport\"></ng-container>\r\n <ng-content *ngIf=\"hasReportFilters\" select=\".report-filters-bottom\"></ng-content>\r\n</div>\r\n\r\n<ng-template #powerbiReport>\r\n <div id=\"powerbiContainer\">\r\n <powerbi-report [embedConfig]=\"reportConfig\" \r\n [cssClassName]=\"reportClass\" \r\n [eventHandlers]=\"eventHandlersMap\">\r\n </powerbi-report>\r\n </div>\r\n</ng-template>","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { IconType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-sidebar',\r\n templateUrl: './w-sidebar.component.html',\r\n styleUrls: ['./w-sidebar.component.scss']\r\n})\r\nexport class WSidebarComponent implements OnInit {\r\n @Input('headerTitle') headerTitle!: string;\r\n @Input('showCloseIcon') showCloseIcon: boolean = false; \r\n @Input('activeGrid') activeGrid: boolean = false;\r\n @Input('closeOnOverlay') closeOnOverlay: boolean = false;\r\n @Input('styleClass') styleClass: string = \"w-full md:w-4 lg:w-4\";\r\n @Input('icon') icon!: string ;\r\n @Input('iconWidth') iconWidth: number = 40; \r\n @Input('iconHeight') iconHeight: number = 40; \r\n\r\n iconType: typeof IconType = IconType;\r\n \r\n @Output() visibleChange: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n private _visible: boolean = false;\r\n @Input()\r\n get visible(): boolean {\r\n return this._visible;\r\n }\r\n\r\n set visible(value: boolean) {\r\n if (value !== this._visible) {\r\n this._visible = value;\r\n this.visibleChange.emit(this._visible);\r\n }\r\n }\r\n\r\n constructor(){}\r\n \r\n ngOnInit(): void {}\r\n\r\n onClose(){\r\n this.visible = false;\r\n }\r\n\r\n getIconType(){\r\n if(this.icon.includes(\"pi pi-\")){\r\n return IconType.pIcon;\r\n }else if(this.isURL(this.icon)){\r\n return IconType.urlIcon;\r\n }else {\r\n return IconType.wIcon;\r\n }\r\n }\r\n\r\n private isURL(url: string) {\r\n const patronURL = /^(ftp|http|https):\\/\\/[^ \"]+$/;\r\n return patronURL.test(url);\r\n }\r\n}\r\n","<p-sidebar [(visible)]=\"visible\" position=\"right\" [showCloseIcon]=\"showCloseIcon\" [modal]=\"true\" [blockScroll]=\"true\" [dismissible]=\"closeOnOverlay\" [styleClass]=\"styleClass\" class=\"wapp-sidebar\">\r\n <ng-template pTemplate=\"header\">\r\n <span *ngIf=\"icon && getIconType() == iconType.pIcon\" class=\"w-sidebar-icon icon-large-size textMainColor\" [ngClass]=\"icon\"></span>\r\n <w-icons *ngIf=\"icon && getIconType() == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"icon\" color=\"var(--text-color)\" [width]=\"24\" [height]=\"24\"></w-icons>\r\n <div *ngIf=\"icon && getIconType() == iconType.urlIcon\" class=\"flex align-content-start flex-wrap\">\r\n <div class=\"flex align-items-center justify-content-center w-sidebar-img-container\">\r\n <span class=\"w-sidebar-span-img-container w-sidebar-icon flex align-items-center justify-content-center\" [ngStyle]=\"{'width.px': iconWidth, 'height.px': iconHeight}\">\r\n <img class=\"w-sidebar-img-responsive\" [src]=\"icon\">\r\n </span>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <span class=\"w-sidebar-title-text m-0\">{{headerTitle}}</span>\r\n </div>\r\n </div>\r\n \r\n <span *ngIf=\"icon == null || getIconType() != iconType.urlIcon\" class=\"w-sidebar-title-text m-0\">{{headerTitle}}</span>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"content\">\r\n <div [ngClass]=\"{'w-sidebar-content grid' : activeGrid}\">\r\n <ng-content></ng-content>\r\n </div>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"footer\"></ng-template>\r\n</p-sidebar>\r\n","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-buttons-footer',\r\n templateUrl: './w-buttons-footer.component.html',\r\n styleUrls: ['./w-buttons-footer.component.scss']\r\n})\r\nexport class WButtonsFooterComponent {\r\n\r\n}\r\n","<div class=\"flex flex-row-reverse flex-wrap right-0 bottom-0 fixed wapp-button-footer\">\r\n <ng-content select=\".wapp-buttons-footer\"></ng-content>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnChanges, OnInit, Output, SimpleChanges, ViewChild } from '@angular/core';\r\nimport { ConfirmationService, MessageService, TreeDragDropService, TreeNode } from 'primeng/api';\r\nimport { TreeTable } from 'primeng/treetable';\r\nimport { ActionButtonResponse, WTreeTable } from '../../shared/models/w-tree-table.model';\r\nimport { TableColumnTypes, WDatePipeFormatType, WappTableColumnAlignTypes } from '../../shared/models/enums.model';\r\n\r\n@Component({\r\n selector: 'w-tree-table',\r\n templateUrl: './w-tree-table.component.html',\r\n styleUrls: ['./w-tree-table.component.scss'],\r\n providers: [TreeDragDropService, MessageService, ConfirmationService]\r\n})\r\nexport class WTreeTableComponent implements OnInit, OnChanges {\r\n\r\n loadingElements: boolean = true;\r\n collapsedElementTree: boolean = true;\r\n columns: any;\r\n openSidebar: boolean = false;\r\n elementInfo!: any;\r\n tableSkeletons: any = [{name: ''}, {name: ''}, {name: ''}, {name: ''}];\r\n wappDateFormat: typeof WDatePipeFormatType = WDatePipeFormatType;\r\n\r\n private _totalRecords: number = 0;\r\n\r\n set totalRecords(value: number) {\r\n this._totalRecords = value;\r\n } \r\n\r\n get totalRecords() {\r\n return this._totalRecords;\r\n }\r\n\r\n private _elements: any;\r\n \r\n @Input('elements') set elements(value: any) {\r\n this._elements = value;\r\n };\r\n get elements() {\r\n return this._elements;\r\n }\r\n @Input('rowsPerPage') rowsPerPage: number = 10;\r\n @Input('loading') loading: boolean = true;\r\n @Input('wappTreeTableObject') wappTreeTableObject!: WTreeTable;\r\n @Input() getChildFunction!: (element: any) => any[] | null;\r\n\r\n @Output('onActionButtonClick') onActionButtonClick = new EventEmitter<ActionButtonResponse>();\r\n @Output('onDeleteElementSelect') onDeleteElementSelect = new EventEmitter<any>();\r\n @Output('onCantDeleteElementWarn') onCantDeleteElementWarn = new EventEmitter<boolean>();\r\n \r\n @ViewChild('treeTable') treeTable!: TreeTable;\r\n\r\n constructor(\r\n private confirmationService: ConfirmationService) { }\r\n\r\n ngOnChanges(changes: SimpleChanges): void {\r\n if(changes?.['elements'] && changes?.['elements']?.currentValue.length != 0) {\r\n this.totalRecords = changes?.['elements']?.currentValue.length;\r\n }\r\n }\r\n\r\n ngOnInit(): void {\r\n this.initComponent();\r\n }\r\n\r\n initComponent() {\r\n this.columns = this.wappTreeTableObject.columns;\r\n }\r\n\r\n filterGlobal(table: TreeTable, event: any) {\r\n table.filterGlobal((event.target as HTMLInputElement).value, 'contains')\r\n }\r\n\r\n actionButtonClicked(id: number, element: any) {\r\n this.onActionButtonClick.emit({id: id, element: element})\r\n }\r\n\r\n confirmDeleteSelected(event: any, data: any) {\r\n this.confirmationService.confirm({\r\n target: event.target as EventTarget,\r\n message: this.wappTreeTableObject.confirmSingleDeleteLabel,\r\n icon: \"pi pi-exclamation-triangle\",\r\n acceptLabel: this.wappTreeTableObject.confirmDeleteBtnLabel,\r\n accept: () => {\r\n this.deleteNode(data);\r\n }\r\n });\r\n }\r\n\r\n deleteNode(node: any) {\r\n const children = this.getChildFunction(node);\r\n if (!children || children.length === 0) {\r\n this.onDeleteElementSelect.emit(node);\r\n } else {\r\n this.onCantDeleteElementWarn.emit(true);\r\n }\r\n }\r\n \r\n\r\n updateShowingTableRows() {\r\n this.elements = [...this.elements];\r\n }\r\n\r\n private expandRecursive(node: TreeNode, isExpand: boolean) {\r\n node.expanded = isExpand;\r\n if (node.children) {\r\n node.children.forEach(childNode => {\r\n this.expandRecursive(childNode, isExpand);\r\n });\r\n }\r\n }\r\n\r\n private findTreeNode(listNode: TreeNode[], nodeId: number) {\r\n for (let node of listNode) {\r\n if (node.data.productCategoryId == nodeId) {\r\n return node;\r\n }\r\n\r\n if (node.children) {\r\n let newNodeFound: any = this.findTreeNode(node.children, nodeId);\r\n if (newNodeFound) {\r\n return newNodeFound;\r\n }\r\n }\r\n }\r\n return undefined;\r\n }\r\n\r\n getTableColumnAlignClass(alignment: number) {\r\n if(alignment == WappTableColumnAlignTypes.Right) return 'text-right';\r\n if(alignment == WappTableColumnAlignTypes.Left) return 'text-left';\r\n if(alignment == WappTableColumnAlignTypes.Center) return 'text-center';\r\n return 'text-left'\r\n }\r\n\r\n getTableColumnAlignFlexClass(alignment: number) {\r\n if(alignment == WappTableColumnAlignTypes.Right) return 'flex justify-content-end';\r\n if(alignment == WappTableColumnAlignTypes.Left) return 'flex justify-content-start';\r\n if(alignment == WappTableColumnAlignTypes.Center) return 'flex justify-content-center';\r\n return 'justify-content-start'\r\n }\r\n public get tableColumnTypes(): typeof TableColumnTypes {\r\n return TableColumnTypes;\r\n }\r\n\r\n readProperty(obj: any, prop:string):any {\r\n if(typeof obj === 'undefined') {\r\n return false;\r\n }\r\n \r\n var _index = prop.indexOf('.')\r\n if(_index > -1) {\r\n return this.readProperty(obj[prop.substring(0, _index)], prop.substr(_index + 1));\r\n }\r\n return obj[prop];\r\n }\r\n\r\n getBooleanColumnClass(index: number, valueProperty: boolean){\r\n const booleanIconClasses = [];\r\n\r\n if (valueProperty == true) {\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].trueIcon ?? '');\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].trueIconColor ?? '');\r\n } else if (valueProperty == false) {\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].falseIcon ?? '');\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].falseIconColor ?? '');\r\n } else if (valueProperty == null) {\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].nullIcon ?? '');\r\n booleanIconClasses.push(this.wappTreeTableObject.columnBooleanTypeIcons[index].nullIconColor ?? '');\r\n }\r\n\r\n return booleanIconClasses;\r\n }\r\n}\r\n","<div *ngIf=\"wappTreeTableObject\" [class.table-container]=\"wappTreeTableObject.tableContainer\">\r\n <p-treeTable *ngIf=\"!loading && elements; else loadingTable\"\r\n #treeTable [value]=\"elements\" \r\n class=\"w-table-styles\"\r\n [columns]=\"columns\" \r\n [scrollable]=\"true\"\r\n [tableStyle]=\"{'min-width': wappTreeTableObject.tableMinWidth!}\"\r\n [loading]=\"loadingElements\"\r\n [showLoader]=\"false\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"wappTreeTableObject.currentPageReportTemplate ? wappTreeTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n styleClass=\"p-treetable-striped\">\r\n\r\n <ng-template *ngIf=\"true\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span class=\"showing-per-page\"> {{wappTreeTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords!\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"updateShowingTableRows()\">\r\n </p-inputNumber>\r\n <span class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter (input)=\"filterGlobal(treeTable, $event)\" \r\n [placeholder]=\"wappTreeTableObject.searchPlaceholder\" class=\"w-full height-input wapp-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns; index as i\" \r\n class=\"'{{col.field}}-field'\"\r\n [ttSortableColumn]=\"col.field\"\r\n [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\">\r\n <div [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignFlexClass(wappTreeTableObject.columnAlign[i]) : 'flex justify-content-start'\" >\r\n <div>\r\n {{ col.header }}\r\n </div>\r\n <div>\r\n <p-treeTableSortIcon [field]=\"col.field\"></p-treeTableSortIcon>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"buttons-field\">\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr>\r\n <ng-template ngFor let-columnType [ngForOf]=\"wappTreeTableObject.columnTypes!\" let-i=\"index\">\r\n <td *ngIf=\"columnType == tableColumnTypes.Image\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-center'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n <img *ngIf=\"readProperty(rowData, wappTreeTableObject.columns[i].field)\" \r\n [src]=\"readProperty(rowData, wappTreeTableObject.columns[i].field)\" \r\n class=\"element-image-width\"/>\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Text\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) }}\r\n </div>\r\n </div> \r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Number\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-right'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Currency\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-right'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | currency }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Badge\" [style]=\"'width: '+wappTreeTableObject.columnWidths[i]\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-center'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n <w-badge [label]=\"readProperty(rowData, wappTreeTableObject.columns[i].field)\" [color]=\"'info'\"></w-badge> \r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Boolean\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-center'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n <i class=\"pi\" [ngClass]=\"getBooleanColumnClass(i, readProperty(rowData, wappTreeTableObject.columns[i].field))\"></i>\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.Date\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.ShortDate\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.d }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.LongDate\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.D }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeShortTime\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.g }}\r\n </div>\r\n </div>\r\n </td>\r\n <td *ngIf=\"columnType == tableColumnTypes.GeneralDateTimeLongTime\" \r\n [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <div [class.flex]=\"i === 0\" [class.justify-content-between]=\"i === 0\">\r\n <div [class.align-content-center]=\"i === 0\">\r\n <p-treeTableToggler [rowNode]=\"rowNode\" *ngIf=\"i === 0\"></p-treeTableToggler>\r\n </div>\r\n <div [class.my-auto]=\"i === 0\">\r\n {{ readProperty(rowData, wappTreeTableObject.columns[i].field) | wappDate : wappDateFormat.G }}\r\n </div>\r\n </div>\r\n </td>\r\n </ng-template>\r\n <td class=\"buttons-field\">\r\n <div class=\"flex justify-content-end\">\r\n <span *ngFor=\"let button of wappTreeTableObject.actionButtons\">\r\n <p-button [icon]=\"'pi '+ button.icon\" (click)=\"actionButtonClicked(button.id, rowData)\" [pTooltip]=\"button.tooltip!\" [tooltipPosition]=\"button.tooltipPosition!\" [styleClass]=\"button.styleClass!\"></p-button>\r\n </span>\r\n <p-button *ngIf=\"wappTreeTableObject.hasDeleteButton\" icon=\"pi pi-trash\" (click)=\"confirmDeleteSelected($event, rowData)\" [pTooltip]=\"wappTreeTableObject.deleteButtonTooltip!\" tooltipPosition=\"bottom\" class=\"px-2\" styleClass=\"p-button-text p-button-danger\"></p-button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length\">\r\n {{wappTreeTableObject.noRecordsLabel}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n\r\n <ng-template #loadingTable>\r\n <p-treeTable\r\n #treeTable [value]=\"tableSkeletons\" \r\n class=\"w-table-styles\"\r\n [columns]=\"columns\" \r\n [scrollable]=\"true\"\r\n [tableStyle]=\"{'min-width':'50rem'}\"\r\n [loading]=\"loadingElements\"\r\n [showLoader]=\"false\"\r\n [paginator]=\"true\"\r\n [rows]=\"rowsPerPage\"\r\n [rowHover]=\"true\"\r\n [totalRecords]=\"totalRecords\"\r\n [showCurrentPageReport]=\"true\"\r\n [currentPageReportTemplate]=\"wappTreeTableObject.currentPageReportTemplate ? wappTreeTableObject.currentPageReportTemplate + ' ' + rowsPerPage + ' de ' + totalRecords! : 'Showing ' + rowsPerPage + ' of ' + totalRecords!\"\r\n styleClass=\"p-treetable-striped\">\r\n\r\n <ng-template *ngIf=\"true\" pTemplate=\"caption\">\r\n <span class=\"flex align-items-center table-paginator p-0\">\r\n <span class=\"showing-per-page\"> {{wappTreeTableObject.currentPageReportTemplate}} </span>\r\n <p-inputNumber \r\n class=\"pl-2 showing-per-page\" [size]=\"1\" [(ngModel)]=\"rowsPerPage\" [showButtons]=\"true\" \r\n buttonLayout=\"horizontal\" inputId=\"horizontal\" spinnerMode=\"horizontal\" [step]=\"1\" [min]=\"1\" [max]=\"totalRecords!\"\r\n decrementButtonClass=\"p-button-outlined\" \r\n incrementButtonClass=\"p-button-outlined\" \r\n incrementButtonIcon=\"pi pi-plus\" \r\n decrementButtonIcon=\"pi pi-minus\" \r\n mode=\"decimal\"\r\n (ngModelChange)=\"updateShowingTableRows()\">\r\n </p-inputNumber>\r\n <span class=\"p-input-icon-left ml-auto\">\r\n <i class=\"pi pi-search\"></i>\r\n <input pInputText type=\"text\" #filter (input)=\"filterGlobal(treeTable, $event)\" \r\n [placeholder]=\"wappTreeTableObject.searchPlaceholder\" class=\"w-full height-input wapp-input\"/>\r\n </span>\r\n </span>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"header\" let-columns>\r\n <tr>\r\n <th *ngFor=\"let col of columns; index as i\" \r\n class=\"{{col.field}}-field'\"\r\n [ttSortableColumn]=\"col.field\">\r\n <div [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignFlexClass(wappTreeTableObject.columnAlign[i]) : 'flex justify-content-start'\">\r\n <div>\r\n {{ col.header }}\r\n </div>\r\n <div>\r\n <p-treeTableSortIcon [field]=\"col.field\"></p-treeTableSortIcon>\r\n </div>\r\n </div>\r\n </th>\r\n <th class=\"buttons-field\">\r\n </th>\r\n </tr>\r\n </ng-template>\r\n\r\n <ng-template pTemplate=\"body\" let-rowNode let-rowData=\"rowData\" let-columns=\"columns\">\r\n <tr>\r\n <td *ngFor=\"let col of columns; let i = index\" [ngClass]=\"wappTreeTableObject.columnAlign ? getTableColumnAlignClass(wappTreeTableObject.columnAlign[i]) : 'text-left'\">\r\n <p-skeleton></p-skeleton>\r\n </td>\r\n <td class=\"buttons-field\">\r\n <div class=\"flex justify-content-end\">\r\n <span *ngFor=\"let button of wappTreeTableObject.actionButtons\">\r\n <p-button [icon]=\"'pi '+ button.icon\" (click)=\"actionButtonClicked(button.id, rowData)\" [pTooltip]=\"button.tooltip!\" [tooltipPosition]=\"button.tooltipPosition!\" [styleClass]=\"button.styleClass!\"></p-button>\r\n </span>\r\n <p-button *ngIf=\"wappTreeTableObject.hasDeleteButton\" icon=\"pi pi-trash\" (click)=\"confirmDeleteSelected($event, rowData)\" [pTooltip]=\"'Tooltip' \" tooltipPosition=\"bottom\" class=\"px-2\" styleClass=\"p-button-text p-button-danger\"></p-button>\r\n </div>\r\n </td>\r\n </tr>\r\n </ng-template>\r\n \r\n <ng-template pTemplate=\"emptymessage\" let-columns>\r\n <tr>\r\n <td [attr.colspan]=\"columns.length\">\r\n {{wappTreeTableObject.noRecordsLabel}}\r\n </td>\r\n </tr>\r\n </ng-template>\r\n </p-treeTable>\r\n </ng-template>\r\n</div>\r\n\r\n<p-confirmPopup></p-confirmPopup>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-body-grid',\r\n templateUrl: './w-body-grid.component.html',\r\n styleUrls: ['./w-body-grid.component.scss']\r\n})\r\nexport class WBodyGridComponent {\r\n\r\n}\r\n","<div class=\"w-body-grid grid\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-toggle',\r\n templateUrl: './w-edit-toggle.component.html',\r\n styleUrls: ['./w-edit-toggle.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditToggleComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditToggleComponent {\r\n @Input('label') label: string = '';\r\n @Input('helpDescription') helpDescription: string = '';\r\n @Input('disabled') isDisabled: boolean = false;\r\n @Input('isRequired') isRequired: boolean = false;\r\n @Input('size') size: string = 'small';\r\n @Input('hasAlign') hasAlign: boolean = true;\r\n @Input('tooltip') tooltip!: string; \r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('toggleState')\r\n toggleState: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n value: boolean = false;\r\n isTouched : boolean = false;\r\n \r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n \r\n onInput(obj: any){\r\n this.value = obj;\r\n this.toggleState.emit(this.value);\r\n this.onTouch();\r\n this.onChange(this.value);\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSize(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","\r\n<div *ngIf=\"formControl; else noNgControl\" class=\"align-content-start\" \r\n [ngClass]=\"{'w-edit-toggle-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-toggle-medium-heigth': hasAlign && getSize(sizeType.medium) == size}\">\r\n\r\n <w-input-label [label]=\"label\" [required]=\"formControl.hasError('required')\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\"></w-input-label>\r\n\r\n <p-inputSwitch id=\"toggle\"\r\n [ngClass]=\"{'w-edit-toggle-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small': getSize(sizeType.small) == size}\"\r\n class=\"flex align-items-center toggle-container\"\r\n [formControl]=\"formControl\">\r\n </p-inputSwitch>\r\n</div>\r\n\r\n<ng-template #noNgControl>\r\n <div class=\"align-content-start\" \r\n [ngClass]=\"{'w-edit-toggle-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-toggle-medium-heigth': hasAlign && getSize(sizeType.medium) == size }\">\r\n <w-input-label [label]=\"label\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\"></w-input-label>\r\n <p-inputSwitch id=\"toggle\"\r\n [ngClass]=\"{'w-edit-toggle-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-toggle-small': getSize(sizeType.small) == size}\"\r\n class=\"flex align-items-center toggle-container\"\r\n (ngModelChange)=\"onInput($event)\"\r\n [(ngModel)]=\"value\">\r\n </p-inputSwitch>\r\n </div>\r\n</ng-template>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-grid',\r\n templateUrl: './w-panel-grid.component.html',\r\n styleUrls: ['./w-panel-grid.component.scss']\r\n})\r\nexport class WPanelGridComponent {\r\n\r\n}\r\n","<div class=\"w-panel-grid grid\">\r\n <ng-content></ng-content>\r\n</div>","import { Component, Input, forwardRef } from '@angular/core';\r\nimport { SizeType } from '../../shared/enums/enum';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-autocomplete-search',\r\n templateUrl: './w-autocomplete-search.component.html',\r\n styleUrls: ['./w-autocomplete-search.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WAutocompleteSearchComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WAutocompleteSearchComponent {\r\n @Input('label') label: string = \"Default Label\";\r\n @Input('placeholder') placeholder: string = \"\";\r\n\r\n @Input('isRequired') isRequired: boolean = false;\r\n @Input('isDisabled') isDisabled: boolean = false;\r\n\r\n @Input('size') size: string = \"medium\";\r\n\r\n @Input('items') items: any[] = [\r\n {\"name\": \"Afghanistan\", \"code\": \"AF\"},\r\n {\"name\": \"México\", \"code\": \"MX\"},\r\n {\"name\": \"Turquía\", \"code\": \"TQ\"},\r\n {\"name\": \"Estados unidos\", \"code\": \"EU\"},\r\n ];\r\n \r\n @Input('formControl') formControl!: FormControl | null;\r\n \r\n selectedItem: any;\r\n suggestions: any[] = [];\r\n value: any ;\r\n\r\n isTouched : boolean = false;\r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(onChange: any): void {\r\n this.onChange = onChange;\r\n }\r\n\r\n registerOnTouched(onTouch: any): void {\r\n this.onTouch = onTouch;\r\n }\r\n\r\n setDisabledState?(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n onInputBlur(event: Event) {\r\n const newValue = (event.target as HTMLInputElement).value;\r\n this.value = newValue;\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n \r\n search(event: any) {\r\n\r\n let filtered: any[] = [];\r\n let query = event.query;\r\n\r\n for(let i=0; i < (this.items as any[]).length; i++)\r\n {\r\n let item = (this.items as any[])[i];\r\n if(item.name.toLowerCase().indexOf(query.toLowerCase()) == 0)\r\n {\r\n filtered.push(item);\r\n }\r\n }\r\n this.suggestions = filtered;\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n \r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","<div *ngIf=\"formControl != null; else noNgControl\">\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container-medium w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [formControl]=\"formControl\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngIf=\"getSizeName(sizeType.medium) == size; else inputSmall\">\r\n <span class=\"p-input-icon-left w-container w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-medium\"\r\n [suggestions]=\"suggestions\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n [(ngModel)]=\"value\" \r\n (ngModelChange)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </div>\r\n <ng-template #inputSmall>\r\n <span class=\"p-input-icon-left w-container-small w-full\">\r\n <i class=\"pi pi-search\"></i>\r\n <p-autoComplete\r\n [style]=\"{'width':'100%'}\"\r\n [inputStyle]=\"{'width':'100%'}\"\r\n class=\"w-autocomplete-search-small\"\r\n [suggestions]=\"suggestions\"\r\n [(ngModel)]=\"value\" \r\n (input)=\"onValueChanged()\" \r\n [disabled]=\"isDisabled\"\r\n (completeMethod)=\"search($event)\"\r\n [placeholder]=\"placeholder\"\r\n field=\"name\">\r\n <ng-template let-item pTemplate=\"item\">\r\n <div class=\"flex align-items-center gap-2\">\r\n <i class=\"pi pi-search\"></i>\r\n <div class=\"item-content-small\">{{item.name}}</div>\r\n </div>\r\n </ng-template>\r\n </p-autoComplete>\r\n </span>\r\n </ng-template>\r\n</ng-template>","import { Component, EventEmitter, Input, Output, forwardRef } from '@angular/core';\r\nimport { FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-edit-checkbox',\r\n templateUrl: './w-edit-checkbox.component.html',\r\n styleUrls: ['./w-edit-checkbox.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditCheckboxComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditCheckboxComponent {\r\n @Input('label') label: string = '';\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('helpDescription') helpDescription: string = '';\r\n @Input('disabled') isDisabled: boolean = false;\r\n @Input('size') size: string = 'small';\r\n @Input('hasAlign') hasAlign: boolean = true;\r\n @Input('tooltip') tooltip!: string;\r\n\r\n @Input('formControl') formControl!: FormControl | null;\r\n\r\n @Output('checkboxState')\r\n checkboxState: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n value: boolean = false;\r\n isTouched : boolean = false;\r\n\r\n onChange = (_:any) => { }\r\n onTouch = () => { }\r\n\r\n writeValue(value: any): void {\r\n this.value = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onInput(obj: any){\r\n this.value = obj;\r\n this.checkboxState.emit(this.value);\r\n this.onTouch();\r\n this.onChange(this.value);\r\n }\r\n\r\n onValueChanged() {\r\n this.onChange(this.value);\r\n this.onTouch();\r\n }\r\n\r\n getSize(value: number): string {\r\n return SizeType[value];\r\n }\r\n\r\n get sizeType(): typeof SizeType {\r\n return SizeType;\r\n }\r\n}\r\n","\r\n<div *ngIf=\"formControl; else noNgControl\" class=\"flex align-content-center\"\r\n [ngClass]=\"{'w-edit-checkbox-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-checkbox-medium-heigth': hasAlign && getSize(sizeType.medium) == size}\">\r\n\r\n <p-checkbox\r\n [binary]=\"true\"\r\n class=\"flex align-items-center\"\r\n [ngClass]=\"{'w-edit-checkbox-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small': getSize(sizeType.small) == size}\"\r\n [formControl]=\"formControl\" id=\"w-checkbox\">\r\n <ng-template pTemplate=\"icon\">\r\n <w-icons [name]=\"'checkSmallAlt'\"></w-icons>\r\n </ng-template>\r\n </p-checkbox>\r\n\r\n <w-input-label class=\"w-edit-checkbox-small-label\" [label]=\"label\" [required]=\"formControl.hasError('required')\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"flex align-content-center\"\r\n [ngClass]=\"{'w-edit-checkbox-medium-field': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small-field': getSize(sizeType.small) == size,\r\n 'w-edit-checkbox-medium-heigth': hasAlign && getSize(sizeType.medium) == size}\">\r\n\r\n <p-checkbox\r\n [binary]=\"true\"\r\n [ngClass]=\"{'w-edit-checkbox-medium': getSize(sizeType.medium) == size,\r\n 'w-edit-checkbox-small': getSize(sizeType.small) == size}\"\r\n (ngModelChange)=\"onInput($event)\"\r\n [(ngModel)]=\"value\" id=\"w-checkbox\">\r\n <ng-template pTemplate=\"icon\">\r\n <w-icons [name]=\"'checkSmallAlt'\"></w-icons>\r\n </ng-template>\r\n </p-checkbox>\r\n <w-input-label class=\"w-edit-checkbox-small-label\" [label]=\"label\" [disabled]=\"isDisabled\" [size]=\"'small'\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n </div>\r\n</ng-template>\r\n","import { AfterViewInit, ChangeDetectionStrategy, ChangeDetectorRef, Component, ElementRef, EventEmitter, Input, OnInit, Output, Renderer2, ViewChild } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { AddressMaps } from 'wapping-components';\r\nimport { WAddress } from '../../shared/models/w-address.model';\r\n\r\n@Component({\r\n selector: 'w-maps',\r\n templateUrl: './w-maps.component.html',\r\n styleUrls: ['./w-maps.component.scss'],\r\n})\r\nexport class WMapsComponent implements OnInit, AfterViewInit{\r\n @ViewChild('mapSearchField') searchField!: ElementRef;\r\n @ViewChild('divMap') divMap!: ElementRef;\r\n\r\n @Input('required') required: boolean = false;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('tooltip') tooltip!: string; \r\n @Input('isEdit') isEdit: boolean = false;\r\n @Input('mapHeight') mapHeight: number = 30;\r\n @Input('componentRestrictions') componentRestrictions: any;\r\n @Input('initialCoords') initialCoords: any;\r\n\r\n @Input('label') label!: string;\r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('wAddress') wAddress!: string | WAddress;\r\n\r\n @Output('addressResponse') addressResponse = new EventEmitter<AddressMaps>();\r\n\r\n map!: google.maps.Map\r\n variableMap!: google.maps.Map;\r\n marker!: google.maps.Marker;\r\n service!: google.maps.places.PlacesService;\r\n formMapas!: FormGroup;\r\n addressFinal: AddressMaps = {} as AddressMaps;\r\n readyAddress: boolean = false;\r\n viewAddress!: string;\r\n formatedAddress!: string;\r\n textareaAddress!: any;\r\n\r\n constructor(private render: Renderer2,private cd: ChangeDetectorRef) { }\r\n\r\n ngOnInit(): void {\r\n if(typeof this.wAddress !== \"string\"){\r\n this.viewAddress = (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? this.wAddress?.postalCode+\" \": '') + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '')\r\n\r\n this.textareaAddress = (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \"\\n\\n\" +\r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? \"(\"+this.wAddress?.postalCode+\")\": '') + \"\\n\\n\" + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '')\r\n this.readyAddress = true;\r\n }\r\n }\r\n\r\n async ngAfterViewInit() {\r\n if(typeof this.wAddress !== \"string\"){\r\n this.formatedAddress = this.cleanText( (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? this.wAddress?.postalCode+\" \": '') + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '') )\r\n\r\n this.textareaAddress = this.cleanText( (this.wAddress?.route ? this.wAddress?.route+\" \": '') + (this.wAddress?.streetNumber? this.wAddress?.streetNumber+\" \": '') + \"\\n\\n\" +\r\n (this.wAddress?.administrativeAreaLevel1? this.wAddress?.administrativeAreaLevel1+\" \": '') + ( this.wAddress?.administrativeAreaLevel2? this.wAddress?.administrativeAreaLevel2+\" \": '' )+\r\n (this.wAddress?.postalCode? \"(\"+this.wAddress?.postalCode+\")\": '') + \"\\n\\n\" + (this.wAddress?.locality? this.wAddress?.locality+\", \": '')+(this.wAddress?.country? this.wAddress?.country+\" \": '') )\r\n this.readyAddress = true;\r\n this.cd.detectChanges();\r\n }\r\n\r\n if(this.isEdit)\r\n this.loadAutoComplete();\r\n\r\n if (this.initialCoords != undefined) {\r\n let position = {\r\n coords: {\r\n latitude: this.initialCoords.latitude,\r\n longitude: this.initialCoords.longitude,\r\n }\r\n }\r\n await this.loadMap(position)\r\n } else {\r\n let position = new google.maps.LatLng(19.0528136, -98.2071769)\r\n \r\n const opciones = {\r\n center: position,\r\n zoom: 11,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n };\r\n\r\n this.variableMap = await new google.maps.Map(document.getElementById(\"variableMap\") as HTMLElement, opciones)\r\n\r\n const request = {\r\n query: this.formatedAddress,\r\n fields: [\"name\",\"geometry\"]\r\n };\r\n\r\n this.service = new google.maps.places.PlacesService(this.variableMap);\r\n this.service.findPlaceFromQuery(\r\n request, \r\n async (\r\n results: google.maps.places.PlaceResult[] | null,\r\n status: google.maps.places.PlacesServiceStatus\r\n ) => {\r\n if(status === google.maps.places.PlacesServiceStatus.OK && results) {\r\n let pos = {\r\n coords: {\r\n latitude: results[0].geometry?.location?.lat(),\r\n longitude: results[0].geometry?.location?.lng(),\r\n }\r\n }\r\n await this.loadMap(pos)\r\n }\r\n }\r\n )\r\n }\r\n }\r\n\r\n async loadMap(position: any) {\r\n const opciones = {\r\n center: new google.maps.LatLng(position.coords.latitude, position.coords.longitude),\r\n zoom: 11,\r\n mapTypeId: google.maps.MapTypeId.ROADMAP\r\n };\r\n\r\n this.map = await new google.maps.Map(this.render.selectRootElement(this.divMap.nativeElement), opciones)\r\n\r\n const marker = new google.maps.Marker;\r\n marker.setMap(null);\r\n\r\n this.marker = new google.maps.Marker({\r\n position: this.map.getCenter(),\r\n });\r\n this.marker.setMap(this.map);\r\n }\r\n\r\n returnAddress(place: any) {\r\n let address_component: [] = place.address_components;\r\n address_component.forEach((field) => {\r\n this.addressFinal[field['types'][0]] = field['long_name']\r\n })\r\n this.addressFinal.latitude = place.geometry['location'].lat();\r\n this.addressFinal.longitude = place.geometry['location'].lng();\r\n this.addressFinal.streetAddress = place.formatted_address\r\n this.textareaAddress = this.cleanText( (this.addressFinal?.route ? this.addressFinal?.route+\" \": '') + (this.addressFinal?.street_number? this.addressFinal?.street_number+\" \": '') + \"\\n\\n\" +\r\n (this.addressFinal?.administrative_area_level_1? this.addressFinal?.administrative_area_level_1+\" \": '') + ( this.addressFinal?.administrative_area_level_2? this.addressFinal?.administrative_area_level_2+\" \": '' )+\r\n (this.addressFinal?.postal_code? \"(\"+this.addressFinal?.postal_code+\")\": '') + \"\\n\\n\" + (this.addressFinal?.locality? this.addressFinal?.locality+\", \": '')+(this.addressFinal?.country? this.addressFinal?.country+\" \": '') ) \r\n this.cd.detectChanges();\r\n this.addressResponse.emit(this.addressFinal);\r\n }\r\n\r\n cleanText(text: any){\r\n return text.trimStart();\r\n }\r\n\r\n private loadAutoComplete() {\r\n const autoComplete = new google.maps.places.Autocomplete(\r\n this.render.selectRootElement(this.searchField.nativeElement),\r\n {\r\n componentRestrictions: this.componentRestrictions,\r\n fields: [\"address_components\", \"geometry\", \"formatted_address\"],\r\n types: [\"address\"],\r\n }\r\n )\r\n google.maps.event.addListener(autoComplete, 'place_changed', () => {\r\n\r\n const place: any = autoComplete.getPlace();\r\n\r\n this.map.setCenter(place.geometry.location);\r\n this.marker.setMap(null);\r\n this.marker = new google.maps.Marker({\r\n position: place.geometry.location\r\n });\r\n \r\n this.marker.setMap(this.map);\r\n \r\n this.returnAddress(place);\r\n })\r\n }\r\n}\r\n","<div class=\"w-label-maps\">\r\n <w-input-label [label]=\"label\" [required]=\"required\" [disabled]=\"disabled\" [tooltip]=\"tooltip\" *ngIf=\"showLabel\"></w-input-label>\r\n <div class=\"w-search-maps\">\r\n <div class=\"w-full w-label-input\" *ngIf=\"isEdit\">\r\n <div class=\"searchfield-container\">\r\n <input type=\"text\" #mapSearchField\r\n class=\"w-full w-searchfield-maps\"\r\n [(ngModel)]=\"formatedAddress\"\r\n pInputText/>\r\n </div>\r\n </div>\r\n \r\n <div class=\"w-full flex w-maps-text-container\">\r\n <div class=\"w-6 w-map\" [style]=\"'height:'+mapHeight+'rem'\" id=\"map\" #divMap></div>\r\n <span [style]=\"'height:'+mapHeight+'rem'\"\r\n class=\"w-6 w-textarea-address\">\r\n <p *ngIf=\"textareaAddress\">\r\n {{textareaAddress}}\r\n </p>\r\n </span>\r\n </div>\r\n </div>\r\n</div>\r\n<div [hidden]=\"true\" id=\"variableMap\"></div>","import { Component, EventEmitter, Input, OnInit, Optional, Output, Self, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\nimport { SizeType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-radio-button',\r\n templateUrl: './w-radio-button.component.html',\r\n styleUrls: ['./w-radio-button.component.scss'],\r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WRadioButtonComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WRadioButtonComponent implements OnInit, ControlValueAccessor {\r\n selectedOption: any;\r\n selectedIndex = 0;\r\n isDisabled: boolean = false;\r\n isTouched : boolean = false;\r\n\r\n @Input('radioGroupElements') radioGroupElements: any[] = [];\r\n @Input('required') required: boolean = false;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription: string = \"Default required error description\";\r\n @Input('size') size: string = \"medium\";\r\n \r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter();\r\n\r\n formControl: any;\r\n ngModelValue: any;\r\n\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n \r\n sizeType: typeof SizeType = SizeType;\r\n\r\n ngOnInit(): void { }\r\n\r\n writeValue(value: any): void {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n\r\n onChangedForm(value: any){\r\n this.onChange(value);\r\n this.onTouch();\r\n this.onChangeEvent.emit(value);\r\n }\r\n\r\n getSizeName(value: number): string {\r\n return SizeType[value];\r\n }\r\n}\r\n","<div *ngIf=\"formControl; else noNgControl\">\r\n <div *ngFor=\"let option of radioGroupElements\" class=\"field-checkbox\">\r\n <p-radioButton [ngClass]=\"{'w-radiobutton-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-medium' : size == getSizeName(sizeType.medium)}\"\r\n [inputId]=\"option.key\" \r\n [required]=\"required\" \r\n [disabled]=\"disabled\"\r\n [formControl]=\"formControl\"\r\n ngDefaultControl\r\n (onClick)=\"onChangedForm($event)\">\r\n </p-radioButton>\r\n <label [ngClass]=\"{'w-radiobutton-label-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-label-medium' : size == getSizeName(sizeType.medium)}\" [for]=\"option.key\">{{option.name}}</label>\r\n </div>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.touched\" class=\"p-error block\">{{requiredErrorDescription}}</small> \r\n</div>\r\n<ng-template #noNgControl>\r\n <div *ngFor=\"let option of radioGroupElements\" class=\"field-checkbox\">\r\n <p-radioButton [ngClass]=\"{'w-radiobutton-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-medium' : size == getSizeName(sizeType.medium)}\"\r\n [inputId]=\"option.key\" \r\n [(ngModel)]=\"ngModelValue\" \r\n [disabled]=\"disabled\"\r\n [value]=\"option\" \r\n ngDefaultControl\r\n (onClick)=\"onChanged()\">\r\n </p-radioButton>\r\n <label [ngClass]=\"{'w-radiobutton-label-small' : size == getSizeName(sizeType.small),\r\n 'w-radiobutton-label-medium' : size == getSizeName(sizeType.medium)}\" [for]=\"option.key\">{{option.name}}</label>\r\n </div>\r\n</ng-template>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { FormGroup } from '@angular/forms';\r\nimport { MenuItem, MessageService } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-wizard',\r\n templateUrl: './w-wizard.component.html',\r\n styleUrls: ['./w-wizard.component.scss'],\r\n providers: [MessageService]\r\n})\r\nexport class WWizardComponent {\r\n items!: MenuItem[];\r\n activeIndex: number = 0;\r\n\r\n @Input('stepsItems') stepsItems!: MenuItem[];\r\n @Input('stepsHeadings') stepsHeadings!: string[];\r\n @Input('stepsSubheadings') stepsSubheadings!: string[];\r\n @Input('nextBtnLabel') nextBtnLabel: string = \"Next\";\r\n @Input('previousBtnLabel') previousBtnLabel: string = \"Previous\";\r\n @Input('confirmButtonLabel') confirmButtonLabel!: string;\r\n @Input('confirmButtonIcon') confirmButtonIcon!: string;\r\n @Input('secondaryConfirmButtonLabel') secondaryConfirmButtonLabel!: string;\r\n @Input('secondaryConfirmButtonIcon') secondaryConfirmButtonIcon!: string;\r\n @Input('isReadOnly') isReadOnly: boolean = true;\r\n @Input('formGroup') formGroup!: FormGroup;\r\n\r\n @Output('confirmButtonActivated') confirmButtonActivated = new EventEmitter<boolean>();\r\n @Output('secondaryConfirmButtonActivated') secondaryConfirmButtonActivated = new EventEmitter<boolean>();\r\n @Output('activeIndexParent') activeIndexParent = new EventEmitter<number>();\r\n\r\n constructor(public messageService: MessageService) {}\r\n\r\n onActiveIndexChange(event:any) {\r\n this.activeIndex = event;\r\n }\r\n\r\n nextPage() {\r\n this.activeIndex++;\r\n this.activeIndexParent.emit(this.activeIndex);\r\n return;\r\n }\r\n \r\n previousPage() {\r\n this.activeIndex--;\r\n this.activeIndexParent.emit(this.activeIndex);\r\n }\r\n \r\n confirm() {\r\n this.confirmButtonActivated.emit(true);\r\n }\r\n\r\n secondaryConfirm() {\r\n this.secondaryConfirmButtonActivated.emit(true);\r\n }\r\n}\r\n","<w-body-grid>\r\n <w-panel class=\"col-12\" [activeGrid]=\"false\">\r\n <p-steps [model]=\"stepsItems\" [activeIndex]=\"activeIndex\" (activeIndexChange)=\"onActiveIndexChange($event)\" [readonly]=\"isReadOnly\"></p-steps>\r\n </w-panel>\r\n\r\n <w-panel class=\"col-12\" [activeGrid]=\"false\">\r\n \r\n <div class=\"flex flex-column align-items-center sm:align-items-start w-wizard-headings\">\r\n <span *ngIf=\"stepsHeadings && stepsHeadings[activeIndex]\" class=\"w-wizard-heading\">\r\n {{stepsHeadings[activeIndex]}}\r\n </span>\r\n <span *ngIf=\"stepsSubheadings && stepsSubheadings[activeIndex]\" class=\"w-wizard-subheading\">\r\n {{stepsSubheadings[activeIndex]}}\r\n </span>\r\n </div>\r\n\r\n <ng-content *ngIf=\"activeIndex == 0\" select=\".step-1\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 1\" select=\".step-2\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 2\" select=\".step-3\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 3\" select=\".step-4\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 4\" select=\".step-5\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 5\" select=\".step-6\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 6\" select=\".step-7\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 7\" select=\".step-8\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 8\" select=\".step-9\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 9\" select=\".step-10\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 10\" select=\".step-11\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 11\" select=\".step-12\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 12\" select=\".step-13\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 13\" select=\".step-14\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 14\" select=\".step-15\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 15\" select=\".step-16\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 16\" select=\".step-17\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 17\" select=\".step-18\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 18\" select=\".step-19\" class=\"w-wizard-body\"></ng-content>\r\n <ng-content *ngIf=\"activeIndex == 19\" select=\".step-20\" class=\"w-wizard-body\"></ng-content>\r\n\r\n <div class=\"flex justify-content-between flex-wrap m-auto\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <w-button *ngIf=\"activeIndex != 0\" \r\n [icon]=\"'pi-arrow-left'\" \r\n type=\"secondary\" \r\n [label]=\"previousBtnLabel\" \r\n (onClick)=\"previousPage()\">\r\n </w-button>\r\n </div>\r\n <div *ngIf=\"!(stepsItems.length -1 == activeIndex); else confirmButtons\" class=\"flex align-items-center justify-content-center\">\r\n <w-button type=\"primary\"\r\n [icon]=\"'pi-arrow-right'\" \r\n [label]=\"nextBtnLabel\" \r\n (onClick)=\"nextPage()\">\r\n </w-button>\r\n </div>\r\n <ng-template #confirmButtons >\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <w-button *ngIf=\"secondaryConfirmButtonLabel\"\r\n type=\"secondary\"\r\n class=\"w-wizard-button-gap\"\r\n [icon]=\"'pi '+secondaryConfirmButtonIcon\"\r\n [label]=\"secondaryConfirmButtonLabel\" \r\n [disabled]=\"formGroup && !formGroup.valid\" \r\n (onClick)=\"secondaryConfirm()\">\r\n </w-button>\r\n <w-button type=\"primary\"\r\n [icon]=\"'pi '+confirmButtonIcon\"\r\n [label]=\"confirmButtonLabel\" \r\n [disabled]=\"formGroup && !formGroup.valid\" \r\n (onClick)=\"confirm()\">\r\n </w-button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </w-panel>\r\n</w-body-grid>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-tabview',\r\n templateUrl: './w-tabview.component.html',\r\n styleUrls: ['./w-tabview.component.scss']\r\n})\r\nexport class WTabviewComponent {\r\n \r\n @Input('headers') headers: string[] = ['Header 1', 'Header 2', 'Header 3']; \r\n @Input('disabledTabs') disabledTabs: boolean[] = [false, false, false];\r\n @Input('icons') icons!: string[];\r\n @Input('activeIndex') activeIndex: number = 0;\r\n \r\n}\r\n","<p-tabView [(activeIndex)]=\"activeIndex\" styleClass=\"tabview-custom\">\r\n <p-tabPanel *ngIf=\"headers.length > 0 \" [header]=\"headers[0]\" [disabled]=\"disabledTabs[0]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[0]\" [class]=\"'pi '+icons[0]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[0]\">{{headers[0]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 0\" select=\".panel-1\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 1\" [header]=\"headers[1]\" [disabled]=\"disabledTabs[1]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[1]\" [class]=\"'pi '+icons[1]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[1]\">{{headers[1]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 1\" select=\".panel-2\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 2 \" [header]=\"headers[2]\" [disabled]=\"disabledTabs[2]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[2]\" [class]=\"'pi '+icons[2]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[2]\">{{headers[2]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 2\" select=\".panel-3\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 3\" [header]=\"headers[3]\" [disabled]=\"disabledTabs[3]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[3]\" [class]=\"'pi '+icons[3]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[3]\">{{headers[3]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 3\" select=\".panel-4\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 4\" [header]=\"headers[4]\" [disabled]=\"disabledTabs[4]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[4]\" [class]=\"'pi '+icons[4]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[4]\">{{headers[4]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 4\" select=\".panel-5\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 5\" [header]=\"headers[5]\" [disabled]=\"disabledTabs[5]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[5]\" [class]=\"'pi '+icons[5]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[5]\">{{headers[5]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 5\" select=\".panel-6\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 6\" [header]=\"headers[6]\" [disabled]=\"disabledTabs[6]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[6]\" [class]=\"'pi '+icons[6]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[6]\">{{headers[6]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 6\" select=\".panel-7\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 7\" [header]=\"headers[7]\" [disabled]=\"disabledTabs[7]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[7]\" [class]=\"'pi '+icons[7]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[7]\">{{headers[7]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 7\" select=\".panel-8\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 8\" [header]=\"headers[8]\" [disabled]=\"disabledTabs[8]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[8]\" [class]=\"'pi '+icons[8]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[8]\">{{headers[8]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 8\" select=\".panel-9\"></ng-content>\r\n </p-tabPanel>\r\n <p-tabPanel *ngIf=\"headers.length > 9\" [header]=\"headers[9]\" [disabled]=\"disabledTabs[9]\">\r\n <ng-template pTemplate=\"header\">\r\n <i *ngIf=\"icons && icons[9]\" [class]=\"'pi '+icons[9]\"></i>\r\n <span class=\"p-tabview-title\" *ngIf=\"headers[9]\">{{headers[9]}}</span>\r\n </ng-template>\r\n <ng-content *ngIf=\"activeIndex == 9\" select=\".panel-10\"></ng-content>\r\n </p-tabPanel>\r\n</p-tabView>\r\n","import { Component, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\nimport { TreeDragDropService, TreeNode } from 'primeng/api';\r\n\r\n@Component({\r\n selector: 'w-tree',\r\n templateUrl: './w-tree.component.html',\r\n styleUrls: ['./w-tree.component.scss'],\r\n providers: [TreeDragDropService]\r\n})\r\nexport class WTreeComponent implements OnInit{\r\n @Input('nodes') nodes!: any;\r\n @Input('selection') selection!: any;\r\n @Input('selectionMode') selectionMode: string = \"checkbox\";\r\n @Input('activeToggleButton') activeToggleButton: boolean = false;\r\n @Input('collapsedNodes') collapsedNodes: boolean = true;\r\n @Input('collapseButtonLabel') collapseButtonLabel : string = \"Collapse\";\r\n @Input('expandButtonLabel') expandButtonLabel : string = \"Expand\";\r\n @Input('propagateSelectionDown') propagateSelectionDown: boolean = true;\r\n @Input('propagateSelectionUp') propagateSelectionUp: boolean = true;\r\n @Input('activeFilter') activeFilter: boolean = false;\r\n @Input('filterPlaceholder') filterPlaceholder!: string;\r\n @Input('filterBy') filterBy!: string; \r\n @Input('emptyMessage') emptyMessage: string = \"Empty records\";\r\n @Input('loading') loading: boolean = false; \r\n @Input('draggableNodes') draggableNodes: boolean = false;\r\n @Input('draggableScope') draggableScope!: string;\r\n @Input('droppableNodes') droppableNodes: boolean = false;\r\n @Input('droppableScope') droppableScope!: string ;\r\n @Input('scrollHeight') scrollHeight!: string;\r\n @Input('activeVirtualScroll') activeVirtualScroll: boolean = false;\r\n @Input('virtualScrollItemSize') virtualScrollItemSize!: number;\r\n @Input('nodeItemTemplateName') nodeItemTemplateName: string = \"nodeItemTemplateName\";\r\n \r\n @Output() selectionChange = new EventEmitter<any>();\r\n @Output('onFilter') onFilterEmit: EventEmitter<any> = new EventEmitter();\r\n @Output('onNodeDrope') onNodeDropeEmit: EventEmitter<any> = new EventEmitter();\r\n\r\n ngOnInit(): void {\r\n }\r\n \r\n onSelectionChange(event: any){\r\n this.selectionChange.emit(event)\r\n }\r\n\r\n onFilter(event: any){\r\n this.onFilterEmit.emit(event);\r\n }\r\n\r\n onNodeDrope(event: any){\r\n this.onNodeDropeEmit.emit(event);\r\n }\r\n\r\n expandAll(){\r\n this.nodes.forEach((node: any) => {\r\n this.expandRecursive(node, true);\r\n } );\r\n this.collapsedNodes = false;\r\n }\r\n\r\n collapseAll(){\r\n this.nodes.forEach((node: any) => {\r\n this.expandRecursive(node, false);\r\n } );\r\n this.collapsedNodes = true;\r\n }\r\n\r\n private expandRecursive(node:TreeNode, isExpand:boolean){\r\n node.expanded = isExpand;\r\n if (node.children){\r\n node.children.forEach( childNode => {\r\n this.expandRecursive(childNode, isExpand);\r\n } );\r\n }\r\n }\r\n\r\n isPrimeIcon(icon: string){\r\n if(icon.includes('pi')) return true;\r\n return false;\r\n }\r\n\r\n getIcon(icon: string){\r\n return 'pi pi-fw ' + icon;\r\n }\r\n}\r\n","<div *ngIf=\"activeToggleButton\" class=\"w-tree-buttontoggle flex justify-content-end flex-wrap card-container green-container\">\r\n <div *ngIf=\"collapsedNodes else collapse\">\r\n <w-button \r\n size=\"small\" \r\n type=\"secondary\" \r\n icon=\"pi pi-plus\" \r\n [label]=\"expandButtonLabel\" \r\n (onClick)=\"expandAll()\">\r\n </w-button>\r\n </div>\r\n <ng-template #collapse>\r\n <w-button \r\n size=\"small\"\r\n type=\"secondary\"\r\n icon=\"pi pi-minus\"\r\n [label]=\"collapseButtonLabel\" \r\n (onClick)=\"collapseAll()\">\r\n </w-button>\r\n </ng-template>\r\n</div>\r\n\r\n<p-tree class=\"w-full w-tree\" #wTree\r\n [value]=\"nodes\" \r\n [(selection)]=\"selection\"\r\n (selectionChange)=\"onSelectionChange($event)\" \r\n [selectionMode]=\"selectionMode\" \r\n [loading]=\"loading\"\r\n [filter]=\"activeFilter\" \r\n [filterPlaceholder]=\"filterPlaceholder\" \r\n [propagateSelectionDown]=\"propagateSelectionDown\"\r\n [propagateSelectionUp]=\"propagateSelectionUp\" \r\n [emptyMessage]=\"emptyMessage\" \r\n [draggableNodes]=\"draggableNodes\" \r\n [draggableScope]=\"draggableScope\" \r\n [droppableNodes]=\"droppableNodes\" \r\n [droppableScope]=\"droppableScope\" \r\n (onNodeDrop)=\"onNodeDrope($event)\" \r\n [virtualScroll]=\"activeVirtualScroll\" \r\n [virtualScrollItemSize]=\"virtualScrollItemSize\"\r\n [scrollHeight]=\"scrollHeight\" \r\n (onFilter)=\"onFilter($event)\" \r\n styleClass=\"w-tree\">\r\n <ng-template let-node [pTemplate]=\"nodeItemTemplateName\">\r\n <div class=\"flex p-elemnt\">\r\n <span class=\"w-tree-icon flex align-items-center justify-content-center\" *ngIf=\"node.icon && isPrimeIcon(node.icon)\" [class]=\"getIcon(node.icon)\"></span>\r\n <w-icons class=\"w-tree-icon flex align-items-center\" *ngIf=\"node.icon && isPrimeIcon(node.icon) == false\" [name]=\"node.icon\" [height]=\"16\" [width]=\"18\" [color]=\"'#2e3134'\"></w-icons>\r\n <div class=\"flex align-items-center\">{{node.label}}</div>\r\n </div>\r\n </ng-template>\r\n</p-tree>","import { Component, EventEmitter, Input, Output } from '@angular/core';\r\nimport { WTimelineEventItem } from '../../shared/models/w-timeline-event-item.model';\r\nimport { ActionButtonResponse } from '../../shared/models/action-button-response.model';\r\n\r\n@Component({\r\n selector: 'w-timeline',\r\n templateUrl: './w-timeline.component.html',\r\n styleUrls: ['./w-timeline.component.scss']\r\n})\r\nexport class WTimelineComponent {\r\n\r\n @Input('events') events!: WTimelineEventItem[];\r\n @Input('header') header!: string;\r\n @Input('panel') panel: boolean = false;\r\n @Input('align') align: string = \"alternate\";\r\n @Input('reducedPanelMargin') reducedPanelMargin: boolean = false; \r\n @Input('reducedEventPanelMargin') reducedEventPanelMargin: boolean = false; \r\n\r\n @Output('buttonClick') buttonClick: EventEmitter<ActionButtonResponse> = new EventEmitter<ActionButtonResponse>(); \r\n\r\n constructor() {}\r\n\r\n onButtonClick(event: WTimelineEventItem) {\r\n if(event.button?.id) \r\n this.buttonClick.emit({id: event.button.id, element: event})\r\n }\r\n}\r\n","<div *ngIf=\"panel; else timeline\">\r\n <w-panel [title]=\"header\" [reduced]=\"reducedPanelMargin\">\r\n <div class=\"col-12\">\r\n <ng-container *ngTemplateOutlet=\"timeline\"></ng-container>\r\n </div>\r\n </w-panel>\r\n</div>\r\n\r\n<ng-template #timeline>\r\n <p-timeline [value]=\"events\" [align]=\"align\" styleClass=\"customized-timeline\" \r\n [class.w-timeline-non-alternate]=\"align != 'alternate'\">\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <span *ngIf=\"event.color.includes('#'); else wappingColors\"\r\n class=\"flex w-2rem h-2rem align-items-center justify-content-center text-white border-circle z-1 shadow-1 shadow-2\"\r\n [style.backgroundColor]=\"event.color\">\r\n <i [ngClass]=\"'pi '+event.icon\"></i>\r\n </span>\r\n <ng-template #wappingColors>\r\n <span\r\n class=\"flex w-2rem h-2rem align-items-center justify-content-center text-white border-circle z-1 shadow-1 shadow-2\"\r\n [class]=\"'w-timeline-event color-'+event.color\">\r\n <i [ngClass]=\"'pi '+event.icon\" [class]=\"'w-timeline-event color-'+event.color\"></i>\r\n </span>\r\n </ng-template>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-event>\r\n <w-panel [title]=\"event.status\" [subtitle]=\"event.date\" [reduced]=\"reducedEventPanelMargin\">\r\n <div class=\"col-12\">\r\n <img *ngIf=\"event.image\"\r\n [src]=\"event.image\"\r\n [alt]=\"event.name\" width=\"200\" class=\"shadow-2\" />\r\n <p> {{event.content}} </p>\r\n <div class=\"flex w-timeline-button\" [ngClass]=\"{'w-timeline-button-end':align == 'left', 'w-timeline-button-start':align == 'right'}\">\r\n <w-button *ngIf=\"event.button\" type=\"text\" \r\n [label]=\"event.button.label\" \r\n [icon]=\"event.button.icon!\"\r\n (onClick)=\"onButtonClick(event)\">\r\n </w-button>\r\n </div>\r\n </div>\r\n </w-panel>\r\n </ng-template>\r\n </p-timeline>\r\n</ng-template>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-view-text',\r\n templateUrl: './w-view-text.component.html',\r\n styleUrls: ['./w-view-text.component.scss']\r\n})\r\nexport class WViewTextComponent {\r\n @Input('label') label!: string;\r\n @Input('value') value!: any;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('layout') layout: string = 'horizontal';\r\n\r\n checkEmptyValue(value: any){\r\n if(value == null || value == \"\" || value == undefined){\r\n return '-'; \r\n }else{\r\n return value; \r\n }\r\n }\r\n}\r\n","<div *ngIf=\"layout == 'horizontal'; else vertical\" class=\"w-view-text-content grid flex align-content-center\">\r\n <div class=\"col-4\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n </div>\r\n <div class=\"col-8 w-view-text-value\">\r\n <span class=\"flex\"> {{checkEmptyValue(value)}} </span>\r\n </div>\r\n</div>\r\n<ng-template #vertical>\r\n <div class=\"flex flex-column\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n <div class=\"flex input-label-gap-divider\"></div>\r\n <div class=\"flex w-view-text-value\">\r\n <span class=\"flex\"> {{checkEmptyValue(value)}} </span>\r\n </div>\r\n <div class=\"flex spacingXSMDivider\"></div>\r\n </div>\r\n</ng-template>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-timeline',\r\n templateUrl: './w-skeleton-timeline.component.html',\r\n styleUrls: ['./w-skeleton-timeline.component.css']\r\n})\r\nexport class WSkeletonTimelineComponent implements OnInit {\r\n @Input('eventsNumber') eventsNumber: number = 3;\r\n\r\n events: any[] = []\r\n\r\n ngOnInit(): void {\r\n this.events.length = this.eventsNumber;\r\n }\r\n}\r\n","<p-timeline [value]=\"events\" [align]=\"'alternate'\" styleClass=\"customized-timeline\">\r\n <ng-template pTemplate=\"marker\" let-event>\r\n <p-skeleton shape=\"circle\" size=\"2rem\"></p-skeleton>\r\n </ng-template>\r\n <ng-template pTemplate=\"content\" let-event>\r\n <w-panel [reduced]=\"true\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"100px\"></p-skeleton>\r\n </w-panel>\r\n </ng-template>\r\n</p-timeline>","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-sidebar',\r\n templateUrl: './w-skeleton-sidebar.component.html',\r\n styleUrls: ['./w-skeleton-sidebar.component.scss']\r\n})\r\nexport class WSkeletonSidebarComponent implements OnInit {\r\n @Input('itemsNumber') items: any = 6;\r\n\r\n ngOnInit(): void {\r\n this.items = Array(this.items);\r\n }\r\n}\r\n","<div *ngFor=\"let item of items\" class=\"w-view-text-content grid flex align-content-center\">\r\n <div class=\"col-4 body\">\r\n <p class=\"w-view-text-label-color\"> <p-skeleton></p-skeleton> </p>\r\n </div>\r\n <div class=\"col-8 body\">\r\n <p> <p-skeleton></p-skeleton> </p>\r\n </div>\r\n</div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-input-generic',\r\n templateUrl: './w-skeleton-input-generic.component.html',\r\n styleUrls: ['./w-skeleton-input-generic.component.css']\r\n})\r\nexport class WSkeletonInputGenericComponent {\r\n @Input('height') height: any = '32px';\r\n @Input('width') width: any = '100%';\r\n @Input('hasAlign') hasAlign: any = true;\r\n @Input('label') label: any;\r\n}\r\n","<div *ngIf=\"hasAlign\" class=\"flex align-items-center w-height-label\">\r\n <label *ngIf=\"label != undefined\" for=\"input-skeleton-generic\">\r\n <p-skeleton height=\"16px\" width=\"70px\"></p-skeleton>\r\n </label>\r\n</div>\r\n<p-skeleton id='input-skeleton-generic' [height]=\"height\" width=\"width\"></p-skeleton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-list',\r\n templateUrl: './w-skeleton-list.component.html',\r\n styleUrls: ['./w-skeleton-list.component.css']\r\n})\r\nexport class WSkeletonListComponent {\r\n\r\n @Input('headerPanel') headerPanel: boolean = true;\r\n @Input('contentReduced') contentReduced: boolean = false;\r\n \r\n}\r\n","<w-body-container>\r\n <w-header-panel *ngIf=\"headerPanel\" class=\"col-12\">\r\n <div class=\"main-actions\">\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n </div>\r\n </w-header-panel>\r\n <w-panel class=\"col-12\" [reduced]=\"contentReduced\">\r\n <w-skeleton-input-generic class=\"col-12\" [hasAlign]=\"false\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" [hasAlign]=\"false\" height=\"300px\"></w-skeleton-input-generic>\r\n </w-panel>\r\n</w-body-container>","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-iframe',\r\n templateUrl: './w-skeleton-iframe.component.html',\r\n styleUrls: ['./w-skeleton-iframe.component.css']\r\n})\r\nexport class WSkeletonIframeComponent {\r\n\r\n}\r\n","<p-skeleton width=\"100%\" height=\"4rem\" styleClass=\"mb-2\"></p-skeleton>\r\n<p-skeleton width=\"100%\" height=\"30rem\" styleClass=\"mb-2\"></p-skeleton>\r\n<p-skeleton width=\"100%\" height=\"4rem\"></p-skeleton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-edit',\r\n templateUrl: './w-skeleton-edit.component.html',\r\n styleUrls: ['./w-skeleton-edit.component.css']\r\n})\r\nexport class WSkeletonEditComponent {\r\n @Input('columnsNumber') columnsNumber: number = 3;\r\n columnsArray: any[] = new Array(this.columnsNumber);\r\n\r\n ngOnInit(): void{\r\n this.columnsArray.length = this.columnsNumber;\r\n }\r\n}\r\n","<w-body-container>\r\n <w-header-panel class=\"col-12\">\r\n <div class=\"main-actions\">\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n <p-skeleton height=\"32px\" width=\"190px\"></p-skeleton>\r\n </div>\r\n </w-header-panel>\r\n <ng-container *ngFor=\"let item of columnsArray\">\r\n <w-panel *ngIf=\"columnsNumber == 1\" class=\"col-12\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n <w-panel *ngIf=\"columnsNumber == 3\" class=\"col-4\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n <w-panel *ngIf=\"columnsNumber == 2\" class=\"col-6\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n </ng-container>\r\n <w-panel class=\"col-12\">\r\n <p-skeleton class=\"col-12\" width=\"100%\" height=\"20px\"></p-skeleton>\r\n <p-skeleton class=\"col-12\" height=\"500px\"></p-skeleton>\r\n </w-panel>\r\n</w-body-container>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-edit-product',\r\n templateUrl: './w-skeleton-edit-product.component.html',\r\n styleUrls: ['./w-skeleton-edit-product.component.css']\r\n})\r\nexport class WSkeletonEditProductComponent {\r\n\r\n}\r\n","<w-body-container>\r\n <w-header-panel class=\"col-12\">\r\n <div class=\"main-actions\" >\r\n <p-skeleton height=\"32px\" width=\"129px\"></p-skeleton>\r\n </div>\r\n </w-header-panel>\r\n\r\n <w-panel class=\"col-12 xl:col-8\">\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\" height=\"140px\"></w-skeleton-input-generic>\r\n\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-3\" label=\"''\"></w-skeleton-input-generic>\r\n\r\n <w-skeleton-input-generic class=\"col-6 xl:col-4\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-4\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-6 xl:col-4\" label=\"''\"></w-skeleton-input-generic>\r\n </w-panel>\r\n <w-panel class=\"col-12 xl:col-4\">\r\n <w-panel-grid class=\"col-12\">\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\"></w-skeleton-input-generic>\r\n </w-panel-grid>\r\n </w-panel>\r\n <w-panel class=\"col-12 xl:col-12\">\r\n <w-skeleton-input-generic class=\"col-4\" label=\"''\"></w-skeleton-input-generic>\r\n </w-panel>\r\n <w-panel class=\"col-12 xl:col-12\">\r\n <w-skeleton-input-generic class=\"col-12\" label=\"''\" height=\"140px\"></w-skeleton-input-generic>\r\n </w-panel>\r\n</w-body-container>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-powerbi-report',\r\n templateUrl: './w-skeleton-powerbi-report.component.html',\r\n styleUrls: ['./w-skeleton-powerbi-report.component.css']\r\n})\r\nexport class WSkeletonPowerbiReportComponent {\r\n\r\n}\r\n","<div class=\"flex justify-content-between flex-wrap mb-3\">\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <p-skeleton width=\"15rem\" height=\"3rem\"></p-skeleton>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center\">\r\n <p-skeleton shape=\"circle\" size=\"3rem\" styleClass=\"mr-2\"></p-skeleton>\r\n <p-skeleton shape=\"circle\" size=\"3rem\" styleClass=\"mr-2\"></p-skeleton>\r\n </div>\r\n</div>\r\n<p-skeleton width=\"100%\" height=\"100vh\" styleClass=\"mb-2\"></p-skeleton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-query-builder',\r\n templateUrl: './w-skeleton-query-builder.component.html',\r\n styleUrls: ['./w-skeleton-query-builder.component.css']\r\n})\r\nexport class WSkeletonQueryBuilderComponent {\r\n @Input('rule') rule: string = \"Rule\";\r\n @Input('ruleSet') ruleSet: string = \"Rule set\";\r\n\r\n stateOptions: any[] = [{label: 'And', value: 'and'}, {label: 'Or', value: 'or'}];\r\n}\r\n","<div class=\"grid\">\r\n <div class=\"col-12\">\r\n <div class=\"flex justify-content-between flex-wrap card-container\">\r\n <div class=\"flex align-items-center justify-content-center m-2\">\r\n <button pButton pRipple type=\"button\" icon=\"pi pi-chevron-down\" class=\"p-button-rounded p-button-text\"></button>\r\n <p-selectButton [options]=\"stateOptions\" optionLabel=\"label\" optionValue=\"value\"></p-selectButton>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center m-2\"></div>\r\n <div class=\"flex align-items-center justify-content-center m-2 gap-3\">\r\n <p-button [label]=\"rule\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\"></p-button>\r\n <p-button [label]=\"ruleSet\" styleClass=\"p-button-outlined\" icon=\"pi pi-plus\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 pl-6\">\r\n <div class=\"flex justify-content-between flex-wrap card-container wapp-query-builder-skeleton-rule pl-3\">\r\n <div class=\"flex align-items-center justify-content-center gap-3\">\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"4rem\"></p-skeleton></div>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center m-2\"></div>\r\n <div class=\"flex align-items-center justify-content-center m-2\">\r\n <p-button styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-12 pl-6\">\r\n <div class=\"flex justify-content-between flex-wrap card-container wapp-query-builder-skeleton-rule pl-3\">\r\n <div class=\"flex align-items-center justify-content-center gap-3\">\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"8rem\"></p-skeleton></div>\r\n <div class=\"p-3 p-0 p-dropdown list-none bg-white\"><p-skeleton width=\"4rem\"></p-skeleton></div>\r\n </div>\r\n <div class=\"flex align-items-center justify-content-center m-2\"></div>\r\n <div class=\"flex align-items-center justify-content-center m-2\">\r\n <p-button styleClass=\"p-button-outlined p-button-danger\" icon=\"pi pi-times\"></p-button>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-tree',\r\n templateUrl: './w-skeleton-tree.component.html',\r\n styleUrls: ['./w-skeleton-tree.component.css']\r\n})\r\nexport class WSkeletonTreeComponent implements OnInit {\r\n @Input('rowsToShow') rowsToShow: number = 4;\r\n @Input('rowHeight') rowHeight: string = '24px';\r\n rowsArray: any = [];\r\n\r\n constructor(){}\r\n\r\n ngOnInit(): void{\r\n this.rowsArray.length = this.rowsToShow-1;\r\n }\r\n}\r\n","<div class=\"border-round border-1 surface-border p-4 surface-card\">\r\n <ul class=\"m-0 p-0 list-none\">\r\n <li *ngFor=\"let row of rowsArray\">\r\n <p-skeleton width=\"100%\" height=\"{{rowHeight}}\" styleClass=\"mb-4\"></p-skeleton>\r\n </li>\r\n <li>\r\n <p-skeleton width=\"100%\" height=\"{{rowHeight}}\"></p-skeleton>\r\n </li>\r\n </ul>\r\n</div>\r\n","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-profile-sidebar',\r\n templateUrl: './w-skeleton-profile-sidebar.component.html',\r\n styleUrls: ['./w-skeleton-profile-sidebar.component.css']\r\n})\r\nexport class WSkeletonProfileSidebarComponent {\r\n\r\n}\r\n","<div class=\"flex justify-content-center flex-wrap\">\r\n <p-skeleton shape=\"circle\" size=\"4rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"flex justify-content-center flex-wrap\">\r\n <p-skeleton width=\"10rem\" styleClass=\"mb-3\"></p-skeleton>\r\n <p-skeleton width=\"20rem\" styleClass=\"mb-5\"></p-skeleton>\r\n </div>\r\n <div class=\"flex justify-content-center flex-wrap mb-3\">\r\n <p-skeleton width=\"20rem\" height=\"5rem\"></p-skeleton>\r\n </div>\r\n <div class=\"flex justify-content-center flex-wrap mb-3\">\r\n <p-skeleton width=\"20rem\" height=\"4rem\"></p-skeleton>\r\n </div>\r\n ","import { Component } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-user-profile-info-sidebar',\r\n templateUrl: './w-skeleton-user-profile-info-sidebar.component.html',\r\n styleUrls: ['./w-skeleton-user-profile-info-sidebar.component.css']\r\n})\r\nexport class WSkeletonUserProfileInfoSidebarComponent {\r\n\r\n}\r\n","<div class=\"flex mb-3\">\r\n <div class=\"mb-2 justify-content-center\">\r\n <div class=\"inline-block w-2rem h-8rem p-4 mx-5\">\r\n <p-skeleton shape=\"circle\" size=\"4rem\" styleClass=\"mr-2\"></p-skeleton>\r\n </div>\r\n <div class=\"inline-block w-25rem h-8rem p-4 ml-3\">\r\n <p-skeleton width=\"20rem\" styleClass=\"mb-2\"></p-skeleton>\r\n <p-skeleton width=\"15rem\" styleClass=\"mb-4\"></p-skeleton>\r\n <p-skeleton width=\"10rem\"></p-skeleton>\r\n </div>\r\n <div class=\"px-5 pb-2\">\r\n <div class=\"grid\">\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-4\">\r\n <p-skeleton width=\"8rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n <div class=\"col-8\">\r\n <p-skeleton width=\"16rem\" styleClass=\"mb-3\"></p-skeleton>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div>\r\n </div>\r\n </div>\r\n ","import { Pipe, PipeTransform } from '@angular/core';\r\n \r\n@Pipe({\r\n name: 'wappSummary'\r\n})\r\nexport class WSummaryPipe implements PipeTransform {\r\n \r\n transform(value: string, maxLength: number) {\r\n return !value || value.length < maxLength ? null : value.substring(0, maxLength) + ' ... ';\r\n }\r\n}","import { Component, ElementRef, EventEmitter, Input, OnInit, Output } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-chip',\r\n templateUrl: './w-chip.component.html',\r\n styleUrls: ['./w-chip.component.scss']\r\n})\r\nexport class WChipComponent implements OnInit {\r\n\r\n @Input('image') image!: string;\r\n @Input('icon') icon!: string;\r\n\r\n @Input('iconColor') iconColor: string = \"#1e293b\";\r\n @Input('iconHeight') iconHeight: number = 12;\r\n @Input('iconWidth') iconWidth: number = 12;\r\n @Input('backgroundColor') backgroundColor: string = \"#e2e8f0\";\r\n @Input('labelColor') labelColor: string = \"#1e293b\";\r\n \r\n @Input('wappIcon') wappIcon!: string;\r\n @Input('label') label!: string;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('tooltipPosition') tooltipPosition: string = 'bottom';\r\n \r\n @Output('click') click: EventEmitter<boolean> = new EventEmitter<boolean>();\r\n\r\n constructor(private elementRef: ElementRef) {}\r\n\r\n ngOnInit(): void {\r\n this.elementRef.nativeElement.style.setProperty(\"--bgcolor\", this.backgroundColor)\r\n }\r\n\r\n chipClick() {\r\n this.click.emit(true);\r\n }\r\n}\r\n","<p-chip *ngIf=\"icon || image; else wappIconChip\" \r\n class=\"w-chip\"\r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n (click)=\"chipClick()\">\r\n <i *ngIf=\"icon; else imageChip\" class=\"p-chip-icon\" [class]=\"'pi ' + icon\" [style]=\"'color: '+iconColor\"></i>\r\n <ng-template #imageChip> <img [src]=\"image\"> </ng-template>\r\n <span class=\"p-chip-text\" [style]=\"'color:'+ labelColor\"> {{label}} </span>\r\n</p-chip>\r\n\r\n<ng-template #wappIconChip>\r\n <p-chip class=\"w-chip\"\r\n [pTooltip]=\"tooltip\" \r\n [tooltipPosition]=\"tooltipPosition\" \r\n (click)=\"chipClick()\">\r\n <w-icons *ngIf=\"wappIcon\" \r\n [name]=\"wappIcon\" \r\n [color]=\"iconColor\" \r\n [height]=\"iconHeight\" \r\n [width]=\"iconWidth\" \r\n class=\"wapp-chip-icon\">\r\n </w-icons>\r\n <span class=\"p-chip-text\" [style]=\"'color:'+ labelColor\"> {{label}} </span>\r\n </p-chip>\r\n</ng-template>\r\n\r\n\r\n","import { Component, Input, OnInit } from '@angular/core';\r\nimport { IconType } from '../../shared/enums/enum';\r\n\r\n@Component({\r\n selector: 'w-view-boolean',\r\n templateUrl: './w-view-boolean.component.html',\r\n styleUrls: ['./w-view-boolean.component.scss']\r\n})\r\nexport class WViewBooleanComponent implements OnInit {\r\n @Input('label') label!: string;\r\n @Input('value') value!: boolean | null;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('trueIcon') trueIcon: string = \"pi pi-circle-fill\";\r\n @Input('trueIconColor') trueIconColor: string = \"var(--w-success-main-color)\";\r\n @Input('falseIcon') falseIcon: string = \"pi pi-circle-fill\"; \r\n @Input('falseIconColor') falseIconColor: string = \"var(--w-error-main-color)\"; \r\n @Input('nullIcon') nullIcon: string = \"pi pi-minus-circle\"; \r\n @Input('nullIconColor') nullIconColor: string = \"var(--w-text-500)\"; \r\n @Input('layout') layout: string = 'horizontal';\r\n\r\n iconType: typeof IconType = IconType;\r\n\r\n ngOnInit(): void {}\r\n\r\n getIconType(icon: string){\r\n if(icon.includes(\"pi pi-\")){\r\n return IconType.pIcon;\r\n }else {\r\n return IconType.wIcon;\r\n }\r\n }\r\n}\r\n","<div *ngIf=\"layout == 'horizontal'; else vertical\" class=\"w-view-text-content grid flex align-content-center\">\r\n <div class=\"col-4 w-view-text-label\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n </div>\r\n <div class=\"col-8 w-view-text-value\">\r\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\r\n </div>\r\n</div>\r\n<ng-template #vertical>\r\n <div class=\"flex flex-column\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label> \r\n <div class=\"flex input-label-gap-divider\"></div>\r\n <div class=\"flex w-view-text-value-vertical\">\r\n <ng-container *ngTemplateOutlet=\"icons\"></ng-container>\r\n </div>\r\n <div class=\"flex spacingXSMDivider\"></div>\r\n </div>\r\n</ng-template>\r\n\r\n<ng-template #icons>\r\n <span *ngIf=\"value == true && getIconType(trueIcon) == iconType.pIcon\" [class]=\"trueIcon\" [style.color]=\"trueIconColor\"></span>\r\n <span *ngIf=\"value == false && getIconType(falseIcon) == iconType.pIcon\" [class]=\"falseIcon\" [style.color]=\"falseIconColor\"></span>\r\n <span *ngIf=\"value == null && getIconType(nullIcon) == iconType.pIcon\" [class]=\"nullIcon\" [style.color]=\"nullIconColor\"></span>\r\n <w-icons *ngIf=\"value == true && getIconType(trueIcon) == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"trueIcon\" [color]=\"trueIconColor\" [width]=\"12\" [height]=\"12\"></w-icons>\r\n <w-icons *ngIf=\"value == false && getIconType(falseIcon) == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"falseIcon\" [color]=\"falseIconColor\" [width]=\"12\" [height]=\"12\"></w-icons>\r\n <w-icons *ngIf=\"value == null && getIconType(nullIcon) == iconType.wIcon\" class=\"w-sidebar-icon\" [name]=\"nullIcon\" [color]=\"nullIconColor\" [width]=\"12\" [height]=\"12\"></w-icons>\r\n</ng-template>\r\n","import { Component, Input, OnInit } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-form',\r\n templateUrl: './w-skeleton-form.component.html',\r\n styleUrls: ['./w-skeleton-form.component.css']\r\n})\r\nexport class WSkeletonFormComponent implements OnInit {\r\n @Input('rowsToShow') rowsToShow: number = 3;\r\n rowsArray: any = [];\r\n\r\n constructor(){}\r\n\r\n ngOnInit(): void{\r\n this.rowsArray.length = this.rowsToShow;\r\n }\r\n}\r\n","<w-panel-grid>\r\n <w-skeleton-input-generic *ngFor=\"let row of rowsArray\" class=\"col-12\" [label]=\"'Label'\"></w-skeleton-input-generic>\r\n</w-panel-grid>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-skeleton-generic',\r\n templateUrl: './w-skeleton-generic.component.html',\r\n styleUrls: ['./w-skeleton-generic.component.css']\r\n})\r\nexport class WSkeletonGenericComponent {\r\n @Input('height') height: string = \"300px\"; \r\n}\r\n","<w-panel-grid>\r\n <w-skeleton-input-generic class=\"col-12\" [hasAlign]=\"false\" [height]=\"height\"></w-skeleton-input-generic>\r\n</w-panel-grid>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-panel-section-gap-divider',\r\n templateUrl: './w-panel-section-gap-divider.component.html',\r\n styleUrls: ['./w-panel-section-gap-divider.component.scss']\r\n})\r\nexport class WPanelSectionGapDividerComponent {\r\n @Input('inGrid') inGrid: boolean = true;\r\n}\r\n","<div [ngClass]=\"{'w-panel-section-gap-divider-no-grid': inGrid == false, 'w-panel-section-gap-divider-grid': inGrid == true}\"></div>","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-input-vertical-gap-divider',\r\n templateUrl: './w-input-vertical-gap-divider.component.html',\r\n styleUrls: ['./w-input-vertical-gap-divider.component.scss']\r\n})\r\nexport class WInputVerticalGapDividerComponent {\r\n @Input('inGrid') inGrid: boolean = true;\r\n}\r\n","<div [ngClass]=\"{'w-input-vertical-gap-divider-no-grid': inGrid == false, 'w-input-vertical-gap-divider-grid': inGrid == true}\"></div>","import { AfterViewInit, Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-button-week',\r\n templateUrl: './w-button-week.component.html',\r\n styleUrls: ['./w-button-week.component.scss'], \r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WButtonWeekComponent), \r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WButtonWeekComponent implements OnInit, ControlValueAccessor {\r\n value!: number[];\r\n @Input('translations') translations!: string[];\r\n @Output('onDayClick') onDayClick: EventEmitter<MouseEvent> = new EventEmitter(); \r\n \r\n weekDays: any[] = [\r\n { name: 'Mon', value: 1, disabled: true },\r\n { name: 'Tue', value: 2, disabled: true },\r\n { name: 'Wed', value: 3, disabled: true }, \r\n { name: 'Thu', value: 4, disabled: true },\r\n { name: 'Fri', value: 5, disabled: true },\r\n { name: 'Sat', value: 6, disabled: true }, \r\n { name: 'Sun', value: 7, disabled: true }\r\n ];\r\n\r\n isTouched: boolean = false;\r\n onChange = (_: any) => { }\r\n onTouch = () => { }\r\n\r\n ngOnInit(): void {\r\n if(this.translations){\r\n if(this.translations.length == 7){\r\n this.weekDays = this.weekDays.map((day:any, index) => {\r\n return {\r\n name: this.translations[index], \r\n value: day.value, \r\n disabled: day.disabled\r\n }\r\n })\r\n }\r\n }\r\n }\r\n\r\n writeValue(value: any): void {\r\n this.value = value; \r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n onValueChanged(){\r\n this.onChange(this.value); \r\n this.onTouch(); \r\n }\r\n\r\n onButtonOptionClick(event: any){\r\n this.onDayClick.emit(event.option); \r\n }\r\n}\r\n","<p-selectButton class=\"w-button-week-small\" \r\n [options]=\"weekDays\" \r\n [(ngModel)]=\"value\" \r\n [multiple]=\"true\" \r\n optionLabel=\"name\" \r\n optionValue=\"value\" \r\n (onChange)=\"onValueChanged()\" \r\n (onOptionClick)=\"onButtonOptionClick($event)\" \r\n optionDisabled=\"disabled\">\r\n</p-selectButton>\r\n","import { Component, Input } from '@angular/core';\r\n\r\n@Component({\r\n selector: 'w-view-badge',\r\n templateUrl: './w-view-badge.component.html',\r\n styleUrls: ['./w-view-badge.component.scss']\r\n})\r\nexport class WViewBadgeComponent {\r\n @Input('label') label!: string; \r\n @Input('tooltip') tooltip!: string; \r\n @Input('badgeLabel') badgeLabel!: string; \r\n @Input('badgeColor') badgeColor: string = \"default\";\r\n @Input('badgeTooltip') badgeTooltip!: string;\r\n @Input('badgeMaxWidthOverflow') badgeMaxWidthOverflow!: string;\r\n}\r\n","<div class=\"flex flex-column\">\r\n <w-input-label class=\"flex\" [label]=\"label\" [tooltip]=\"tooltip\"></w-input-label>\r\n <div *ngIf=\"(label != undefined) || (label != '')\" class=\"flex w-view-badge-space\"></div>\r\n <div class=\"flex w-view-badge-badge align-items-center\">\r\n <w-badge [label]=\"badgeLabel\" [color]=\"badgeColor\" [tooltip]=\"badgeTooltip\" [maxWidthOverflow]=\"badgeMaxWidthOverflow\"></w-badge>\r\n </div>\r\n</div>\r\n","import { Component, EventEmitter, Input, OnInit, Output, forwardRef } from '@angular/core';\r\nimport { ControlValueAccessor, FormControl, NG_VALUE_ACCESSOR } from '@angular/forms';\r\n\r\n@Component({\r\n selector: 'w-edit-calendar-month',\r\n templateUrl: './w-edit-calendar-month.component.html',\r\n styleUrls: ['./w-edit-calendar-month.component.scss'], \r\n providers: [\r\n {\r\n provide: NG_VALUE_ACCESSOR,\r\n useExisting: forwardRef(() => WEditCalendarMonthComponent),\r\n multi: true\r\n }\r\n ]\r\n})\r\nexport class WEditCalendarMonthComponent implements OnInit, ControlValueAccessor {\r\n @Input('label') label!: string; \r\n @Input('showLabel') showLabel: boolean = true;\r\n @Input('tooltip') tooltip!: string;\r\n @Input('disabled') disabled: boolean = false;\r\n @Input('formControl') formControl!: FormControl | null;\r\n @Input('required') required: boolean = false;\r\n @Input('requiredErrorDescription') requiredErrorDescription : string = \"Mensaje default required\";\r\n @Input('dataType') dataType: string = 'date';\r\n\r\n @Output('onChange') onChangeEvent: EventEmitter<any> = new EventEmitter(); \r\n\r\n ngModelValue: any;\r\n\r\n isDisabled: boolean = false;\r\n isTouched : boolean = false;\r\n onChange: any = () => {};\r\n onTouch: any = () => {};\r\n\r\n constructor(){} \r\n \r\n ngOnInit(): void {}\r\n\r\n writeValue(value: any) {\r\n this.ngModelValue = value;\r\n }\r\n\r\n registerOnChange(fn: any): void {\r\n this.onChange = fn;\r\n }\r\n\r\n registerOnTouched(fn: any): void {\r\n this.onTouch = fn;\r\n }\r\n\r\n setDisabledState(isDisabled: boolean): void {\r\n this.isDisabled = isDisabled;\r\n }\r\n\r\n onValue(value: any){\r\n this.onChangeEvent.emit(value);\r\n }\r\n\r\n onDateChanged(){\r\n this.onChange(this.ngModelValue);\r\n this.onTouch();\r\n\r\n this.onChangeEvent.emit(this.ngModelValue);\r\n }\r\n}\r\n","<div class=\"w-edit-calendar-month-styles p-fluid field\">\r\n <w-input-label *ngIf=\"showLabel\" [label]=\"label\" [tooltip]=\"tooltip\" [required]=\"required\" [disabled]=\"disabled\"></w-input-label>\r\n <div *ngIf=\"formControl; else noNgControl\">\r\n <p-calendar class=\"w-edit-calendar-month\"\r\n [ngClass]=\"{'ng-invalid ng-dirty': formControl.hasError('required') && formControl.touched}\"\r\n [formControl]=\"formControl\" \r\n [required]=\"required\"\r\n (onSelect)=\"onValue($event)\" \r\n dateFormat=\"dd/MM\" \r\n [dataType]=\"dataType\">\r\n </p-calendar>\r\n <small *ngIf=\"formControl.hasError('required') && formControl.touched\" class=\"p-error block\">{{requiredErrorDescription}}</small>\r\n </div>\r\n</div>\r\n<ng-template #noNgControl>\r\n <div class=\"w-edit-calendar-month-styles p-fluid field\">\r\n <p-calendar class=\"w-edit-calendar-month\"\r\n [(ngModel)]=\"ngModelValue\" \r\n (ngModelChange)=\"onDateChanged()\" \r\n dateFormat=\"dd/MM\"\r\n [dataType]=\"dataType\">\r\n </p-calendar>\r\n </div>\r\n</ng-template>\r\n","import { ModuleWithProviders, NgModule } from '@angular/core';\r\nimport { FormsModule, ReactiveFormsModule } from '@angular/forms';\r\nimport { CommonModule } from '@angular/common';\r\nimport { HttpClientModule } from '@angular/common/http';\r\nimport { RouterModule } from '@angular/router';\r\n\r\n// PRIMENG\r\nimport { InputTextModule } from 'primeng/inputtext';\r\nimport { ButtonModule } from 'primeng/button';\r\nimport { SidebarModule } from 'primeng/sidebar';\r\nimport { BadgeModule } from 'primeng/badge';\r\nimport { RadioButtonModule } from 'primeng/radiobutton';\r\nimport { InputSwitchModule } from 'primeng/inputswitch';\r\nimport { TooltipModule } from 'primeng/tooltip';\r\nimport { RippleModule } from 'primeng/ripple';\r\nimport { SkeletonModule } from 'primeng/skeleton';\r\nimport { DropdownModule } from 'primeng/dropdown';\r\nimport { AvatarModule } from 'primeng/avatar';\r\nimport { AvatarGroupModule } from 'primeng/avatargroup';\r\nimport { TreeSelectModule } from 'primeng/treeselect';\r\nimport { InputNumberModule } from 'primeng/inputnumber';\r\nimport { InputTextareaModule } from 'primeng/inputtextarea';\r\nimport { AutoCompleteModule } from 'primeng/autocomplete';\r\nimport { TableModule } from 'primeng/table';\r\nimport { MultiSelectModule } from 'primeng/multiselect';\r\nimport { PaginatorModule } from 'primeng/paginator';\r\nimport { ConfirmPopupModule } from 'primeng/confirmpopup';\r\nimport { CalendarModule } from 'primeng/calendar';\r\nimport { ToggleButtonModule } from 'primeng/togglebutton';\r\nimport { SelectButtonModule } from 'primeng/selectbutton';\r\nimport { ImageModule } from 'primeng/image';\r\nimport { FileUploadModule } from 'primeng/fileupload';\r\nimport { SliderModule } from 'primeng/slider';\r\nimport { CarouselModule } from 'primeng/carousel';\r\nimport { DividerModule } from 'primeng/divider';\r\nimport { TreeTableModule } from 'primeng/treetable';\r\nimport { MessagesModule } from 'primeng/messages';\r\nimport { CheckboxModule } from 'primeng/checkbox';\r\nimport { StepsModule } from 'primeng/steps';\r\nimport { TabViewModule } from 'primeng/tabview';\r\nimport { TimelineModule } from 'primeng/timeline';\r\nimport { CardModule } from 'primeng/card';\r\nimport { ChipModule } from 'primeng/chip';\r\nimport { TieredMenuModule } from 'primeng/tieredmenu';\r\nimport { GalleriaModule } from 'primeng/galleria';\r\nimport { BlockUIModule } from 'primeng/blockui';\r\n\r\n//EXTERNAL\r\nimport { QueryBuilderComponent, QueryBuilderModule } from 'angular2-query-builder';\r\nimport { ImageCropperModule } from 'ngx-image-cropper';\r\nimport { PowerBIEmbedModule } from 'powerbi-client-angular';\r\nimport { HighlightModule, HIGHLIGHT_OPTIONS } from 'ngx-highlightjs';\r\n\r\n// WAPPING\r\nimport { WappComponentsComponent } from './wapp-components.component';\r\nimport { WEditInputTextComponent } from './edit/w-edit-input-text/w-edit-input-text.component';\r\nimport { WClipboardComponent } from './w-clipboard/w-clipboard.component';\r\nimport { WIconsComponent } from './icons/wapping-icons/w-icons.component';\r\nimport { WLogosComponent } from './logos/wapping-logos/w-logos.component';\r\nimport { WEditInputTextareaComponent } from './edit/w-edit-input-textarea/w-edit-input-textarea.component';\r\nimport { WEditSelectComponent } from './edit/w-edit-select/w-edit-select.component';\r\nimport { WButtonComponent } from './button/w-button/w-button.component';\r\nimport { WTableComponent } from './tables/w-table/w-table.component';\r\nimport { WTableLazyComponent } from './tables/w-table-lazy/w-table-lazy.component';\r\nimport { WContainerComponent } from './layout/w-container/w-container.component';\r\nimport { WNavbarComponent } from './layout/w-navbar/w-navbar.component';\r\nimport { WBodyComponent } from './layout/w-body/w-body.component';\r\nimport { WFooterComponent } from './layout/w-footer/w-footer.component';\r\nimport { ColorTextPipe } from './shared/pipes/color-text.pipe';\r\nimport { WEditMultiselectComponent } from './edit/w-edit-multiselect/w-edit-multiselect.component';\r\nimport { WEditTreeselectComponent } from './edit/w-edit-treeselect/w-edit-treeselect.component';\r\nimport { WPanelComponent } from './layout/w-panel/w-panel.component';\r\nimport { WBodyContainerComponent } from './layout/w-body-container/w-body-container.component';\r\nimport { WHeaderPanelComponent } from './layout/w-header-panel/w-header-panel.component';\r\nimport { WPanelTitleComponent } from './layout/w-panel-title/w-panel-title.component';\r\nimport { WEditInputNumberComponent } from './edit/w-edit-input-number/w-edit-input-number.component';\r\nimport { WInputSearchComponent } from './search/w-input-search/w-input-search.component';\r\nimport { WFilterPanelComponent } from './misc/w-filter-panel/w-filter-panel.component';\r\nimport { WListFieldComponent } from './misc/w-filter-panel/w-list-field/w-list-field.component';\r\nimport { WImageFileUploaderComponent } from './file/w-image-file-uploader/w-image-file-uploader.component';\r\nimport { WImageCropperComponent } from './file/w-image-cropper/w-image-cropper.component';\r\nimport { WPreviewImageComponent } from './file/w-preview-image/w-preview-image.component';\r\nimport { WPowerbiReportComponent } from './report/w-powerbi-report/w-powerbi-report.component';\r\nimport { WSidebarComponent } from './sidebar/w-sidebar/w-sidebar.component';\r\nimport { WButtonsFooterComponent } from './button/w-buttons-footer/w-buttons-footer.component';\r\nimport { WTreeTableComponent } from './tables/w-tree-table/w-tree-table.component';\r\nimport { WBodyGridComponent } from './layout/w-body-grid/w-body-grid.component';\r\nimport { WEditToggleComponent } from './edit/w-edit-toggle/w-edit-toggle.component';\r\nimport { WPanelGridComponent } from './layout/w-panel-grid/w-panel-grid.component';\r\nimport { WViewCardTitleTextComponent } from './view/w-view-card-title-text/w-view-card-title-text.component';\r\nimport { WAutocompleteSearchComponent } from './search/w-autocomplete-search/w-autocomplete-search.component';\r\nimport { WToggleButtonComponent } from './button/w-toggle-button/w-toggle-button.component';\r\nimport { WEditCheckboxComponent } from './edit/w-edit-checkbox/w-edit-checkbox.component';\r\nimport { WSelectButtonComponent } from './button/w-select-button/w-select-button.component';\r\nimport { WMapsComponent } from './maps/w-maps/w-maps.component';\r\nimport { WEditCalendarComponent } from './edit/w-edit-calendar/w-edit-calendar.component';\r\nimport { WRadioButtonComponent } from './button/w-radio-button/w-radio-button.component';\r\nimport { WWizardComponent } from './misc/w-wizard/w-wizard.component';\r\nimport { WTabviewComponent } from './tabview/w-tabview/w-tabview.component';\r\nimport { WTreeComponent } from './tree/w-tree/w-tree.component';\r\nimport { WBadgeComponent } from './misc/w-badge/w-badge.component';\r\nimport { WTimelineComponent } from './misc/w-timeline/w-timeline.component';\r\nimport { WPanelSubtitleComponent } from './layout/w-panel-subtitle/w-panel-subtitle.component';\r\nimport { WViewTextComponent } from './view/w-view-text/w-view-text.component';\r\nimport { WSkeletonTimelineComponent } from './shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component';\r\nimport { WSkeletonSidebarComponent } from './shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component';\r\nimport { WSkeletonListComponent } from './shared/skeletons/w-skeleton-list/w-skeleton-list.component';\r\nimport { WSkeletonInputGenericComponent } from './shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component';\r\nimport { WSkeletonIframeComponent } from './shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component';\r\nimport { WSkeletonEditComponent } from './shared/skeletons/w-skeleton-edit/w-skeleton-edit.component';\r\nimport { WSkeletonEditProductComponent } from './shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component';\r\nimport { WSkeletonPowerbiReportComponent } from './shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component';\r\nimport { WSkeletonQueryBuilderComponent } from './shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component';\r\nimport { WSkeletonTreeComponent } from './shared/skeletons/w-skeleton-tree/w-skeleton-tree.component';\r\nimport { WSkeletonProfileSidebarComponent } from './shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component';\r\nimport { WSkeletonUserProfileInfoSidebarComponent } from './shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component';\r\nimport { WDatePipe } from './shared/pipes/w-date.pipe';\r\nimport { WSummaryPipe } from './shared/pipes/w-summary.pipe';\r\nimport { WChipComponent } from './misc/w-chip/w-chip.component';\r\nimport { WViewBooleanComponent } from './view/w-view-boolean/w-view-boolean.component';\r\nimport { WSkeletonFormComponent } from './shared/skeletons/w-skeleton-form/w-skeleton-form.component';\r\nimport { WAddressFieldComponent } from './shared/components/w-address-field/w-address-field.component';\r\nimport { WSkeletonGenericComponent } from './shared/skeletons/w-skeleton-generic/w-skeleton-generic.component';\r\nimport { WInputLabelComponent } from './view/w-input-label/w-input-label.component';\r\nimport { WPanelSectionGapDividerComponent } from './layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component';\r\nimport { WInputVerticalGapDividerComponent } from './layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component';\r\nimport { WButtonWeekComponent } from './button/w-button-week/w-button-week.component';\r\nimport { WViewBadgeComponent } from './view/w-view-badge/w-view-badge.component';\r\nimport { WEditCalendarMonthComponent } from './edit/w-edit-calendar-month/w-edit-calendar-month.component';\r\n\r\n@NgModule({\r\n declarations: [\r\n WappComponentsComponent,\r\n WEditInputTextComponent,\r\n WClipboardComponent,\r\n WIconsComponent,\r\n WLogosComponent,\r\n WEditInputTextareaComponent,\r\n WEditInputNumberComponent,\r\n WEditSelectComponent,\r\n WEditMultiselectComponent, \r\n WButtonComponent,\r\n WTableComponent,\r\n WTableLazyComponent,\r\n WContainerComponent,\r\n WNavbarComponent,\r\n WBodyComponent,\r\n WFooterComponent,\r\n ColorTextPipe,\r\n WDatePipe,\r\n WSummaryPipe,\r\n WEditTreeselectComponent,\r\n WPanelComponent,\r\n WBodyContainerComponent, \r\n WTableComponent, \r\n WHeaderPanelComponent, \r\n WPanelTitleComponent,\r\n WInputSearchComponent,\r\n WFilterPanelComponent,\r\n WListFieldComponent,\r\n WViewCardTitleTextComponent,\r\n WImageFileUploaderComponent,\r\n WImageCropperComponent,\r\n WPreviewImageComponent,\r\n WPowerbiReportComponent,\r\n WSidebarComponent,\r\n WButtonsFooterComponent,\r\n WTreeTableComponent,\r\n WBodyGridComponent,\r\n WEditToggleComponent,\r\n WPanelGridComponent,\r\n WAutocompleteSearchComponent,\r\n WToggleButtonComponent,\r\n WEditCheckboxComponent,\r\n WSelectButtonComponent,\r\n WMapsComponent,\r\n WEditCalendarComponent,\r\n WRadioButtonComponent,\r\n WWizardComponent,\r\n WTabviewComponent,\r\n WTreeComponent,\r\n WBadgeComponent,\r\n WTimelineComponent,\r\n WPanelSubtitleComponent,\r\n WViewTextComponent,\r\n WViewBooleanComponent, \r\n WChipComponent,\r\n WSkeletonTimelineComponent,\r\n WSkeletonSidebarComponent,\r\n WSkeletonListComponent, \r\n WSkeletonEditComponent,\r\n WSkeletonInputGenericComponent,\r\n WSkeletonIframeComponent,\r\n WSkeletonEditProductComponent,\r\n WSkeletonPowerbiReportComponent,\r\n WSkeletonQueryBuilderComponent,\r\n WSkeletonTreeComponent,\r\n WSkeletonProfileSidebarComponent,\r\n WSkeletonUserProfileInfoSidebarComponent,\r\n WSkeletonFormComponent,\r\n WAddressFieldComponent,\r\n WSkeletonGenericComponent,\r\n WInputLabelComponent, \r\n WPanelSectionGapDividerComponent,\r\n WInputVerticalGapDividerComponent,\r\n WButtonWeekComponent,\r\n WViewBadgeComponent,\r\n WEditCalendarMonthComponent\r\n ],\r\n imports: [\r\n InputTextModule,\r\n FormsModule,\r\n ReactiveFormsModule,\r\n CommonModule,\r\n HttpClientModule,\r\n RouterModule,\r\n ButtonModule,\r\n HighlightModule,\r\n SidebarModule,\r\n BadgeModule,\r\n RadioButtonModule,\r\n InputSwitchModule,\r\n TooltipModule,\r\n RippleModule,\r\n SkeletonModule,\r\n DropdownModule,\r\n MultiSelectModule, \r\n AvatarModule,\r\n AvatarGroupModule,\r\n TreeSelectModule,\r\n InputNumberModule,\r\n InputTextareaModule,\r\n AutoCompleteModule,\r\n TableModule,\r\n MultiSelectModule,\r\n PaginatorModule,\r\n ConfirmPopupModule,\r\n CalendarModule,\r\n ToggleButtonModule,\r\n QueryBuilderModule,\r\n SelectButtonModule,\r\n ImageModule,\r\n FileUploadModule,\r\n ImageCropperModule,\r\n SliderModule,\r\n CarouselModule,\r\n DividerModule,\r\n PowerBIEmbedModule,\r\n TreeTableModule,\r\n MessagesModule,\r\n CheckboxModule,\r\n StepsModule,\r\n TabViewModule,\r\n TimelineModule,\r\n CardModule,\r\n ChipModule,\r\n TieredMenuModule, \r\n GalleriaModule,\r\n BlockUIModule\r\n ],\r\n exports: [\r\n WappComponentsComponent,\r\n WEditInputTextComponent,\r\n WClipboardComponent,\r\n HighlightModule,\r\n WIconsComponent,\r\n WLogosComponent,\r\n WEditInputTextareaComponent,\r\n WEditInputNumberComponent,\r\n WEditSelectComponent,\r\n WEditMultiselectComponent, \r\n WButtonComponent,\r\n WTableComponent,\r\n WTableLazyComponent,\r\n WContainerComponent,\r\n WNavbarComponent,\r\n WBodyComponent,\r\n WFooterComponent,\r\n ColorTextPipe,\r\n WDatePipe,\r\n WSummaryPipe,\r\n WEditTreeselectComponent,\r\n WPanelComponent, \r\n WBodyContainerComponent,\r\n WHeaderPanelComponent,\r\n WPanelTitleComponent,\r\n WPanelSubtitleComponent, \r\n WInputSearchComponent,\r\n QueryBuilderModule,\r\n QueryBuilderComponent,\r\n WFilterPanelComponent,\r\n ImageModule,\r\n FileUploadModule,\r\n SliderModule,\r\n WImageFileUploaderComponent, \r\n WImageCropperComponent, \r\n WPowerbiReportComponent,\r\n WSidebarComponent,\r\n WButtonsFooterComponent,\r\n WTreeTableComponent,\r\n WBodyGridComponent,\r\n WEditToggleComponent,\r\n WPanelGridComponent, \r\n ImageCropperModule,\r\n WAutocompleteSearchComponent,\r\n WToggleButtonComponent, \r\n WEditCheckboxComponent,\r\n WSelectButtonComponent,\r\n SelectButtonModule,\r\n WMapsComponent,\r\n WEditCalendarComponent,\r\n WRadioButtonComponent,\r\n WWizardComponent,\r\n StepsModule,\r\n WTabviewComponent,\r\n TabViewModule, \r\n WTreeComponent, \r\n TabViewModule,\r\n WBadgeComponent,\r\n WTimelineComponent,\r\n TimelineModule,\r\n CardModule,\r\n WViewTextComponent,\r\n WViewBooleanComponent, \r\n ChipModule,\r\n WChipComponent, \r\n WSkeletonTimelineComponent, \r\n WSkeletonSidebarComponent,\r\n WSkeletonListComponent,\r\n WSkeletonEditComponent, \r\n WSkeletonInputGenericComponent,\r\n WSkeletonIframeComponent, \r\n WSkeletonEditProductComponent,\r\n WSkeletonPowerbiReportComponent,\r\n WSkeletonQueryBuilderComponent,\r\n WSkeletonTreeComponent,\r\n WSkeletonProfileSidebarComponent,\r\n WSkeletonUserProfileInfoSidebarComponent,\r\n WSkeletonFormComponent, \r\n WAddressFieldComponent,\r\n TieredMenuModule, \r\n WSkeletonGenericComponent, \r\n GalleriaModule,\r\n BlockUIModule, \r\n WInputLabelComponent, \r\n WPanelSectionGapDividerComponent,\r\n WInputVerticalGapDividerComponent, \r\n WButtonWeekComponent, \r\n WViewBadgeComponent, \r\n WEditCalendarMonthComponent\r\n ],\r\n providers: [\r\n {\r\n provide: HIGHLIGHT_OPTIONS,\r\n useValue: {\r\n fullLibraryLoader: () => import('highlight.js')\r\n }\r\n }\r\n ]\r\n})\r\nexport class WappComponentsModule { }\r\n","import { Injectable } from '@angular/core';\r\nimport { AbstractControl, FormControl } from '@angular/forms';\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class FormControlService {\r\n\r\n constructor() { }\r\n\r\n convertToFormControl(absCtrl: AbstractControl | null): FormControl {\r\n const ctrl = absCtrl as FormControl;\r\n return ctrl;\r\n }\r\n}\r\n","import { Injectable } from \"@angular/core\";\r\nimport { TreeNode } from \"primeng/api\";\r\n\r\n@Injectable({\r\n providedIn: 'root'\r\n})\r\nexport class TreeService {\r\n\r\n constructor() { }\r\n\r\n elementToTreeNodeMap<T>(elements: T[], getChildFn: (element: T) => T[] | null, parent?: TreeNode): TreeNode[] {\r\n return elements.map((element:any) => {\r\n let treeNode: TreeNode = {\r\n label: element.name,\r\n data: element,\r\n children: [],\r\n expanded: false,\r\n parent: parent\r\n };\r\n\r\n const childElements = getChildFn(element);\r\n\r\n if (childElements) {\r\n treeNode.children = this.elementToTreeNodeMap(childElements, getChildFn, treeNode);\r\n }\r\n\r\n return treeNode;\r\n });\r\n }\r\n}","/*\r\n * Public API Surface of wapp-components\r\n */\r\n\r\nexport * from './lib/wapp-components.service';\r\nexport * from './lib/wapp-components.component';\r\nexport * from './lib/wapp-components.module';\r\n\r\n//Components\r\nexport * from './lib/edit/w-edit-input-text/w-edit-input-text.component';\r\nexport * from './lib/edit/w-edit-input-textarea/w-edit-input-textarea.component';\r\nexport * from './lib/edit/w-edit-input-number/w-edit-input-number.component';\r\nexport * from './lib/search/w-input-search/w-input-search.component';\r\nexport * from './lib/search/w-autocomplete-search/w-autocomplete-search.component';\r\nexport * from './lib/edit/w-edit-select/w-edit-select.component';\r\nexport * from './lib/edit/w-edit-multiselect/w-edit-multiselect.component';\r\nexport * from './lib/edit/w-edit-treeselect/w-edit-treeselect.component'\r\nexport * from './lib/edit/w-edit-toggle/w-edit-toggle.component';\r\nexport * from './lib/edit/w-edit-checkbox/w-edit-checkbox.component';\r\nexport * from './lib/edit/w-edit-calendar/w-edit-calendar.component';\r\nexport * from './lib/button/w-button/w-button.component';\r\nexport * from './lib/button/w-radio-button/w-radio-button.component';\r\nexport * from './lib/button/w-select-button/w-select-button.component';\r\nexport * from './lib/tables/w-table/w-table.component';\r\nexport * from './lib/tables/w-table-lazy/w-table-lazy.component';\r\nexport * from './lib/misc/w-filter-panel/w-filter-panel.component';\r\nexport * from './lib/w-clipboard/w-clipboard.component';\r\nexport * from './lib/icons/wapping-icons/w-icons.component';\r\nexport * from './lib/logos/wapping-logos/w-logos.component';\r\nexport * from './lib/layout/w-container/w-container.component';\r\nexport * from './lib/layout/w-navbar/w-navbar.component';\r\nexport * from './lib/layout/w-body/w-body.component';\r\nexport * from './lib/layout/w-footer/w-footer.component';\r\nexport * from './lib/layout/w-panel/w-panel.component';\r\nexport * from './lib/layout/w-body-container/w-body-container.component';\r\nexport * from './lib/layout/w-header-panel/w-header-panel.component';\r\nexport * from './lib/layout/w-panel-title/w-panel-title.component';\r\nexport * from './lib/layout/w-panel-subtitle/w-panel-subtitle.component';\r\nexport * from './lib/file/w-image-cropper/w-image-cropper.component';\r\nexport * from './lib/file/w-preview-image/w-preview-image.component';\r\nexport * from './lib/file/w-image-file-uploader/w-image-file-uploader.component';\r\nexport * from './lib/report/w-powerbi-report/w-powerbi-report.component';\r\nexport * from './lib/sidebar/w-sidebar/w-sidebar.component';\r\nexport * from './lib/button/w-buttons-footer/w-buttons-footer.component';\r\nexport * from './lib/tables/w-tree-table/w-tree-table.component';\r\nexport * from './lib/layout/w-body-grid/w-body-grid.component';\r\nexport * from './lib/layout/w-panel-grid/w-panel-grid.component';\r\nexport * from './lib/button/w-toggle-button/w-toggle-button.component';\r\nexport * from './lib/misc/w-wizard/w-wizard.component';\r\nexport * from './lib/maps/w-maps/w-maps.component';\r\nexport * from './lib/tabview/w-tabview/w-tabview.component';\r\nexport * from './lib/tree/w-tree/w-tree.component';\r\nexport * from './lib/misc/w-badge/w-badge.component';\r\nexport * from './lib/misc/w-timeline/w-timeline.component';\r\nexport * from './lib/misc/w-chip/w-chip.component';\r\nexport * from './lib/view/w-view-text/w-view-text.component';\r\nexport * from './lib/view/w-view-boolean/w-view-boolean.component';\r\nexport * from './lib/shared/components/w-address-field/w-address-field.component';\r\nexport * from './lib/view/w-input-label/w-input-label.component'; \r\nexport * from './lib/layout/gap-divider/w-input-vertical-gap-divider/w-input-vertical-gap-divider.component'; \r\nexport * from './lib/layout/gap-divider/w-panel-section-gap-divider/w-panel-section-gap-divider.component'; \r\nexport * from './lib/button/w-button-week/w-button-week.component'; \r\nexport * from './lib/view/w-view-badge/w-view-badge.component'; \r\nexport * from './lib/edit/w-edit-calendar-month/w-edit-calendar-month.component'; \r\n\r\n//Skeletons \r\nexport * from './lib/shared/skeletons/w-skeleton-timeline/w-skeleton-timeline.component'; \r\nexport * from './lib/shared/skeletons/w-skeleton-sidebar/w-skeleton-sidebar.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-input-generic/w-skeleton-input-generic.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-list/w-skeleton-list.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-edit/w-skeleton-edit.component'; \r\nexport * from './lib/shared/skeletons/w-skeleton-iframe/w-skeleton-iframe.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-edit-product/w-skeleton-edit-product.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-powerbi-report/w-skeleton-powerbi-report.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-query-builder/w-skeleton-query-builder.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-tree/w-skeleton-tree.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-profile-sidebar/w-skeleton-profile-sidebar.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-user-profile-info-sidebar/w-skeleton-user-profile-info-sidebar.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-form/w-skeleton-form.component';\r\nexport * from './lib/shared/skeletons/w-skeleton-generic/w-skeleton-generic.component'; \r\n\r\n//Pipes\r\nexport * from './lib/shared/pipes/color-text.pipe';\r\nexport * from './lib/shared/pipes/w-date.pipe';\r\nexport * from './lib/shared/pipes/w-summary.pipe';\r\n\r\n//Services\r\nexport * from './lib/shared/services/form-control.service';\r\nexport * from './lib/shared/services/modal.service';\r\nexport * from './lib/shared/services/tree.service';\r\nexport * from './lib/shared/services/session-storage.service';\r\n\r\n///models\r\nexport * from './lib/shared/models/enums.model';\r\nexport * from './lib/shared/models/filter.model';\r\nexport * from './lib/shared/models/lazy-element-query-request.model';\r\nexport * from './lib/shared/models/wapp-table-lazy-loading.model';\r\nexport * from './lib/shared/models/wapp-table.model';\r\nexport * from './lib/shared/models/filter-panel/filter-panel-translations.model';\r\nexport * from './lib/shared/models/image-b64.model';\r\nexport * from './lib/shared/models/w-file-b64.model';\r\nexport * from './lib/shared/models/w-image-file-uploader-config.model';\r\nexport * from './lib/shared/models/w-image-cropper-data.model';\r\nexport * from './lib/shared/models/w-address.model'\r\nexport * from './lib/shared/models/filter-panel/query-results.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public-api';\n"],"names":["i1","i2","i3","i4.WInputLabelComponent","i3.WButtonComponent","i4","i5","i6","i8","i9","i10","i11","i12.WBadgeComponent","i13.WDatePipe","i12","i13.WBadgeComponent","i14.WDatePipe","i4.WButtonComponent","i5.WContainerComponent","i3.WIconsComponent","i4.WLogosComponent","i4.WPanelTitleComponent","i5.WPanelSubtitleComponent","i5.WButtonComponent","i1.ApiService","i4.WEditSelectComponent","i5.WEditMultiselectComponent","i2.ApiService","i3.SessionStorageService","i14.WButtonComponent","i15.WListFieldComponent","i16.WViewCardTitleTextComponent","i17.WToggleButtonComponent","i18.WSelectButtonComponent","i19.WEditCalendarComponent","i20.WAddressFieldComponent","i2.ModalService","i7","i9.WButtonComponent","i9.WIconsComponent","i10.WButtonComponent","i11.WInputLabelComponent","i4.WIconsComponent","i11.WBadgeComponent","i12.WDatePipe","i5.WIconsComponent","i6.WInputLabelComponent","i5.WPanelComponent","i6.WBodyGridComponent","i2.WInputLabelComponent","i4.WPanelComponent","i3.WPanelComponent","i4.WBodyContainerComponent","i5.WHeaderPanelComponent","i6.WSkeletonInputGenericComponent","i2.WPanelComponent","i3.WBodyContainerComponent","i4.WHeaderPanelComponent","i5.WPanelGridComponent","i2.WIconsComponent","i3.WInputLabelComponent","i2.WPanelGridComponent","i3.WSkeletonInputGenericComponent","i1.WPanelGridComponent","i2.WSkeletonInputGenericComponent","i2.WBadgeComponent"],"mappings":"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"}