@maplander/components 0.21.69 → 0.21.70
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundles/maplander-components.umd.js +1 -1
- package/bundles/maplander-components.umd.min.js +1 -1
- package/bundles/maplander-components.umd.min.js.map +1 -1
- package/esm2015/lib/components/filters/filters.component.js +1 -1
- package/esm5/lib/components/filters/filters.component.js +1 -1
- package/fesm2015/maplander-components.js +1 -1
- package/fesm5/maplander-components.js +1 -1
- package/maplander-components.metadata.json +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"__symbolic":"module","version":4,"metadata":{"AddressFormatPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"addressFormat"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"AddressFormatModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"AddressFormatPipe"}],"exports":[{"__symbolic":"reference","name":"AddressFormatPipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"AddressFormatModule"},"providers":[{"__symbolic":"reference","name":"AddressFormatPipe"}]}}}},"FormatDatePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"libFormatDate"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"FormatDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"FormatDatePipe"}],"exports":[{"__symbolic":"reference","name":"FormatDatePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"FormatDateModule"},"providers":[{"__symbolic":"reference","name":"FormatDatePipe"}]}}}},"MarkerPricePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":10,"character":1},"arguments":[{"name":"markerPrice"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"MarkerPriceModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"MarkerPricePipe"}],"exports":[{"__symbolic":"reference","name":"MarkerPricePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"MarkerPriceModule"},"providers":[{"__symbolic":"reference","name":"MarkerPricePipe"}]}}}},"OfferingTypePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"offeringType"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"OfferingTypeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"OfferingTypePipe"}],"exports":[{"__symbolic":"reference","name":"OfferingTypePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"OfferingTypeModule"},"providers":[{"__symbolic":"reference","name":"OfferingTypePipe"}]}}}},"PropertyTypePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"propertyType"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"PropertyTypeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"PropertyTypePipe"}],"exports":[{"__symbolic":"reference","name":"PropertyTypePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"PropertyTypeModule"},"providers":[{"__symbolic":"reference","name":"PropertyTypePipe"}]}}}},"FormatPriceDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[libFormatPrice]"}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"currency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":17,"character":20},{"__symbolic":"reference","module":"@angular/common","name":"CurrencyPipe","line":18,"character":23}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"formatPrice":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"validateFormatPrice":[{"__symbolic":"method"}]}},"FormatPriceModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"FormatPriceDirective"}],"exports":[{"__symbolic":"reference","name":"FormatPriceDirective"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"FormatPriceModule"},"providers":[{"__symbolic":"reference","module":"@angular/common","name":"CurrencyPipe","line":20,"character":8},{"__symbolic":"reference","name":"FormatPriceDirective"}]}}}},"ImageErrorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[libImageError]"}]}],"members":{"typeImage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateUrl":[{"__symbolic":"method"}]}},"ImageErrorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"ImageErrorDirective"}],"exports":[{"__symbolic":"reference","name":"ImageErrorDirective"}]}]}],"members":{}},"DocumentVisorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-document-visor","template":"<div id=\"document-visor\">\r\n <button mat-mini-fab=\"\" class=\"close\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\r\n <ng-template [ngIf]=\"url\">\r\n <object\r\n [data]=\"url | safeUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <iframe\r\n [src]=\"url | safeUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n style=\"border: none;\">\r\n </iframe>\r\n <p>Tu navegador no soporta PDFs. <br>\r\n <a [href]=\"url | safeUrl\" download=\"file.pdf\">Descargar PDF</a>\r\n </p>\r\n </object>\r\n </ng-template>\r\n</div>\r\n","styles":["::ng-deep .document_visor_dialog{width:70%;height:90%}@media screen and (max-width:600px){::ng-deep .document_visor_dialog{width:100%!important;max-width:100%!important;height:100%!important}}:host{display:block;width:100%;height:100%}#document-visor{width:100%;height:100%;padding:16px;position:relative;display:flex;box-sizing:border-box}#document-visor .close{position:absolute;top:16px;right:16px}#document-visor iframe{border:0;width:100%;height:100%;border-radius:4px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":13,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"DocumentVisorComponent"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"DocumentVisorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":8,"character":21}]}],"open":[{"__symbolic":"method"}]}},"DocumentVisorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"SafeUrlModule","line":18,"character":4},"member":"forChild"}},[{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":10,"character":2},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":11,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":12,"character":2}]],"declarations":[{"__symbolic":"reference","name":"DocumentVisorComponent"}],"exports":[{"__symbolic":"reference","name":"DocumentVisorComponent"}],"entryComponents":[{"__symbolic":"reference","name":"DocumentVisorComponent"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"DocumentVisorModule"},"providers":[{"__symbolic":"reference","name":"DocumentVisorService"}]}}}},"FabFiltersComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"lib-fab-filters","template":"<div class=\"fab-filters\">\r\n <mat-form-field appearance=\"outline\" class=\"btn_filters\" (click)=\"openFilters()\">\r\n <mat-label>Más Filtros</mat-label>\r\n <input matInput readonly>\r\n <mat-icon matSuffix>tune</mat-icon>\r\n </mat-form-field>\r\n <!--div class=\"filters-container\">\r\n <ng-template [ngIf]=\"chips.length > 0\">\r\n <mat-chip-list aria-orientation=\"horizontal\">\r\n <ng-container *ngFor=\"let chip of chips\">\r\n <mat-chip (click)=\"onClickChip(chip.type)\" [removable]=\"chip.type !== 'PROPERTY_TYPE' && chip.type !== 'OFFERING'\"\r\n (removed)=\"removeFilter(chip.type)\">\r\n <ng-container [ngSwitch]=\"chip.type\">\r\n <ng-container *ngSwitchCase=\"'PROPERTY_TYPE'\">\r\n <span class=\"icon property-icon ic-property-{{chip.icon}}\"\r\n [ngStyle]=\"{'background': 'var(--' + chip.icon + ')'}\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'LISTING'\">\r\n <ng-template [ngIf]=\"chip.icon[0] !== 'mlm'\" [ngIfElse]=\"mlm\">\r\n <mat-icon class=\"listing-icon\">\r\n list\r\n </mat-icon>\r\n </ng-template>\r\n <ng-template #mlm>\r\n <mat-icon class=\"listing-icon\" svgIcon=\"opi:mlm\"></mat-icon>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'AMENITIES'\">\r\n <span class=\"icon ic-amenities-{{chip.icon[0]}}\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngFor=\"let i of chip.icon\">\r\n <span class=\"icon ic-features-{{i}}\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n {{chip.text}}\r\n <mat-icon matChipRemove *ngIf=\"chip.type !== 'PROPERTY_TYPE' && chip.type !== 'OFFERING'\">cancel</mat-icon>\r\n </mat-chip>\r\n </ng-container>\r\n </mat-chip-list>\r\n </ng-template>\r\n </div-->\r\n</div>\r\n","styles":[":host{display:block;position:inherit;top:inherit;bottom:inherit;left:inherit;right:inherit;z-index:inherit;width:inherit}.fab-filters{display:flex;width:100%;border-radius:8px 0 0 8px}.fab-filters .filters-container{width:calc(100% - 64px);height:40px;padding-right:8px;box-sizing:border-box;border-radius:4px 4px 4px 0;display:flex;align-items:center;transition:150ms}.fab-filters .filters-container mat-chip-list{width:100%;height:100%;overflow:hidden}.fab-filters .filters-container mat-chip-list mat-chip{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.fab-filters ::ng-deep .filters-container mat-chip-list .mat-chip-list-wrapper{width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:16px;margin:0}.fab-filters .filters-container mat-chip-list mat-chip .icon{width:24px;height:24px;font-size:16px;border-radius:50%;margin-right:8px;display:flex;align-items:center;justify-content:center}"]}]}],"members":{"isOPI":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"filterDeleted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MarkerPricePipe"},{"__symbolic":"reference","name":"OfferingTypePipe"},{"__symbolic":"reference","name":"FiltersService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"openFilters":[{"__symbolic":"method"}],"onClickChip":[{"__symbolic":"method"}],"removeFilter":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"listingType":[{"__symbolic":"method"}],"offeringType":[{"__symbolic":"method"}],"propertyType":[{"__symbolic":"method"}],"price":[{"__symbolic":"method"}],"surface":[{"__symbolic":"method"}],"bedrooms":[{"__symbolic":"method"}],"bathrooms":[{"__symbolic":"method"}],"parkingPlaces":[{"__symbolic":"method"}],"amenities":[{"__symbolic":"method"}]}},"FabFiltersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material/chips","name":"MatChipsModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":18,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"OfferingTypeModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MarkerPriceModule"},"member":"forChild"}}],"declarations":[{"__symbolic":"reference","name":"FabFiltersComponent"}],"exports":[{"__symbolic":"reference","name":"FabFiltersComponent"}]}]}],"members":{}},"FiltersService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","name":"boolean"}]}],"setChange":[{"__symbolic":"method"}],"getChanges":[{"__symbolic":"method"}],"startComponent":[{"__symbolic":"method"}],"onStartComponent":[{"__symbolic":"method"}]},"statics":{"FILTERS_SAVED_KEY":"FILTERS","getFiltersSaved":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/static","name":"LocalStorageService","line":33,"character":11},"member":"getItem"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FiltersService"},"member":"FILTERS_SAVED_KEY"}]}}}},"FiltersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/core","name":"MatRippleModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material/button-toggle","name":"MatButtonToggleModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/material/divider","name":"MatDividerModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":30,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MarkerPriceModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"CurrencyConverterModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormatPriceModule"},"member":"forChild"}}],"declarations":[{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"ɵb"}],"providers":[{"__symbolic":"reference","name":"FiltersService"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":["isOPI"],"value":{"ngModule":{"__symbolic":"reference","name":"FiltersModule"},"providers":[{"__symbolic":"reference","name":"FiltersService"},{"provide":{"__symbolic":"reference","name":"ɵa"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"isOPI"},"right":false}}]}}}},"PanoramaVisorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"lib-panorama-visor","template":"<div class=\"panorama-visor\">\r\n <ng-template [ngIf]=\"!showPanorama\">\r\n <div class=\"panorama-visor__loading\">\r\n <img class=\"loading__image\" src=\"https://storage.googleapis.com/maplander-develop/public/file/front-end/cdn/360-animation.gif\" alt=\"360 icon\">\r\n <p class=\"loading__label\">Cargando...</p>\r\n </div>\r\n </ng-template>\r\n <div #container class=\"panorama-visor__container\" [ngStyle]=\"{'opacity': showPanorama ? '1' : '0'}\">\r\n <div class=\"panorama-visor__actions\">\r\n <a mat-icon-button class=\"actions__menu-item\">\r\n <mat-icon>settings</mat-icon>\r\n <ul class=\"menu-item__hidden-list mat-elevation-z2\">\r\n <li mat-menu-item class=\"hidden-list__item\">\r\n Control\r\n <ul class=\"hidden-list__nested-list mat-elevation-z2\">\r\n <li mat-menu-item class=\"nested-list__item\" *ngIf=\"!isTouch\" (click)=\"changeControl('MOUSE')\">\r\n Mouse\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" *ngIf=\"isTouch\" (click)=\"changeControl('TOUCH')\">\r\n Touch\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeControl('SENSOR')\">\r\n Sensor\r\n </li>\r\n </ul>\r\n </li>\r\n <li mat-menu-item class=\"hidden-list__item\">\r\n Mode\r\n <ul class=\"hidden-list__nested-list mat-elevation-z2\">\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeMode('NORMAL')\">\r\n Normal\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeMode('CARDBOARD')\">\r\n Cardboard\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeMode('STEREOSCOPIC')\">\r\n Stereoscopic\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </a>\r\n <button mat-icon-button (click)=\"fullscreen()\">\r\n <mat-icon *ngIf=\"!isFullScreen\">fullscreen</mat-icon>\r\n <mat-icon *ngIf=\"isFullScreen\">fullscreen_exit</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block;width:inherit;height:inherit}.panorama-visor{width:100%;padding-bottom:calc(100% / 4 * 3);position:relative;border-radius:8px;transition:.2s;cursor:move}.panorama-visor__loading{position:absolute;width:100%;height:100%;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading__image{width:200px}.loading__label{color:#fff;font-weight:700}.panorama-visor__actions{position:absolute;border-radius:0 8px 8px 0;background:rgba(0,0,0,.4);z-index:100;color:#fff}.panorama-visor__actions button{display:block}.actions__menu-item{position:relative}.actions__menu-item:hover .menu-item__hidden-list,.hidden-list__item:hover .hidden-list__nested-list{display:block}.hidden-list__nested-list,.menu-item__hidden-list{display:none;list-style:none;position:absolute;background:#fff;margin:0;padding:0;left:calc(100% - 8px);top:0;z-index:1;border-radius:4px}.hidden-list__item,.nested-list__item{min-width:80px;padding:0 16px;text-align:left;cursor:pointer}.panorama-visor__container{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px;transition:250ms}::ng-deep .panorama-visor__container canvas{width:100%!important;height:100%!important}"]}]}],"members":{"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"_container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":["container",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@maplander/shared","name":"LazyLoadService","line":25,"character":19}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"fullscreen":[{"__symbolic":"method"}],"changeControl":[{"__symbolic":"method"}],"changeMode":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"toggleFullscreen":[{"__symbolic":"method"}],"requestPermissions":[{"__symbolic":"method"}]},"statics":{"checkTouchSupported":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"window"},"thenExpression":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"navigator"},"member":"msMaxTouchPoints"},"right":null},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"navigator"},"member":"msMaxTouchPoints"},"right":{"__symbolic":"reference","name":"undefined"}}},"right":{"__symbolic":"binop","operator":"in","left":"ontouchstart","right":{"__symbolic":"reference","name":"window"}}},"elseExpression":false}}}},"PanoramaVisorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatMenuModule","line":9,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":11,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"LazyLoaderModule","line":12,"character":4},"member":"forChild"}}],"declarations":[{"__symbolic":"reference","name":"PanoramaVisorComponent"}],"exports":[{"__symbolic":"reference","name":"PanoramaVisorComponent"}]}]}],"members":{}},"PropertyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":54,"character":1},"arguments":[{"selector":"lib-property","template":"<div class=\"property\">\r\n <div class=\"header\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <h1 class=\"title\">\r\n <span *ngIf=\"!completeProperty.property.id\">Cargar </span>\r\n <span *ngIf=\"completeProperty.property.id\">Editar </span>\r\n expediente de {{ propertyType | propertyType }}\r\n </h1>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <h1 class=\"title\">Expediente de {{propertyType | propertyType}}</h1>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <div class=\"breadcrumb-list\">\r\n <p class=\"breadcrumb-content\">\r\n <span class=\"breadcrumb-item\">\r\n {{completeProperty.property.type | propertyType}}\r\n </span>\r\n <span class=\"breadcrumb-item\">\r\n {{completeProperty.property.offering | offeringType : ' ' | stringManipulation : 'capitalize'}}\r\n </span>\r\n <span *ngIf=\"completeProperty.property.address.city\" class=\"breadcrumb-item\">\r\n {{completeProperty.property.address.city}}\r\n </span>\r\n <span *ngIf=\"completeProperty.property.address.postalCode\" class=\"breadcrumb-item\">\r\n {{completeProperty.property.address.postalCode}}\r\n </span>\r\n <span *ngIf=\"completeProperty.property.address.colony\" class=\"breadcrumb-item\">\r\n {{completeProperty.property.address.colony}}\r\n </span>\r\n </p>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"header__actions\">\r\n <!-- Button Publish [START] -->\r\n <ng-template\r\n [ngIf]=\"(mode === 'record' || mode === 'add') && (completeProperty.property.status !== 'ANNOUNCED' && completeProperty.property.status !== 'HIDDEN')\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Publicar\" matTooltipPosition=\"left\"\r\n class=\"header__actions-button-publish\" (click)=\"goToPublish()\">\r\n <span class=\"header__actions-button-publish-icon ic-property-status-announce\"></span>\r\n </button>\r\n </ng-template>\r\n <!-- Button Publish [END] -->\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-template [ngIf]=\"multimedia.length > 0\">\r\n <button mat-icon-button color=\"primary\" (click)=\"openUploaderMultimedia()\">\r\n <mat-icon>photo_library</mat-icon>\r\n </button>\r\n </ng-template>\r\n <ng-template [ngIf]=\"completeProperty?.property?.id\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Guardar\" matTooltipPosition=\"left\" (click)=\"saveData()\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <ng-template\r\n [ngIf]=\"!sharedProperty.isShared && (completeProperty.property.status !== 'DRAFT' && completeProperty.property.status !== 'NONE')\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Estadísticas\" matTooltipPosition=\"left\"\r\n (click)=\"goToStats()\">\r\n <mat-icon>bar_chart</mat-icon>\r\n </button>\r\n </ng-template>\r\n <ng-template\r\n [ngIf]=\"(completeProperty.property.status === 'ANNOUNCED' || completeProperty.property.status === 'HIDDEN') && !sharedProperty.isShared\">\r\n <button mat-icon-button color=\"primary\"\r\n matTooltip=\"{{completeProperty.property.status === 'ANNOUNCED' ? 'Ocultar' : 'Mostrar'}}\"\r\n matTooltipPosition=\"left\" (click)=\"goToUpdateVisibility()\">\r\n <mat-icon *ngIf=\"completeProperty.property.status === 'HIDDEN'\">visibility</mat-icon>\r\n <mat-icon *ngIf=\"completeProperty.property.status === 'ANNOUNCED'\">visibility_off</mat-icon>\r\n </button>\r\n </ng-template>\r\n <ng-template [ngIf]=\"!sharedProperty.isShared\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Editar\" matTooltipPosition=\"left\"\r\n (click)=\"goToEditProperty()\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <ng-template [ngIf]=\"isOPI\" [ngIfElse]=\"maplanderActions\">\r\n <button mat-flat-button color=\"primary\" class=\"header__actions-button-commission\"\r\n [disabled]=\"disableShareCommission\"\r\n (click)=\"agentActions('SHARE_COMMISSION')\">\r\n <span *ngIf=\"!disableShareCommission\">Solicitar comisión compartida</span>\r\n <span *ngIf=\"disableShareCommission\">Solicitud pendiente</span>\r\n </button>\r\n </ng-template>\r\n <ng-template #maplanderActions>\r\n <button mat-flat-button color=\"primary\" class=\"header__actions-button-commission\"\r\n (click)=\"agentActions('SHOW_AGENTS')\">\r\n Mostrar Asesor\r\n </button>\r\n <button mat-icon-button color=\"primary\" class=\"header__actions-button-commission\"\r\n (click)=\"agentActions('FAVORITE')\">\r\n <mat-icon *ngIf=\"isFavorite\">favorite</mat-icon>\r\n <mat-icon *ngIf=\"!isFavorite\">favorite_border</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Button Share [START] -->\r\n <ng-template\r\n [ngIf]=\"mode === 'detail' || (mode === 'record' && (completeProperty.property.status === 'READY' || completeProperty.property.status === 'ANNOUNCED'))\" [ngIfElse]=\"noShare\">\r\n <button mat-icon-button color=\"primary\" (click)=\"shareProperty()\">\r\n <mat-icon>share</mat-icon>\r\n </button>\r\n </ng-template>\r\n <!-- Button Share [END] -->\r\n <ng-template #noShare>\r\n <ng-template [ngIf]=\"sharedProperty.isShared\">\r\n <h1 class=\"title\">\r\n Propiedad oculta</h1>\r\n </ng-template>\r\n </ng-template>\r\n <!-- Button Back [START] -->\r\n <button mat-icon-button color=\"primary\" (click)=\"goToBack()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <!-- Button Back [END] -->\r\n </div>\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"body__multimedia-wrapper\">\r\n <div class=\"multimedia-wrapper__list-thumbnails\">\r\n <div class=\"list-thumbnails__wrapper-thumbnails\">\r\n <div class=\"wrapper-thumbnails__header-types\">\r\n <button mat-button class=\"header-types__button-type\"\r\n [ngClass]=\"{'header-types__button-type--active': currentType === 'IMAGE'}\"\r\n (click)=\"changeMultimediaType('IMAGE')\">\r\n <span class=\"button-type__icon ic-component-property-file-image\"></span>\r\n <span class=\"button-type__label\">{{multimediaCount.images}}</span>\r\n </button>\r\n <button mat-button class=\"header-types__button-type\"\r\n [ngClass]=\"{'header-types__button-type--active': currentType === 'SPHERIC'}\"\r\n (click)=\"changeMultimediaType('SPHERIC')\">\r\n <span class=\"button-type__icon ic-component-property-sphere\"></span>\r\n <span class=\"button-type__label\">{{multimediaCount.images360}}</span>\r\n </button>\r\n <button mat-button class=\"header-types__button-type\"\r\n [ngClass]=\"{'header-types__button-type--active': currentType === 'VIDEO'}\"\r\n (click)=\"changeMultimediaType('VIDEO')\">\r\n <span class=\"button-type__icon ic-component-property-video\"></span>\r\n <span class=\"button-type__label\">{{multimediaCount.videos}}</span>\r\n </button>\r\n </div>\r\n <ng-template [ngIf]=\"multimedia && multimedia.length === 0\">\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"></div>\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"></div>\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"></div>\r\n </ng-template>\r\n <ng-container *ngFor=\"let image of multimedia; let i = index;\">\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"\r\n [ngClass]=\"{'wrapper-thumbnails__item-thumbnail--selected': i === currentIndex}\"\r\n (click)=\"onMultimediaIndexChanged(i)\">\r\n <ng-container [ngSwitch]=\"image.type\">\r\n <ng-container *ngSwitchCase=\"'VIDEO'\">\r\n <img class=\"item-thumbnail__img\" alt=\"Property image\"\r\n [src]=\"'https://i3.ytimg.com/vi/'+image.fileCS.thumbnail+'/hqdefault.jpg'\">\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <img class=\"item-thumbnail__img\" alt=\"Property image\" [src]=\"image.fileCS.thumbnail\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"multimedia-wrapper__front-image\">\r\n <lib-property-slide-show [multimedia]=\"multimedia\"\r\n [selectIndex]=\"currentIndex\"\r\n (currentIndex)=\"onMultimediaIndexChanged($event)\"\r\n [customActions]=\"customSlideShowActions\"\r\n ></lib-property-slide-show>\r\n <ng-template [ngIf]=\"mode === 'add' && multimedia.length === 0\">\r\n <div class=\"front-image__upload-multimedia\">\r\n <div class=\"upload-multimedia__container-add-multimedia\">\r\n <button class=\"container-add-multimedia__button\" mat-button color=\"primary\"\r\n (click)=\"openUploaderMultimedia()\">\r\n AGREGAR\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #customSlideShowActions>\r\n <button *ngIf=\"multimedia.length > 0\" mat-icon-button (click)=\"openGallery()\" matTooltip=\"Fullscreen\">\r\n <mat-icon>fullscreen</mat-icon>\r\n </button>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"body__additional-content\">\r\n <ng-template\r\n [ngIf]=\"mode === 'record' && property.property.status === 'ANNOUNCED' && property.property.propertyInfo.mls\">\r\n <div class=\"additional-content__mls\">\r\n <p class=\"mls__title\">\r\n Bolsa inmobiliaria\r\n </p>\r\n <button mat-flat-button color=\"primary\" class=\"mls__button\"\r\n (click)=\"agentActions('REAL_ESTATE_EXCHANGE')\">\r\n Mesa de comercialización\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"body__content\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <lib-property-details [property]=\"completeProperty.property\" [mlsLabel]=\"mlsLabel\"\r\n [currencyConverted]=\"currencyConverted\" [visibleTour]=\"!isOPI\"></lib-property-details>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <lib-property-details [property]=\"completeProperty.property\" [mlsLabel]=\"mlsLabel\"\r\n [record]=\"true\"></lib-property-details>\r\n <ng-template [ngIf]=\"sharedProperty.ownerAvailable\">\r\n <div class=\"content__private-info\">\r\n <p class=\"private-info__title\">INFORMACIÓN PRIVADA</p>\r\n <lib-property-owner-info [owner]=\"completeProperty.property.propertyInfo.owner\"\r\n [disabled]=\"true\"></lib-property-owner-info>\r\n <ng-template [ngIf]=\"!sharedProperty.isShared\">\r\n <lib-property-documents [files]=\"completeProperty.files\" [disabled]=\"true\"></lib-property-documents>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-template [ngIf]=\"frontImageError\">\r\n <p class=\"content__error-front-image\">\r\n * Debe subir al menos una imagen\r\n </p>\r\n </ng-template>\r\n <lib-property-editor [utils]=\"utils\" [propertyType]=\"propertyType\" [address]=\"address\"\r\n [mlsLabel]=\"mlsLabel\"\r\n [property]=\"completeProperty.property\"\r\n (editorInstance)=\"onEditorInstance($event)\"\r\n (selectAddress)=\"onSelectAddress()\"></lib-property-editor>\r\n <div class=\"content__private-info\">\r\n <p class=\"private-info__title\">INFORMACIÓN PRIVADA</p>\r\n <lib-property-owner-info (ownerInstance)=\"onOwnerInstance($event)\"\r\n [owner]=\"completeProperty.property.propertyInfo.owner\"></lib-property-owner-info>\r\n <lib-property-documents (documentsInstance)=\"onDocumentsInstance($event)\"\r\n [files]=\"completeProperty.files\"></lib-property-documents>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"footer mat-elevation-z2\" [ngClass]=\"{'footer--primary': mode === 'record'}\"\r\n [ngStyle]=\"{'display': (mode === 'detail' && isOPI) ? 'none' : 'block'}\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <div class=\"footer__footer-content\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <button mat-raised-button color=\"primary\" class=\"footer-content__button-request-info mat-elevation-z2\"\r\n (click)=\"agentActions('REQUEST_INFO')\">\r\n Solicitar información\r\n </button>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <div class=\"footer__footer-content\">\r\n <p class=\"footer-content__status-label\">\r\n <ng-container [ngSwitch]=\"completeProperty.property.status\">\r\n <ng-container *ngSwitchCase=\"'HIDDEN'\">\r\n Propiedad oculta\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'READY'\">\r\n Propiedad lista <br> para publicar\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'EXPIRED'\">\r\n Propiedad expirada desde el <br>\r\n {{completeProperty.property.propertyInfo.endPublishDate | libFormatDate : true : 'dd MMMMM yyyy'}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'ANNOUNCED'\">\r\n Anunciada\r\n <br> Anuncio valido hasta el\r\n {{completeProperty.property.propertyInfo.endPublishDate | libFormatDate : true : 'dd MMMMM yyyy'}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n Propiedad en borrador\r\n </ng-container>\r\n </ng-container>\r\n </p>\r\n <div class=\"footer-content__fab\">\r\n <eco-fab-speed-dial>\r\n <eco-fab-speed-dial-trigger>\r\n <button mat-fab color=\"primary\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </eco-fab-speed-dial-trigger>\r\n <eco-fab-speed-dial-actions>\r\n <button *ngIf=\"completeProperty.property.status !== 'NONE' && completeProperty.property.status !== 'DRAFT'\"\r\n mat-mini-fab color=\"primary\" matTooltip=\"Clientes\" matTooltipPosition=\"left\" (click)=\"goToClients()\">\r\n <mat-icon class=\"fab-button__icon\">people</mat-icon>\r\n </button>\r\n <button *ngIf=\"!sharedProperty.isShared\" mat-mini-fab color=\"primary\" matTooltip=\"Archivar propiedad\"\r\n matTooltipPosition=\"left\"\r\n (click)=\"agentActions('ARCHIVE')\">\r\n <mat-icon class=\"fab-button__icon\">archive</mat-icon>\r\n </button>\r\n <button mat-mini-fab color=\"primary\" matTooltip=\"Generar letrero\" matTooltipPosition=\"left\"\r\n (click)=\"agentActions('POSTER')\">\r\n <span class=\"fab-button__icon ic-component-property-poster\"></span>\r\n </button>\r\n <button mat-mini-fab color=\"primary\" matTooltip=\"Generar folleto\" matTooltipPosition=\"left\"\r\n (click)=\"agentActions('BROCHURE')\">\r\n <span class=\"fab-button__icon ic-component-property-brochure\"></span>\r\n </button>\r\n <button mat-mini-fab color=\"primary\" matTooltip=\"Generar lona\" matTooltipPosition=\"left\"\r\n (click)=\"agentActions('TARPS')\">\r\n <span class=\"fab-button__icon ic-component-property-canvas\"></span>\r\n </button>\r\n </eco-fab-speed-dial-actions>\r\n </eco-fab-speed-dial>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <div class=\"footer__footer-content\">\r\n <button class=\"footer-content__button-save\" mat-flat-button color=\"primary\" (click)=\"saveData()\">Guardar\r\n </button>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","styles":[":host{width:100%;height:100%;display:block}.property{position:relative;width:100%;height:100%;z-index:5;border-radius:4px}.title{margin:0 16px;font-size:24px}.breadcrumb-list{width:50%;padding:4px 16px;box-sizing:border-box;border-radius:0 24px 24px 0}.breadcrumb-content{color:#fff;margin:4px 0;width:100%;line-height:21px}.breadcrumb-item{position:relative;display:inline-flex;padding:0 18px 0 4px}.breadcrumb-item:last-child:before{content:none}.divider{border-width:1px}.divider-vertical{display:block;border:.5px inset}.header{width:100%;position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:8px 0;display:flex;align-items:center;justify-content:space-between}@media screen and (max-width:600px){.breadcrumb-list{width:100%;order:1}.header{flex-direction:column}}.header__actions{padding:8px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}@media screen and (max-width:600px){.header__actions{order:0;width:100%;padding:4px 8px;justify-content:flex-end}}.header__actions button{margin-right:8px}.header__actions-button-commission{border-radius:16px}.actions-button-commission__icon{display:inline-block;width:24px;height:24px;font-size:24px;margin-left:8px}.header__actions-button-publish-icon{font-size:24px;width:24px;height:24px}.body{width:100%;height:calc(100% - 80px);overflow-x:hidden;overflow-y:auto;background:0 0;box-sizing:border-box;padding-bottom:56px}@media screen and (max-width:600px){.body{display:flex;flex-direction:column;padding:0 8px 56px}}.body__additional-content{width:25%;display:inline-block;padding:16px;box-sizing:border-box;background:#fff}@media screen and (max-width:600px){.body__additional-content{width:100%;order:2}}.mls__title{font-size:12px}.mls__button{width:100%;display:block;margin-bottom:8px;border-radius:16px}.body__content{width:75%;display:inline-block;padding:16px;box-sizing:border-box;float:right;background:#fff}.body__multimedia-wrapper{width:100%;background:#fff;display:flex}@media screen and (max-width:600px){.body__content{width:100%;order:1}.body__multimedia-wrapper{width:100%;order:0;flex-direction:column}}.multimedia-wrapper__list-thumbnails{width:25%;height:0;padding-bottom:calc((100% - 25%)/ 4 * 3);overflow:hidden;position:relative}@media screen and (max-width:600px){.multimedia-wrapper__list-thumbnails{width:100%;height:56px;padding:0}}.list-thumbnails__wrapper-thumbnails{position:absolute;width:100%;height:100%;background:#fff;overflow-x:hidden;overflow-y:scroll;padding:0 18px 8px;box-sizing:border-box}.wrapper-thumbnails__header-types{width:100%;height:40px;background:#fff;padding-top:8px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.header-types__button-type{min-width:calc(100% / 3);width:calc(100% / 3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0;height:100%;font-size:12px;line-height:16px}.button-type__icon{font-size:24px;width:24px;height:24px;display:inline-block}.button-type__label{display:inline-block;margin:0 4px}.wrapper-thumbnails__item-thumbnail{width:100%;padding-bottom:calc(100% / 4 * 3);margin-top:8px;border-radius:8px;position:relative;cursor:pointer}.item-thumbnail__img{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}.multimedia-wrapper__front-image{width:calc(75% - 16px);height:0;padding-bottom:calc((75% - 16px)/ 4 * 3);margin:auto;border-radius:8px;position:relative}@media screen and (max-width:600px){.wrapper-thumbnails__item-thumbnail{display:none}.multimedia-wrapper__front-image{width:100%;padding-bottom:calc(100% / 4 * 3)}}.front-image__upload-multimedia{position:absolute;top:0;left:25%;width:50%;height:100%;z-index:1;display:flex}@media screen{.front-image__upload-multimedia{width:80%;left:10%}}.upload-multimedia__container-add-multimedia{margin:auto;width:200px;height:200px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:url(https://storage.googleapis.com/maplander-develop/public/file/front-end/cdn/360-image.svg) center/80% no-repeat}.container-add-multimedia__button{position:absolute;bottom:8px}.content__error-front-image{font-size:12px;margin:8px 0 8px 8px}.content__private-info{border-radius:8px}.private-info__title{font-weight:700;margin:0;padding:16px;border-radius:8px 8px 0 0}.footer{width:100%;height:43px;border-radius:16px 16px 0 0;padding:8px 16px;box-sizing:border-box;background:#fff;position:-webkit-sticky;position:sticky;z-index:2;bottom:0}.footer__footer-content{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.footer-content__status-label{margin:6px 0;font-size:14px;text-align:center}.footer-content__button-request-info{width:30%;border-radius:16px}@media screen and (max-width:600px){.footer-content__button-request-info{width:90%}}.footer-content__button-save{width:120px;border-radius:16px}.footer-content__fab{position:absolute;right:0;bottom:12px;padding:8px;border-radius:50%;background:linear-gradient(transparent 50%,#fff 50%)}.fab-button__icon{width:24px;height:24px;font-size:24px}"]}]}],"members":{"property":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"utils":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"propertyType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"sharedProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"address":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"disableShareCommission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"isFavorite":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"disableConfirmAnnounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"currencyConverted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"userUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"modeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":73,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":92,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":92,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null,null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@maplander/core","name":"SnackBarService","line":95,"character":23},{"__symbolic":"reference","module":"@maplander/shared","name":"ShareService","line":96,"character":20},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"DocumentVisorService"},{"__symbolic":"reference","name":"ɵh"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"saveData":[{"__symbolic":"method"}],"agentActions":[{"__symbolic":"method"}],"shareProperty":[{"__symbolic":"method"}],"openGallery":[{"__symbolic":"method"}],"goToStats":[{"__symbolic":"method"}],"goToEditProperty":[{"__symbolic":"method"}],"goToBack":[{"__symbolic":"method"}],"goToClients":[{"__symbolic":"method"}],"goToUpdateVisibility":[{"__symbolic":"method"}],"goToPublish":[{"__symbolic":"method"}],"onMultimediaIndexChanged":[{"__symbolic":"method"}],"changeMultimediaType":[{"__symbolic":"method"}],"openUploaderMultimedia":[{"__symbolic":"method"}],"onEditorInstance":[{"__symbolic":"method"}],"onOwnerInstance":[{"__symbolic":"method"}],"onDocumentsInstance":[{"__symbolic":"method"}],"onSelectAddress":[{"__symbolic":"method"}],"restoreFrontImageError":[{"__symbolic":"method"}],"parseMultimedia":[{"__symbolic":"method"}],"getMultimediaByType":[{"__symbolic":"method"}],"assignFrontImage":[{"__symbolic":"method"}],"assignMultimediaByType":[{"__symbolic":"method"}],"validateFrontImageOnErrors":[{"__symbolic":"method"}],"validateMultimediaTypeCount":[{"__symbolic":"method"}],"parseDataByComponents":[{"__symbolic":"method"}],"initCompleteProperty":[{"__symbolic":"method"}]}},"PropertyEventType":{"CREATE":"CREATE","UPDATE":"UPDATE","ANNOUNCE":"ANNOUNCE","HIDE":"HIDE","SHOW":"SHOW","ADDRESS":"ADDRESS","OFFER":"OFFER","FAVORITE":"FAVORITE","REQUEST_INFO":"REQUEST_INFO","SHARE":"SHARE","ARCHIVE":"ARCHIVE","REAL_ESTATE_EXCHANGE":"REAL_ESTATE_EXCHANGE","SHARE_COMMISSION":"SHARE_COMMISSION","BROCHURE":"BROCHURE","POSTER":"POSTER","CLIENTS":"CLIENTS","BACK":"BACK","SHOW_AGENTS":"SHOW_AGENTS","TARPS":"TARPS"},"PropertyEventChange":{"__symbolic":"interface"},"PropertyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":104,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":106,"character":4},[{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":54,"character":2},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":55,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":56,"character":2},{"__symbolic":"reference","module":"@angular/material/button-toggle","name":"MatButtonToggleModule","line":57,"character":2},{"__symbolic":"reference","module":"@angular/material/radio","name":"MatRadioModule","line":58,"character":2},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":59,"character":2},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":60,"character":2},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":61,"character":2},{"__symbolic":"reference","module":"@angular/material/sidenav","name":"MatSidenavModule","line":62,"character":2},{"__symbolic":"reference","module":"@angular/material/toolbar","name":"MatToolbarModule","line":63,"character":2},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":64,"character":2},{"__symbolic":"reference","module":"@angular/material/datepicker","name":"MatDatepickerModule","line":65,"character":2},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":66,"character":2},{"__symbolic":"reference","module":"@angular/material/core","name":"MatRippleModule","line":67,"character":2},{"__symbolic":"reference","module":"@angular/material/core","name":"MatNativeDateModule","line":68,"character":2},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":69,"character":2}],{"__symbolic":"reference","module":"@ecodev/fab-speed-dial","name":"EcoFabSpeedDialModule","line":108,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":109,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":110,"character":4},{"__symbolic":"reference","module":"@maplander/shared","name":"UploadFileModule","line":111,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DocumentVisorModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"OfferingTypeModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"PropertyTypeModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"SafeUrlModule","line":115,"character":4},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"StringManipulationModule","line":116,"character":4},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormatDateModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormatPriceModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"ShareModule","line":119,"character":4},"member":"forChild"}},{"__symbolic":"reference","name":"PanoramaVisorModule"},{"__symbolic":"reference","module":"@maplander/shared","name":"CountryCodeModule","line":121,"character":4},{"__symbolic":"reference","module":"@maplander/shared","name":"LocationModule","line":122,"character":4},{"__symbolic":"reference","module":"@maplander/shared","name":"DialogModule","line":123,"character":4},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/core","name":"SnackBarModule","line":125,"character":4},"member":"forRoot"}}],"declarations":[[{"__symbolic":"reference","name":"PropertyComponent"}],[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"}]],"entryComponents":[[{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"}]],"exports":[{"__symbolic":"reference","name":"PropertyComponent"}],"providers":[[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@angular/common","name":"CurrencyPipe","line":99,"character":2},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}]]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":["isOPI"],"value":{"ngModule":{"__symbolic":"reference","name":"PropertyModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"isOPI"},"right":false}}]}}}},"PropertyCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-property-card","template":"<div class=\"property-card\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <div class=\"property-card__favorite\">\r\n <button class=\"favorite__button\" mat-icon-button (click)=\"favorite()\">\r\n <ng-template [ngIf]=\"isFavorite\" [ngIfElse]=\"noIsFavorite\">\r\n <mat-icon>favorite</mat-icon>\r\n </ng-template>\r\n <ng-template #noIsFavorite>\r\n <mat-icon>favorite_border</mat-icon>\r\n </ng-template>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showDiscard\">\r\n <div class=\"property-card__discard\">\r\n <button class=\"discard__button\" mat-icon-button (click)=\"discard()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"isOPI && showAlert\">\r\n <div class=\"expiration-message\">\r\n <p>\r\n Aviso\r\n <br>\r\n Este anuncio expira el {{info.endPublishDate | libFormatDate : true : 'dd/MM/yyyy'}}\r\n </p>\r\n </div>\r\n </ng-template>\r\n <a routerLink=\"{{href || '/'}}\" [queryParams]=\"queryParams || null\" [target]=\"target || null\"\r\n [state]=\"state || null\"\r\n class=\"property-card__image\" (mouseover)=\"onFrontImageOver()\"\r\n (mouseleave)=\"onFrontImageLeave()\">\r\n <img [src]=\"info.image\" alt=\"Property image\" libImageError [typeImage]=\"info.type\">\r\n <ng-template [ngIf]=\"mode === 'summary'\">\r\n <div class=\"property-card__body-summary\">\r\n <h2 class=\"color--white property-card__price\">\r\n {{info.price | currency}} {{info.currency}}\r\n </h2>\r\n <p class=\"color--white property-card__type\">\r\n {{info.type | propertyType}} {{info.offering | offeringType}}\r\n </p>\r\n <p class=\"color--white property-card__address body-summary__address\">\r\n {{info.address.colony}}, {{info.address.city}}\r\n </p>\r\n </div>\r\n </ng-template>\r\n </a>\r\n <ng-template [ngIf]=\"mode === 'full'\">\r\n <div class=\"property-card__body\">\r\n <div class=\"property-card__location-title\">\r\n <h2 class=\"property-card__price\">\r\n {{info.price | currency : currency : 'symbol' : '1.0-0'}} {{info.currency}}\r\n </h2>\r\n <ng-container *ngIf=\"distance !== ''\" >\r\n <h2 class=\"property-card__location\" [hidden]=\"!distance\">\r\n {{distance}}\r\n </h2>\r\n </ng-container>\r\n </div>\r\n <p class=\"property-card__type\">\r\n {{info.type | propertyType}} {{info.offering | offeringType}}\r\n </p>\r\n <p class=\"property-card__address\">\r\n {{info.address.colony}}, {{info.address.city}}\r\n </p>\r\n <ng-template [ngIf]=\"info.features\">\r\n <div class=\"property-card__features\">\r\n <ng-template [ngIf]=\"info.features && info.features.bedrooms && info.features.bedrooms > 0\">\r\n <p class=\"property-card__feature\">\r\n <span class=\"property-card__icon ic-features-bedroom\"></span>\r\n {{info.features.bedrooms}}\r\n </p>\r\n <span class=\"property-card__divider\"></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"info.features && info.features.bathrooms && info.features.bathrooms > 0 \">\r\n <p class=\"property-card__feature\">\r\n <span class=\"property-card__icon ic-features-bathroom\"></span>\r\n {{info.features.bathrooms}}\r\n </p>\r\n <span class=\"property-card__divider\"></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"info.features && info.features.mainArea && info.features.mainArea > 0\">\r\n <p class=\"property-card__feature\">\r\n <span class=\"property-card__icon ic-features-surface\"></span>\r\n {{info.features.mainArea}}\r\n <ng-template [ngIf]=\"info.features.areaUnit && info.features.areaUnit === 'M2'\"\r\n [ngIfElse]=\"ftUnit\">\r\n m<sup>2</sup>\r\n </ng-template>\r\n <ng-template #ftUnit>\r\n sq ft\r\n </ng-template>\r\n </p>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n</div>\r\n","styles":[":host{display:block;width:calc(100% - 16px);margin:16px auto;border-radius:16px}.property-card{width:100%;border-radius:16px;position:relative}.property-card__favorite{position:absolute;top:4px;right:4px;border-radius:50%;z-index:1;width:40px;height:40px;display:flex}.favorite__button{margin:auto}.expiration-message{position:absolute;top:0;background-color:#fff;width:100%;height:80px;z-index:1;text-align:center;color:red;font-size:16px;margin:auto;opacity:.9}.property-card__discard{position:absolute;right:8px;bottom:8px;z-index:1;width:40px;height:40px;border-radius:16px;display:flex}.discard__button{margin:auto}.property-card__image{width:100%;border-radius:16px;padding-bottom:calc(100% / 4 * 3);position:relative;text-decoration:none;display:block}.property-card__image:hover{width:calc(100% - 6px);padding-bottom:calc((100% - 6px)/ 4 * 3)}.property-card__image img{border-radius:16px;position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card__body{padding:8px;box-sizing:border-box}.property-card__body-summary{padding:8px;box-sizing:border-box;position:absolute;bottom:0;width:100%;border-radius:16px;background:linear-gradient(transparent,rgba(0,0,0,.8))}.body-summary__address{width:80%!important}.property-card__location-title{display:flex;width:100%;flex-direction:row;flex-wrap:wrap}.property-card__location{font-size:12px;margin:4px;color:#707070}@media (min-width:1200px){.property-card__location{font-size:14px}}.property-card__location:empty{width:60%;height:14px;background:#e0e0e0;border-radius:16px}.property-card__price{margin:3px 0;font-size:16px}.property-card__price:empty{width:60%;height:16px;background:#e0e0e0;border-radius:16px}.property-card__type{margin:3px 0}.property-card__type:empty{width:70%;height:16px;border-radius:16px;background:#e0e0e0}.property-card__address{margin:3px 0;color:#707070;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.property-card__address:empty{width:80%;height:16px;border-radius:16px;background:#e0e0e0}.property-card__features{display:flex;margin:6px 0 0}.property-card__feature{margin:0 8px 0 0;display:flex;align-items:center;font-size:12px;color:#707070}.property-card__divider{display:block;margin:auto 8px;width:1px;height:16px;background:#9e9e9e}.property-card__icon{width:24px;height:24px;font-size:24px;margin:0 4px 0 0;color:#bdbdbd}"]}]}],"members":{"marker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"href":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"queryParams":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"showAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"positionLatLng":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isFavorite":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"currency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showDiscard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"markerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"favoriteChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"propertyDiscarded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":33,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵw"}]}]],"parameters":[{"__symbolic":"reference","name":"boolean"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onFrontImageOver":[{"__symbolic":"method"}],"onFrontImageLeave":[{"__symbolic":"method"}],"favorite":[{"__symbolic":"method"}],"discard":[{"__symbolic":"method"}],"deg2rad":[{"__symbolic":"method"}],"latLng":[{"__symbolic":"method"}]}},"PropertyCardModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":15,"character":4},{"__symbolic":"reference","name":"PropertyTypeModule"},{"__symbolic":"reference","name":"OfferingTypeModule"},{"__symbolic":"reference","name":"ImageErrorModule"},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":20,"character":4},{"__symbolic":"reference","name":"FormatDateModule"}],"declarations":[{"__symbolic":"reference","name":"PropertyCardComponent"}],"exports":[{"__symbolic":"reference","name":"PropertyCardComponent"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":["isOPI"],"value":{"ngModule":{"__symbolic":"reference","name":"PropertyCardModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵw"},"useValue":{"__symbolic":"reference","name":"isOPI"}}]}}}},"CurrencyConverterService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"list":[{"__symbolic":"method"}],"number":[{"__symbolic":"method"}],"getValueByCurrency":[{"__symbolic":"method"}]}},"CurrencyConverterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"CurrencyConverterModule"},"providers":[{"__symbolic":"reference","name":"CurrencyConverterService"}]}}}},"MarkersService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PropertyTypePipe"},{"__symbolic":"reference","name":"OfferingTypePipe"},{"__symbolic":"reference","name":"CurrencyConverterService"}]}],"buildURL":[{"__symbolic":"method"}],"validatePropertiesInPoly":[{"__symbolic":"method"}],"markersToCurrency":[{"__symbolic":"method"}],"buildMarkers":[{"__symbolic":"method"}],"buildSpider":[{"__symbolic":"method"}],"createPropertyInfoCard":[{"__symbolic":"method"}]}},"MarkersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"CurrencyConverterModule"},"member":"forChild"}}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"MarkersModule"},"providers":[{"__symbolic":"reference","name":"MarkersService"}]}}}},"FiltersWrapper":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"MDate":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"}]}],"toDate":[{"__symbolic":"method"}],"getFormat":[{"__symbolic":"method"}],"getYear":[{"__symbolic":"method"}],"getMoth":[{"__symbolic":"method"}],"getDay":[{"__symbolic":"method"}]},"statics":{"getHours":{"__symbolic":"function","parameters":["time"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"slice"},"arguments":[0,2]}},"getMinutes":{"__symbolic":"function","parameters":["time"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"slice"},"arguments":[2,4]}},"getSeconds":{"__symbolic":"function","parameters":["time"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"slice"},"arguments":[4,{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"length"}]}}}},"AmenityName":{"AdjacentCommerce":"adjacentCommerce","AdjacentGym":"gym","AdjacentPicnic":"adjacentPicnic","AirConditioner":"airConditioner","Balcony":"balcony","CustomerParking":"customerParking","DiningRoom":"diningRoom","DoubleHeight":"doubleHeight","DressingRooms":"dressingRooms","FacingStreet":"facingStreet","Finishings":"finishings","Furnished":"furnished","Garden":"garden","Gym":"gym","HighResistanceFloors":"highResistanceFloors","HighSpeedInternet":"highSpeedInternet","InCommercialArea":"inCommercialArea","InIndustrialPark":"inIndustrialPark","InShoppingCenter":"inShoppingCenter","Jacuzzi":"jacuzzi","KitchenServices":"kitchenServices","MaidsBathroom":"maidsBathroom","ManeuverArea":"maneuverArea","MeetingRoom":"meetingRoom","Mezzanine":"mezzanine","MixedBuilding":"mixedBuilding","NaturalLighting":"naturalLighting","Offices":"offices","OpenSpace":"openSpace","Platforms":"platforms","Playground":"playground","Playroom":"playroom","Pool":"pool","RailSpur":"railSpur","RailYard":"maneuverArea","Reception":"reception","SecurityGuard":"securityGuard","Storage":"storage","VisitorParking":"visitorParking","NearPublicTransportation":"nearPublicTransportation","NearShops":"nearShops","OnBusyRoad":"onBusyRoad","CountrySide":"countrySide","Downtown":"downtown","GoodReachableTraffic":"goodReachableTraffic","NearFitnessCentre":"nearFitnessCentre","NearHighway":"nearHighway","NearHospital":"nearHospital","NearPark":"nearPark","NearSchools":"nearSchools","OnQuietRoad":"onQuietRoad","RoofGarden":"roofGarden","PetFriendly":"petFriendly","DifferentAbilities":"differentAbilities"},"FilterChipType":{"OFFERING":"OFFERING","PROPERTY_TYPE":"PROPERTY_TYPE","PRICE":"PRICE","BEDROOMS":"BEDROOMS","BATHROOMS":"BATHROOMS","PARKING_PLACES":"PARKING_PLACES","SURFACE":"SURFACE","AMENITIES":"AMENITIES","LISTING":"LISTING"},"FiltersChangeType":{"APPLY":0,"INIT":1,"AREA":2,"SAVE":3,"LIST_TYPE":4},"AmenitiesList":{"__symbolic":"interface"},"AmenityItem":{"__symbolic":"interface"},"FilterChip":{"__symbolic":"interface"},"FiltersSaved":{"__symbolic":"interface"},"FiltersChange":{"__symbolic":"interface"},"Marker":{"__symbolic":"interface"},"PropertyCardInfo":{"__symbolic":"interface"},"PropertyTypeItem":{"__symbolic":"interface"},"ConstantsComponents":{"__symbolic":"class","members":{},"statics":{"Amenities":{"roofGarden":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":10,"character":16},"member":"RoofGarden"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":11,"character":13},"member":"RoofGarden"},"name":"Terraza"},"petFriendly":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":16,"character":16},"member":"PetFriendly"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":17,"character":13},"member":"PetFriendly"},"name":"Acepta Mascotas"},"differentAbilities":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":22,"character":16},"member":"DifferentAbilities"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":23,"character":13},"member":"DifferentAbilities"},"name":"Con capacidades diferentes"},"adjacentCommerce":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":28,"character":16},"member":"AdjacentCommerce"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":29,"character":13},"member":"AdjacentCommerce"},"name":"Comercio adyacente"},"adjacentGym":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":32,"character":44},"member":"Gym"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":32,"character":68},"member":"AdjacentGym"},"name":"Gym adyacente"},"adjacentPicnic":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":33,"character":47},"member":"AdjacentPicnic"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":33,"character":82},"member":"AdjacentPicnic"},"name":"Merendero adyacente"},"airConditioner":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":34,"character":47},"member":"AirConditioner"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":34,"character":82},"member":"AirConditioner"},"name":"Aire acondicionado"},"balcony":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":35,"character":40},"member":"Balcony"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":35,"character":68},"member":"Balcony"},"name":"Balcón"},"customerParking":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":38,"character":16},"member":"CustomerParking"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":39,"character":13},"member":"CustomerParking"},"name":"Estacionamiento para clientes"},"diningRoom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":42,"character":43},"member":"DiningRoom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":42,"character":74},"member":"DiningRoom"},"name":"Comedor"},"doubleHeight":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":43,"character":45},"member":"DoubleHeight"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":43,"character":78},"member":"DoubleHeight"},"name":"Doble altura"},"dressingRooms":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":44,"character":46},"member":"DressingRooms"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":44,"character":80},"member":"DressingRooms"},"name":"Con vestidores"},"facingStreet":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":45,"character":45},"member":"FacingStreet"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":45,"character":78},"member":"FacingStreet"},"name":"Frente a calle"},"finishings":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":46,"character":43},"member":"Finishings"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":46,"character":74},"member":"Finishings"},"name":"Con acabados"},"furnished":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":47,"character":42},"member":"Furnished"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":47,"character":72},"member":"Furnished"},"name":"Amueblada"},"garden":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":48,"character":39},"member":"Garden"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":48,"character":66},"member":"Garden"},"name":"Jardín"},"gym":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":49,"character":36},"member":"Gym"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":49,"character":60},"member":"Gym"},"name":"Gym"},"highResistanceFloors":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":52,"character":16},"member":"HighResistanceFloors"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":53,"character":13},"member":"HighResistanceFloors"},"name":"Pisos de alta resistencia"},"highSpeedInternet":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":58,"character":16},"member":"HighSpeedInternet"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":59,"character":13},"member":"HighSpeedInternet"},"name":"Internet de alta velocidad"},"inCommercialArea":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":64,"character":16},"member":"InCommercialArea"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":65,"character":13},"member":"InCommercialArea"},"name":"En zona comercial"},"inIndustrialPark":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":70,"character":16},"member":"InIndustrialPark"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":71,"character":13},"member":"InIndustrialPark"},"name":"En parque industrial"},"inShoppingCenter":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":76,"character":16},"member":"InShoppingCenter"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":77,"character":13},"member":"InShoppingCenter"},"name":"En centro comercial"},"jacuzzi":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":80,"character":40},"member":"Jacuzzi"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":80,"character":68},"member":"Jacuzzi"},"name":"Jacuzzi"},"kitchenServices":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":83,"character":16},"member":"KitchenServices"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":84,"character":13},"member":"KitchenServices"},"name":"Servicios para cocina"},"maidsBathroom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":87,"character":46},"member":"MaidsBathroom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":87,"character":80},"member":"MaidsBathroom"},"name":"Cuarto de Servicio"},"maneuverArea":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":88,"character":45},"member":"ManeuverArea"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":88,"character":78},"member":"ManeuverArea"},"name":"Área de maniobras"},"meetingRoom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":89,"character":44},"member":"MeetingRoom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":89,"character":76},"member":"MeetingRoom"},"name":"Sala de conferencias"},"mezzanine":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":90,"character":42},"member":"Mezzanine"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":90,"character":72},"member":"Mezzanine"},"name":"Con entrepiso"},"mixedBuilding":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":91,"character":46},"member":"MixedBuilding"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":91,"character":80},"member":"MixedBuilding"},"name":"En edificio mixto"},"naturalLighting":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":94,"character":16},"member":"NaturalLighting"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":95,"character":13},"member":"NaturalLighting"},"name":"Iluminacion natural"},"offices":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":98,"character":40},"member":"Offices"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":98,"character":68},"member":"Offices"},"name":"Con oficinas"},"openSpace":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":99,"character":42},"member":"OpenSpace"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":99,"character":72},"member":"OpenSpace"},"name":"Espacio abierto"},"platforms":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":100,"character":42},"member":"Platforms"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":100,"character":72},"member":"Platforms"},"name":"Andenes"},"playground":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":101,"character":43},"member":"Playground"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":101,"character":74},"member":"Playground"},"name":"Juegos infantiles"},"playroom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":102,"character":41},"member":"Playroom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":102,"character":70},"member":"Playroom"},"name":"Salón de juegos"},"pool":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":103,"character":37},"member":"Pool"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":103,"character":62},"member":"Pool"},"name":"Alberca"},"railSpur":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":104,"character":41},"member":"RailSpur"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":104,"character":70},"member":"RailSpur"},"name":"Espuela de FF.CC"},"railyard":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":105,"character":41},"member":"RailYard"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":105,"character":70},"member":"RailYard"},"name":"Patio de maniobras"},"reception":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":106,"character":42},"member":"Reception"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":106,"character":72},"member":"Reception"},"name":"Recepción"},"securityGuard":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":107,"character":46},"member":"SecurityGuard"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":107,"character":80},"member":"SecurityGuard"},"name":"Con vigilancia"},"storage":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":108,"character":40},"member":"Storage"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":108,"character":68},"member":"Storage"},"name":"Bodega"},"visitorParking":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":111,"character":16},"member":"VisitorParking"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":112,"character":13},"member":"VisitorParking"},"name":"Estacionamiento para visitas"},"features":[{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":118,"character":18},"member":"NearPublicTransportation"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":119,"character":15},"member":"NearPublicTransportation"},"name":"Cerca de estaciones de transporte"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":122,"character":33},"member":"AdjacentCommerce"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":122,"character":70},"member":"NearShops"},"name":"Cerca de comercios"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":123,"character":33},"member":"OnBusyRoad"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":123,"character":64},"member":"OnBusyRoad"},"name":"Avenida principal"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":124,"character":33},"member":"CountrySide"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":124,"character":65},"member":"CountrySide"},"name":"Suburbio"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":125,"character":33},"member":"Downtown"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":125,"character":62},"member":"Downtown"},"name":"Céntrico"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":128,"character":18},"member":"GoodReachableTraffic"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":129,"character":15},"member":"GoodReachableTraffic"},"name":"Se llega sin trafico"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":134,"character":18},"member":"NearFitnessCentre"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":135,"character":15},"member":"NearFitnessCentre"},"name":"Cerca de centro deportivo"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":138,"character":33},"member":"NearHighway"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":138,"character":65},"member":"NearHighway"},"name":"Cerca de autopista"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":141,"character":18},"member":"NearHospital"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":142,"character":15},"member":"NearHospital"},"name":"Cerca de centros de salud"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":147,"character":18},"member":"NearPark"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":148,"character":15},"member":"NearPark"},"name":"Cerca de parque"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":151,"character":33},"member":"NearSchools"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":151,"character":65},"member":"NearSchools"},"name":"Cerca de escuelas"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":152,"character":33},"member":"OnQuietRoad"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":152,"character":65},"member":"OnQuietRoad"},"name":"En calle tranquila"}]},"DurationList":[30,60,90,180,365],"CommissionList":{"SALE":[0.06,0.055,0.05,0.045,0.04,0.035,0.03,0.025,0.02,0.015,0.01],"RENT":[2,1.5,1,0.5]},"SharedCommissionList":[0.5,0.4,0.3,0.2,0.1],"LandUseList":[{"name":"Habitacional unifamiliar","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":168,"character":13},"member":"SINGLE_FAMILY_HOUSING"}},{"name":"Habitacional plurifamiliar","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":172,"character":13},"member":"MULTI_FAMILY_HOUSING"}},{"name":"Habitacional con comercio","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":176,"character":13},"member":"HOUSING_WITH_COMMERCE"}},{"name":"Habitacional con oficina","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":180,"character":13},"member":"HOUSING_WITH_OFFICE"}},{"name":"Habitacional mixto","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":184,"character":13},"member":"MIXED_HOUSING"}},{"name":"Comercio","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":188,"character":13},"member":"COMMERCE"}},{"name":"Oficina","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":192,"character":13},"member":"OFFICE"}},{"name":"Servicios","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":196,"character":13},"member":"SERVICES"}},{"name":"Industria","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":200,"character":13},"member":"INDUSTRY"}},{"name":"Agrícola","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":204,"character":13},"member":"AGRICULTURAL"}},{"name":"No especificado","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":207,"character":13},"member":"OTHER"}}],"AnnounceCheckList":[{"name":"Las fotos y videos son los correctos","value":0,"checked":false},{"name":"La ortografía y gramática es correcta","value":1,"checked":false},{"name":"Los datos de contacto son correctos","value":2,"checked":false},{"name":"La dirección, email y web están correctos","value":3,"checked":false},{"name":"Todo está correcto y apruebo mi anuncio","value":4,"checked":false}],"DocumentsList":[{"name":"Escritura","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":240,"character":13},"member":"DEED"},"loaded":false},{"name":"Identificación Propietario","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":245,"character":13},"member":"OWNER_ID"},"loaded":false},{"name":"Recibo de agua","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":250,"character":13},"member":"WATER_BILL"},"loaded":false},{"name":"Recibo de luz","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":255,"character":13},"member":"ELECTRICITY_BILL"},"loaded":false},{"name":"Recibo predial","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":260,"character":13},"member":"PROPERTY_BILL"},"loaded":false},{"name":"Constancia de no adeudo","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":265,"character":13},"member":"CONSTANCY_OF_NO_DEBT"},"loaded":false},{"name":"Libertad de Gravamen","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":270,"character":13},"member":"EXEMPTION_TAX"},"loaded":false},{"name":"Licencia de construcción","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":275,"character":13},"member":"BUILDING_LICENSE"},"loaded":false},{"name":"Terminación de obra","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":280,"character":13},"member":"COMPLETION_OF_CONSTRUCTION"},"loaded":false},{"name":"Alineación y número oficial","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":285,"character":13},"member":"ALIGNMENT_AND_OFFICIAL_NUMBER"},"loaded":false},{"name":"Hipoteca","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":290,"character":13},"member":"MORTGAGE"},"loaded":false},{"name":"Otros","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":295,"character":13},"member":"OTHER"},"loaded":false}],"BedroomList":[0,1,2,3,4],"BathroomList":[0,1,2,3,4],"ParkingSpacesList":[0,1,2,3,4],"SurfaceList":[50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000],"ROIList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20],"PropertyTypeList":[{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":316,"character":13},"member":"HOUSE"},"iconName":"house","name":"Casa","shortName":"Casa","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":340,"character":13},"member":"RESIDENTIAL"},"iconName":"residential","name":"Vivienda","shortName":"Vivienda","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":364,"character":13},"member":"APARTMENT"},"iconName":"apartment","name":"Departamento","shortName":"Depto","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":388,"character":13},"member":"ROOM"},"iconName":"room","name":"Habitación","shortName":"Habitación","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"highSpeedInternet"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":413,"character":13},"member":"OFFICE"},"iconName":"office","name":"Oficina","shortName":"Oficina","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"highSpeedInternet"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"reception"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"adjacentPicnic"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"meetingRoom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"adjacentGym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"openSpace"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"airConditioner"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"adjacentCommerce"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"mixedBuilding"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":436,"character":13},"member":"RETAIL"},"iconName":"retail","name":"Comercio","shortName":"Comercio","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"mixedBuilding"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"facingStreet"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maneuverArea"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"kitchenServices"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"finishings"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"mezzanine"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"inShoppingCenter"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"inCommercialArea"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"customerParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"doubleHeight"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":458,"character":13},"member":"WAREHOUSE"},"iconName":"warehouse","name":"Bodega","shortName":"Bodega","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"customerParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"doubleHeight"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"railyard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"platforms"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"highResistanceFloors"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"offices"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"dressingRooms"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"diningRoom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"inIndustrialPark"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"naturalLighting"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"railSpur"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":480,"character":13},"member":"LAND"},"iconName":"land","name":"Terreno","shortName":"Terreno","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":490,"character":13},"member":"INVESTMENT"},"iconName":"investment","name":"Inversión","shortName":"Inversión","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":498,"character":13},"member":"NONE"},"name":"Todo","shortName":"Todo","iconName":"all","features":[],"amenities":[]}],"OfferingTypeList":[{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"OfferingTypeEnum","line":508,"character":13},"member":"SALE"},"name":"Venta"},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"OfferingTypeEnum","line":512,"character":13},"member":"RENT"},"name":"Renta"}],"LocateList":{"USD":{"locate":"en-US","currency":"USD"},"MXN":{"locate":"es-MX","currency":"MXN"},"GBP":{"locate":"en-GB","currency":"GBP"},"EUR":{"locate":"de-DE","currency":"EUR"},"BRL":{"locate":"pt-BR","currency":"BRL"},"CNY":{"locate":"zh-CH","currency":"CNY"}},"PropertyStatusList":[{"icon":"announce","name":"Anunciadas","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":525,"character":51},"member":"ANNOUNCED"}},{"icon":"expired","name":"Expiradas","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":526,"character":49},"member":"EXPIRED"}},{"icon":"hidden","name":"Ocultas","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":527,"character":46},"member":"HIDDEN"}},{"icon":"ready","name":"Listas para anunciar","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":528,"character":58},"member":"READY"}},{"icon":"draft","name":"Borrador","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":529,"character":46},"member":"DRAFT"}}]}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":33},"arguments":["FILTERS MODULE CONFIG"]},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"lib-filters","template":"<!-- Todo: [FiltersComponent] Refactor code -->\r\n<form class=\"filters\" [formGroup]=\"filtersForm\" [ngClass]=\"{'filters--opened': propertyTypeSelected.value !== 'NONE'}\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <div class=\"float-button-close\">\r\n <button mat-icon-button type=\"button\" class=\"float-button-close__button\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <div class=\"body\">\r\n <div class=\"--padding\">\r\n <h4 class=\"--title\">\r\n Divisa\r\n </h4>\r\n <div class=\"header\">\r\n <mat-form-field class=\"currency\" appearance=\"outline\">\r\n <mat-label>Divisa</mat-label>\r\n <mat-select formControlName=\"currency\" placeholder=\"Divisa\">\r\n <ng-container *ngFor=\"let currency of currencyList\">\r\n <mat-option [value]=\"currency.type\" (click)=\"changeCurrency(currency.type)\">\r\n {{currency.type}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group class=\"offering-type-list\" name=\"offering-type\" formControlName=\"offering\"\r\n aria-label=\"Offering type\">\r\n <mat-button-toggle (click)=\"changeOffering('SALE')\" [value]=\"'SALE'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'ROOM'\">\r\n Venta\r\n </mat-button-toggle>\r\n <mat-button-toggle (click)=\"changeOffering('RENT')\" [value]=\"'RENT'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'INVESTMENT'\">\r\n Renta\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"mat-elevation-z2\" [ngClass]=\"{'property-type-list': !newFilters, 'new-property-type-list': newFilters}\">\r\n <ng-container *ngFor=\"let type of propertyTypeList; let i = index\">\r\n <ng-template [ngIf]=\"type.value !== 'NONE' && (type.value !== 'ROOM' && newFilters)\">\r\n <div class=\"property-type-list__button\">\r\n <div\r\n class=\"property-type-list__border\"\r\n [ngClass]=\"{'property-type-list__border--active': (type.value === propertyTypeSelected.value) || (propertyTypeSelected.value === 'NONE') || ((type.value === 'HOUSE' || type.value === 'APARTMENT') && propertyTypeSelected.value === 'RESIDENTIAL')}\"\r\n [ngStyle]=\"{'border-color': 'var(--' + type.iconName + ')'}\">\r\n <button mat-mini-fab=\"\" type=\"button\" (click)=\"changePropertyType(i)\"\r\n [ngStyle]=\"{'background-color': 'var(--' + type.iconName + ')'}\">\r\n <span class=\"property-type-list__icon ic-property-{{type.iconName}}\"></span>\r\n </button>\r\n </div>\r\n <span class=\"property-type-list__label\">{{type.shortName}}</span>\r\n <ng-template [ngIf]=\"type.value === 'RESIDENTIAL' && propertyTypeSelected.value === 'RESIDENTIAL'\">\r\n <div class=\"property-type-list__divider property-type-list__divider--left\"></div>\r\n <div class=\"property-type-list__divider property-type-list__divider--right\"></div>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-template [ngIf]=\"isOPI\">\r\n <div class=\"all\">\r\n <button mat-raised-button=\"\" type=\"button\" class=\"all__button\"\r\n [ngClass]=\"{'all__button--active': propertyTypeSelected.value === 'NONE'}\"\r\n (click)=\"changePropertyType(9)\">Todo\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'NONE'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"--padding\">\r\n <h4 class=\"--title\">\r\n Presupuesto\r\n </h4>\r\n <div class=\"budget\">\r\n <!-- Min price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Mínimo</mat-label>\r\n <input placeholder=\"Mínimo\" libFormatPrice [currency]=\"filtersForm.controls['currency'].value\" [control]=\"filtersForm.controls['minPrice']\"\r\n autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"Min price\" formControlName=\"minPrice\" min=\"1\" (blur)=\"changePrice()\">\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('pattern')\">\r\n Debe ingresar solo números\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Min price [END] -->\r\n <!-- Max price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Máximo</mat-label>\r\n <input placeholder=\"Máximo\" libFormatPrice [currency]=\"filtersForm.controls['currency'].value\" [control]=\"filtersForm.controls['maxPrice']\"\r\n autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"max price\" formControlName=\"maxPrice\" (blur)=\"changePrice()\">\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('pattern')\">\r\n Debe ingresar solo números\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('currency')\">\r\n Valor mínimo excedido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Max price [END] -->\r\n </div>\r\n <div class=\"features\">\r\n <ng-template\r\n [ngIf]=\"propertyTypeSelected.value === 'RESIDENTIAL' || propertyTypeSelected.value === 'HOUSE' || propertyTypeSelected.value === 'APARTMENT'\">\r\n <div class=\"features__bedrooms\">\r\n <h4 class=\"--title\">\r\n Habitaciones\r\n </h4>\r\n <mat-button-toggle-group name=\"bedrooms\" aria-label=\"Bedrooms\" formControlName=\"bedrooms\">\r\n <ng-container *ngFor=\"let bedroom of bedroomsList\">\r\n <ng-template [ngIf]=\"bedroom === 0\" [ngIfElse]=\"bedroomNumber\">\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilter()\" class=\"features__bedrooms--unlimited\">\r\n Sin <br> límite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bedroomNumber>\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilter()\">{{bedroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"features__bathrooms\">\r\n <h4 class=\"--title\">\r\n Baños\r\n </h4>\r\n <mat-button-toggle-group name=\"bathrooms\" aria-label=\"Bathrooms\" formControlName=\"bathrooms\">\r\n <ng-container *ngFor=\"let bathroom of bathroomsList\">\r\n <ng-template [ngIf]=\"bathroom === 0\" [ngIfElse]=\"bathroomNumber\">\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilter()\"\r\n class=\"features__bathrooms--unlimited\">\r\n Sin <br> límite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bathroomNumber>\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilter()\">{{bathroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'LAND' && propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__parking-places\">\r\n <h4 class=\"--title\">\r\n Estacionamientos\r\n </h4>\r\n <mat-button-toggle-group name=\"parking_places\" aria-label=\"Parking Places\"\r\n formControlName=\"parkingPlaces\">\r\n <ng-container *ngFor=\"let parking of parkingPlacesList\">\r\n <ng-template [ngIf]=\"parking === 0\" [ngIfElse]=\"parkingNumber\">\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilter()\"\r\n class=\"features__parking-places--unlimited\">\r\n Sin <br> límite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #parkingNumber>\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilter()\">{{parking}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__surface\">\r\n <h4 class=\"--title\">\r\n Superficie\r\n </h4>\r\n <div class=\"--row\">\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>Área</mat-label>\r\n <mat-select formControlName=\"surface\" placeholder=\"Área\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilter()\">\r\n Sin límite\r\n </mat-option>\r\n <ng-container *ngFor=\"let surface of surfaceList\">\r\n <mat-option [value]=\"surface\" (click)=\"changeFilter()\">\r\n {{surface}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group name=\"unit_surface\" aria-label=\"Unit surface\" formControlName=\"surfaceUnit\">\r\n <mat-button-toggle [value]=\"0\" (click)=\"changeFilter()\">m2</mat-button-toggle>\r\n <mat-button-toggle [value]=\"1\" (click)=\"changeFilter()\">sq ft</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value === 'INVESTMENT'\">\r\n <div class=\"feature investment\">\r\n <h4 class=\"--title\">Retorno de inversión</h4>\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>Porcentaje</mat-label>\r\n <mat-select formControlName=\"roi\" placeholder=\"Porcentaje\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilter()\">\r\n Sin límite\r\n </mat-option>\r\n <ng-container *ngFor=\"let roi of roiList\">\r\n <mat-option [value]=\"roi\" (click)=\"changeFilter()\">\r\n {{roi}}%\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </ng-template>\r\n <div class=\"amenities-container\" *ngIf=\"!hideAmenities\">\r\n <ng-template [ngIf]=\"propertyTypeSelected.amenities.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Amenidades\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let amenity of propertyTypeSelected.amenities\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(amenity)\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"\r\n [ngClass]=\"{'amenity--active': amenity.checked}\"></span>\r\n <span class=\"amenity__label\">{{amenity.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.features.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Caracteristicas de la ubicación\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let feature of propertyTypeSelected.features\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(feature)\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"\r\n [ngClass]=\"{'amenity--active': feature.checked}\"></span>\r\n <span class=\"amenity__label\">{{feature.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <div class=\"actions\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"resetFilters()\">\r\n LIMPIAR\r\n </button>\r\n </ng-template>\r\n <button mat-flat-button type=\"submit\" class=\"apply-button\" color=\"primary\" (click)=\"applyFilters()\" [disabled]=\"totalProperties === 0\">\r\n VER {{totalProperties}} {{totalProperties === 1 ? 'PROPIEDAD' : 'PROPIEDADES'}}\r\n </button>\r\n </div>\r\n </div>\r\n <!--div class=\"actions\">\r\n <ng-template [ngIf]=\"!isOPI\" [ngIfElse]=\"closeButtonTemplate\">\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"saveSearchByFilters()\">\r\n GUARDAR\r\n </button>\r\n </ng-template>\r\n <ng-template #closeButtonTemplate>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"close()\">CERRAR</button>\r\n </ng-template>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\"\r\n (click)=\"resetFilters()\">LIMPIAR\r\n </button>\r\n </div-->\r\n</form>\r\n","styles":[":host{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;display:flex;background:var(--overlay);transition:250ms}.filters--opened{height:90%!important}@media screen and (max-width:600px){.filters--opened{width:100%!important;height:100%!important;top:0!important}}.filters{width:700px;height:auto;margin:auto;border-radius:16px;position:relative;overflow:hidden;transition:150ms}.filters .--padding{padding:16px 48px;box-sizing:border-box}.filters .--row{display:flex;justify-content:space-between;align-items:flex-start}.filters .--col{width:45%}.filters .--title{margin:16px 0}.filters .float-button-close{position:absolute;top:16px;right:16px;height:16px;border-radius:50%}.filters .apply-button{width:50%;border-radius:0}.filters .body{height:calc(100% - 36px);overflow-x:hidden;overflow-y:auto}.filters .header{display:flex;align-items:center;justify-content:space-around;margin-bottom:8px}.filters .listing-types{width:100%;border-radius:16px}.filters .listing-types mat-button-toggle{width:50%;height:36px}.filters ::ng-deep .listing-types mat-button-toggle button{height:36px}.filters ::ng-deep .listing-types mat-button-toggle button .mat-button-toggle-label-content{line-height:36px}.filters .currency ::ng-deep .mat-form-field-wrapper{padding:0}@media screen and (max-width:600px){.filters{width:100%;position:absolute;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;top:initial;bottom:0;left:0}.filters .--padding{padding:16px 24px}.filters .header{flex-direction:column}.filters .currency{width:70%;margin-bottom:8px}}.filters .offering-type-list{width:40%;border-radius:16px}.filters .offering-type-list mat-button-toggle{width:50%;height:36px}.filters ::ng-deep .offering-type-list mat-button-toggle button{height:36px}.filters ::ng-deep .offering-type-list mat-button-toggle button .mat-button-toggle-label-content{line-height:36px}.filters .property-type-list{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 9))[9];grid-template-columns:repeat(9,calc(100% / 9));-ms-grid-rows:(80px)[1];grid-template-rows:repeat(1,80px);border-radius:40px;padding:8px;box-sizing:border-box}@media screen and (max-width:600px){.filters .offering-type-list{width:70%}.filters .property-type-list{-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3));-ms-grid-rows:(80px)[3];grid-template-rows:repeat(3,80px)}}.filters .new-property-type-list{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 8))[8];grid-template-columns:repeat(8,calc(100% / 8));-ms-grid-rows:(80px)[1];grid-template-rows:repeat(1,80px);border-radius:40px;padding:8px;box-sizing:border-box}.filters .property-type-list .property-type-list__button{margin:auto;position:relative}.filters .property-type-list .property-type-list__button button{box-shadow:none}.filters .property-type-list .property-type-list__icon{width:24px;height:24px;font-size:24px}.filters .property-type-list .property-type-list__border{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;opacity:.7;border-radius:50%;box-sizing:border-box}.filters .property-type-list .property-type-list__border--active{padding:4px;border:2px solid;opacity:1!important}.filters .property-type-list .property-type-list__label{font-size:12px;display:block;margin:8px 0;text-align:center}.filters .property-type-list .property-type-list__divider{width:14%;height:2px;background:#707070;top:30%;position:absolute}.filters .property-type-list .property-type-list__divider--left{left:-9px}.filters .property-type-list .property-type-list__divider--right{right:-9px}@media screen and (max-width:600px){.filters .new-property-type-list{-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3));-ms-grid-rows:(80px)[3];grid-template-rows:repeat(3,80px)}.filters .property-type-list .property-type-list__divider{width:60%}.filters .property-type-list .property-type-list__divider--left{left:-38px}.filters .property-type-list .property-type-list__divider--right{right:-38px}}.filters .new-property-type-list .property-type-list__button{margin:auto;position:relative}.filters .new-property-type-list .property-type-list__button button{box-shadow:none}.filters .new-property-type-list .property-type-list__icon{width:24px;height:24px;font-size:24px}.filters .new-property-type-list .property-type-list__border{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;opacity:.7;border-radius:50%;box-sizing:border-box}.filters .new-property-type-list .property-type-list__border--active{padding:4px;border:2px solid;opacity:1!important}.filters .new-property-type-list .property-type-list__label{font-size:12px;display:block;margin:8px 0;text-align:center}.filters .new-property-type-list .property-type-list__divider{width:14%;height:2px;background:#707070;top:30%;position:absolute}.filters .new-property-type-list .property-type-list__divider--left{left:-9px}.filters .new-property-type-list .property-type-list__divider--right{right:-9px}@media screen and (max-width:600px){.filters .new-property-type-list .property-type-list__divider{width:60%}.filters .new-property-type-list .property-type-list__divider--left{left:-38px}.filters .new-property-type-list .property-type-list__divider--right{right:-38px}}.filters .all{width:100%;margin:8px 0}.filters .all .all__button{margin:0 40%;width:20%;border-radius:16px;background:0 0}.filters .budget{display:flex}.filters .budget mat-form-field{margin-right:8px;width:calc(100% / 2 - 8px)}.filters .features{display:-ms-grid;display:grid;-ms-grid-columns:(50%)[2];grid-template-columns:repeat(2,50%);-ms-grid-rows:(auto)[2];grid-template-rows:repeat(2,auto)}@media screen and (max-width:600px){.filters .all .all__button{width:50%;margin:0 25%}.filters .features{display:block}.filters .amenities-container{flex-direction:column}}.filters .features .features__bathrooms mat-button-toggle-group,.filters .features .features__bedrooms mat-button-toggle-group,.filters .features .features__parking-places mat-button-toggle-group{width:calc(100% - 16px);border:none}.filters .features .features__bathrooms mat-button-toggle-group mat-button-toggle,.filters .features .features__bedrooms mat-button-toggle-group mat-button-toggle,.filters .features .features__parking-places mat-button-toggle-group mat-button-toggle{border-radius:50%;margin:4px auto;box-shadow:0 0 4px;width:18%}.filters .features .features__bedrooms--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__bathrooms--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__parking-places--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__surface mat-button-toggle-group{margin-top:6px;margin-right:16px;border:24px}.filters .amenities-container{width:100%;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;display:flex}.filters .amenities{width:50%}@media screen and (max-width:600px){.filters .amenities{width:100%}}.filters .amenities__amenity{width:calc(100% / 3 - 24px);height:120px;border-radius:8px;padding:8px;display:inline-flex;flex-direction:column;align-items:center;box-sizing:border-box;margin:0 8px 8px 0;cursor:pointer}.filters .amenity__icon{display:block;width:24px;height:24px;margin:8px auto;font-size:24px;padding:8px;border-radius:50%}.filters .amenity__label{width:100%;display:block;text-align:center;font-size:12px;margin:auto}.filters .actions{display:flex;position:absolute;bottom:16px;width:100%;justify-content:space-around}.filters .actions .action__button{width:45%;border-radius:28px;height:40px;font-size:18px;font-weight:500}"]}]}],"members":{"utils":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"newFilters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"totalProperties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"hideAmenities":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"filterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":62,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":62,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}],null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":63,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":64,"character":18},{"__symbolic":"reference","name":"FiltersService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":66,"character":26},{"__symbolic":"reference","name":"CurrencyConverterService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"changePropertyType":[{"__symbolic":"method"}],"changeFilter":[{"__symbolic":"method"}],"changeOffering":[{"__symbolic":"method"}],"changeCurrency":[{"__symbolic":"method"}],"changePrice":[{"__symbolic":"method"}],"updateAmenity":[{"__symbolic":"method"}],"saveSearchByFilters":[{"__symbolic":"method"}],"applyFilters":[{"__symbolic":"method"}],"resetFilters":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"updateFormByFilters":[{"__symbolic":"method"}],"getFilterByForm":[{"__symbolic":"method"}],"initComponent":[{"__symbolic":"method"}],"initUtils":[{"__symbolic":"method"}],"setPrices":[{"__symbolic":"method"}],"applyAmenities":[{"__symbolic":"method"}],"createPrices":[{"__symbolic":"method"}],"initComponentByPropertyType":[{"__symbolic":"method"}],"updateFiltersSaved":[{"__symbolic":"method"}],"restoreLastFiltersSaved":[{"__symbolic":"method"}],"openComponent":[{"__symbolic":"method"}],"listenChangesOnForm":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":34},"arguments":["PROPERTY MODULE CONFIG"]},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":9,"character":21}]}],"open":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":8,"character":31}]}],"open":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"interface"},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":16,"character":21}]}],"open":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":9,"character":21}]}],"open":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":4},[{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":11,"character":2},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":12,"character":2},{"__symbolic":"reference","module":"@angular/material/datepicker","name":"MatDatepickerModule","line":13,"character":2},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":14,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":15,"character":2}]],"declarations":[[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"}]],"entryComponents":[{"__symbolic":"reference","name":"ɵl"}],"exports":[{"__symbolic":"reference","name":"ɵj"}]}]}],"members":{}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"lib-property-custom-datepicker","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":25,"character":15},"useExisting":{"__symbolic":"reference","name":"ɵj"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":30,"character":15},"useValue":{"parse":{"dateInput":"LL"},"display":{"dateInput":"YYYY","monthYearLabel":"YYYY","dateA11yLabel":"YYYY","monthYearA11yLabel":"YYYY"}}},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":34,"character":15},"useClass":{"__symbolic":"reference","name":"ɵk"}}],"template":"<mat-form-field appearance=\"outline\">\r\n <mat-label>Año</mat-label>\r\n <input matInput=\"\" title=\"Build in\" [matDatepicker]=\"dt1\" [max]=\"currentYear\"\r\n placeholder=\"Seleccione el año de construcción\" [value]=\"year\" disabled>\r\n <mat-datepicker-toggle matSuffix [for]=\"dt1\"></mat-datepicker-toggle>\r\n <mat-datepicker #dt1 startView=\"multi-year\" [disabled]=\"false\" [calendarHeaderComponent]=\"customHeader\"\r\n (yearSelected)=\"onYearSelected($event, dt1)\"></mat-datepicker>\r\n</mat-form-field>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":47,"character":23}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"onYearSelected":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/material/core","name":"NativeDateAdapter","line":2,"character":39},"members":{"format":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-property-custom-datepicker-header","template":"<div class=\"header\">\r\n <span>{{ periodLabel }}</span>\r\n <span>\r\n <button mat-icon-button (click)=\"previousClicked()\">\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"nextClicked()\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n </span>\r\n</div>\r\n","styles":[".header{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;justify-content:space-between;align-items:center;padding:8px;box-sizing:border-box}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":17,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"MatCalendar","module":"@angular/material/datepicker","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":35,"context":{"typeName":"D"},"module":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker-header/custom-datepicker-header.component"}]},{"__symbolic":"reference","name":"DateAdapter","module":"@angular/material/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":73,"context":{"typeName":"D"},"module":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker-header/custom-datepicker-header.component"}]},{"__symbolic":"reference","module":"@angular/material/core","name":"MatDateFormats","line":17,"character":52},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":17,"character":73}]}],"ngOnDestroy":[{"__symbolic":"method"}],"previousClicked":[{"__symbolic":"method"}],"nextClicked":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-property-details","template":"<div class=\"info\" *ngIf=\"property\">\r\n <h1 class=\"title\">\r\n <span class=\"title__address\">\r\n <!--\r\n Address visible\r\n Street #Ext Int. Lt Mz, Colony, PostalCode, Township, City, State, Country\r\n Address hidden\r\n Colony, PostalCode, Township, City, State, Country\r\n -->\r\n <ng-template [ngIf]=\"property.address.visible\">\r\n {{property.address.street}}\r\n <span *ngIf=\"property.address.outdoorNumber\">#{{property.address.outdoorNumber}} </span>\r\n <span *ngIf=\"property.address.interiorNumber\">Int. {{property.address.interiorNumber}} </span>\r\n <span *ngIf=\"property.address.lt\">Lt. {{property.address.lt}} </span>\r\n <span *ngIf=\"property.address.mz\">Mz. {{property.address.mz}} </span>\r\n </ng-template>\r\n <span *ngIf=\"property.address.colony\">{{property.address.colony}}, </span>\r\n <span *ngIf=\"property.address.postalCode\">{{property.address.postalCode}}, </span>\r\n <span *ngIf=\"property.address.township\">{{property.address.township}}, </span>\r\n <span *ngIf=\"property.address.city\">{{property.address.city}}, </span>\r\n <span *ngIf=\"property.address.state\">{{property.address.state}}, </span>\r\n <span *ngIf=\"property.address.country\">{{property.address.country}}</span>\r\n <span *ngIf=\"!property.address.visible\" class=\"address-street__hidden\"><br> Dirección aproximada</span>\r\n </span>\r\n <span class=\"title__property-offering\">\r\n <span class=\"title__property-offering-price\">\r\n <ng-template [ngIf]=\"currencyConverted\" [ngIfElse]=\"realPrice\">\r\n {{currencyConverted.price | currency : '' : 'symbol' : '1.0-0'}} {{currencyConverted.currency}}\r\n <br>\r\n <span class=\"property-offering-price__info-currency\"><mat-icon class=\"info-currency__icon\">info</mat-icon> Precio convertido <br> aproximado</span>\r\n </ng-template>\r\n <ng-template #realPrice>\r\n {{property.price | currency : '' : 'symbol' : '1.0-0'}} {{property.currency}}\r\n </ng-template>\r\n </span>\r\n <ng-template [ngIf]=\"currencyConverted\">\r\n <br>\r\n <span>{{property.price | currency : '' : 'symbol' : '1.0-0'}} {{property.currency}}</span>\r\n <br>\r\n <span class=\"property-offering-price__info-currency\"><mat-icon class=\"info-currency__icon\">info</mat-icon> Precio publicado</span>\r\n </ng-template>\r\n <br>\r\n <div class=\"div__title-sku\">\r\n <div>\r\n <span\r\n class=\"ic-property-{{propertyType.iconName}}\">\r\n </span>{{property.type | propertyType}} {{property.offering | offeringType}}\r\n </div>\r\n <ng-template [ngIf]=\"property.sku !== '' && property.sku\">\r\n <span class=\"title__sku\">\r\n SKU: {{property.sku}}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </span>\r\n </h1>\r\n <hr class=\"divider\">\r\n <section class=\"features\">\r\n <ng-template [ngIf]=\"property.features.bedrooms && property.features.bedrooms > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-bedroom\"></span>\r\n <span class=\"features__item-text\">{{property.features.bedrooms}}</span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.bathrooms && property.features.bathrooms > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-bathroom\"></span>\r\n <span class=\"features__item-text\">{{property.features.bathrooms}}</span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.mainArea && property.features.mainArea > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-surface\"></span>\r\n <span class=\"features__item-text\">\r\n {{property.features.mainArea}}\r\n <span>m<sup>2</sup></span>\r\n </span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.parkingSpaces && property.features.parkingSpaces > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-parking\"></span>\r\n <span class=\"features__item-text\">{{property.features.parkingSpaces}}</span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.roi && property.features.roi > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-roi\"></span>\r\n <span class=\"features__item-text\">{{property.features.roi}}</span>\r\n </p>\r\n </ng-template>\r\n </section>\r\n <section class=\"description\">\r\n <h2 class=\"sub-title\">\r\n Descripción\r\n </h2>\r\n <p class=\"description__body\">\r\n {{property.description}}\r\n </p>\r\n </section>\r\n <ng-template [ngIf]=\"property.externalLink && visibleTour\">\r\n <hr class=\"divider\">\r\n <section class=\"external-link\">\r\n <h2 class=\"sub-title\">\r\n Tour virtual\r\n </h2>\r\n <iframe class=\"external-link__body\" [src]=\"getTourUrl()\"></iframe>\r\n </section>\r\n </ng-template>\r\n <ng-template [ngIf]=\"record\">\r\n <hr class=\"divider\">\r\n <section class=\"agreement\">\r\n <h2 class=\"sub-title\">\r\n Contrato\r\n </h2>\r\n <p class=\"agreement__body\">\r\n <span class=\"agreement__body-filed\">\r\n <span class=\"agreement__body-field-title\">\r\n Exclusividad de contrato\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{property.propertyInfo.exclusivity ? 'Si' : 'No'}}\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\" *ngIf=\"property.propertyInfo.listingAgreementStartDate\">\r\n <span class=\"agreement__body-field-title\">\r\n Fecha de inicio de contrato\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{property.propertyInfo.listingAgreementStartDate | libFormatDate : true : 'dd/MM/yyyy'}}\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\" *ngIf=\"agreementEndDate\">\r\n <span class=\"agreement__body-field-title\">\r\n Fecha de termino de contrato\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{agreementEndDate | libFormatDate : true : 'dd/MM/yyyy'}}\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\" *ngIf=\"property.propertyInfo.commission\">\r\n <span class=\"agreement__body-field-title\">\r\n Comisión\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n <span *ngIf=\"property.offering === 'RENT'\">{{property.propertyInfo.commission}} meses</span>\r\n <span *ngIf=\"property.offering === 'SALE'\">{{property.propertyInfo.commission * 100}}%</span>\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\">\r\n <span class=\"agreement__body-field-title\">\r\n Anunciada en el {{mlsLabel || 'MLS'}}\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{property.propertyInfo.mls ? 'Si' : 'No'}}\r\n </span>\r\n </span>\r\n </p>\r\n </section>\r\n <hr class=\"divider\">\r\n <section class=\"private-features\">\r\n <h2 class=\"sub-title\">\r\n Caracteristicas\r\n </h2>\r\n <p class=\"private-features__body\">\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.propertyInfo.lowestPrice\">\r\n <span class=\"private-features__body-field-title\">\r\n Precio minimo\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.propertyInfo.lowestPrice | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.features.condominiumFeePrice\">\r\n <span class=\"private-features__body-field-title\">\r\n Cuota de mantenimiento\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.features.condominiumFeePrice | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.propertyInfo.leaseTransferPrice\">\r\n <span class=\"private-features__body-field-title\">\r\n Traspaso\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.propertyInfo.leaseTransferPrice | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.features.builtIn\">\r\n <span class=\"private-features__body-field-title\">\r\n Año de construcción\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.features.builtIn}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.features.roi\">\r\n <span class=\"private-features__body-field-title\">\r\n Retorno de inversión\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.features.roi}}\r\n </span>\r\n </span>\r\n </p>\r\n </section>\r\n <ng-template [ngIf]=\"property.propertyInfo.consumerReporting && property.propertyInfo.consumerReporting !== 0\">\r\n <hr class=\"divider\">\r\n <section class=\"buro-rentas\">\r\n <h2 class=\"sub-title\">\r\n Buró Rentas\r\n </h2>\r\n <p class=\"private-features__body\" *ngIf=\"property.propertyInfo.consumerReporting === 1\">Requerir certificado de\r\n fiabiidad\r\n </p>\r\n <p class=\"private-features__body\" *ngIf=\"property.propertyInfo.consumerReporting === 2\">Requerir poliza de\r\n arrendamiento\r\n </p>\r\n </section>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.propertyInfo.notes\">\r\n <hr class=\"divider\">\r\n <section class=\"notes\">\r\n <h2 class=\"sub-title\">\r\n Notas\r\n </h2>\r\n <p class=\"notes__body\">{{property.propertyInfo.notes}}</p>\r\n </section>\r\n </ng-template>\r\n </ng-template>\r\n <hr class=\"divider\">\r\n <section class=\"indications\">\r\n <h2 class=\"sub-title\">\r\n Indicaciones\r\n </h2>\r\n <div class=\"indications__body\">\r\n <a class=\"indications__body-item-link\"\r\n href=\"https://www.google.com/maps/dir/?api=1&destination={{property.address.location.latitude}},{{property.address.location.longitude}}\"\r\n [target]=\"'_blank'\">\r\n <p matRipple class=\"indications__body-item\">\r\n <span class=\"indications__body-item-icon ic-component-property-marker\"></span>\r\n <span class=\"indications__body-item-text\">¿COMO LLEGAR?</span>\r\n </p>\r\n </a>\r\n <a class=\"indications__body-item-link\"\r\n href=\"https://www.google.com/maps/@?api=1&map_action=pano&viewpoint={{property.address.location.latitude}},{{property.address.location.longitude}}\"\r\n [target]=\"'_blank'\">\r\n <p matRipple class=\"indications__body-item\">\r\n <span class=\"indications__body-item-icon ic-component-property-streetview\"></span>\r\n <span class=\"indications__body-item-text\">VISTA DE LA CALLE</span>\r\n </p>\r\n </a>\r\n </div>\r\n </section>\r\n <hr class=\"divider\">\r\n <ng-template [ngIf]=\"amenities && amenities.length > 0\">\r\n <section class=\"amenities\">\r\n <h2 class=\"sub-title\">Amenidades</h2>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let amenity of amenities\">\r\n <span matRipple class=\"list-amenities__amenity\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"></span>\r\n <span class=\"amenity__text\">{{amenity.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </section>\r\n </ng-template>\r\n <ng-template [ngIf]=\"features && features.length > 0\">\r\n <section class=\"amenities\">\r\n <h2 class=\"sub-title\">Caracteristicas de la zona</h2>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let feature of features\">\r\n <span matRipple class=\"list-amenities__amenity\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"></span>\r\n <span class=\"amenity__text\">{{feature.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </section>\r\n </ng-template>\r\n</div>\r\n","styles":[":host{display:block;width:100%}.divider{border:none;border-bottom:1px solid}.title{display:flex;font-size:18px;color:#707070;font-weight:400}.sub-title{margin:0;font-size:18px;padding:0 16px 16px 0}.title>span:first-child{width:60%}@media screen and (max-width:600px){.title{flex-direction:column}.title>span:first-child{width:100%}}.title>span:last-child{width:40%}.div__title-sku{display:flex;flex-direction:column}.title__sku{margin-bottom:2%}.address-street__hidden{font-size:12px}.title__property-offering{text-align:right}@media screen and (max-width:600px){.title>span:last-child{width:100%}.title__property-offering{text-align:left;margin:16px 0}}.title__property-offering-price{font-size:26px;font-weight:700}.property-offering-price__info-currency{font-size:12px;display:inline-block;margin:4px 0}.info-currency__icon{width:12px;height:12px;font-size:12px}.features{padding:8px 0;display:flex;align-items:center}.features__item{width:auto;margin:0 24px 0 0;display:flex;justify-content:center;align-items:center;position:relative}.features__item:last-child:after{content:none}.features__item-text{font-size:16px;display:inline-block}.features__item-icon{display:inline-block;font-size:24px;width:24px;height:24px;margin-right:8px}.agreement,.buro-rentas,.description,.external-link,.indications,.notes,.private-features{display:flex;padding:16px 0}.indications__body{display:flex}.indications__body-item-link{color:inherit;text-decoration:none}.indications__body-item{padding:8px;margin:0 16px 0 0;border-radius:8px;cursor:pointer}.indications__body-item-icon{margin:auto;padding:8px;border-radius:8px;display:block;font-size:24px;width:24px;height:24px}.indications__body-item-text{display:block;text-align:center;font-size:12px;margin:6px 0}.agreement__body,.description__body,.notes__body,.private-features__body{width:75%;margin:0 0 0 auto}@media screen and (max-width:600px){.agreement,.buro-rentas,.description,.external-link,.indications,.notes,.private-features{flex-direction:column;align-items:start}.agreement__body,.description__body,.notes__body,.private-features__body{width:100%;margin:0}}.external-link__body{width:75%;height:280px;border-radius:16px;margin-left:20px}@media screen and (max-width:600px){.external-link__body{width:100%;margin:0}}.agreement__body-filed,.private-features__body-filed{display:block;padding:8px 0}.agreement__body-field-content,.agreement__body-field-title,.private-features__body-field-content,.private-features__body-field-title{width:50%;display:inline-block}.amenities__list{width:50%;display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}.amenities,.attributes{width:50%;display:inline-block}@media screen and (max-width:600px){.amenities,.attributes{width:100%;display:block}}.amenities__list-amenities{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}.list-amenities__amenity{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:4px;box-sizing:border-box;border-radius:8px;text-align:center}.amenity__icon{width:24px;height:24px;font-size:24px;border-radius:50%;padding:8px;display:block;margin:8px}.amenity__text{padding:8px;box-sizing:border-box;display:block;font-size:12px}"]}]}],"members":{"record":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"currencyConverted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"property":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"visibleTour":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":26,"character":24}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getTourUrl":[{"__symbolic":"method"}],"validateAgreement":[{"__symbolic":"method"}],"searchPropertyType":[{"__symbolic":"method"}],"createAmenities":[{"__symbolic":"method"}],"createFeatures":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":54,"character":1},"arguments":[{"selector":"lib-property-editor","providers":[{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":59,"character":14},"useValue":"es-MX"},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":60,"character":14},"useClass":{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MomentDateAdapter","line":60,"character":37},"deps":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":60,"character":63},{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MAT_MOMENT_DATE_ADAPTER_OPTIONS","line":60,"character":80}]},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":61,"character":14},"useValue":{"parse":{"dateInput":"L"},"display":{"dateInput":"L","monthYearLabel":"MMM YYYY","dateA11yLabel":"L","monthYearA11yLabel":"MMMM YYYY"}}}],"template":"<form class=\"editor\" [formGroup]=\"propertyForm\" autocomplete=\"off\">\r\n <div class=\"offering\">\r\n <p class=\"section_label\"><span>Tipo de oferta</span> <span>Información Pública</span></p>\r\n <mat-button-toggle-group class=\"offering__toggle\" formControlName=\"offering\">\r\n <ng-container *ngFor=\"let offering of offeringTypeList\">\r\n <mat-button-toggle\r\n [disabled]=\"(propertyType === 'ROOM' && offering.value === 'SALE') || (propertyType === 'INVESTMENT' && offering.value === 'RENT')\"\r\n [value]=\"offering.value\">{{offering.name}}</mat-button-toggle>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n <ng-template [ngIf]=\"propertyForm.controls['offering'].value === 'RENT'\">\r\n <div class=\"direct-debit\">\r\n <mat-checkbox class=\"direct-debit__check-box\" formControlName=\"consumerReporting\">Domiciliación</mat-checkbox>\r\n <mat-radio-group class=\"direct-debit__radio-group\" aria-label=\"Select an option\"\r\n formControlName=\"consumerReportingOption\"\r\n *ngIf=\"propertyForm.controls['consumerReporting'].value\">\r\n <mat-radio-button class=\"direct-debit__radio-button\" [value]=\"1\">Requerir certificado <br> de fiabilidad\r\n </mat-radio-button>\r\n <mat-radio-button class=\"direct-debit__radio-button\" [value]=\"2\">Requerir poliza <br> de arrendamiento\r\n </mat-radio-button>\r\n <p>\r\n Para mayor información de este servicio visite <br>\r\n <a href=\"https://www.burorentas.mx\">\r\n www.burorentas.mx\r\n </a>\r\n </p>\r\n <mat-error *ngIf=\"propertyForm.controls['consumerReportingOption'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-radio-group>\r\n </div>\r\n </ng-template>\r\n <div class=\"pricing\">\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\">\r\n <mat-label>Moneda</mat-label>\r\n <mat-select formControlName=\"currency\">\r\n <ng-container *ngFor=\"let currency of currencyList\">\r\n <mat-option [value]=\"currency.type\">{{currency.type}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"propertyForm.controls['currency'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\">\r\n <mat-label>Precio deseado</mat-label>\r\n <input libFormatPrice autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"Max price\" formControlName=\"price\"\r\n [control]=\"propertyForm.controls['price']\" [currency]=\"propertyForm.get('currency').value\">\r\n <mat-error *ngIf=\"propertyForm.controls['price'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['price'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\">\r\n <mat-label>Precio mínimo</mat-label>\r\n <input libFormatPrice autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"Min price\" formControlName=\"minPrice\"\r\n [control]=\"propertyForm.controls['minPrice']\" [currency]=\"propertyForm.get('currency').value\">\r\n <mat-error *ngIf=\"propertyForm.controls['minPrice'].hasError('minPriceInvalid')\">\r\n Este valor debe ser menor al precio deseado\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['minPrice'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n </mat-form-field>\r\n <div class=\"pricing__maintenance-fee\" *ngIf=\"propertyType !== 'INVESTMENT' && propertyType !== 'LAND'\">\r\n <mat-checkbox formControlName=\"maintenance\">Tiene cuota de mantenimiento\r\n </mat-checkbox>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\"\r\n *ngIf=\"propertyForm.controls['maintenance'].value\">\r\n <mat-label>Cuota de mantenimiento</mat-label>\r\n <input autocomplete=\"off\" matInput type=\"text\" libFormatPrice title=\"Price\"\r\n [control]=\"propertyForm.controls['maintenancePrice']\"\r\n [currency]=\"propertyForm.get('currency').value\"\r\n formControlName=\"maintenancePrice\">\r\n <mat-error *ngIf=\"propertyForm.controls['maintenancePrice'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['maintenancePrice'].hasError('required')\">\r\n Esta campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"sku__maintenance-fee\">\r\n <mat-form-field appearance=\"outline\" class=\"sku__form-field\">\r\n <mat-label>SKU</mat-label>\r\n <input matInput=\"\" title=\"SKU\" formControlName=\"sku\">\r\n <mat-error *ngIf=\"propertyForm.controls['sku'].hasError('pattern')\">\r\n SKU invalida\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <ng-template [ngIf]=\"propertyForm.controls['offering'].value === 'RENT' && propertyType !== 'INVESTMENT'\">\r\n <div class=\"pricing__maintenance-fee\" *ngIf=\"propertyType !== 'ROOM'\">\r\n <mat-checkbox formControlName=\"transfer\">Traspaso\r\n </mat-checkbox>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\"\r\n *ngIf=\"propertyForm.controls['transfer'].value\">\r\n <mat-label>Monto por traspaso</mat-label>\r\n <input autocomplete=\"off\" matInput type=\"text\" libFormatPrice\r\n title=\"Price\" [control]=\"propertyForm.controls['transferPrice']\"\r\n [currency]=\"propertyForm.get('currency').value\"\r\n formControlName=\"transferPrice\">\r\n <mat-error *ngIf=\"propertyForm.controls['transferPrice'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['transferPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <hr>\r\n <div class=\"address\" formGroupName=\"address\">\r\n <p class=\"section_label\">\r\n Dirección\r\n <button mat-flat-button=\"\" type=\"button\" color=\"primary\" (click)=\"goToSelectAddress()\"\r\n class=\"address__label-button\">\r\n COLOCAR UBICACIÓN EN EL MAPA\r\n </button>\r\n </p>\r\n <div class=\"address__body\">\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>País</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Country\" formControlName=\"country\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Código postal</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Postal code\" formControlName=\"postalCode\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Entidad Federativa</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"State\" formControlName=\"state\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Ciudad</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"City\" formControlName=\"city\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Alcaldia/Municipio</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Township\" formControlName=\"township\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Colonia</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Colony\" formControlName=\"colony\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Vialidad</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Street\" formControlName=\"street\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Número exterior</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"No exterior\" formControlName=\"extNumber\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Número interior</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"No interior\" formControlName=\"intNumber\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Manzana</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Mz\" formControlName=\"mz\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Lote</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Lt\" formControlName=\"lt\" type=\"number\">\r\n </mat-form-field>\r\n <div class=\"address__visibility\">\r\n <p class=\"section_label\">\r\n Ubicación en el mapa\r\n </p>\r\n <div class=\"address__visibility-body\">\r\n <mat-radio-group formControlName=\"visible\" class=\"address__visibility-radio-group\">\r\n <mat-radio-button class=\"visibility-radio-group__button\" [value]=\"true\">\r\n Mostrar dirección exacta\r\n </mat-radio-button>\r\n <mat-radio-button class=\"visibility-radio-group__button\" [value]=\"false\">\r\n Mostrar dirección aproximada\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <p class=\"visibility__about\">\r\n <span class=\"visibility__about-label\" [ngStyle]=\"{'font-weight': propertyForm.get('address.visible').value ? 'bold' : 'normal'}\">\r\n Mostrar dirección exacta: muestra el <br> lugar preciso en el mapa con un marcador.\r\n </span>\r\n <span class=\"visibility__about-label\" [ngStyle]=\"{'font-weight': !propertyForm.get('address.visible').value ? 'bold' : 'normal'}\">\r\n Mostrar dirección aproximada: reacomoda la ubicación en un radio de 50 metros, ocultando calle y número.\r\n </span>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr>\r\n <!-- Features [START], Only visible for all property types except INVESTMENT -->\r\n <div class=\"features\">\r\n <p class=\"section_label\">Caracteristicas</p>\r\n <div class=\"features__body\">\r\n <div class=\"features__item\" *ngIf=\"propertyType === 'HOUSE' || propertyType === 'APARTMENT'\">\r\n <span class=\"label__icon ic-features-bedroom\"></span>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Habitaciones</mat-label>\r\n <input autocomplete=\"off\" matInput title=\"Bedrooms\" formControlName=\"bedrooms\" type=\"number\">\r\n <mat-error *ngIf=\"propertyForm.controls['bedrooms'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['bedrooms'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"features__item features-item-bathrooms\"\r\n *ngIf=\"propertyType === 'HOUSE' || propertyType === 'APARTMENT' || propertyType === 'ROOM'\">\r\n <span class=\"label__icon ic-features-bathroom\"></span>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Baños</mat-label>\r\n <input autocomplete=\"off\" title=\"Bathrooms\" matInput formControlName=\"bathrooms\" type=\"number\">\r\n <mat-error *ngIf=\"propertyForm.controls['bathrooms'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['bathrooms'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"features__item features-item-parking-spaces\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <span class=\"label__icon ic-features-parking\"></span>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Estacionamientos</mat-label>\r\n <input autocomplete=\"off\" title=\"Parking spaces\" matInput formControlName=\"parkingSpaces\" type=\"number\">\r\n <mat-error *ngIf=\"propertyForm.controls['parkingSpaces'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <!-- Surfaces [START] Only visible for property type distinct INVESTMENT-->\r\n <div class=\"features__item features-item-surface\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <p class=\"features-item__label\">\r\n <span class=\"label__icon ic-features-surface\"></span>\r\n Superficie\r\n </p>\r\n <mat-radio-group class=\"features-item__radio-group\" formControlName=\"unit\">\r\n <mat-radio-button class=\"features-item__radio-button\" [value]=\"'M2'\">m<sup>2</sup></mat-radio-button>\r\n <mat-radio-button class=\"features-item__radio-button\" [value]=\"'FT2'\">sq ft</mat-radio-button>\r\n </mat-radio-group>\r\n <!--\r\n Build area [START]\r\n Only visible for HOUSE, APARTMENT, ROOM, OFFICE, RETAIL, WAREHOUSE and LAND property types\r\n -->\r\n <mat-form-field appearance=\"outline\"\r\n *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <mat-label>\r\n <ng-container [ngSwitch]=\"propertyType\">\r\n <span *ngSwitchDefault>Construida</span>\r\n <span *ngSwitchCase=\"'OFFICE'\">De Oficinas</span>\r\n <span *ngSwitchCase=\"'LAND'\">De Terreno</span>\r\n </ng-container>\r\n </mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Surface build\" formControlName=\"mainArea\" type=\"number\">\r\n <span matSuffix>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'M2'\">m<sup>2</sup></span>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'FT2'\">sq ft</span>\r\n </span>\r\n <mat-error *ngIf=\"propertyForm.controls['mainArea'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['mainArea'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Build area [END] -->\r\n <!--\r\n Secondary build area [START]\r\n Only visible for HOUSE, and WAREHOUSE\r\n -->\r\n <mat-form-field appearance=\"outline\"\r\n *ngIf=\"propertyType === 'HOUSE' || propertyType === 'WAREHOUSE'\">\r\n <mat-label>\r\n <ng-container [ngSwitch]=\"propertyType\">\r\n <span *ngSwitchCase=\"'HOUSE'\">De terreno</span>\r\n <span *ngSwitchCase=\"'WAREHOUSE'\">De oficinas</span>\r\n </ng-container>\r\n </mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Surface land build\" formControlName=\"secondaryArea\" type=\"number\">\r\n <span matSuffix>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'M2'\">m<sup>2</sup></span>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'FT2'\">sq ft</span>\r\n </span>\r\n <mat-error *ngIf=\"propertyForm.controls['secondaryArea'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Secondary build area [END]-->\r\n </div>\r\n <!-- Surfaces [END]-->\r\n <!-- Year build [START], Only visible for HOUSE, APARTMENT, ROOM, OFFICE, RETAIL and WAREHOUSE property types -->\r\n <div class=\"features__item\"\r\n *ngIf=\"propertyType === 'HOUSE' || propertyType === 'APARTMENT' || propertyType === 'ROOM' || propertyType === 'OFFICE' || propertyType === 'RETAIL' || propertyType === 'WAREHOUSE'\">\r\n <p class=\"features-item__label\">\r\n <span class=\"label__icon\"><mat-icon>event</mat-icon></span>\r\n Año de construcción\r\n </p>\r\n <lib-property-custom-datepicker formControlName=\"buildIn\"></lib-property-custom-datepicker>\r\n </div>\r\n <!-- Year build [END] -->\r\n <!-- Land use [START], Only for LAND property type -->\r\n <div class=\"features__item\" *ngIf=\"propertyType === 'LAND'\">\r\n <p class=\"features-item__label\">\r\n <span class=\"label__icon ic-features-land-use\"></span>\r\n Uso de suelo\r\n </p>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select formControlName=\"landUse\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let use of landUseList\">\r\n <mat-option [value]=\"use.value\">\r\n {{use.name}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <!-- Land use [END] -->\r\n </div>\r\n </div>\r\n <!-- Features [END] -->\r\n <hr>\r\n <div class=\"agreement\">\r\n <p class=\"section_label\">Contrato</p>\r\n <div class=\"agreement__body\">\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\">\r\n <mat-label>Fecha de inicio</mat-label>\r\n <input autocomplete=\"off\" matInput formControlName=\"agreementDate\" [matDatepicker]=\"dp2\"\r\n placeholder=\"Seleccione una fecha\"\r\n title=\"Chose a date\">\r\n <mat-datepicker-toggle matSuffix [for]=\"dp2\"></mat-datepicker-toggle>\r\n <mat-datepicker #dp2 [disabled]=\"false\"></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\">\r\n <mat-label>Duración</mat-label>\r\n <mat-select formControlName=\"duration\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let time of durationList\">\r\n <mat-option [value]=\"time\">\r\n <ng-container [ngSwitch]=\"time\">\r\n <span *ngSwitchCase=\"365\">1 año</span>\r\n <span *ngSwitchCase=\"180\">6 meses</span>\r\n <span *ngSwitchDefault>{{time}} días</span>\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\">\r\n <mat-label>Comisión</mat-label>\r\n <mat-select formControlName=\"commission\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let commission of commissionList\">\r\n <mat-option [value]=\"commission\">\r\n <span *ngIf=\"propertyForm.controls['offering'].value === 'RENT'\">\r\n <ng-container [ngSwitch]=\"commission\">\r\n <span *ngSwitchCase=\"1\">1 mes = {{propertyForm.controls['price'].value * commission | currency : '' : 'symbol' : '1.0-0'}}</span>\r\n <span *ngSwitchDefault>\r\n {{commission}} meses = {{propertyForm.controls['price'].value * commission | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </ng-container>\r\n </span>\r\n <span *ngIf=\"propertyForm.controls['offering'].value === 'SALE'\">\r\n <span>{{commission * 100 | currency: '' : '': '1.1-1'}}\r\n % = {{propertyForm.controls['price'].value * commission | currency : '' : 'symbol' : '1.0-0'}}</span>\r\n </span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"propertyForm.controls['commission'].hasError('commissionInvalid')\">\r\n Es necesario ingresar el precio deseado\r\n </mat-error>\r\n </mat-form-field>\r\n <ng-template [ngIf]=\"propertyType === 'INVESTMENT'\">\r\n <mat-form-field appearance=\"outline\" class=\"investment-return__form-field\">\r\n <mat-label>Retorno de Inversión</mat-label>\r\n <input autocomplete=\"off\" matInput title=\"Investment return\" formControlName=\"roi\" type=\"number\">\r\n <span matSuffix>%</span>\r\n </mat-form-field>\r\n </ng-template>\r\n <mat-checkbox class=\"agreement__body-check-box\" formControlName=\"exclusivity\">Contrato con exclusividad\r\n </mat-checkbox>\r\n <mat-checkbox class=\"agreement__body-check-box\" formControlName=\"mlm\">Quiero compartir en el {{mlsLabel || 'MLS'}}</mat-checkbox>\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\" *ngIf=\"propertyForm.controls['mlm'].value\">\r\n <mat-label>Monto de comisión compartida</mat-label>\r\n <mat-select formControlName=\"sharedCommission\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let commission of sharedCommissionList\">\r\n <mat-option [value]=\"commission\">\r\n {{commission * 100}}% de mi comisión\r\n = {{propertyForm.controls['price'].value * propertyForm.controls['commission'].value * commission | currency : '' : 'symbol' : '1.0-0'}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"propertyForm.controls['sharedCommission'].hasError('sharedCommissionInvalid')\">\r\n Debe seleccionar su comisión\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['sharedCommission'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <hr>\r\n <div class=\"description\">\r\n <p class=\"section_label\">Descripción</p>\r\n <mat-form-field appearance=\"outline\" class=\"description__form-field\">\r\n <textarea matInput=\"\" cdkTextareaAutosize title=\"Description\" formControlName=\"description\"></textarea>\r\n <mat-hint align=\"end\"><span>Número de caracteres ideal: 3500</span>\r\n Actuales: {{propertyForm.controls['description'].value ? propertyForm.controls['description'].value.length : 0}}\r\n </mat-hint>\r\n <mat-error *ngIf=\"propertyForm.controls['description'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"external-link\">\r\n <p class=\"section_label\">Tour virtual</p>\r\n <mat-form-field appearance=\"outline\" class=\"external-link__form-field\">\r\n <input matInput=\"\" title=\"externalLink\" formControlName=\"externalLink\">\r\n <mat-error *ngIf=\"propertyForm.controls['externalLink'].hasError('pattern')\">\r\n Url invalida\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"notes\">\r\n <p class=\"section_label\">Notas</p>\r\n <mat-form-field appearance=\"outline\" class=\"notes__form-field\">\r\n <textarea matInput=\"\" cdkTextareaAutosize title=\"Notes\" formControlName=\"notes\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <hr *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <div class=\"amenities\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <p class=\"section_label\">Amenidades</p>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let amenity of amenitiesList\">\r\n <span matRipple class=\"list-amenities__amenity\" (click)=\"updateAmenity(amenity)\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"\r\n [ngClass]=\"{'amenity__icon-active': amenity.checked}\"></span>\r\n <span class=\"amenity__text\">{{amenity.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </div>\r\n <div class=\"attributes\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <p class=\"section_label\">Caracteristicas de ubicación</p>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let feature of featuresList\">\r\n <span matRipple class=\"list-amenities__amenity\" (click)=\"updateAmenity(feature)\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"\r\n [ngClass]=\"{'amenity__icon-active': feature.checked}\"></span>\r\n <span class=\"amenity__text\">{{feature.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </div>\r\n <button type=\"submit\" class=\"button-submit\" mat-button #btnSubmit>Enviar</button>\r\n</form>\r\n","styles":[":host{display:block;width:100%}.section_label{font-weight:700;display:flex;justify-content:space-between}.address__label-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.offering{margin-bottom:8px}.direct-debit{margin:16px 0;display:flex}.direct-debit__check-box{margin-top:4px}.direct-debit__radio-group{display:inline-block;margin:0 0 0 32px}@media screen and (max-width:600px){.section_label{flex-direction:column}.section_label :last-child{margin-top:16px}.direct-debit{flex-direction:column;align-items:flex-start}.direct-debit__radio-group{margin:16px 0 0}}.direct-debit__radio-button{margin-right:16px}.pricing{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3))}@media screen and (max-width:600px){.pricing{-ms-grid-columns:100%;grid-template-columns:100%}}@media screen and (min-width:1800px){.pricing{-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}}.agreement__body{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[2];grid-template-columns:repeat(2,calc(100% / 3))}@media screen and (max-width:600px){.agreement__body{-ms-grid-columns:100%;grid-template-columns:100%}}@media screen and (min-width:1800px){.agreement__body{-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}}.agreement__body-check-box{margin-bottom:16px;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3}.address__body{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}@media screen and (max-width:600px){.agreement__body-check-box{-ms-grid-column-span:auto;grid-column-end:auto}.address__body{-ms-grid-columns:100%;grid-template-columns:100%}}@media screen and (min-width:1800px){.address__body{-ms-grid-columns:(calc(100% / 5))[4];grid-template-columns:repeat(4,calc(100% / 5))}}.features__body{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 2))[2];grid-template-columns:repeat(2,calc(100% / 2))}.features-item__label{display:flex;align-items:center;margin:0;padding:8px 0}.features-item__radio-group{display:block;margin:8px 0}.features-item__radio-button{margin-right:16px}.features-item-bathrooms,.features-item-parking-spaces{-ms-grid-column:1;grid-column-start:1}.features-item-surface{-ms-grid-column:2;grid-column-start:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:2;grid-row-end:3}.address__form-field,.agreement__form-field,.description__form-field,.external-link__form-field,.notes__form-field,.pricing__form-field{width:95%;margin:0 auto 0 0}@media screen and (max-width:600px){.features__body{-ms-grid-columns:100%;grid-template-columns:100%}.features-item-surface{-ms-grid-column:auto;grid-column-start:auto;-ms-grid-row:auto;grid-row-start:auto;-ms-grid-row-span:NaN;grid-row-end:auto}.address__form-field,.agreement__form-field,.description__form-field,.external-link__form-field,.notes__form-field,.pricing__form-field{width:100%;margin:0}}.pricing__maintenance-fee{display:flex;align-items:center;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3}.pricing__maintenance-fee :first-child{margin:0 16px 0 0}@media screen and (max-width:600px){.pricing__maintenance-fee{flex-direction:column;align-items:start;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:NaN;grid-column-end:auto}.pricing__maintenance-fee :first-child{margin:0 0 16px}}.address__visibility{-ms-grid-row:4;grid-row-start:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:4;grid-column-end:5}.address__visibility-body{display:flex}.address__visibility-radio-group{display:block;margin-right:16px}.visibility-radio-group__button{margin-bottom:16px;display:block}.visibility__about{margin:0}.visibility__about-label{display:block;padding:0 8px 8px;font-size:14px}.label__icon{width:24px;height:24px;font-size:24px;color:#707070;margin-right:8px}.amenities,.attributes{width:50%;display:inline-block}@media screen and (max-width:600px){.address__visibility{-ms-grid-row:auto;grid-row-start:auto;-ms-grid-column:auto;grid-column-start:auto;-ms-grid-column-span:NaN;grid-column-end:auto}.address__visibility-body{flex-direction:column}.amenities,.attributes{width:100%;display:block}}.amenities__list-amenities{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3))}.list-amenities__amenity{display:flex;flex-direction:column;justify-content:space-between;align-items:center;cursor:pointer;width:100px;padding:4px;box-sizing:border-box;border-radius:8px;margin:8px auto 0;text-align:center}.amenity__icon{width:24px;height:24px;font-size:24px;background:#707070;border-radius:50%;padding:8px;color:#fff;display:block;margin:0 auto}.amenity__text{padding:8px;box-sizing:border-box;display:block;font-size:12px}.button-submit{display:none}"]}]}],"members":{"_btnSubmitRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["btnSubmit",{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":65,"character":47}}]}]}],"utils":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"address":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"propertyType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"property":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"editorInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":71,"character":3}}]}],"selectAddress":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":106,"character":26},{"__symbolic":"reference","module":"@maplander/shared","name":"DialogService","line":107,"character":21},{"__symbolic":"reference","name":"DateAdapter","module":"@angular/material/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getProperty":[{"__symbolic":"method"}],"validateFormInvalid":[{"__symbolic":"method"}],"updateAmenity":[{"__symbolic":"method"}],"goToSelectAddress":[{"__symbolic":"method"}],"setErrorsOnFields":[{"__symbolic":"method"}],"updateAddressForm":[{"__symbolic":"method"}],"assignAmenities":[{"__symbolic":"method"}],"assignLocationFeatures":[{"__symbolic":"method"}],"assignCommission":[{"__symbolic":"method"}],"assignBusinessRules":[{"__symbolic":"method"}],"updateFormByProperty":[{"__symbolic":"method"}],"updatePropertyByForm":[{"__symbolic":"method"}],"searchAmenitiesByPropertyType":[{"__symbolic":"method"}],"listenChangesOnForm":[{"__symbolic":"method"}],"createProperty":[{"__symbolic":"method"}],"setValidatorOnFields":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-property-owner-info","template":"<div class=\"owner-info\">\r\n <p class=\"title\">Propietario</p>\r\n <form class=\"owner-info__form\" [formGroup]=\"ownerForm\" autocomplete=\"off\">\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Nombre(s)</mat-label>\r\n <input autocomplete=\"off\" title=\"Name\" type=\"text\" matInput formControlName=\"name\">\r\n </mat-form-field>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Apellido(s)</mat-label>\r\n <input autocomplete=\"off\" title=\"Last name\" type=\"text\" matInput formControlName=\"lastName\">\r\n </mat-form-field>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Email</mat-label>\r\n <input autocomplete=\"off\" title=\"Email\" type=\"email\" matInput formControlName=\"email\">\r\n <mat-error *ngIf=\"ownerForm.controls['email'].hasError('email')\">\r\n Dirección de correo no válida\r\n </mat-error>\r\n </mat-form-field>\r\n <div class=\"field-phone\">\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Código</mat-label>\r\n <input autocomplete=\"off\" libCountryCode formControlName=\"code\" (countrySelected)=\"onCodePhoneChanged($event)\" title=\"Code number\"\r\n type=\"text\" matInput>\r\n <mat-error *ngIf=\"ownerForm.controls['code'].hasError('phoneFieldsError')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Teléfono</mat-label>\r\n <input autocomplete=\"off\" title=\"Phone\" type=\"text\" matInput formControlName=\"phone\">\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('phoneFieldsError')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('maxlength')\">\r\n El número de teléfono no debe tener menos de 8 ni más de 13 números\r\n </mat-error>\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('minlength')\">\r\n El número de teléfono no debe tener menos de 8 ni más de 13 números\r\n </mat-error>\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('pattern')\">\r\n Este campo solo admite números\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Dirección</mat-label>\r\n <textarea title=\"Address\" cdkTextareaAutosize type=\"text\" matInput\r\n formControlName=\"address\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</div>\r\n","styles":[":host{display:block;width:100%;padding:16px;box-sizing:border-box}.title{padding:8px;margin:0;font-weight:700}.owner-info__form{width:100%;display:-ms-grid;display:grid;-ms-grid-columns:(50%)[2];grid-template-columns:repeat(2,50%)}@media screen and (max-width:600px){.owner-info__form{-ms-grid-columns:(100%)[1];grid-template-columns:repeat(1,100%)}}.form__field{padding:8px;box-sizing:border-box}.field-phone{display:flex;justify-content:space-between}.field-phone .form__field:first-child{width:30%}.field-phone .form__field:last-child{width:70%}"]}]}],"members":{"owner":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"ownerInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":18,"character":26}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onCodePhoneChanged":[{"__symbolic":"method"}],"getOwner":[{"__symbolic":"method"}],"updateOwnerByForm":[{"__symbolic":"method"}],"updateFormByOwner":[{"__symbolic":"method"}],"createOwner":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"lib-property-slide-show","template":"<div class=\"slide-show\">\r\n <div class=\"slide-show__actions\">\r\n <ng-container [ngTemplateOutlet]=\"customActions\"></ng-container>\r\n <p class=\"actions__count\" *ngIf=\"multimedia && multimedia.length > 0\">\r\n {{index + 1}}/{{count}}\r\n </p>\r\n </div>\r\n <button mat-button=\"\" class=\"button-previous\" [ngClass]=\"{'disabled':index===0}\" [disabled]=\"index===0\"\r\n (click)=\"moveImage()\" (keyup.arrowLeft)=\"moveImage()\">\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </button>\r\n <ul class=\"images-list\" #slider [ngStyle]=\"{'width':'calc(100% *' + count + ')'}\">\r\n <ng-template [ngIf]=\"multimedia && multimedia.length > 0\">\r\n <ng-container *ngFor=\"let m of multimedia\">\r\n <li class=\"images-item\" [ngStyle]=\"{'width':'calc(100% /' + count + ')'}\">\r\n <ng-container [ngSwitch]=\"m.type\">\r\n <ng-container *ngSwitchCase=\"'IMAGE'\">\r\n <img class=\"images-item__img\" [src]=\"m.fileCS.thumbnail\" alt=\"Property image\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'SPHERIC'\">\r\n <lib-panorama-visor class=\"images-item__panorama\" [url]=\"m.fileCS.thumbnail\"></lib-panorama-visor>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VIDEO'\">\r\n <iframe class=\"images-item__video\"\r\n [src]=\"'https://www.youtube.com/embed/' + m.fileCS.thumbnail | safeUrl\"></iframe>\r\n </ng-container>\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template [ngIf]=\"multimedia && multimedia.length === 0\">\r\n <div class=\"no-items\"></div>\r\n </ng-template>\r\n </ul>\r\n <button mat-button=\"\" class=\"button-next\" [disabled]=\"multimedia.length === 0\" (click)=\"moveImage(true)\" (keyup.arrowRight)=\"moveImage(true)\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n</div>\r\n","styles":[":host{display:block;position:relative;width:100%;padding-bottom:calc(100% / 4 * 3)}.slide-show{width:100%;height:100%;overflow:hidden;position:absolute}.slide-show__actions{position:absolute;bottom:0;left:0;right:0;width:100%;color:#fff;padding:8px 24px;z-index:2;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;background:linear-gradient(transparent,rgba(0,0,0,.4))}.actions__count{margin:4px 0 0 8px;font-size:14px}.images-list{width:100%;height:100%;list-style:none;padding:0;margin:0;display:flex;overflow:hidden;transition:250ms}.images-item{width:100%;height:100%}.images-item__img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px}.images-item__panorama,.images-item__video{width:100%;height:100%;border:0;border-radius:8px}.button-next,.button-previous{position:absolute;min-width:30px;width:30px;height:80px;padding:0;z-index:1;color:#fff;top:calc(50% - 40px);background:rgba(0,0,0,.3)}.button-next mat-icon,.button-previous mat-icon{width:30px;height:30px;font-size:30px}.button-next:hover,.button-previous:hover{color:#000;background:#fff}.disabled{color:#d3d3d3}.button-previous{left:0;border-radius:0 16px 16px 0}.button-next{right:0;border-radius:16px 0 0 16px}.no-items{width:100%;height:100%;border-radius:8px}"]}]}],"members":{"customActions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":21,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":21,"character":16},{"static":true}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"_slider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":["slider",{"static":true}]}]}],"multimedia":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"selectIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"initialIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"currentIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":32,"character":21}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"moveImage":[{"__symbolic":"method"}],"moveImageByIndex":[{"__symbolic":"method"}],"validateHTTPS":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-property-documents","template":"<div class=\"documents\">\r\n <p class=\"title\">Documentación</p>\r\n <div class=\"documents__body\">\r\n <ng-container *ngFor=\"let doc of documents\">\r\n <div class=\"body__document-item\">\r\n <lib-upload-file [content]=\"buttonTemplate\" [fab]=\"true\" [fileType]=\"'document'\"\r\n [disabled]=\"disabled\"\r\n (loadImage)=\"onUploadFile($event, doc)\">\r\n <ng-template #buttonTemplate>\r\n <button mat-icon-button color=\"primary\" class=\"document-item__button\" [disabled]=\"disabled\">\r\n <!-- Document not uploaded on create/edit property -->\r\n <ng-template [ngIf]=\"!doc.loaded && !disabled\">\r\n <mat-icon>cloud_upload</mat-icon>\r\n </ng-template>\r\n <!-- Document not uploaded on property record -->\r\n <ng-template [ngIf]=\"!doc.loaded && disabled\">\r\n <span class=\"button__icon ic-component-property-unloaded-file\"></span>\r\n </ng-template>\r\n <!-- Document uploaded on property record -->\r\n <ng-template [ngIf]=\"doc.loaded && disabled\">\r\n <mat-icon [ngClass]=\"{'document-item__icon--loaded': doc.loaded && disabled}\">description\r\n </mat-icon>\r\n </ng-template>\r\n <!-- Document uploaded on property -->\r\n <ng-template [ngIf]=\"doc.loaded && !disabled\">\r\n <span class=\"button__icon ic-component-property-update-file\"></span>\r\n </ng-template>\r\n </button>\r\n </ng-template>\r\n </lib-upload-file>\r\n <p class=\"document-item__label\"\r\n [ngClass]=\"{'document-item__label--disabled': !doc.loaded, 'mat-elevation-z2': doc.loaded}\"\r\n matRipple (click)=\"openFile(doc.value)\">\r\n {{doc.name}}\r\n </p>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block;width:100%;padding:0 16px 16px;box-sizing:border-box}.title{margin:0;padding:8px;font-weight:700}.documents__body{display:-ms-grid;display:grid;-ms-grid-columns:(50%)[2];grid-template-columns:repeat(2,50%)}@media screen and (max-width:600px){.documents__body{-ms-grid-columns:100%;grid-template-columns:100%}}.body__document-item{display:flex;padding:8px;box-sizing:border-box}.document-item__button{margin-right:8px}.button__icon{display:inline-block;width:24px;height:24px;font-size:24px}.document-item__label{width:100%;background:#fff;border-radius:8px;padding:8px;margin:0;cursor:pointer}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"documentsInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DocumentVisorService"},{"__symbolic":"reference","module":"@maplander/core","name":"SnackBarService","line":24,"character":23},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":25,"character":19}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getDocuments":[{"__symbolic":"method"}],"openFile":[{"__symbolic":"method"}],"onUploadFile":[{"__symbolic":"method"}],"openBlobFile":[{"__symbolic":"method"}],"updateDocument":[{"__symbolic":"method"}],"validateDocumentsLoaded":[{"__symbolic":"method"}],"getPFileByType":[{"__symbolic":"method"}],"getUserMediaByType":[{"__symbolic":"method"}],"downloadFile":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"lib-property-multimedia-uploader","template":"<div class=\"multimedia-uploader\">\r\n <p class=\"title\">\r\n Multimedia\r\n <ng-template [ngIf]=\"currentIndex !== 2\">\r\n <lib-upload-file [content]=\"buttonUploadTemplate\" [noCrop]=\"true\" [fab]=\"true\" [fileType]=\"fileType\" [aspectRatio]=\"4 / 3\"\r\n [multiple]=\"true\"\r\n (loadImage)=\"onUploadImage($event)\">\r\n <ng-template #buttonUploadTemplate>\r\n <button mat-icon-button color=\"primary\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </ng-template>\r\n </lib-upload-file>\r\n </ng-template>\r\n </p>\r\n <mat-tab-group class=\"multimedia-uploader__tab-group\" [selectedIndex]=\"currentIndex\"\r\n (selectedIndexChange)=\"onTabChanged($event)\">\r\n <mat-tab label=\"Fotografias\">\r\n <lib-custom-drag-and-drop [items]=\"images\" [content]=\"imageTemplate\" (itemsChanged)=\"onListChanged($event)\">\r\n <ng-template #imageTemplate let-image=\"image\" let-index=\"index\">\r\n <div class=\"list__item\" [ngClass]=\"{'first-photo': index === 0}\">\r\n <img alt=\"Property image\" [src]=\"image.fileCS.thumbnail\" class=\"list__item-img\">\r\n <button mat-icon-button class=\"list__item-button mat-elevation-z2\" (click)=\"removeMedia(image)\">\r\n <mat-icon class=\"list__item-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </lib-custom-drag-and-drop>\r\n </mat-tab>\r\n <mat-tab label=\"Esfericas\">\r\n <lib-custom-drag-and-drop [items]=\"images360\" [content]=\"image360Template\" (itemsChanged)=\"onListChanged($event)\">\r\n <ng-template #image360Template let-image=\"image\">\r\n <div class=\"list__item\">\r\n <img alt=\"Property image\" [src]=\"image.fileCS.thumbnail\" class=\"list__item-img\">\r\n <button mat-icon-button class=\"list__item-button mat-elevation-z2\" (click)=\"removeMedia(image)\">\r\n <mat-icon class=\"list__item-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </lib-custom-drag-and-drop>\r\n </mat-tab>\r\n <mat-tab label=\"Videos\">\r\n <div class=\"you-tube-container\">\r\n <span class=\"you-tube-container__searchbox\">\r\n <button *ngIf=\"inputYouTube.value !== ''\" mat-icon-button class=\"you-tube-container__close-btn\"\r\n (click)=\"inputYouTube.value = ''\"><mat-icon>close</mat-icon></button>\r\n <input class=\"you-tube-container__input\" #inputYouTube (input)=\"onYouTubeInputTextChanged(inputYouTube)\"\r\n title=\"YouTube URL\" placeholder=\"YouTube URL o YouTube Video ID\">\r\n </span>\r\n <a href=\"https://www.youtube.com\" target=\"_blank\" mat-button color=\"primary\">\r\n Ir a Youtube\r\n </a>\r\n </div>\r\n <lib-custom-drag-and-drop [items]=\"videos\" [content]=\"videosTemplate\" (itemsChanged)=\"onListChanged($event)\">\r\n <ng-template #videosTemplate let-image=\"image\">\r\n <div class=\"list__item\">\r\n <img alt=\"Property image\" [src]=\"'https://i3.ytimg.com/vi/'+image.fileCS.thumbnail+'/hqdefault.jpg'\"\r\n class=\"list__item-img\">\r\n <button mat-icon-button class=\"list__item-button mat-elevation-z2\" (click)=\"removeMedia(image)\">\r\n <mat-icon class=\"list__item-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </lib-custom-drag-and-drop>\r\n </mat-tab>\r\n </mat-tab-group>\r\n <div class=\"multimedia-uploader__actions\">\r\n <button mat-flat-button color=\"primary\" class=\"actions__button\" (click)=\"close()\">\r\n CERRAR\r\n </button>\r\n <button mat-flat-button color=\"primary\" class=\"actions__button\" (click)=\"accept()\">\r\n ACEPTAR\r\n </button>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block;width:100%;height:100%}::ng-deep .multimedia-uploader-panel-class{width:50%;height:70%}::ng-deep .multimedia-uploader-panel-class mat-dialog-container{width:100%;height:100%;padding:16px;overflow:hidden;position:relative}.multimedia-uploader{width:100%;height:100%}.multimedia-uploader__actions{position:absolute;left:0;bottom:0;width:100%;background:#fff;z-index:1}.actions__button{width:50%}.actions__button:first-child{border-radius:8px 0 0}.actions__button:last-child{border-radius:0 8px 0 0}.title{font-weight:700;display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin:0}.multimedia-uploader__tab-group{width:100%;height:calc(100% - 36px)}.multimedia-uploader__list{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3))}@media screen and (max-width:600px){::ng-deep .multimedia-uploader-panel-class{width:100%!important;max-width:100%!important;height:100%!important}.multimedia-uploader__list{-ms-grid-columns:100%;grid-template-columns:100%}}.list__item{width:200px;height:150px;border-radius:8px;margin:16px auto;position:relative}.first-photo:after{content:\"Imagen principal del anuncio\";position:absolute;top:0;padding:8px;box-sizing:border-box;font-size:12px;width:100%;color:#fff;background:rgba(0,0,0,.3)}.list__item-img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.list__item-button{position:absolute;width:24px;height:24px;top:-12px;right:-12px;background:#000;color:#fff}.list__item-icon{width:24px;height:24px;font-size:16px;line-height:8px}.you-tube-container{display:flex;padding:8px 0;box-sizing:border-box;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:5;background:#fff}.you-tube-container__searchbox{position:relative;width:calc(100% - 120px);box-sizing:border-box;display:flex;align-items:center}.you-tube-container__close-btn{position:absolute;right:0}.you-tube-container__input{width:100%;border:1px solid #d3d3d3;padding:8px 32px 8px 8px;border-radius:8px;outline:0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":25,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":25,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"error","message":"Expression form not supported","line":26,"character":63,"module":"./lib/components/property/components/multimedia-uploader/multimedia-uploader.component"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"onUploadImage":[{"__symbolic":"method"}],"onTabChanged":[{"__symbolic":"method"}],"onListChanged":[{"__symbolic":"method"}],"removeMedia":[{"__symbolic":"method"}],"onYouTubeInputTextChanged":[{"__symbolic":"method"}],"accept":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"createImagePFile":[{"__symbolic":"method"}],"createImage360PFile":[{"__symbolic":"method"}],"parseMultimedia":[{"__symbolic":"method"}],"joinMultimediaTypes":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-property-announce-confirm","template":"<div class=\"announce-confirm\">\r\n <div class=\"body\">\r\n <h2 class=\"body__title\">\r\n Para anunciar es necesario confirmar lo siguiente\r\n </h2>\r\n <mat-checkbox class=\"body__check-box\" *ngFor=\"let item of list\" [(ngModel)]=\"item.checked\">\r\n {{item.name}}\r\n </mat-checkbox>\r\n <ng-template [ngIf]=\"errorField\">\r\n <p class=\"body__error-field\">\r\n Para anunciar es necesario confirmar todas las casillas.\r\n </p>\r\n </ng-template>\r\n </div>\r\n <div class=\"body__actions\">\r\n <button mat-button color=\"primary\" (click)=\"close()\">CANCELAR</button>\r\n <button mat-button color=\"primary\" (click)=\"accept()\">ANUNCIAR</button>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block}::ng-deep .confirm-announce-panel-class{width:30%}::ng-deep .confirm-announce-panel-class mat-dialog-container{padding:0;overflow:hidden}@media screen and (max-width:600px){::ng-deep .confirm-announce-panel-class{min-width:90%!important}}.announce-confirm .body{width:100%;padding:24px;box-sizing:border-box}.announce-confirm .body__title{font-size:18px;margin:0 0 16px}.announce-confirm .body__check-box{display:block}.announce-confirm .body__error-field{color:red;font-size:12px}.announce-confirm .body__actions{padding:16px;box-sizing:border-box;display:flex;justify-content:flex-end}.announce-confirm .body__actions button:first-child{margin-right:16px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"DialogResponse","module":"@maplander/types","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}],"close":[{"__symbolic":"method"}],"accept":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-custom-drag-and-drop","template":"<div class=\"custom-drag-and-drop-container\" cdkDropListGroup>\r\n <div cdkDropList [cdkDropListEnterPredicate]=\"dropListEnterPredicate\" (cdkDropListDropped)=\"dropListDropped()\"></div>\r\n <div cdkDropList *ngFor=\"let item of items; let i = index;\"\r\n [cdkDropListEnterPredicate]=\"dropListEnterPredicate\" (cdkDropListDropped)=\"dropListDropped()\">\r\n <div cdkDrag class=\"custom-drag-and-drop-box\" (cdkDragMoved)=\"dragMoved($event)\">\r\n <ng-container [ngTemplateOutlet]=\"content\" [ngTemplateOutletContext]=\"{image: item, index: i}\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","styles":[".custom-drag-and-drop-container{display:flex;flex-wrap:wrap;min-width:600px;max-width:900px}.custom-drag-and-drop-box{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;cursor:move;border-radius:8px;position:relative;z-index:1;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.custom-drag-and-drop-box:active{opacity:.6}.cdk-drop-list{margin:0 8px 8px 0}.cdk-drag-preview{box-sizing:border-box;border-radius:4px}.cdk-drag-placeholder{opacity:.3}.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)}"]}]}],"members":{"listGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":10,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"CdkDropListGroup","line":10,"character":13},{"static":true}]}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":11,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"CdkDropList","line":11,"character":13},{"static":true}]}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":12,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":12,"character":16},{"static":true}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"itemsChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"ViewportRuler","line":23,"character":38}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"dragMoved":[{"__symbolic":"method"}],"dropListDropped":[{"__symbolic":"method"}],"getPointerPositionOnPage":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-gallery","template":"<div class=\"gallery\">\r\n <mat-sidenav-container class=\"gallery__sidenav-container\">\r\n <mat-sidenav mode=\"side\" [opened]=\"sideOpened\" class=\"sidenav-container__sidenav\">\r\n <mat-toolbar class=\"sidenav__toolbar\" color=\"primary\">\r\n <span>Galeria</span>\r\n <button mat-icon-button (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <mat-toolbar class=\"sidenav__thumbnails-types\">\r\n <button class=\"thumbnails-types__item-type\" mat-button\r\n [ngClass]=\"{'item-type--selected': typeSelected === 'IMAGE'}\" (click)=\"changePFileType('IMAGE')\">\r\n <span class=\"item-type__icon ic-component-property-file-image\"></span>\r\n <span class=\"item-type__label\">{{count.image}}</span>\r\n </button>\r\n <button class=\"thumbnails-types__item-type\" mat-button\r\n [ngClass]=\"{'item-type--selected': typeSelected === 'SPHERIC'}\" (click)=\"changePFileType('SPHERIC')\">\r\n <span class=\"item-type__icon ic-component-property-sphere\"></span>\r\n <span class=\"item-type__label\">{{count.sphere}}</span>\r\n </button>\r\n <button class=\"thumbnails-types__item-type\" mat-button\r\n [ngClass]=\"{'item-type--selected': typeSelected === 'VIDEO'}\" (click)=\"changePFileType('VIDEO')\">\r\n <span class=\"item-type__icon ic-component-property-video\"></span>\r\n <span class=\"item-type__label\">{{count.video}}</span>\r\n </button>\r\n </mat-toolbar>\r\n <div class=\"sidenav__thumbnail-list\">\r\n <ng-container *ngFor=\"let image of multimedia; let i = index\">\r\n <div class=\"thumbnail-list__item\" (click)=\"selectPFile(i)\"\r\n [ngClass]=\"{'thumbnail-list__item--selected': indexSelected === i}\">\r\n <ng-template [ngIf]=\"image.type !== 'VIDEO'\" [ngIfElse]=\"youTubeVideo\">\r\n <img class=\"item__img\" [src]=\"image.fileCS.thumbnail\" alt=\"Property image\">\r\n </ng-template>\r\n <ng-template #youTubeVideo>\r\n <img class=\"item__img\" [src]=\"'https://i3.ytimg.com/vi/'+image.fileCS.thumbnail+'/hqdefault.jpg'\"\r\n alt=\"Property image\">\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <ng-template [ngIf]=\"multimedia.length === 0\">\r\n <div class=\"thumbnail-list__empty-list\">\r\n <p class=\"empty-list__label\">\r\n Por el momento no hay\r\n <span *ngIf=\"typeSelected === 'IMAGE'\">fotos</span>\r\n <span *ngIf=\"typeSelected === 'VIDEO'\">videos</span>\r\n <span *ngIf=\"typeSelected === 'SPHERIC'\">fotos esféricas</span>\r\n </p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </mat-sidenav>\r\n <mat-sidenav-content class=\"sidenav-container__content\" [ngStyle]=\"{'width': sideOpened ? '80%' : '100%'}\">\r\n <button class=\"sidenav-container__button-sidenav\" mat-flat-button color=\"primary\" (click)=\"updateSideNav()\">\r\n <mat-icon *ngIf=\"sideOpened\">chevron_left</mat-icon>\r\n <mat-icon *ngIf=\"!sideOpened\">chevron_right</mat-icon>\r\n </button>\r\n <button class=\"sidenav-container__button-close\" mat-mini-fab color=\"primary\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <div class=\"content__list-container\">\r\n <lib-property-slide-show class=\"list-container__slide-show\" [multimedia]=\"multimedia\" [selectIndex]=\"indexSelected\"\r\n [initialIndex]=\"indexSelected\"\r\n (currentIndex)=\"onIndexSelectedChange($event)\"></lib-property-slide-show>\r\n </div>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</div>\r\n","styles":["::ng-deep .gallery_dialog{max-width:100%!important;width:100%;height:100%}::ng-deep .gallery_dialog mat-dialog-container{width:100%;height:100%;padding:0}:host{display:block;width:100%;height:100%}.gallery,.gallery__sidenav-container{width:100%;height:100%}.sidenav__toolbar{display:flex;justify-content:space-between}.sidenav__thumbnail-list{width:100%;height:calc(100% - 128px);padding:16px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}.thumbnail-list__empty-list{width:100%;height:100%;display:flex}.empty-list__label{margin:auto;text-align:center}.thumbnail-list__item{width:100%;cursor:pointer;padding-bottom:calc(100% / 4 * 3);border-radius:8px;margin-bottom:16px;position:relative}.item__img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.sidenav-container__sidenav{width:20%}@media screen and (max-width:1024px){.sidenav-container__sidenav{width:100%}}.sidenav__thumbnails-types{display:flex;align-items:center;justify-content:space-around}.item-type{padding:0}.item-type__label{padding:0 4px;display:inline-block}.item-type__icon{display:inline-block;width:24px;height:24px;font-size:24px;margin:auto}.sidenav-container__content{width:80%;display:flex;position:relative}@media screen and (max-width:1024px){.sidenav-container__content{width:100%}}.sidenav-container__button-sidenav{position:absolute;top:0;left:0;height:64px;padding:0;min-width:36px;border-radius:0 8px 8px 0;z-index:1}.sidenav-container__button-close{position:absolute;top:16px;right:16px;z-index:1}.content__list-container{width:100%;height:100%;margin:auto;overflow:hidden;position:relative;border-radius:8px}.list-container__slide-show{width:100%;height:100%;padding:initial}::ng-deep .list-container__slide-show .panorama-visor{height:100%!important;padding:initial!important}::ng-deep .list-container__slide-show lib-panorama-visor .panorama-visor__actions{top:72px!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":27,"character":12}]}],null,null],"parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵu"}]},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"BreakpointObserver","line":29,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"updateSideNav":[{"__symbolic":"method"}],"selectPFile":[{"__symbolic":"method"}],"onIndexSelectedChange":[{"__symbolic":"method"}],"changePFileType":[{"__symbolic":"method"}],"assignCountByType":[{"__symbolic":"method"}],"assignMultimediaByType":[{"__symbolic":"method"}],"getPFilesByType":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-stats","template":"<div class=\"stats\">\r\n <mat-toolbar class=\"stats__toolbar\" color=\"primary\">\r\n Estadísticas\r\n <button mat-icon-button (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <div class=\"stats__content\">\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>visibility</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.views ? data.views['RV'] || 0 : 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Vistas en Renta o Venta\r\n </p>\r\n <div class=\"stat__app-icon\">\r\n <img alt=\"Renta o Venta logo\" class=\"app-icon__img\" src=\"https://storage.googleapis.com/maplander-develop/public/file/front-end/email/rentaoventa.png\">\r\n </div>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>visibility</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.views ? data.views['FIABCI'] || 0 : 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Vistas en GlobalMLS\r\n </p>\r\n <div class=\"stat__app-icon\">\r\n <img alt=\"GlobalMLS logo\" class=\"app-icon__img\" src=\"https://storage.googleapis.com/maplander-develop/public/file/front-end/email/globalmls.png\">\r\n </div>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>favorite</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.favorites || 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Veces añadida a favoritos\r\n </p>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>share</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.shared || 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Veces compartida\r\n </p>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>assignment</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.requests || 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Solicitudes de información\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n","styles":["::ng-deep .stats-panel-class{width:30%;height:80%}::ng-deep .stats-panel-class mat-dialog-container{padding:0;overflow:hidden}@media screen and (max-width:600px){::ng-deep .stats-panel-class{min-width:90%!important}}:host{display:block;width:100%;height:100%}.stats{width:100%;height:100%;overflow:auto}.stats__toolbar{width:100%;height:64px;display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:2;justify-content:space-between}.stats__content{padding:16px;box-sizing:content-box;display:-ms-grid;display:grid;-ms-grid-columns:(calc(50%))[2];grid-template-columns:repeat(2,calc(50%))}.content__stat{border:1px solid #000;border-radius:8px;padding:16px;box-sizing:content-box;position:relative;margin:0 16px 16px 0}.stat__icon-container{position:absolute;top:16px;right:16px}.stat__app-icon{position:absolute;bottom:16px;right:16px}.app-icon__img{width:24px;height:24px;border-radius:4px}.stat__count{font-size:32px;font-weight:700;margin:0 0 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat__label{width:80%;margin:0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":12,"character":12}]}],null],"parameters":[{"__symbolic":"reference","module":"@maplander/types","name":"LeadInfo","line":12,"character":42},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"ɵv"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":47},"arguments":["PROPERTY CARD CONFIG MODULE"]}},"origins":{"AddressFormatPipe":"./lib/pipes/address/address-format.pipe","AddressFormatModule":"./lib/pipes/address/address-format.module","FormatDatePipe":"./lib/pipes/format-date/format-date.pipe","FormatDateModule":"./lib/pipes/format-date/format-date.module","MarkerPricePipe":"./lib/pipes/marker-price/marker-price.pipe","MarkerPriceModule":"./lib/pipes/marker-price/marker-price.module","OfferingTypePipe":"./lib/pipes/offering-type/offering-type.pipe","OfferingTypeModule":"./lib/pipes/offering-type/offering-type.module","PropertyTypePipe":"./lib/pipes/property-type/property-type.pipe","PropertyTypeModule":"./lib/pipes/property-type/property-type.module","FormatPriceDirective":"./lib/directives/format-price/format-price.directive","FormatPriceModule":"./lib/directives/format-price/format-price.module","ImageErrorDirective":"./lib/directives/image-error/image-error.directive","ImageErrorModule":"./lib/directives/image-error/image-error.module","DocumentVisorComponent":"./lib/components/document-visor/document-visor.component","DocumentVisorService":"./lib/components/document-visor/document-visor.service","DocumentVisorModule":"./lib/components/document-visor/document-visor.module","FabFiltersComponent":"./lib/components/fab-filters/fab-filters.component","FabFiltersModule":"./lib/components/fab-filters/fab-filters.module","FiltersService":"./lib/components/filters/filters.service","FiltersModule":"./lib/components/filters/filters.module","PanoramaVisorComponent":"./lib/components/panorama-visor/panorama-visor.component","PanoramaVisorModule":"./lib/components/panorama-visor/panorama-visor.module","PropertyComponent":"./lib/components/property/components/property/property.component","PropertyEventType":"./lib/components/property/components/property/property.component","PropertyEventChange":"./lib/components/property/components/property/property.component","PropertyModule":"./lib/components/property/property.module","PropertyCardComponent":"./lib/components/property-card/property-card.component","PropertyCardModule":"./lib/components/property-card/property-card.module","CurrencyConverterService":"./lib/services/currency-converter/currency-converter.service","CurrencyConverterModule":"./lib/services/currency-converter/currency-converter.module","MarkersService":"./lib/services/markers/markers.service","MarkersModule":"./lib/services/markers/markers.module","FiltersWrapper":"./lib/utils/classes/filters-wrapper","MDate":"./lib/utils/classes/mDate","AmenityName":"./lib/utils/enums/amenity-name","FilterChipType":"./lib/utils/enums/filter-chip-type","FiltersChangeType":"./lib/utils/enums/filters-change-type","AmenitiesList":"./lib/utils/models/amenities-list","AmenityItem":"./lib/utils/models/amenity-item","FilterChip":"./lib/utils/models/filter-chip","FiltersSaved":"./lib/utils/models/filters-saved","FiltersChange":"./lib/utils/models/filters-change","Marker":"./lib/utils/models/marker","PropertyCardInfo":"./lib/utils/models/property-card-info","PropertyTypeItem":"./lib/utils/models/property-type-item","ConstantsComponents":"./lib/constantsComponents","ɵa":"./lib/components/filters/token","ɵb":"./lib/components/filters/filters.component","ɵc":"./lib/components/property/token","ɵd":"./lib/components/property/components/multimedia-uploader/multimedia-uploader.service","ɵe":"./lib/components/property/components/announce-confirm/announce-confirm.service","ɵf":"./lib/components/property/components/gallery/gallery.service","ɵg":"./lib/components/property/components/gallery/gallery.service","ɵh":"./lib/components/property/components/stats/stats.service","ɵi":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker.module","ɵj":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker/custom-datepicker.component","ɵk":"./lib/components/property/components/editor/components/custom-datepicker/date-adapter","ɵl":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker-header/custom-datepicker-header.component","ɵm":"./lib/components/property/components/details/details.component","ɵn":"./lib/components/property/components/editor/editor.component","ɵo":"./lib/components/property/components/owner-info/owner-info.component","ɵp":"./lib/components/property/components/slideshow/slide-show.component","ɵq":"./lib/components/property/components/documents/documents.component","ɵr":"./lib/components/property/components/multimedia-uploader/multimedia-uploader.component","ɵs":"./lib/components/property/components/announce-confirm/announce-confirm.component","ɵt":"./lib/components/property/components/custom-drag-and-drop/custom-drag-and-drop.component","ɵu":"./lib/components/property/components/gallery/gallery.component","ɵv":"./lib/components/property/components/stats/stats.component","ɵw":"./lib/components/property-card/token"},"importAs":"@maplander/components"}
|
|
1
|
+
{"__symbolic":"module","version":4,"metadata":{"AddressFormatPipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"addressFormat"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"AddressFormatModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"AddressFormatPipe"}],"exports":[{"__symbolic":"reference","name":"AddressFormatPipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"AddressFormatModule"},"providers":[{"__symbolic":"reference","name":"AddressFormatPipe"}]}}}},"FormatDatePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":3,"character":1},"arguments":[{"name":"libFormatDate"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"FormatDateModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"FormatDatePipe"}],"exports":[{"__symbolic":"reference","name":"FormatDatePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"FormatDateModule"},"providers":[{"__symbolic":"reference","name":"FormatDatePipe"}]}}}},"MarkerPricePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":10,"character":1},"arguments":[{"name":"markerPrice"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"MarkerPriceModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"MarkerPricePipe"}],"exports":[{"__symbolic":"reference","name":"MarkerPricePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"MarkerPriceModule"},"providers":[{"__symbolic":"reference","name":"MarkerPricePipe"}]}}}},"OfferingTypePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"offeringType"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"OfferingTypeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"OfferingTypePipe"}],"exports":[{"__symbolic":"reference","name":"OfferingTypePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"OfferingTypeModule"},"providers":[{"__symbolic":"reference","name":"OfferingTypePipe"}]}}}},"PropertyTypePipe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Pipe","line":4,"character":1},"arguments":[{"name":"propertyType"}]}],"members":{"transform":[{"__symbolic":"method"}]}},"PropertyTypeModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"PropertyTypePipe"}],"exports":[{"__symbolic":"reference","name":"PropertyTypePipe"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"PropertyTypeModule"},"providers":[{"__symbolic":"reference","name":"PropertyTypePipe"}]}}}},"FormatPriceDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":5,"character":1},"arguments":[{"selector":"[libFormatPrice]"}]}],"members":{"control":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":10,"character":3}}]}],"currency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":17,"character":20},{"__symbolic":"reference","module":"@angular/common","name":"CurrencyPipe","line":18,"character":23}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"formatPrice":[{"__symbolic":"method"}],"onFocus":[{"__symbolic":"method"}],"onBlur":[{"__symbolic":"method"}],"validateFormatPrice":[{"__symbolic":"method"}]}},"FormatPriceModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"FormatPriceDirective"}],"exports":[{"__symbolic":"reference","name":"FormatPriceDirective"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"FormatPriceModule"},"providers":[{"__symbolic":"reference","module":"@angular/common","name":"CurrencyPipe","line":20,"character":8},{"__symbolic":"reference","name":"FormatPriceDirective"}]}}}},"ImageErrorDirective":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Directive","line":3,"character":1},"arguments":[{"selector":"[libImageError]"}]}],"members":{"typeImage":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":8,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":13,"character":28}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"updateUrl":[{"__symbolic":"method"}]}},"ImageErrorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}],"declarations":[{"__symbolic":"reference","name":"ImageErrorDirective"}],"exports":[{"__symbolic":"reference","name":"ImageErrorDirective"}]}]}],"members":{}},"DocumentVisorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":3,"character":1},"arguments":[{"selector":"lib-document-visor","template":"<div id=\"document-visor\">\r\n <button mat-mini-fab=\"\" class=\"close\" (click)=\"close()\"><mat-icon>close</mat-icon></button>\r\n <ng-template [ngIf]=\"url\">\r\n <object\r\n [data]=\"url | safeUrl\"\r\n type=\"application/pdf\"\r\n width=\"100%\"\r\n height=\"100%\">\r\n <iframe\r\n [src]=\"url | safeUrl\"\r\n width=\"100%\"\r\n height=\"100%\"\r\n style=\"border: none;\">\r\n </iframe>\r\n <p>Tu navegador no soporta PDFs. <br>\r\n <a [href]=\"url | safeUrl\" download=\"file.pdf\">Descargar PDF</a>\r\n </p>\r\n </object>\r\n </ng-template>\r\n</div>\r\n","styles":["::ng-deep .document_visor_dialog{width:70%;height:90%}@media screen and (max-width:600px){::ng-deep .document_visor_dialog{width:100%!important;max-width:100%!important;height:100%!important}}:host{display:block;width:100%;height:100%}#document-visor{width:100%;height:100%;padding:16px;position:relative;display:flex;box-sizing:border-box}#document-visor .close{position:absolute;top:16px;right:16px}#document-visor iframe{border:0;width:100%;height:100%;border-radius:4px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":13,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":13,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"string"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"DocumentVisorComponent"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"DocumentVisorService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":4,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":8,"character":21}]}],"open":[{"__symbolic":"method"}]}},"DocumentVisorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":15,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":17,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"SafeUrlModule","line":18,"character":4},"member":"forChild"}},[{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":10,"character":2},{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialogModule","line":11,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":12,"character":2}]],"declarations":[{"__symbolic":"reference","name":"DocumentVisorComponent"}],"exports":[{"__symbolic":"reference","name":"DocumentVisorComponent"}],"entryComponents":[{"__symbolic":"reference","name":"DocumentVisorComponent"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"DocumentVisorModule"},"providers":[{"__symbolic":"reference","name":"DocumentVisorService"}]}}}},"FabFiltersComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":12,"character":1},"arguments":[{"selector":"lib-fab-filters","template":"<div class=\"fab-filters\">\r\n <mat-form-field appearance=\"outline\" class=\"btn_filters\" (click)=\"openFilters()\">\r\n <mat-label>Más Filtros</mat-label>\r\n <input matInput readonly>\r\n <mat-icon matSuffix>tune</mat-icon>\r\n </mat-form-field>\r\n <!--div class=\"filters-container\">\r\n <ng-template [ngIf]=\"chips.length > 0\">\r\n <mat-chip-list aria-orientation=\"horizontal\">\r\n <ng-container *ngFor=\"let chip of chips\">\r\n <mat-chip (click)=\"onClickChip(chip.type)\" [removable]=\"chip.type !== 'PROPERTY_TYPE' && chip.type !== 'OFFERING'\"\r\n (removed)=\"removeFilter(chip.type)\">\r\n <ng-container [ngSwitch]=\"chip.type\">\r\n <ng-container *ngSwitchCase=\"'PROPERTY_TYPE'\">\r\n <span class=\"icon property-icon ic-property-{{chip.icon}}\"\r\n [ngStyle]=\"{'background': 'var(--' + chip.icon + ')'}\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'LISTING'\">\r\n <ng-template [ngIf]=\"chip.icon[0] !== 'mlm'\" [ngIfElse]=\"mlm\">\r\n <mat-icon class=\"listing-icon\">\r\n list\r\n </mat-icon>\r\n </ng-template>\r\n <ng-template #mlm>\r\n <mat-icon class=\"listing-icon\" svgIcon=\"opi:mlm\"></mat-icon>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'AMENITIES'\">\r\n <span class=\"icon ic-amenities-{{chip.icon[0]}}\"></span>\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <ng-container *ngFor=\"let i of chip.icon\">\r\n <span class=\"icon ic-features-{{i}}\"></span>\r\n </ng-container>\r\n </ng-container>\r\n </ng-container>\r\n {{chip.text}}\r\n <mat-icon matChipRemove *ngIf=\"chip.type !== 'PROPERTY_TYPE' && chip.type !== 'OFFERING'\">cancel</mat-icon>\r\n </mat-chip>\r\n </ng-container>\r\n </mat-chip-list>\r\n </ng-template>\r\n </div-->\r\n</div>\r\n","styles":[":host{display:block;position:inherit;top:inherit;bottom:inherit;left:inherit;right:inherit;z-index:inherit;width:inherit}.fab-filters{display:flex;width:100%;border-radius:8px 0 0 8px}.fab-filters .filters-container{width:calc(100% - 64px);height:40px;padding-right:8px;box-sizing:border-box;border-radius:4px 4px 4px 0;display:flex;align-items:center;transition:150ms}.fab-filters .filters-container mat-chip-list{width:100%;height:100%;overflow:hidden}.fab-filters .filters-container mat-chip-list mat-chip{min-width:-webkit-max-content;min-width:-moz-max-content;min-width:max-content}.fab-filters ::ng-deep .filters-container mat-chip-list .mat-chip-list-wrapper{width:100%;flex-wrap:nowrap;overflow-x:auto;overflow-y:hidden;padding-bottom:16px;margin:0}.fab-filters .filters-container mat-chip-list mat-chip .icon{width:24px;height:24px;font-size:16px;border-radius:50%;margin-right:8px;display:flex;align-items:center;justify-content:center}"]}]}],"members":{"isOPI":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"filterDeleted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":20,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MarkerPricePipe"},{"__symbolic":"reference","name":"OfferingTypePipe"},{"__symbolic":"reference","name":"FiltersService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"openFilters":[{"__symbolic":"method"}],"onClickChip":[{"__symbolic":"method"}],"removeFilter":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"listingType":[{"__symbolic":"method"}],"offeringType":[{"__symbolic":"method"}],"propertyType":[{"__symbolic":"method"}],"price":[{"__symbolic":"method"}],"surface":[{"__symbolic":"method"}],"bedrooms":[{"__symbolic":"method"}],"bathrooms":[{"__symbolic":"method"}],"parkingPlaces":[{"__symbolic":"method"}],"amenities":[{"__symbolic":"method"}]}},"FabFiltersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":11,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":13,"character":4},{"__symbolic":"reference","module":"@angular/material/chips","name":"MatChipsModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":16,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":17,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":18,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"OfferingTypeModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MarkerPriceModule"},"member":"forChild"}}],"declarations":[{"__symbolic":"reference","name":"FabFiltersComponent"}],"exports":[{"__symbolic":"reference","name":"FabFiltersComponent"}]}]}],"members":{}},"FiltersService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":10,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":18,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":18,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}]],"parameters":[{"__symbolic":"reference","name":"boolean"}]}],"setChange":[{"__symbolic":"method"}],"getChanges":[{"__symbolic":"method"}],"startComponent":[{"__symbolic":"method"}],"onStartComponent":[{"__symbolic":"method"}]},"statics":{"FILTERS_SAVED_KEY":"FILTERS","getFiltersSaved":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/static","name":"LocalStorageService","line":33,"character":11},"member":"getItem"},"arguments":[{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FiltersService"},"member":"FILTERS_SAVED_KEY"}]}}}},"FiltersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":18,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":20,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":21,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":22,"character":4},{"__symbolic":"reference","module":"@angular/material/core","name":"MatRippleModule","line":23,"character":4},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":24,"character":4},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":25,"character":4},{"__symbolic":"reference","module":"@angular/material/button-toggle","name":"MatButtonToggleModule","line":26,"character":4},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":27,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":28,"character":4},{"__symbolic":"reference","module":"@angular/material/divider","name":"MatDividerModule","line":29,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatInputModule","line":30,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"MarkerPriceModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"CurrencyConverterModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormatPriceModule"},"member":"forChild"}}],"declarations":[{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"ɵb"}],"providers":[{"__symbolic":"reference","name":"FiltersService"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":["isOPI"],"value":{"ngModule":{"__symbolic":"reference","name":"FiltersModule"},"providers":[{"__symbolic":"reference","name":"FiltersService"},{"provide":{"__symbolic":"reference","name":"ɵa"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"isOPI"},"right":false}}]}}}},"PanoramaVisorComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"lib-panorama-visor","template":"<div class=\"panorama-visor\">\r\n <ng-template [ngIf]=\"!showPanorama\">\r\n <div class=\"panorama-visor__loading\">\r\n <img class=\"loading__image\" src=\"https://storage.googleapis.com/maplander-develop/public/file/front-end/cdn/360-animation.gif\" alt=\"360 icon\">\r\n <p class=\"loading__label\">Cargando...</p>\r\n </div>\r\n </ng-template>\r\n <div #container class=\"panorama-visor__container\" [ngStyle]=\"{'opacity': showPanorama ? '1' : '0'}\">\r\n <div class=\"panorama-visor__actions\">\r\n <a mat-icon-button class=\"actions__menu-item\">\r\n <mat-icon>settings</mat-icon>\r\n <ul class=\"menu-item__hidden-list mat-elevation-z2\">\r\n <li mat-menu-item class=\"hidden-list__item\">\r\n Control\r\n <ul class=\"hidden-list__nested-list mat-elevation-z2\">\r\n <li mat-menu-item class=\"nested-list__item\" *ngIf=\"!isTouch\" (click)=\"changeControl('MOUSE')\">\r\n Mouse\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" *ngIf=\"isTouch\" (click)=\"changeControl('TOUCH')\">\r\n Touch\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeControl('SENSOR')\">\r\n Sensor\r\n </li>\r\n </ul>\r\n </li>\r\n <li mat-menu-item class=\"hidden-list__item\">\r\n Mode\r\n <ul class=\"hidden-list__nested-list mat-elevation-z2\">\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeMode('NORMAL')\">\r\n Normal\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeMode('CARDBOARD')\">\r\n Cardboard\r\n </li>\r\n <li mat-menu-item class=\"nested-list__item\" (click)=\"changeMode('STEREOSCOPIC')\">\r\n Stereoscopic\r\n </li>\r\n </ul>\r\n </li>\r\n </ul>\r\n </a>\r\n <button mat-icon-button (click)=\"fullscreen()\">\r\n <mat-icon *ngIf=\"!isFullScreen\">fullscreen</mat-icon>\r\n <mat-icon *ngIf=\"isFullScreen\">fullscreen_exit</mat-icon>\r\n </button>\r\n </div>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block;width:inherit;height:inherit}.panorama-visor{width:100%;padding-bottom:calc(100% / 4 * 3);position:relative;border-radius:8px;transition:.2s;cursor:move}.panorama-visor__loading{position:absolute;width:100%;height:100%;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center}.loading__image{width:200px}.loading__label{color:#fff;font-weight:700}.panorama-visor__actions{position:absolute;border-radius:0 8px 8px 0;background:rgba(0,0,0,.4);z-index:100;color:#fff}.panorama-visor__actions button{display:block}.actions__menu-item{position:relative}.actions__menu-item:hover .menu-item__hidden-list,.hidden-list__item:hover .hidden-list__nested-list{display:block}.hidden-list__nested-list,.menu-item__hidden-list{display:none;list-style:none;position:absolute;background:#fff;margin:0;padding:0;left:calc(100% - 8px);top:0;z-index:1;border-radius:4px}.hidden-list__item,.nested-list__item{min-width:80px;padding:0 16px;text-align:left;cursor:pointer}.panorama-visor__container{position:absolute;top:0;left:0;width:100%;height:100%;border-radius:8px;transition:250ms}::ng-deep .panorama-visor__container canvas{width:100%!important;height:100%!important}"]}]}],"members":{"url":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"_container":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":17,"character":3},"arguments":["container",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@maplander/shared","name":"LazyLoadService","line":25,"character":19}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"fullscreen":[{"__symbolic":"method"}],"changeControl":[{"__symbolic":"method"}],"changeMode":[{"__symbolic":"method"}],"init":[{"__symbolic":"method"}],"toggleFullscreen":[{"__symbolic":"method"}],"requestPermissions":[{"__symbolic":"method"}]},"statics":{"checkTouchSupported":{"__symbolic":"function","parameters":[],"value":{"__symbolic":"if","condition":{"__symbolic":"reference","name":"window"},"thenExpression":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"binop","operator":"&&","left":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"navigator"},"member":"msMaxTouchPoints"},"right":null},"right":{"__symbolic":"binop","operator":"!==","left":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"window"},"member":"navigator"},"member":"msMaxTouchPoints"},"right":{"__symbolic":"reference","name":"undefined"}}},"right":{"__symbolic":"binop","operator":"in","left":"ontouchstart","right":{"__symbolic":"reference","name":"window"}}},"elseExpression":false}}}},"PanoramaVisorModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":8,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatMenuModule","line":9,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatButtonModule","line":10,"character":4},{"__symbolic":"reference","module":"@angular/material","name":"MatIconModule","line":11,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"LazyLoaderModule","line":12,"character":4},"member":"forChild"}}],"declarations":[{"__symbolic":"reference","name":"PanoramaVisorComponent"}],"exports":[{"__symbolic":"reference","name":"PanoramaVisorComponent"}]}]}],"members":{}},"PropertyComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":54,"character":1},"arguments":[{"selector":"lib-property","template":"<div class=\"property\">\r\n <div class=\"header\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <h1 class=\"title\">\r\n <span *ngIf=\"!completeProperty.property.id\">Cargar </span>\r\n <span *ngIf=\"completeProperty.property.id\">Editar </span>\r\n expediente de {{ propertyType | propertyType }}\r\n </h1>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <h1 class=\"title\">Expediente de {{propertyType | propertyType}}</h1>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <div class=\"breadcrumb-list\">\r\n <p class=\"breadcrumb-content\">\r\n <span class=\"breadcrumb-item\">\r\n {{completeProperty.property.type | propertyType}}\r\n </span>\r\n <span class=\"breadcrumb-item\">\r\n {{completeProperty.property.offering | offeringType : ' ' | stringManipulation : 'capitalize'}}\r\n </span>\r\n <span *ngIf=\"completeProperty.property.address.city\" class=\"breadcrumb-item\">\r\n {{completeProperty.property.address.city}}\r\n </span>\r\n <span *ngIf=\"completeProperty.property.address.postalCode\" class=\"breadcrumb-item\">\r\n {{completeProperty.property.address.postalCode}}\r\n </span>\r\n <span *ngIf=\"completeProperty.property.address.colony\" class=\"breadcrumb-item\">\r\n {{completeProperty.property.address.colony}}\r\n </span>\r\n </p>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <div class=\"header__actions\">\r\n <!-- Button Publish [START] -->\r\n <ng-template\r\n [ngIf]=\"(mode === 'record' || mode === 'add') && (completeProperty.property.status !== 'ANNOUNCED' && completeProperty.property.status !== 'HIDDEN')\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Publicar\" matTooltipPosition=\"left\"\r\n class=\"header__actions-button-publish\" (click)=\"goToPublish()\">\r\n <span class=\"header__actions-button-publish-icon ic-property-status-announce\"></span>\r\n </button>\r\n </ng-template>\r\n <!-- Button Publish [END] -->\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-template [ngIf]=\"multimedia.length > 0\">\r\n <button mat-icon-button color=\"primary\" (click)=\"openUploaderMultimedia()\">\r\n <mat-icon>photo_library</mat-icon>\r\n </button>\r\n </ng-template>\r\n <ng-template [ngIf]=\"completeProperty?.property?.id\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Guardar\" matTooltipPosition=\"left\" (click)=\"saveData()\">\r\n <mat-icon>save</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <ng-template\r\n [ngIf]=\"!sharedProperty.isShared && (completeProperty.property.status !== 'DRAFT' && completeProperty.property.status !== 'NONE')\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Estadísticas\" matTooltipPosition=\"left\"\r\n (click)=\"goToStats()\">\r\n <mat-icon>bar_chart</mat-icon>\r\n </button>\r\n </ng-template>\r\n <ng-template\r\n [ngIf]=\"(completeProperty.property.status === 'ANNOUNCED' || completeProperty.property.status === 'HIDDEN') && !sharedProperty.isShared\">\r\n <button mat-icon-button color=\"primary\"\r\n matTooltip=\"{{completeProperty.property.status === 'ANNOUNCED' ? 'Ocultar' : 'Mostrar'}}\"\r\n matTooltipPosition=\"left\" (click)=\"goToUpdateVisibility()\">\r\n <mat-icon *ngIf=\"completeProperty.property.status === 'HIDDEN'\">visibility</mat-icon>\r\n <mat-icon *ngIf=\"completeProperty.property.status === 'ANNOUNCED'\">visibility_off</mat-icon>\r\n </button>\r\n </ng-template>\r\n <ng-template [ngIf]=\"!sharedProperty.isShared\">\r\n <button mat-icon-button color=\"primary\" matTooltip=\"Editar\" matTooltipPosition=\"left\"\r\n (click)=\"goToEditProperty()\">\r\n <mat-icon>edit</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <ng-template [ngIf]=\"isOPI\" [ngIfElse]=\"maplanderActions\">\r\n <button mat-flat-button color=\"primary\" class=\"header__actions-button-commission\"\r\n [disabled]=\"disableShareCommission\"\r\n (click)=\"agentActions('SHARE_COMMISSION')\">\r\n <span *ngIf=\"!disableShareCommission\">Solicitar comisión compartida</span>\r\n <span *ngIf=\"disableShareCommission\">Solicitud pendiente</span>\r\n </button>\r\n </ng-template>\r\n <ng-template #maplanderActions>\r\n <button mat-flat-button color=\"primary\" class=\"header__actions-button-commission\"\r\n (click)=\"agentActions('SHOW_AGENTS')\">\r\n Mostrar Asesor\r\n </button>\r\n <button mat-icon-button color=\"primary\" class=\"header__actions-button-commission\"\r\n (click)=\"agentActions('FAVORITE')\">\r\n <mat-icon *ngIf=\"isFavorite\">favorite</mat-icon>\r\n <mat-icon *ngIf=\"!isFavorite\">favorite_border</mat-icon>\r\n </button>\r\n </ng-template>\r\n </ng-container>\r\n </ng-container>\r\n <!-- Button Share [START] -->\r\n <ng-template\r\n [ngIf]=\"mode === 'detail' || (mode === 'record' && (completeProperty.property.status === 'READY' || completeProperty.property.status === 'ANNOUNCED'))\" [ngIfElse]=\"noShare\">\r\n <button mat-icon-button color=\"primary\" (click)=\"shareProperty()\">\r\n <mat-icon>share</mat-icon>\r\n </button>\r\n </ng-template>\r\n <!-- Button Share [END] -->\r\n <ng-template #noShare>\r\n <ng-template [ngIf]=\"sharedProperty.isShared\">\r\n <h1 class=\"title\">\r\n Propiedad oculta</h1>\r\n </ng-template>\r\n </ng-template>\r\n <!-- Button Back [START] -->\r\n <button mat-icon-button color=\"primary\" (click)=\"goToBack()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <!-- Button Back [END] -->\r\n </div>\r\n </div>\r\n <div class=\"body\">\r\n <div class=\"body__multimedia-wrapper\">\r\n <div class=\"multimedia-wrapper__list-thumbnails\">\r\n <div class=\"list-thumbnails__wrapper-thumbnails\">\r\n <div class=\"wrapper-thumbnails__header-types\">\r\n <button mat-button class=\"header-types__button-type\"\r\n [ngClass]=\"{'header-types__button-type--active': currentType === 'IMAGE'}\"\r\n (click)=\"changeMultimediaType('IMAGE')\">\r\n <span class=\"button-type__icon ic-component-property-file-image\"></span>\r\n <span class=\"button-type__label\">{{multimediaCount.images}}</span>\r\n </button>\r\n <button mat-button class=\"header-types__button-type\"\r\n [ngClass]=\"{'header-types__button-type--active': currentType === 'SPHERIC'}\"\r\n (click)=\"changeMultimediaType('SPHERIC')\">\r\n <span class=\"button-type__icon ic-component-property-sphere\"></span>\r\n <span class=\"button-type__label\">{{multimediaCount.images360}}</span>\r\n </button>\r\n <button mat-button class=\"header-types__button-type\"\r\n [ngClass]=\"{'header-types__button-type--active': currentType === 'VIDEO'}\"\r\n (click)=\"changeMultimediaType('VIDEO')\">\r\n <span class=\"button-type__icon ic-component-property-video\"></span>\r\n <span class=\"button-type__label\">{{multimediaCount.videos}}</span>\r\n </button>\r\n </div>\r\n <ng-template [ngIf]=\"multimedia && multimedia.length === 0\">\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"></div>\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"></div>\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"></div>\r\n </ng-template>\r\n <ng-container *ngFor=\"let image of multimedia; let i = index;\">\r\n <div class=\"wrapper-thumbnails__item-thumbnail\"\r\n [ngClass]=\"{'wrapper-thumbnails__item-thumbnail--selected': i === currentIndex}\"\r\n (click)=\"onMultimediaIndexChanged(i)\">\r\n <ng-container [ngSwitch]=\"image.type\">\r\n <ng-container *ngSwitchCase=\"'VIDEO'\">\r\n <img class=\"item-thumbnail__img\" alt=\"Property image\"\r\n [src]=\"'https://i3.ytimg.com/vi/'+image.fileCS.thumbnail+'/hqdefault.jpg'\">\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n <img class=\"item-thumbnail__img\" alt=\"Property image\" [src]=\"image.fileCS.thumbnail\">\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"multimedia-wrapper__front-image\">\r\n <lib-property-slide-show [multimedia]=\"multimedia\"\r\n [selectIndex]=\"currentIndex\"\r\n (currentIndex)=\"onMultimediaIndexChanged($event)\"\r\n [customActions]=\"customSlideShowActions\"\r\n ></lib-property-slide-show>\r\n <ng-template [ngIf]=\"mode === 'add' && multimedia.length === 0\">\r\n <div class=\"front-image__upload-multimedia\">\r\n <div class=\"upload-multimedia__container-add-multimedia\">\r\n <button class=\"container-add-multimedia__button\" mat-button color=\"primary\"\r\n (click)=\"openUploaderMultimedia()\">\r\n AGREGAR\r\n </button>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template #customSlideShowActions>\r\n <button *ngIf=\"multimedia.length > 0\" mat-icon-button (click)=\"openGallery()\" matTooltip=\"Fullscreen\">\r\n <mat-icon>fullscreen</mat-icon>\r\n </button>\r\n </ng-template>\r\n </div>\r\n </div>\r\n <div class=\"body__additional-content\">\r\n <ng-template\r\n [ngIf]=\"mode === 'record' && property.property.status === 'ANNOUNCED' && property.property.propertyInfo.mls\">\r\n <div class=\"additional-content__mls\">\r\n <p class=\"mls__title\">\r\n Bolsa inmobiliaria\r\n </p>\r\n <button mat-flat-button color=\"primary\" class=\"mls__button\"\r\n (click)=\"agentActions('REAL_ESTATE_EXCHANGE')\">\r\n Mesa de comercialización\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <div class=\"body__content\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <lib-property-details [property]=\"completeProperty.property\" [mlsLabel]=\"mlsLabel\"\r\n [currencyConverted]=\"currencyConverted\" [visibleTour]=\"!isOPI\"></lib-property-details>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <lib-property-details [property]=\"completeProperty.property\" [mlsLabel]=\"mlsLabel\"\r\n [record]=\"true\"></lib-property-details>\r\n <ng-template [ngIf]=\"sharedProperty.ownerAvailable\">\r\n <div class=\"content__private-info\">\r\n <p class=\"private-info__title\">INFORMACIÓN PRIVADA</p>\r\n <lib-property-owner-info [owner]=\"completeProperty.property.propertyInfo.owner\"\r\n [disabled]=\"true\"></lib-property-owner-info>\r\n <ng-template [ngIf]=\"!sharedProperty.isShared\">\r\n <lib-property-documents [files]=\"completeProperty.files\" [disabled]=\"true\"></lib-property-documents>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <ng-template [ngIf]=\"frontImageError\">\r\n <p class=\"content__error-front-image\">\r\n * Debe subir al menos una imagen\r\n </p>\r\n </ng-template>\r\n <lib-property-editor [utils]=\"utils\" [propertyType]=\"propertyType\" [address]=\"address\"\r\n [mlsLabel]=\"mlsLabel\"\r\n [property]=\"completeProperty.property\"\r\n (editorInstance)=\"onEditorInstance($event)\"\r\n (selectAddress)=\"onSelectAddress()\"></lib-property-editor>\r\n <div class=\"content__private-info\">\r\n <p class=\"private-info__title\">INFORMACIÓN PRIVADA</p>\r\n <lib-property-owner-info (ownerInstance)=\"onOwnerInstance($event)\"\r\n [owner]=\"completeProperty.property.propertyInfo.owner\"></lib-property-owner-info>\r\n <lib-property-documents (documentsInstance)=\"onDocumentsInstance($event)\"\r\n [files]=\"completeProperty.files\"></lib-property-documents>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n </div>\r\n <div class=\"footer mat-elevation-z2\" [ngClass]=\"{'footer--primary': mode === 'record'}\"\r\n [ngStyle]=\"{'display': (mode === 'detail' && isOPI) ? 'none' : 'block'}\">\r\n <ng-container [ngSwitch]=\"mode\">\r\n <ng-container *ngSwitchCase=\"'detail'\">\r\n <div class=\"footer__footer-content\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <button mat-raised-button color=\"primary\" class=\"footer-content__button-request-info mat-elevation-z2\"\r\n (click)=\"agentActions('REQUEST_INFO')\">\r\n Solicitar información\r\n </button>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'record'\">\r\n <div class=\"footer__footer-content\">\r\n <p class=\"footer-content__status-label\">\r\n <ng-container [ngSwitch]=\"completeProperty.property.status\">\r\n <ng-container *ngSwitchCase=\"'HIDDEN'\">\r\n Propiedad oculta\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'READY'\">\r\n Propiedad lista <br> para publicar\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'EXPIRED'\">\r\n Propiedad expirada desde el <br>\r\n {{completeProperty.property.propertyInfo.endPublishDate | libFormatDate : true : 'dd MMMMM yyyy'}}\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'ANNOUNCED'\">\r\n Anunciada\r\n <br> Anuncio valido hasta el\r\n {{completeProperty.property.propertyInfo.endPublishDate | libFormatDate : true : 'dd MMMMM yyyy'}}\r\n </ng-container>\r\n <ng-container *ngSwitchDefault>\r\n Propiedad en borrador\r\n </ng-container>\r\n </ng-container>\r\n </p>\r\n <div class=\"footer-content__fab\">\r\n <eco-fab-speed-dial>\r\n <eco-fab-speed-dial-trigger>\r\n <button mat-fab color=\"primary\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </eco-fab-speed-dial-trigger>\r\n <eco-fab-speed-dial-actions>\r\n <button *ngIf=\"completeProperty.property.status !== 'NONE' && completeProperty.property.status !== 'DRAFT'\"\r\n mat-mini-fab color=\"primary\" matTooltip=\"Clientes\" matTooltipPosition=\"left\" (click)=\"goToClients()\">\r\n <mat-icon class=\"fab-button__icon\">people</mat-icon>\r\n </button>\r\n <button *ngIf=\"!sharedProperty.isShared\" mat-mini-fab color=\"primary\" matTooltip=\"Archivar propiedad\"\r\n matTooltipPosition=\"left\"\r\n (click)=\"agentActions('ARCHIVE')\">\r\n <mat-icon class=\"fab-button__icon\">archive</mat-icon>\r\n </button>\r\n <button mat-mini-fab color=\"primary\" matTooltip=\"Generar letrero\" matTooltipPosition=\"left\"\r\n (click)=\"agentActions('POSTER')\">\r\n <span class=\"fab-button__icon ic-component-property-poster\"></span>\r\n </button>\r\n <button mat-mini-fab color=\"primary\" matTooltip=\"Generar folleto\" matTooltipPosition=\"left\"\r\n (click)=\"agentActions('BROCHURE')\">\r\n <span class=\"fab-button__icon ic-component-property-brochure\"></span>\r\n </button>\r\n <button mat-mini-fab color=\"primary\" matTooltip=\"Generar lona\" matTooltipPosition=\"left\"\r\n (click)=\"agentActions('TARPS')\">\r\n <span class=\"fab-button__icon ic-component-property-canvas\"></span>\r\n </button>\r\n </eco-fab-speed-dial-actions>\r\n </eco-fab-speed-dial>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'add'\">\r\n <div class=\"footer__footer-content\">\r\n <button class=\"footer-content__button-save\" mat-flat-button color=\"primary\" (click)=\"saveData()\">Guardar\r\n </button>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","styles":[":host{width:100%;height:100%;display:block}.property{position:relative;width:100%;height:100%;z-index:5;border-radius:4px}.title{margin:0 16px;font-size:24px}.breadcrumb-list{width:50%;padding:4px 16px;box-sizing:border-box;border-radius:0 24px 24px 0}.breadcrumb-content{color:#fff;margin:4px 0;width:100%;line-height:21px}.breadcrumb-item{position:relative;display:inline-flex;padding:0 18px 0 4px}.breadcrumb-item:last-child:before{content:none}.divider{border-width:1px}.divider-vertical{display:block;border:.5px inset}.header{width:100%;position:-webkit-sticky;position:sticky;top:0;z-index:10;padding:8px 0;display:flex;align-items:center;justify-content:space-between}@media screen and (max-width:600px){.breadcrumb-list{width:100%;order:1}.header{flex-direction:column}}.header__actions{padding:8px;box-sizing:border-box;display:flex;align-items:center;justify-content:space-between}@media screen and (max-width:600px){.header__actions{order:0;width:100%;padding:4px 8px;justify-content:flex-end}}.header__actions button{margin-right:8px}.header__actions-button-commission{border-radius:16px}.actions-button-commission__icon{display:inline-block;width:24px;height:24px;font-size:24px;margin-left:8px}.header__actions-button-publish-icon{font-size:24px;width:24px;height:24px}.body{width:100%;height:calc(100% - 80px);overflow-x:hidden;overflow-y:auto;background:0 0;box-sizing:border-box;padding-bottom:56px}@media screen and (max-width:600px){.body{display:flex;flex-direction:column;padding:0 8px 56px}}.body__additional-content{width:25%;display:inline-block;padding:16px;box-sizing:border-box;background:#fff}@media screen and (max-width:600px){.body__additional-content{width:100%;order:2}}.mls__title{font-size:12px}.mls__button{width:100%;display:block;margin-bottom:8px;border-radius:16px}.body__content{width:75%;display:inline-block;padding:16px;box-sizing:border-box;float:right;background:#fff}.body__multimedia-wrapper{width:100%;background:#fff;display:flex}@media screen and (max-width:600px){.body__content{width:100%;order:1}.body__multimedia-wrapper{width:100%;order:0;flex-direction:column}}.multimedia-wrapper__list-thumbnails{width:25%;height:0;padding-bottom:calc((100% - 25%)/ 4 * 3);overflow:hidden;position:relative}@media screen and (max-width:600px){.multimedia-wrapper__list-thumbnails{width:100%;height:56px;padding:0}}.list-thumbnails__wrapper-thumbnails{position:absolute;width:100%;height:100%;background:#fff;overflow-x:hidden;overflow-y:scroll;padding:0 18px 8px;box-sizing:border-box}.wrapper-thumbnails__header-types{width:100%;height:40px;background:#fff;padding-top:8px;position:-webkit-sticky;position:sticky;top:0;z-index:1}.header-types__button-type{min-width:calc(100% / 3);width:calc(100% / 3);overflow:hidden;white-space:nowrap;text-overflow:ellipsis;padding:0;height:100%;font-size:12px;line-height:16px}.button-type__icon{font-size:24px;width:24px;height:24px;display:inline-block}.button-type__label{display:inline-block;margin:0 4px}.wrapper-thumbnails__item-thumbnail{width:100%;padding-bottom:calc(100% / 4 * 3);margin-top:8px;border-radius:8px;position:relative;cursor:pointer}.item-thumbnail__img{position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:inherit}.multimedia-wrapper__front-image{width:calc(75% - 16px);height:0;padding-bottom:calc((75% - 16px)/ 4 * 3);margin:auto;border-radius:8px;position:relative}@media screen and (max-width:600px){.wrapper-thumbnails__item-thumbnail{display:none}.multimedia-wrapper__front-image{width:100%;padding-bottom:calc(100% / 4 * 3)}}.front-image__upload-multimedia{position:absolute;top:0;left:25%;width:50%;height:100%;z-index:1;display:flex}@media screen{.front-image__upload-multimedia{width:80%;left:10%}}.upload-multimedia__container-add-multimedia{margin:auto;width:200px;height:200px;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;background:url(https://storage.googleapis.com/maplander-develop/public/file/front-end/cdn/360-image.svg) center/80% no-repeat}.container-add-multimedia__button{position:absolute;bottom:8px}.content__error-front-image{font-size:12px;margin:8px 0 8px 8px}.content__private-info{border-radius:8px}.private-info__title{font-weight:700;margin:0;padding:16px;border-radius:8px 8px 0 0}.footer{width:100%;height:43px;border-radius:16px 16px 0 0;padding:8px 16px;box-sizing:border-box;background:#fff;position:-webkit-sticky;position:sticky;z-index:2;bottom:0}.footer__footer-content{width:100%;height:100%;position:relative;display:flex;align-items:center;justify-content:center}.footer-content__status-label{margin:6px 0;font-size:14px;text-align:center}.footer-content__button-request-info{width:30%;border-radius:16px}@media screen and (max-width:600px){.footer-content__button-request-info{width:90%}}.footer-content__button-save{width:120px;border-radius:16px}.footer-content__fab{position:absolute;right:0;bottom:12px;padding:8px;border-radius:50%;background:linear-gradient(transparent 50%,#fff 50%)}.fab-button__icon{width:24px;height:24px;font-size:24px}"]}]}],"members":{"property":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":60,"character":3}}]}],"utils":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":61,"character":3}}]}],"propertyType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":62,"character":3}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":63,"character":3}}]}],"sharedProperty":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":64,"character":3}}]}],"address":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":65,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"disableShareCommission":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"isFavorite":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"disableConfirmAnnounce":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"currencyConverted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"userUrl":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":71,"character":3}}]}],"change":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"modeChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":73,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":92,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":92,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵc"}]}],null,null,null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@maplander/core","name":"SnackBarService","line":95,"character":23},{"__symbolic":"reference","module":"@maplander/shared","name":"ShareService","line":96,"character":20},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"DocumentVisorService"},{"__symbolic":"reference","name":"ɵh"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"saveData":[{"__symbolic":"method"}],"agentActions":[{"__symbolic":"method"}],"shareProperty":[{"__symbolic":"method"}],"openGallery":[{"__symbolic":"method"}],"goToStats":[{"__symbolic":"method"}],"goToEditProperty":[{"__symbolic":"method"}],"goToBack":[{"__symbolic":"method"}],"goToClients":[{"__symbolic":"method"}],"goToUpdateVisibility":[{"__symbolic":"method"}],"goToPublish":[{"__symbolic":"method"}],"onMultimediaIndexChanged":[{"__symbolic":"method"}],"changeMultimediaType":[{"__symbolic":"method"}],"openUploaderMultimedia":[{"__symbolic":"method"}],"onEditorInstance":[{"__symbolic":"method"}],"onOwnerInstance":[{"__symbolic":"method"}],"onDocumentsInstance":[{"__symbolic":"method"}],"onSelectAddress":[{"__symbolic":"method"}],"restoreFrontImageError":[{"__symbolic":"method"}],"parseMultimedia":[{"__symbolic":"method"}],"getMultimediaByType":[{"__symbolic":"method"}],"assignFrontImage":[{"__symbolic":"method"}],"assignMultimediaByType":[{"__symbolic":"method"}],"validateFrontImageOnErrors":[{"__symbolic":"method"}],"validateMultimediaTypeCount":[{"__symbolic":"method"}],"parseDataByComponents":[{"__symbolic":"method"}],"initCompleteProperty":[{"__symbolic":"method"}]}},"PropertyEventType":{"CREATE":"CREATE","UPDATE":"UPDATE","ANNOUNCE":"ANNOUNCE","HIDE":"HIDE","SHOW":"SHOW","ADDRESS":"ADDRESS","OFFER":"OFFER","FAVORITE":"FAVORITE","REQUEST_INFO":"REQUEST_INFO","SHARE":"SHARE","ARCHIVE":"ARCHIVE","REAL_ESTATE_EXCHANGE":"REAL_ESTATE_EXCHANGE","SHARE_COMMISSION":"SHARE_COMMISSION","BROCHURE":"BROCHURE","POSTER":"POSTER","CLIENTS":"CLIENTS","BACK":"BACK","SHOW_AGENTS":"SHOW_AGENTS","TARPS":"TARPS"},"PropertyEventChange":{"__symbolic":"interface"},"PropertyModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":104,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":106,"character":4},[{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":54,"character":2},{"__symbolic":"reference","module":"@angular/material/checkbox","name":"MatCheckboxModule","line":55,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":56,"character":2},{"__symbolic":"reference","module":"@angular/material/button-toggle","name":"MatButtonToggleModule","line":57,"character":2},{"__symbolic":"reference","module":"@angular/material/radio","name":"MatRadioModule","line":58,"character":2},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":59,"character":2},{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":60,"character":2},{"__symbolic":"reference","module":"@angular/material/select","name":"MatSelectModule","line":61,"character":2},{"__symbolic":"reference","module":"@angular/material/sidenav","name":"MatSidenavModule","line":62,"character":2},{"__symbolic":"reference","module":"@angular/material/toolbar","name":"MatToolbarModule","line":63,"character":2},{"__symbolic":"reference","module":"@angular/material/tabs","name":"MatTabsModule","line":64,"character":2},{"__symbolic":"reference","module":"@angular/material/datepicker","name":"MatDatepickerModule","line":65,"character":2},{"__symbolic":"reference","module":"@angular/material/tooltip","name":"MatTooltipModule","line":66,"character":2},{"__symbolic":"reference","module":"@angular/material/core","name":"MatRippleModule","line":67,"character":2},{"__symbolic":"reference","module":"@angular/material/core","name":"MatNativeDateModule","line":68,"character":2},{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"DragDropModule","line":69,"character":2}],{"__symbolic":"reference","module":"@ecodev/fab-speed-dial","name":"EcoFabSpeedDialModule","line":108,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"ReactiveFormsModule","line":109,"character":4},{"__symbolic":"reference","module":"@angular/forms","name":"FormsModule","line":110,"character":4},{"__symbolic":"reference","module":"@maplander/shared","name":"UploadFileModule","line":111,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"DocumentVisorModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"OfferingTypeModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"PropertyTypeModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"SafeUrlModule","line":115,"character":4},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"StringManipulationModule","line":116,"character":4},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormatDateModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"FormatPriceModule"},"member":"forChild"}},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/shared","name":"ShareModule","line":119,"character":4},"member":"forChild"}},{"__symbolic":"reference","name":"PanoramaVisorModule"},{"__symbolic":"reference","module":"@maplander/shared","name":"CountryCodeModule","line":121,"character":4},{"__symbolic":"reference","module":"@maplander/shared","name":"LocationModule","line":122,"character":4},{"__symbolic":"reference","module":"@maplander/shared","name":"DialogModule","line":123,"character":4},{"__symbolic":"reference","name":"ɵi"},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/core","name":"SnackBarModule","line":125,"character":4},"member":"forRoot"}}],"declarations":[[{"__symbolic":"reference","name":"PropertyComponent"}],[{"__symbolic":"reference","name":"ɵm"},{"__symbolic":"reference","name":"ɵn"},{"__symbolic":"reference","name":"ɵo"},{"__symbolic":"reference","name":"ɵp"},{"__symbolic":"reference","name":"ɵq"},{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵt"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"}]],"entryComponents":[[{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"ɵu"},{"__symbolic":"reference","name":"ɵv"}]],"exports":[{"__symbolic":"reference","name":"PropertyComponent"}],"providers":[[{"__symbolic":"reference","name":"ɵd"},{"__symbolic":"reference","name":"ɵe"},{"__symbolic":"reference","module":"@angular/common","name":"CurrencyPipe","line":99,"character":2},{"__symbolic":"reference","name":"ɵg"},{"__symbolic":"reference","name":"ɵh"}]]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":["isOPI"],"value":{"ngModule":{"__symbolic":"reference","name":"PropertyModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵc"},"useValue":{"__symbolic":"binop","operator":"||","left":{"__symbolic":"reference","name":"isOPI"},"right":false}}]}}}},"PropertyCardComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-property-card","template":"<div class=\"property-card\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <div class=\"property-card__favorite\">\r\n <button class=\"favorite__button\" mat-icon-button (click)=\"favorite()\">\r\n <ng-template [ngIf]=\"isFavorite\" [ngIfElse]=\"noIsFavorite\">\r\n <mat-icon>favorite</mat-icon>\r\n </ng-template>\r\n <ng-template #noIsFavorite>\r\n <mat-icon>favorite_border</mat-icon>\r\n </ng-template>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"showDiscard\">\r\n <div class=\"property-card__discard\">\r\n <button class=\"discard__button\" mat-icon-button (click)=\"discard()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"isOPI && showAlert\">\r\n <div class=\"expiration-message\">\r\n <p>\r\n Aviso\r\n <br>\r\n Este anuncio expira el {{info.endPublishDate | libFormatDate : true : 'dd/MM/yyyy'}}\r\n </p>\r\n </div>\r\n </ng-template>\r\n <a routerLink=\"{{href || '/'}}\" [queryParams]=\"queryParams || null\" [target]=\"target || null\"\r\n [state]=\"state || null\"\r\n class=\"property-card__image\" (mouseover)=\"onFrontImageOver()\"\r\n (mouseleave)=\"onFrontImageLeave()\">\r\n <img [src]=\"info.image\" alt=\"Property image\" libImageError [typeImage]=\"info.type\">\r\n <ng-template [ngIf]=\"mode === 'summary'\">\r\n <div class=\"property-card__body-summary\">\r\n <h2 class=\"color--white property-card__price\">\r\n {{info.price | currency}} {{info.currency}}\r\n </h2>\r\n <p class=\"color--white property-card__type\">\r\n {{info.type | propertyType}} {{info.offering | offeringType}}\r\n </p>\r\n <p class=\"color--white property-card__address body-summary__address\">\r\n {{info.address.colony}}, {{info.address.city}}\r\n </p>\r\n </div>\r\n </ng-template>\r\n </a>\r\n <ng-template [ngIf]=\"mode === 'full'\">\r\n <div class=\"property-card__body\">\r\n <div class=\"property-card__location-title\">\r\n <h2 class=\"property-card__price\">\r\n {{info.price | currency : currency : 'symbol' : '1.0-0'}} {{info.currency}}\r\n </h2>\r\n <ng-container *ngIf=\"distance !== ''\" >\r\n <h2 class=\"property-card__location\" [hidden]=\"!distance\">\r\n {{distance}}\r\n </h2>\r\n </ng-container>\r\n </div>\r\n <p class=\"property-card__type\">\r\n {{info.type | propertyType}} {{info.offering | offeringType}}\r\n </p>\r\n <p class=\"property-card__address\">\r\n {{info.address.colony}}, {{info.address.city}}\r\n </p>\r\n <ng-template [ngIf]=\"info.features\">\r\n <div class=\"property-card__features\">\r\n <ng-template [ngIf]=\"info.features && info.features.bedrooms && info.features.bedrooms > 0\">\r\n <p class=\"property-card__feature\">\r\n <span class=\"property-card__icon ic-features-bedroom\"></span>\r\n {{info.features.bedrooms}}\r\n </p>\r\n <span class=\"property-card__divider\"></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"info.features && info.features.bathrooms && info.features.bathrooms > 0 \">\r\n <p class=\"property-card__feature\">\r\n <span class=\"property-card__icon ic-features-bathroom\"></span>\r\n {{info.features.bathrooms}}\r\n </p>\r\n <span class=\"property-card__divider\"></span>\r\n </ng-template>\r\n <ng-template [ngIf]=\"info.features && info.features.mainArea && info.features.mainArea > 0\">\r\n <p class=\"property-card__feature\">\r\n <span class=\"property-card__icon ic-features-surface\"></span>\r\n {{info.features.mainArea}}\r\n <ng-template [ngIf]=\"info.features.areaUnit && info.features.areaUnit === 'M2'\"\r\n [ngIfElse]=\"ftUnit\">\r\n m<sup>2</sup>\r\n </ng-template>\r\n <ng-template #ftUnit>\r\n sq ft\r\n </ng-template>\r\n </p>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n</div>\r\n","styles":[":host{display:block;width:calc(100% - 16px);margin:16px auto;border-radius:16px}.property-card{width:100%;border-radius:16px;position:relative}.property-card__favorite{position:absolute;top:4px;right:4px;border-radius:50%;z-index:1;width:40px;height:40px;display:flex}.favorite__button{margin:auto}.expiration-message{position:absolute;top:0;background-color:#fff;width:100%;height:80px;z-index:1;text-align:center;color:red;font-size:16px;margin:auto;opacity:.9}.property-card__discard{position:absolute;right:8px;bottom:8px;z-index:1;width:40px;height:40px;border-radius:16px;display:flex}.discard__button{margin:auto}.property-card__image{width:100%;border-radius:16px;padding-bottom:calc(100% / 4 * 3);position:relative;text-decoration:none;display:block}.property-card__image:hover{width:calc(100% - 6px);padding-bottom:calc((100% - 6px)/ 4 * 3)}.property-card__image img{border-radius:16px;position:absolute;width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.property-card__body{padding:8px;box-sizing:border-box}.property-card__body-summary{padding:8px;box-sizing:border-box;position:absolute;bottom:0;width:100%;border-radius:16px;background:linear-gradient(transparent,rgba(0,0,0,.8))}.body-summary__address{width:80%!important}.property-card__location-title{display:flex;width:100%;flex-direction:row;flex-wrap:wrap}.property-card__location{font-size:12px;margin:4px;color:#707070}@media (min-width:1200px){.property-card__location{font-size:14px}}.property-card__location:empty{width:60%;height:14px;background:#e0e0e0;border-radius:16px}.property-card__price{margin:3px 0;font-size:16px}.property-card__price:empty{width:60%;height:16px;background:#e0e0e0;border-radius:16px}.property-card__type{margin:3px 0}.property-card__type:empty{width:70%;height:16px;border-radius:16px;background:#e0e0e0}.property-card__address{margin:3px 0;color:#707070;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.property-card__address:empty{width:80%;height:16px;border-radius:16px;background:#e0e0e0}.property-card__features{display:flex;margin:6px 0 0}.property-card__feature{margin:0 8px 0 0;display:flex;align-items:center;font-size:12px;color:#707070}.property-card__divider{display:block;margin:auto 8px;width:1px;height:16px;background:#9e9e9e}.property-card__icon{width:24px;height:24px;font-size:24px;margin:0 4px 0 0;color:#bdbdbd}"]}]}],"members":{"marker":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"href":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"target":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"queryParams":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"state":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"showAlert":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"positionLatLng":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":21,"character":3}}]}],"isFavorite":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"currency":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":23,"character":3}}]}],"showDiscard":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"mode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"markerChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":26,"character":3}}]}],"favoriteChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"propertyDiscarded":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":28,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":33,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":33,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵw"}]}]],"parameters":[{"__symbolic":"reference","name":"boolean"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"onFrontImageOver":[{"__symbolic":"method"}],"onFrontImageLeave":[{"__symbolic":"method"}],"favorite":[{"__symbolic":"method"}],"discard":[{"__symbolic":"method"}],"deg2rad":[{"__symbolic":"method"}],"latLng":[{"__symbolic":"method"}]}},"PropertyCardModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":12,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":15,"character":4},{"__symbolic":"reference","name":"PropertyTypeModule"},{"__symbolic":"reference","name":"OfferingTypeModule"},{"__symbolic":"reference","name":"ImageErrorModule"},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":19,"character":4},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":20,"character":4},{"__symbolic":"reference","name":"FormatDateModule"}],"declarations":[{"__symbolic":"reference","name":"PropertyCardComponent"}],"exports":[{"__symbolic":"reference","name":"PropertyCardComponent"}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":["isOPI"],"value":{"ngModule":{"__symbolic":"reference","name":"PropertyCardModule"},"providers":[{"provide":{"__symbolic":"reference","name":"ɵw"},"useValue":{"__symbolic":"reference","name":"isOPI"}}]}}}},"CurrencyConverterService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":3,"character":1}}],"members":{"list":[{"__symbolic":"method"}],"number":[{"__symbolic":"method"}],"getValueByCurrency":[{"__symbolic":"method"}]}},"CurrencyConverterModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":4,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":6,"character":4}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"CurrencyConverterModule"},"providers":[{"__symbolic":"reference","name":"CurrencyConverterService"}]}}}},"MarkersService":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":22,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"PropertyTypePipe"},{"__symbolic":"reference","name":"OfferingTypePipe"},{"__symbolic":"reference","name":"CurrencyConverterService"}]}],"buildURL":[{"__symbolic":"method"}],"validatePropertiesInPoly":[{"__symbolic":"method"}],"markersToCurrency":[{"__symbolic":"method"}],"buildMarkers":[{"__symbolic":"method"}],"buildSpider":[{"__symbolic":"method"}],"createPropertyInfoCard":[{"__symbolic":"method"}]}},"MarkersModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":5,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":7,"character":4},{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"CurrencyConverterModule"},"member":"forChild"}}]}]}],"members":{},"statics":{"forChild":{"__symbolic":"function","parameters":[],"value":{"ngModule":{"__symbolic":"reference","name":"MarkersModule"},"providers":[{"__symbolic":"reference","name":"MarkersService"}]}}}},"FiltersWrapper":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"ɵb"}]}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"MDate":{"__symbolic":"class","members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"number"}]}],"toDate":[{"__symbolic":"method"}],"getFormat":[{"__symbolic":"method"}],"getYear":[{"__symbolic":"method"}],"getMoth":[{"__symbolic":"method"}],"getDay":[{"__symbolic":"method"}]},"statics":{"getHours":{"__symbolic":"function","parameters":["time"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"slice"},"arguments":[0,2]}},"getMinutes":{"__symbolic":"function","parameters":["time"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"slice"},"arguments":[2,4]}},"getSeconds":{"__symbolic":"function","parameters":["time"],"value":{"__symbolic":"call","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"slice"},"arguments":[4,{"__symbolic":"select","expression":{"__symbolic":"reference","name":"time"},"member":"length"}]}}}},"AmenityName":{"AdjacentCommerce":"adjacentCommerce","AdjacentGym":"gym","AdjacentPicnic":"adjacentPicnic","AirConditioner":"airConditioner","Balcony":"balcony","CustomerParking":"customerParking","DiningRoom":"diningRoom","DoubleHeight":"doubleHeight","DressingRooms":"dressingRooms","FacingStreet":"facingStreet","Finishings":"finishings","Furnished":"furnished","Garden":"garden","Gym":"gym","HighResistanceFloors":"highResistanceFloors","HighSpeedInternet":"highSpeedInternet","InCommercialArea":"inCommercialArea","InIndustrialPark":"inIndustrialPark","InShoppingCenter":"inShoppingCenter","Jacuzzi":"jacuzzi","KitchenServices":"kitchenServices","MaidsBathroom":"maidsBathroom","ManeuverArea":"maneuverArea","MeetingRoom":"meetingRoom","Mezzanine":"mezzanine","MixedBuilding":"mixedBuilding","NaturalLighting":"naturalLighting","Offices":"offices","OpenSpace":"openSpace","Platforms":"platforms","Playground":"playground","Playroom":"playroom","Pool":"pool","RailSpur":"railSpur","RailYard":"maneuverArea","Reception":"reception","SecurityGuard":"securityGuard","Storage":"storage","VisitorParking":"visitorParking","NearPublicTransportation":"nearPublicTransportation","NearShops":"nearShops","OnBusyRoad":"onBusyRoad","CountrySide":"countrySide","Downtown":"downtown","GoodReachableTraffic":"goodReachableTraffic","NearFitnessCentre":"nearFitnessCentre","NearHighway":"nearHighway","NearHospital":"nearHospital","NearPark":"nearPark","NearSchools":"nearSchools","OnQuietRoad":"onQuietRoad","RoofGarden":"roofGarden","PetFriendly":"petFriendly","DifferentAbilities":"differentAbilities"},"FilterChipType":{"OFFERING":"OFFERING","PROPERTY_TYPE":"PROPERTY_TYPE","PRICE":"PRICE","BEDROOMS":"BEDROOMS","BATHROOMS":"BATHROOMS","PARKING_PLACES":"PARKING_PLACES","SURFACE":"SURFACE","AMENITIES":"AMENITIES","LISTING":"LISTING"},"FiltersChangeType":{"APPLY":0,"INIT":1,"AREA":2,"SAVE":3,"LIST_TYPE":4},"AmenitiesList":{"__symbolic":"interface"},"AmenityItem":{"__symbolic":"interface"},"FilterChip":{"__symbolic":"interface"},"FiltersSaved":{"__symbolic":"interface"},"FiltersChange":{"__symbolic":"interface"},"Marker":{"__symbolic":"interface"},"PropertyCardInfo":{"__symbolic":"interface"},"PropertyTypeItem":{"__symbolic":"interface"},"ConstantsComponents":{"__symbolic":"class","members":{},"statics":{"Amenities":{"roofGarden":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":10,"character":16},"member":"RoofGarden"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":11,"character":13},"member":"RoofGarden"},"name":"Terraza"},"petFriendly":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":16,"character":16},"member":"PetFriendly"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":17,"character":13},"member":"PetFriendly"},"name":"Acepta Mascotas"},"differentAbilities":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":22,"character":16},"member":"DifferentAbilities"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":23,"character":13},"member":"DifferentAbilities"},"name":"Con capacidades diferentes"},"adjacentCommerce":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":28,"character":16},"member":"AdjacentCommerce"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":29,"character":13},"member":"AdjacentCommerce"},"name":"Comercio adyacente"},"adjacentGym":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":32,"character":44},"member":"Gym"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":32,"character":68},"member":"AdjacentGym"},"name":"Gym adyacente"},"adjacentPicnic":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":33,"character":47},"member":"AdjacentPicnic"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":33,"character":82},"member":"AdjacentPicnic"},"name":"Merendero adyacente"},"airConditioner":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":34,"character":47},"member":"AirConditioner"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":34,"character":82},"member":"AirConditioner"},"name":"Aire acondicionado"},"balcony":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":35,"character":40},"member":"Balcony"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":35,"character":68},"member":"Balcony"},"name":"Balcón"},"customerParking":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":38,"character":16},"member":"CustomerParking"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":39,"character":13},"member":"CustomerParking"},"name":"Estacionamiento para clientes"},"diningRoom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":42,"character":43},"member":"DiningRoom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":42,"character":74},"member":"DiningRoom"},"name":"Comedor"},"doubleHeight":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":43,"character":45},"member":"DoubleHeight"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":43,"character":78},"member":"DoubleHeight"},"name":"Doble altura"},"dressingRooms":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":44,"character":46},"member":"DressingRooms"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":44,"character":80},"member":"DressingRooms"},"name":"Con vestidores"},"facingStreet":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":45,"character":45},"member":"FacingStreet"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":45,"character":78},"member":"FacingStreet"},"name":"Frente a calle"},"finishings":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":46,"character":43},"member":"Finishings"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":46,"character":74},"member":"Finishings"},"name":"Con acabados"},"furnished":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":47,"character":42},"member":"Furnished"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":47,"character":72},"member":"Furnished"},"name":"Amueblada"},"garden":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":48,"character":39},"member":"Garden"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":48,"character":66},"member":"Garden"},"name":"Jardín"},"gym":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":49,"character":36},"member":"Gym"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":49,"character":60},"member":"Gym"},"name":"Gym"},"highResistanceFloors":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":52,"character":16},"member":"HighResistanceFloors"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":53,"character":13},"member":"HighResistanceFloors"},"name":"Pisos de alta resistencia"},"highSpeedInternet":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":58,"character":16},"member":"HighSpeedInternet"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":59,"character":13},"member":"HighSpeedInternet"},"name":"Internet de alta velocidad"},"inCommercialArea":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":64,"character":16},"member":"InCommercialArea"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":65,"character":13},"member":"InCommercialArea"},"name":"En zona comercial"},"inIndustrialPark":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":70,"character":16},"member":"InIndustrialPark"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":71,"character":13},"member":"InIndustrialPark"},"name":"En parque industrial"},"inShoppingCenter":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":76,"character":16},"member":"InShoppingCenter"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":77,"character":13},"member":"InShoppingCenter"},"name":"En centro comercial"},"jacuzzi":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":80,"character":40},"member":"Jacuzzi"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":80,"character":68},"member":"Jacuzzi"},"name":"Jacuzzi"},"kitchenServices":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":83,"character":16},"member":"KitchenServices"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":84,"character":13},"member":"KitchenServices"},"name":"Servicios para cocina"},"maidsBathroom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":87,"character":46},"member":"MaidsBathroom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":87,"character":80},"member":"MaidsBathroom"},"name":"Cuarto de Servicio"},"maneuverArea":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":88,"character":45},"member":"ManeuverArea"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":88,"character":78},"member":"ManeuverArea"},"name":"Área de maniobras"},"meetingRoom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":89,"character":44},"member":"MeetingRoom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":89,"character":76},"member":"MeetingRoom"},"name":"Sala de conferencias"},"mezzanine":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":90,"character":42},"member":"Mezzanine"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":90,"character":72},"member":"Mezzanine"},"name":"Con entrepiso"},"mixedBuilding":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":91,"character":46},"member":"MixedBuilding"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":91,"character":80},"member":"MixedBuilding"},"name":"En edificio mixto"},"naturalLighting":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":94,"character":16},"member":"NaturalLighting"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":95,"character":13},"member":"NaturalLighting"},"name":"Iluminacion natural"},"offices":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":98,"character":40},"member":"Offices"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":98,"character":68},"member":"Offices"},"name":"Con oficinas"},"openSpace":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":99,"character":42},"member":"OpenSpace"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":99,"character":72},"member":"OpenSpace"},"name":"Espacio abierto"},"platforms":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":100,"character":42},"member":"Platforms"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":100,"character":72},"member":"Platforms"},"name":"Andenes"},"playground":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":101,"character":43},"member":"Playground"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":101,"character":74},"member":"Playground"},"name":"Juegos infantiles"},"playroom":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":102,"character":41},"member":"Playroom"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":102,"character":70},"member":"Playroom"},"name":"Salón de juegos"},"pool":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":103,"character":37},"member":"Pool"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":103,"character":62},"member":"Pool"},"name":"Alberca"},"railSpur":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":104,"character":41},"member":"RailSpur"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":104,"character":70},"member":"RailSpur"},"name":"Espuela de FF.CC"},"railyard":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":105,"character":41},"member":"RailYard"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":105,"character":70},"member":"RailYard"},"name":"Patio de maniobras"},"reception":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":106,"character":42},"member":"Reception"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":106,"character":72},"member":"Reception"},"name":"Recepción"},"securityGuard":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":107,"character":46},"member":"SecurityGuard"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":107,"character":80},"member":"SecurityGuard"},"name":"Con vigilancia"},"storage":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":108,"character":40},"member":"Storage"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":108,"character":68},"member":"Storage"},"name":"Bodega"},"visitorParking":{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":111,"character":16},"member":"VisitorParking"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":112,"character":13},"member":"VisitorParking"},"name":"Estacionamiento para visitas"},"features":[{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":118,"character":18},"member":"NearPublicTransportation"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":119,"character":15},"member":"NearPublicTransportation"},"name":"Cerca de estaciones de transporte"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":122,"character":33},"member":"AdjacentCommerce"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":122,"character":70},"member":"NearShops"},"name":"Cerca de comercios"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":123,"character":33},"member":"OnBusyRoad"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":123,"character":64},"member":"OnBusyRoad"},"name":"Avenida principal"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":124,"character":33},"member":"CountrySide"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":124,"character":65},"member":"CountrySide"},"name":"Suburbio"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":125,"character":33},"member":"Downtown"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":125,"character":62},"member":"Downtown"},"name":"Céntrico"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":128,"character":18},"member":"GoodReachableTraffic"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":129,"character":15},"member":"GoodReachableTraffic"},"name":"Se llega sin trafico"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":134,"character":18},"member":"NearFitnessCentre"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":135,"character":15},"member":"NearFitnessCentre"},"name":"Cerca de centro deportivo"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":138,"character":33},"member":"NearHighway"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":138,"character":65},"member":"NearHighway"},"name":"Cerca de autopista"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":141,"character":18},"member":"NearHospital"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":142,"character":15},"member":"NearHospital"},"name":"Cerca de centros de salud"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":147,"character":18},"member":"NearPark"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":148,"character":15},"member":"NearPark"},"name":"Cerca de parque"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":151,"character":33},"member":"NearSchools"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":151,"character":65},"member":"NearSchools"},"name":"Cerca de escuelas"},{"checked":false,"iconName":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":152,"character":33},"member":"OnQuietRoad"},"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"./utils/enums/amenity-name","name":"AmenityName","line":152,"character":65},"member":"OnQuietRoad"},"name":"En calle tranquila"}]},"DurationList":[30,60,90,180,365],"CommissionList":{"SALE":[0.06,0.055,0.05,0.045,0.04,0.035,0.03,0.025,0.02,0.015,0.01],"RENT":[2,1.5,1,0.5]},"SharedCommissionList":[0.5,0.4,0.3,0.2,0.1],"LandUseList":[{"name":"Habitacional unifamiliar","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":168,"character":13},"member":"SINGLE_FAMILY_HOUSING"}},{"name":"Habitacional plurifamiliar","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":172,"character":13},"member":"MULTI_FAMILY_HOUSING"}},{"name":"Habitacional con comercio","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":176,"character":13},"member":"HOUSING_WITH_COMMERCE"}},{"name":"Habitacional con oficina","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":180,"character":13},"member":"HOUSING_WITH_OFFICE"}},{"name":"Habitacional mixto","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":184,"character":13},"member":"MIXED_HOUSING"}},{"name":"Comercio","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":188,"character":13},"member":"COMMERCE"}},{"name":"Oficina","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":192,"character":13},"member":"OFFICE"}},{"name":"Servicios","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":196,"character":13},"member":"SERVICES"}},{"name":"Industria","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":200,"character":13},"member":"INDUSTRY"}},{"name":"Agrícola","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":204,"character":13},"member":"AGRICULTURAL"}},{"name":"No especificado","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"LandUseEnum","line":207,"character":13},"member":"OTHER"}}],"AnnounceCheckList":[{"name":"Las fotos y videos son los correctos","value":0,"checked":false},{"name":"La ortografía y gramática es correcta","value":1,"checked":false},{"name":"Los datos de contacto son correctos","value":2,"checked":false},{"name":"La dirección, email y web están correctos","value":3,"checked":false},{"name":"Todo está correcto y apruebo mi anuncio","value":4,"checked":false}],"DocumentsList":[{"name":"Escritura","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":240,"character":13},"member":"DEED"},"loaded":false},{"name":"Identificación Propietario","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":245,"character":13},"member":"OWNER_ID"},"loaded":false},{"name":"Recibo de agua","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":250,"character":13},"member":"WATER_BILL"},"loaded":false},{"name":"Recibo de luz","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":255,"character":13},"member":"ELECTRICITY_BILL"},"loaded":false},{"name":"Recibo predial","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":260,"character":13},"member":"PROPERTY_BILL"},"loaded":false},{"name":"Constancia de no adeudo","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":265,"character":13},"member":"CONSTANCY_OF_NO_DEBT"},"loaded":false},{"name":"Libertad de Gravamen","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":270,"character":13},"member":"EXEMPTION_TAX"},"loaded":false},{"name":"Licencia de construcción","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":275,"character":13},"member":"BUILDING_LICENSE"},"loaded":false},{"name":"Terminación de obra","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":280,"character":13},"member":"COMPLETION_OF_CONSTRUCTION"},"loaded":false},{"name":"Alineación y número oficial","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":285,"character":13},"member":"ALIGNMENT_AND_OFFICIAL_NUMBER"},"loaded":false},{"name":"Hipoteca","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":290,"character":13},"member":"MORTGAGE"},"loaded":false},{"name":"Otros","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PFileTypeEnum","line":295,"character":13},"member":"OTHER"},"loaded":false}],"BedroomList":[0,1,2,3,4],"BathroomList":[0,1,2,3,4],"ParkingSpacesList":[0,1,2,3,4],"SurfaceList":[50,100,150,200,250,300,350,400,450,500,550,600,650,700,750,800,850,900,950,1000],"ROIList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,20],"PropertyTypeList":[{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":316,"character":13},"member":"HOUSE"},"iconName":"house","name":"Casa","shortName":"Casa","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":340,"character":13},"member":"RESIDENTIAL"},"iconName":"residential","name":"Vivienda","shortName":"Vivienda","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":364,"character":13},"member":"APARTMENT"},"iconName":"apartment","name":"Departamento","shortName":"Depto","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":388,"character":13},"member":"ROOM"},"iconName":"room","name":"Habitación","shortName":"Habitación","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"garden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"pool"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"storage"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maidsBathroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playground"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"gym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"balcony"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"jacuzzi"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"playroom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"highSpeedInternet"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":413,"character":13},"member":"OFFICE"},"iconName":"office","name":"Oficina","shortName":"Oficina","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"visitorParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"furnished"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"highSpeedInternet"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"reception"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"adjacentPicnic"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"meetingRoom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"adjacentGym"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"openSpace"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"airConditioner"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"adjacentCommerce"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"mixedBuilding"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":436,"character":13},"member":"RETAIL"},"iconName":"retail","name":"Comercio","shortName":"Comercio","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"mixedBuilding"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"facingStreet"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"maneuverArea"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"kitchenServices"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"finishings"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"mezzanine"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"inShoppingCenter"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"inCommercialArea"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"customerParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"doubleHeight"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"roofGarden"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"petFriendly"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":458,"character":13},"member":"WAREHOUSE"},"iconName":"warehouse","name":"Bodega","shortName":"Bodega","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"customerParking"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"doubleHeight"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"railyard"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"platforms"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"highResistanceFloors"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"offices"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"dressingRooms"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"diningRoom"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"inIndustrialPark"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"naturalLighting"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"railSpur"},{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"differentAbilities"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":480,"character":13},"member":"LAND"},"iconName":"land","name":"Terreno","shortName":"Terreno","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"securityGuard"}]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":490,"character":13},"member":"INVESTMENT"},"iconName":"investment","name":"Inversión","shortName":"Inversión","features":{"__symbolic":"select","expression":{"__symbolic":"select","expression":{"__symbolic":"reference","name":"ConstantsComponents"},"member":"Amenities"},"member":"features"},"amenities":[]},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"PropertyTypeEnum","line":498,"character":13},"member":"NONE"},"name":"Todo","shortName":"Todo","iconName":"all","features":[],"amenities":[]}],"OfferingTypeList":[{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"OfferingTypeEnum","line":508,"character":13},"member":"SALE"},"name":"Venta"},{"value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"OfferingTypeEnum","line":512,"character":13},"member":"RENT"},"name":"Renta"}],"LocateList":{"USD":{"locate":"en-US","currency":"USD"},"MXN":{"locate":"es-MX","currency":"MXN"},"GBP":{"locate":"en-GB","currency":"GBP"},"EUR":{"locate":"de-DE","currency":"EUR"},"BRL":{"locate":"pt-BR","currency":"BRL"},"CNY":{"locate":"zh-CH","currency":"CNY"}},"PropertyStatusList":[{"icon":"announce","name":"Anunciadas","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":525,"character":51},"member":"ANNOUNCED"}},{"icon":"expired","name":"Expiradas","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":526,"character":49},"member":"EXPIRED"}},{"icon":"hidden","name":"Ocultas","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":527,"character":46},"member":"HIDDEN"}},{"icon":"ready","name":"Listas para anunciar","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":528,"character":58},"member":"READY"}},{"icon":"draft","name":"Borrador","value":{"__symbolic":"select","expression":{"__symbolic":"reference","module":"@maplander/types","name":"StatusTypeEnum","line":529,"character":46},"member":"DRAFT"}}]}},"ɵa":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":33},"arguments":["FILTERS MODULE CONFIG"]},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":30,"character":1},"arguments":[{"selector":"lib-filters","template":"<!-- Todo: [FiltersComponent] Refactor code -->\r\n<form class=\"filters\" [formGroup]=\"filtersForm\" [ngClass]=\"{'filters--opened': propertyTypeSelected.value !== 'NONE'}\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <div class=\"float-button-close\">\r\n <button mat-icon-button type=\"button\" class=\"float-button-close__button\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n <div class=\"body\">\r\n <div class=\"--padding\">\r\n <h4 class=\"--title\">\r\n Divisa\r\n </h4>\r\n <div class=\"header\">\r\n <mat-form-field class=\"currency\" appearance=\"outline\">\r\n <mat-label>Divisa</mat-label>\r\n <mat-select formControlName=\"currency\" placeholder=\"Divisa\">\r\n <ng-container *ngFor=\"let currency of currencyList\">\r\n <mat-option [value]=\"currency.type\" (click)=\"changeCurrency(currency.type)\">\r\n {{currency.type}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group class=\"offering-type-list\" name=\"offering-type\" formControlName=\"offering\"\r\n aria-label=\"Offering type\">\r\n <mat-button-toggle (click)=\"changeOffering('SALE')\" [value]=\"'SALE'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'ROOM'\">\r\n Venta\r\n </mat-button-toggle>\r\n <mat-button-toggle (click)=\"changeOffering('RENT')\" [value]=\"'RENT'\"\r\n [disabled]=\"propertyTypeSelected.value === 'NONE' || propertyTypeSelected.value === 'INVESTMENT'\">\r\n Renta\r\n </mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"mat-elevation-z2\" [ngClass]=\"{'property-type-list': !newFilters, 'new-property-type-list': newFilters}\">\r\n <ng-container *ngFor=\"let type of propertyTypeList; let i = index\">\r\n <ng-template [ngIf]=\"type.value !== 'NONE' && (type.value !== 'ROOM' && newFilters)\">\r\n <div class=\"property-type-list__button\">\r\n <div\r\n class=\"property-type-list__border\"\r\n [ngClass]=\"{'property-type-list__border--active': (type.value === propertyTypeSelected.value) || (propertyTypeSelected.value === 'NONE') || ((type.value === 'HOUSE' || type.value === 'APARTMENT') && propertyTypeSelected.value === 'RESIDENTIAL')}\"\r\n [ngStyle]=\"{'border-color': 'var(--' + type.iconName + ')'}\">\r\n <button mat-mini-fab=\"\" type=\"button\" (click)=\"changePropertyType(i)\"\r\n [ngStyle]=\"{'background-color': 'var(--' + type.iconName + ')'}\">\r\n <span class=\"property-type-list__icon ic-property-{{type.iconName}}\"></span>\r\n </button>\r\n </div>\r\n <span class=\"property-type-list__label\">{{type.shortName}}</span>\r\n <ng-template [ngIf]=\"type.value === 'RESIDENTIAL' && propertyTypeSelected.value === 'RESIDENTIAL'\">\r\n <div class=\"property-type-list__divider property-type-list__divider--left\"></div>\r\n <div class=\"property-type-list__divider property-type-list__divider--right\"></div>\r\n </ng-template>\r\n </div>\r\n </ng-template>\r\n </ng-container>\r\n </div>\r\n <ng-template [ngIf]=\"isOPI\">\r\n <div class=\"all\">\r\n <button mat-raised-button=\"\" type=\"button\" class=\"all__button\"\r\n [ngClass]=\"{'all__button--active': propertyTypeSelected.value === 'NONE'}\"\r\n (click)=\"changePropertyType(9)\">Todo\r\n </button>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'NONE'\">\r\n <mat-divider></mat-divider>\r\n <div class=\"--padding\">\r\n <h4 class=\"--title\">\r\n Presupuesto\r\n </h4>\r\n <div class=\"budget\">\r\n <!-- Min price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Mínimo</mat-label>\r\n <input placeholder=\"Mínimo\" libFormatPrice [currency]=\"filtersForm.controls['currency'].value\" [control]=\"filtersForm.controls['minPrice']\"\r\n autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"Min price\" formControlName=\"minPrice\" min=\"1\" (blur)=\"changePrice()\">\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('pattern')\">\r\n Debe ingresar solo números\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['minPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Min price [END] -->\r\n <!-- Max price [START] -->\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Máximo</mat-label>\r\n <input placeholder=\"Máximo\" libFormatPrice [currency]=\"filtersForm.controls['currency'].value\" [control]=\"filtersForm.controls['maxPrice']\"\r\n autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"max price\" formControlName=\"maxPrice\" (blur)=\"changePrice()\">\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('pattern')\">\r\n Debe ingresar solo números\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"filtersForm.controls['maxPrice'].hasError('currency')\">\r\n Valor mínimo excedido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Max price [END] -->\r\n </div>\r\n <div class=\"features\">\r\n <ng-template\r\n [ngIf]=\"propertyTypeSelected.value === 'RESIDENTIAL' || propertyTypeSelected.value === 'HOUSE' || propertyTypeSelected.value === 'APARTMENT'\">\r\n <div class=\"features__bedrooms\">\r\n <h4 class=\"--title\">\r\n Habitaciones\r\n </h4>\r\n <mat-button-toggle-group name=\"bedrooms\" aria-label=\"Bedrooms\" formControlName=\"bedrooms\">\r\n <ng-container *ngFor=\"let bedroom of bedroomsList\">\r\n <ng-template [ngIf]=\"bedroom === 0\" [ngIfElse]=\"bedroomNumber\">\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilter()\" class=\"features__bedrooms--unlimited\">\r\n Sin <br> límite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bedroomNumber>\r\n <mat-button-toggle [value]=\"bedroom\" (click)=\"changeFilter()\">{{bedroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n <div class=\"features__bathrooms\">\r\n <h4 class=\"--title\">\r\n Baños\r\n </h4>\r\n <mat-button-toggle-group name=\"bathrooms\" aria-label=\"Bathrooms\" formControlName=\"bathrooms\">\r\n <ng-container *ngFor=\"let bathroom of bathroomsList\">\r\n <ng-template [ngIf]=\"bathroom === 0\" [ngIfElse]=\"bathroomNumber\">\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilter()\"\r\n class=\"features__bathrooms--unlimited\">\r\n Sin <br> límite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #bathroomNumber>\r\n <mat-button-toggle [value]=\"bathroom\" (click)=\"changeFilter()\">{{bathroom}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'LAND' && propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__parking-places\">\r\n <h4 class=\"--title\">\r\n Estacionamientos\r\n </h4>\r\n <mat-button-toggle-group name=\"parking_places\" aria-label=\"Parking Places\"\r\n formControlName=\"parkingPlaces\">\r\n <ng-container *ngFor=\"let parking of parkingPlacesList\">\r\n <ng-template [ngIf]=\"parking === 0\" [ngIfElse]=\"parkingNumber\">\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilter()\"\r\n class=\"features__parking-places--unlimited\">\r\n Sin <br> límite\r\n </mat-button-toggle>\r\n </ng-template>\r\n <ng-template #parkingNumber>\r\n <mat-button-toggle [value]=\"parking\" (click)=\"changeFilter()\">{{parking}}+\r\n </mat-button-toggle>\r\n </ng-template>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value !== 'INVESTMENT'\">\r\n <div class=\"features__surface\">\r\n <h4 class=\"--title\">\r\n Superficie\r\n </h4>\r\n <div class=\"--row\">\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>Área</mat-label>\r\n <mat-select formControlName=\"surface\" placeholder=\"Área\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilter()\">\r\n Sin límite\r\n </mat-option>\r\n <ng-container *ngFor=\"let surface of surfaceList\">\r\n <mat-option [value]=\"surface\" (click)=\"changeFilter()\">\r\n {{surface}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-button-toggle-group name=\"unit_surface\" aria-label=\"Unit surface\" formControlName=\"surfaceUnit\">\r\n <mat-button-toggle [value]=\"0\" (click)=\"changeFilter()\">m2</mat-button-toggle>\r\n <mat-button-toggle [value]=\"1\" (click)=\"changeFilter()\">sq ft</mat-button-toggle>\r\n </mat-button-toggle-group>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.value === 'INVESTMENT'\">\r\n <div class=\"feature investment\">\r\n <h4 class=\"--title\">Retorno de inversión</h4>\r\n <mat-form-field appearance=\"outline\" class=\"--col\">\r\n <mat-label>Porcentaje</mat-label>\r\n <mat-select formControlName=\"roi\" placeholder=\"Porcentaje\">\r\n <mat-option [value]=\"0\" (click)=\"changeFilter()\">\r\n Sin límite\r\n </mat-option>\r\n <ng-container *ngFor=\"let roi of roiList\">\r\n <mat-option [value]=\"roi\" (click)=\"changeFilter()\">\r\n {{roi}}%\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n </ng-template>\r\n <div class=\"amenities-container\" *ngIf=\"!hideAmenities\">\r\n <ng-template [ngIf]=\"propertyTypeSelected.amenities.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Amenidades\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let amenity of propertyTypeSelected.amenities\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(amenity)\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"\r\n [ngClass]=\"{'amenity--active': amenity.checked}\"></span>\r\n <span class=\"amenity__label\">{{amenity.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <ng-template [ngIf]=\"propertyTypeSelected.features.length > 0\">\r\n <div class=\"amenities\">\r\n <h4 class=\"--title\">\r\n Caracteristicas de la ubicación\r\n </h4>\r\n <div class=\"amenities__list\">\r\n <ng-container *ngFor=\"let feature of propertyTypeSelected.features\">\r\n <div class=\"amenities__amenity\" matRipple (click)=\"updateAmenity(feature)\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"\r\n [ngClass]=\"{'amenity--active': feature.checked}\"></span>\r\n <span class=\"amenity__label\">{{feature.name}}</span>\r\n </div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <div class=\"actions\">\r\n <ng-template [ngIf]=\"!isOPI\">\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"resetFilters()\">\r\n LIMPIAR\r\n </button>\r\n </ng-template>\r\n <button mat-flat-button type=\"submit\" class=\"apply-button\" color=\"primary\" (click)=\"applyFilters()\" [disabled]=\"totalProperties === 0\">\r\n VER {{totalProperties}} {{totalProperties === 1 ? 'PROPIEDAD' : 'PROPIEDADES'}}\r\n </button>\r\n </div>\r\n </div>\r\n <!--div class=\"actions\">\r\n <ng-template [ngIf]=\"!isOPI\" [ngIfElse]=\"closeButtonTemplate\">\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"saveSearchByFilters()\">\r\n GUARDAR\r\n </button>\r\n </ng-template>\r\n <ng-template #closeButtonTemplate>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\" (click)=\"close()\">CERRAR</button>\r\n </ng-template>\r\n <button mat-flat-button=\"\" type=\"button\" class=\"action__button\" color=\"primary\"\r\n (click)=\"resetFilters()\">LIMPIAR\r\n </button>\r\n </div-->\r\n</form>\r\n","styles":[":host{position:absolute;top:0;left:0;width:100%;height:100%;z-index:10;display:flex;background:var(--overlay);transition:250ms}.filters--opened{height:90%!important}@media screen and (max-width:600px){.filters--opened{width:100%!important;height:100%!important;top:0!important}}.filters{width:700px;height:auto;margin:auto;border-radius:16px;position:relative;overflow:hidden;transition:150ms}.filters .--padding{padding:16px 48px;box-sizing:border-box}.filters .--row{display:flex;justify-content:space-between;align-items:flex-start}.filters .--col{width:45%}.filters .--title{margin:16px 0}.filters .float-button-close{position:absolute;top:16px;right:16px;height:16px;border-radius:50%}.filters .apply-button{width:45%;border-radius:28px;height:40px;font-size:18px;font-weight:500}.filters .body{height:calc(100% - 36px);overflow-x:hidden;overflow-y:auto}.filters .header{display:flex;align-items:center;justify-content:space-around;margin-bottom:8px}.filters .listing-types{width:100%;border-radius:16px}.filters .listing-types mat-button-toggle{width:50%;height:36px}.filters ::ng-deep .listing-types mat-button-toggle button{height:36px}.filters ::ng-deep .listing-types mat-button-toggle button .mat-button-toggle-label-content{line-height:36px}.filters .currency ::ng-deep .mat-form-field-wrapper{padding:0}@media screen and (max-width:600px){.filters{width:100%;position:absolute;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;top:initial;bottom:0;left:0}.filters .--padding{padding:16px 24px}.filters .header{flex-direction:column}.filters .currency{width:70%;margin-bottom:8px}}.filters .offering-type-list{width:40%;border-radius:16px}.filters .offering-type-list mat-button-toggle{width:50%;height:36px}.filters ::ng-deep .offering-type-list mat-button-toggle button{height:36px}.filters ::ng-deep .offering-type-list mat-button-toggle button .mat-button-toggle-label-content{line-height:36px}.filters .property-type-list{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 9))[9];grid-template-columns:repeat(9,calc(100% / 9));-ms-grid-rows:(80px)[1];grid-template-rows:repeat(1,80px);border-radius:40px;padding:8px;box-sizing:border-box}@media screen and (max-width:600px){.filters .offering-type-list{width:70%}.filters .property-type-list{-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3));-ms-grid-rows:(80px)[3];grid-template-rows:repeat(3,80px)}}.filters .new-property-type-list{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 8))[8];grid-template-columns:repeat(8,calc(100% / 8));-ms-grid-rows:(80px)[1];grid-template-rows:repeat(1,80px);border-radius:40px;padding:8px;box-sizing:border-box}.filters .property-type-list .property-type-list__button{margin:auto;position:relative}.filters .property-type-list .property-type-list__button button{box-shadow:none}.filters .property-type-list .property-type-list__icon{width:24px;height:24px;font-size:24px}.filters .property-type-list .property-type-list__border{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;opacity:.7;border-radius:50%;box-sizing:border-box}.filters .property-type-list .property-type-list__border--active{padding:4px;border:2px solid;opacity:1!important}.filters .property-type-list .property-type-list__label{font-size:12px;display:block;margin:8px 0;text-align:center}.filters .property-type-list .property-type-list__divider{width:14%;height:2px;background:#707070;top:30%;position:absolute}.filters .property-type-list .property-type-list__divider--left{left:-9px}.filters .property-type-list .property-type-list__divider--right{right:-9px}@media screen and (max-width:600px){.filters .new-property-type-list{-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3));-ms-grid-rows:(80px)[3];grid-template-rows:repeat(3,80px)}.filters .property-type-list .property-type-list__divider{width:60%}.filters .property-type-list .property-type-list__divider--left{left:-38px}.filters .property-type-list .property-type-list__divider--right{right:-38px}}.filters .new-property-type-list .property-type-list__button{margin:auto;position:relative}.filters .new-property-type-list .property-type-list__button button{box-shadow:none}.filters .new-property-type-list .property-type-list__icon{width:24px;height:24px;font-size:24px}.filters .new-property-type-list .property-type-list__border{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;margin:auto;opacity:.7;border-radius:50%;box-sizing:border-box}.filters .new-property-type-list .property-type-list__border--active{padding:4px;border:2px solid;opacity:1!important}.filters .new-property-type-list .property-type-list__label{font-size:12px;display:block;margin:8px 0;text-align:center}.filters .new-property-type-list .property-type-list__divider{width:14%;height:2px;background:#707070;top:30%;position:absolute}.filters .new-property-type-list .property-type-list__divider--left{left:-9px}.filters .new-property-type-list .property-type-list__divider--right{right:-9px}@media screen and (max-width:600px){.filters .new-property-type-list .property-type-list__divider{width:60%}.filters .new-property-type-list .property-type-list__divider--left{left:-38px}.filters .new-property-type-list .property-type-list__divider--right{right:-38px}}.filters .all{width:100%;margin:8px 0}.filters .all .all__button{margin:0 40%;width:20%;border-radius:16px;background:0 0}.filters .budget{display:flex}.filters .budget mat-form-field{margin-right:8px;width:calc(100% / 2 - 8px)}.filters .features{display:-ms-grid;display:grid;-ms-grid-columns:(50%)[2];grid-template-columns:repeat(2,50%);-ms-grid-rows:(auto)[2];grid-template-rows:repeat(2,auto)}@media screen and (max-width:600px){.filters .all .all__button{width:50%;margin:0 25%}.filters .features{display:block}.filters .amenities-container{flex-direction:column}}.filters .features .features__bathrooms mat-button-toggle-group,.filters .features .features__bedrooms mat-button-toggle-group,.filters .features .features__parking-places mat-button-toggle-group{width:calc(100% - 16px);border:none}.filters .features .features__bathrooms mat-button-toggle-group mat-button-toggle,.filters .features .features__bedrooms mat-button-toggle-group mat-button-toggle,.filters .features .features__parking-places mat-button-toggle-group mat-button-toggle{border-radius:50%;margin:4px auto;box-shadow:0 0 4px;width:18%}.filters .features .features__bedrooms--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__bathrooms--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__parking-places--unlimited ::ng-deep .mat-button-toggle-label-content{line-height:16px;padding:8px;font-size:12px}.filters .features .features__surface mat-button-toggle-group{margin-top:6px;margin-right:16px;border:24px}.filters .amenities-container{width:100%;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3;display:flex}.filters .amenities{width:50%}@media screen and (max-width:600px){.filters .amenities{width:100%}}.filters .amenities__amenity{width:calc(100% / 3 - 24px);height:120px;border-radius:8px;padding:8px;display:inline-flex;flex-direction:column;align-items:center;box-sizing:border-box;margin:0 8px 8px 0;cursor:pointer}.filters .amenity__icon{display:block;width:24px;height:24px;margin:8px auto;font-size:24px;padding:8px;border-radius:50%}.filters .amenity__label{width:100%;display:block;text-align:center;font-size:12px;margin:auto}.filters .actions{display:flex;position:absolute;bottom:16px;width:100%;justify-content:space-around}.filters .actions .action__button{width:45%;border-radius:28px;height:40px;font-size:18px;font-weight:500}"]}]}],"members":{"utils":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":36,"character":3}}]}],"newFilters":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":37,"character":3}}]}],"totalProperties":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":38,"character":3}}]}],"hideAmenities":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":39,"character":3}}]}],"filterChange":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":40,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Optional","line":62,"character":5}},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":62,"character":17},"arguments":[{"__symbolic":"reference","name":"ɵa"}]}],null,null,null,null,null],"parameters":[{"__symbolic":"reference","name":"boolean"},{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":63,"character":21},{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":64,"character":18},{"__symbolic":"reference","name":"FiltersService"},{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":66,"character":26},{"__symbolic":"reference","name":"CurrencyConverterService"}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"open":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"changePropertyType":[{"__symbolic":"method"}],"changeFilter":[{"__symbolic":"method"}],"changeOffering":[{"__symbolic":"method"}],"changeCurrency":[{"__symbolic":"method"}],"changePrice":[{"__symbolic":"method"}],"updateAmenity":[{"__symbolic":"method"}],"saveSearchByFilters":[{"__symbolic":"method"}],"applyFilters":[{"__symbolic":"method"}],"resetFilters":[{"__symbolic":"method"}],"buildForm":[{"__symbolic":"method"}],"updateFormByFilters":[{"__symbolic":"method"}],"getFilterByForm":[{"__symbolic":"method"}],"initComponent":[{"__symbolic":"method"}],"initUtils":[{"__symbolic":"method"}],"setPrices":[{"__symbolic":"method"}],"applyAmenities":[{"__symbolic":"method"}],"createPrices":[{"__symbolic":"method"}],"initComponentByPropertyType":[{"__symbolic":"method"}],"updateFiltersSaved":[{"__symbolic":"method"}],"restoreLastFiltersSaved":[{"__symbolic":"method"}],"openComponent":[{"__symbolic":"method"}],"listenChangesOnForm":[{"__symbolic":"method"}]}},"ɵc":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":34},"arguments":["PROPERTY MODULE CONFIG"]},"ɵd":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":9,"character":21}]}],"open":[{"__symbolic":"method"}]}},"ɵe":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":8,"character":31}]}],"open":[{"__symbolic":"method"}]}},"ɵf":{"__symbolic":"interface"},"ɵg":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":12,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MatDialog","line":16,"character":21}]}],"open":[{"__symbolic":"method"}]}},"ɵh":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Injectable","line":5,"character":1}}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/material","name":"MatDialog","line":9,"character":21}]}],"open":[{"__symbolic":"method"}]}},"ɵi":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":23,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":25,"character":4},[{"__symbolic":"reference","module":"@angular/material/form-field","name":"MatFormFieldModule","line":11,"character":2},{"__symbolic":"reference","module":"@angular/material/input","name":"MatInputModule","line":12,"character":2},{"__symbolic":"reference","module":"@angular/material/datepicker","name":"MatDatepickerModule","line":13,"character":2},{"__symbolic":"reference","module":"@angular/material/button","name":"MatButtonModule","line":14,"character":2},{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":15,"character":2}]],"declarations":[[{"__symbolic":"reference","name":"ɵj"},{"__symbolic":"reference","name":"ɵl"}]],"entryComponents":[{"__symbolic":"reference","name":"ɵl"}],"exports":[{"__symbolic":"reference","name":"ɵj"}]}]}],"members":{}},"ɵj":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":19,"character":1},"arguments":[{"selector":"lib-property-custom-datepicker","providers":[{"provide":{"__symbolic":"reference","module":"@angular/forms","name":"NG_VALUE_ACCESSOR","line":25,"character":15},"useExisting":{"__symbolic":"reference","name":"ɵj"},"multi":true},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":30,"character":15},"useValue":{"parse":{"dateInput":"LL"},"display":{"dateInput":"YYYY","monthYearLabel":"YYYY","dateA11yLabel":"YYYY","monthYearA11yLabel":"YYYY"}}},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":34,"character":15},"useClass":{"__symbolic":"reference","name":"ɵk"}}],"template":"<mat-form-field appearance=\"outline\">\r\n <mat-label>Año</mat-label>\r\n <input matInput=\"\" title=\"Build in\" [matDatepicker]=\"dt1\" [max]=\"currentYear\"\r\n placeholder=\"Seleccione el año de construcción\" [value]=\"year\" disabled>\r\n <mat-datepicker-toggle matSuffix [for]=\"dt1\"></mat-datepicker-toggle>\r\n <mat-datepicker #dt1 startView=\"multi-year\" [disabled]=\"false\" [calendarHeaderComponent]=\"customHeader\"\r\n (yearSelected)=\"onYearSelected($event, dt1)\"></mat-datepicker>\r\n</mat-form-field>\r\n","styles":[""]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Injector","line":47,"character":23}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"onYearSelected":[{"__symbolic":"method"}],"registerOnChange":[{"__symbolic":"method"}],"registerOnTouched":[{"__symbolic":"method"}],"writeValue":[{"__symbolic":"method"}]}},"ɵk":{"__symbolic":"class","extends":{"__symbolic":"reference","module":"@angular/material/core","name":"NativeDateAdapter","line":2,"character":39},"members":{"format":[{"__symbolic":"method"}]}},"ɵl":{"__symbolic":"class","arity":1,"decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":6,"character":1},"arguments":[{"selector":"lib-property-custom-datepicker-header","template":"<div class=\"header\">\r\n <span>{{ periodLabel }}</span>\r\n <span>\r\n <button mat-icon-button (click)=\"previousClicked()\">\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </button>\r\n <button mat-icon-button (click)=\"nextClicked()\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n </span>\r\n</div>\r\n","styles":[".header{height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;display:flex;justify-content:space-between;align-items:center;padding:8px;box-sizing:border-box}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[null,null,[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":17,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":17,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"MatCalendar","module":"@angular/material/datepicker","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":35,"context":{"typeName":"D"},"module":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker-header/custom-datepicker-header.component"}]},{"__symbolic":"reference","name":"DateAdapter","module":"@angular/material/core","arguments":[{"__symbolic":"error","message":"Could not resolve type","line":16,"character":73,"context":{"typeName":"D"},"module":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker-header/custom-datepicker-header.component"}]},{"__symbolic":"reference","module":"@angular/material/core","name":"MatDateFormats","line":17,"character":52},{"__symbolic":"reference","module":"@angular/core","name":"ChangeDetectorRef","line":17,"character":73}]}],"ngOnDestroy":[{"__symbolic":"method"}],"previousClicked":[{"__symbolic":"method"}],"nextClicked":[{"__symbolic":"method"}]}},"ɵm":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-property-details","template":"<div class=\"info\" *ngIf=\"property\">\r\n <h1 class=\"title\">\r\n <span class=\"title__address\">\r\n <!--\r\n Address visible\r\n Street #Ext Int. Lt Mz, Colony, PostalCode, Township, City, State, Country\r\n Address hidden\r\n Colony, PostalCode, Township, City, State, Country\r\n -->\r\n <ng-template [ngIf]=\"property.address.visible\">\r\n {{property.address.street}}\r\n <span *ngIf=\"property.address.outdoorNumber\">#{{property.address.outdoorNumber}} </span>\r\n <span *ngIf=\"property.address.interiorNumber\">Int. {{property.address.interiorNumber}} </span>\r\n <span *ngIf=\"property.address.lt\">Lt. {{property.address.lt}} </span>\r\n <span *ngIf=\"property.address.mz\">Mz. {{property.address.mz}} </span>\r\n </ng-template>\r\n <span *ngIf=\"property.address.colony\">{{property.address.colony}}, </span>\r\n <span *ngIf=\"property.address.postalCode\">{{property.address.postalCode}}, </span>\r\n <span *ngIf=\"property.address.township\">{{property.address.township}}, </span>\r\n <span *ngIf=\"property.address.city\">{{property.address.city}}, </span>\r\n <span *ngIf=\"property.address.state\">{{property.address.state}}, </span>\r\n <span *ngIf=\"property.address.country\">{{property.address.country}}</span>\r\n <span *ngIf=\"!property.address.visible\" class=\"address-street__hidden\"><br> Dirección aproximada</span>\r\n </span>\r\n <span class=\"title__property-offering\">\r\n <span class=\"title__property-offering-price\">\r\n <ng-template [ngIf]=\"currencyConverted\" [ngIfElse]=\"realPrice\">\r\n {{currencyConverted.price | currency : '' : 'symbol' : '1.0-0'}} {{currencyConverted.currency}}\r\n <br>\r\n <span class=\"property-offering-price__info-currency\"><mat-icon class=\"info-currency__icon\">info</mat-icon> Precio convertido <br> aproximado</span>\r\n </ng-template>\r\n <ng-template #realPrice>\r\n {{property.price | currency : '' : 'symbol' : '1.0-0'}} {{property.currency}}\r\n </ng-template>\r\n </span>\r\n <ng-template [ngIf]=\"currencyConverted\">\r\n <br>\r\n <span>{{property.price | currency : '' : 'symbol' : '1.0-0'}} {{property.currency}}</span>\r\n <br>\r\n <span class=\"property-offering-price__info-currency\"><mat-icon class=\"info-currency__icon\">info</mat-icon> Precio publicado</span>\r\n </ng-template>\r\n <br>\r\n <div class=\"div__title-sku\">\r\n <div>\r\n <span\r\n class=\"ic-property-{{propertyType.iconName}}\">\r\n </span>{{property.type | propertyType}} {{property.offering | offeringType}}\r\n </div>\r\n <ng-template [ngIf]=\"property.sku !== '' && property.sku\">\r\n <span class=\"title__sku\">\r\n SKU: {{property.sku}}\r\n </span>\r\n </ng-template>\r\n </div>\r\n </span>\r\n </h1>\r\n <hr class=\"divider\">\r\n <section class=\"features\">\r\n <ng-template [ngIf]=\"property.features.bedrooms && property.features.bedrooms > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-bedroom\"></span>\r\n <span class=\"features__item-text\">{{property.features.bedrooms}}</span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.bathrooms && property.features.bathrooms > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-bathroom\"></span>\r\n <span class=\"features__item-text\">{{property.features.bathrooms}}</span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.mainArea && property.features.mainArea > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-surface\"></span>\r\n <span class=\"features__item-text\">\r\n {{property.features.mainArea}}\r\n <span>m<sup>2</sup></span>\r\n </span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.parkingSpaces && property.features.parkingSpaces > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-parking\"></span>\r\n <span class=\"features__item-text\">{{property.features.parkingSpaces}}</span>\r\n </p>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.features.roi && property.features.roi > 0\">\r\n <p class=\"features__item\">\r\n <span class=\"features__item-icon ic-features-roi\"></span>\r\n <span class=\"features__item-text\">{{property.features.roi}}</span>\r\n </p>\r\n </ng-template>\r\n </section>\r\n <section class=\"description\">\r\n <h2 class=\"sub-title\">\r\n Descripción\r\n </h2>\r\n <p class=\"description__body\">\r\n {{property.description}}\r\n </p>\r\n </section>\r\n <ng-template [ngIf]=\"property.externalLink && visibleTour\">\r\n <hr class=\"divider\">\r\n <section class=\"external-link\">\r\n <h2 class=\"sub-title\">\r\n Tour virtual\r\n </h2>\r\n <iframe class=\"external-link__body\" [src]=\"getTourUrl()\"></iframe>\r\n </section>\r\n </ng-template>\r\n <ng-template [ngIf]=\"record\">\r\n <hr class=\"divider\">\r\n <section class=\"agreement\">\r\n <h2 class=\"sub-title\">\r\n Contrato\r\n </h2>\r\n <p class=\"agreement__body\">\r\n <span class=\"agreement__body-filed\">\r\n <span class=\"agreement__body-field-title\">\r\n Exclusividad de contrato\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{property.propertyInfo.exclusivity ? 'Si' : 'No'}}\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\" *ngIf=\"property.propertyInfo.listingAgreementStartDate\">\r\n <span class=\"agreement__body-field-title\">\r\n Fecha de inicio de contrato\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{property.propertyInfo.listingAgreementStartDate | libFormatDate : true : 'dd/MM/yyyy'}}\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\" *ngIf=\"agreementEndDate\">\r\n <span class=\"agreement__body-field-title\">\r\n Fecha de termino de contrato\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{agreementEndDate | libFormatDate : true : 'dd/MM/yyyy'}}\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\" *ngIf=\"property.propertyInfo.commission\">\r\n <span class=\"agreement__body-field-title\">\r\n Comisión\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n <span *ngIf=\"property.offering === 'RENT'\">{{property.propertyInfo.commission}} meses</span>\r\n <span *ngIf=\"property.offering === 'SALE'\">{{property.propertyInfo.commission * 100}}%</span>\r\n </span>\r\n </span>\r\n <span class=\"agreement__body-filed\">\r\n <span class=\"agreement__body-field-title\">\r\n Anunciada en el {{mlsLabel || 'MLS'}}\r\n </span>\r\n <span class=\"agreement__body-field-content\">\r\n {{property.propertyInfo.mls ? 'Si' : 'No'}}\r\n </span>\r\n </span>\r\n </p>\r\n </section>\r\n <hr class=\"divider\">\r\n <section class=\"private-features\">\r\n <h2 class=\"sub-title\">\r\n Caracteristicas\r\n </h2>\r\n <p class=\"private-features__body\">\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.propertyInfo.lowestPrice\">\r\n <span class=\"private-features__body-field-title\">\r\n Precio minimo\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.propertyInfo.lowestPrice | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.features.condominiumFeePrice\">\r\n <span class=\"private-features__body-field-title\">\r\n Cuota de mantenimiento\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.features.condominiumFeePrice | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.propertyInfo.leaseTransferPrice\">\r\n <span class=\"private-features__body-field-title\">\r\n Traspaso\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.propertyInfo.leaseTransferPrice | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.features.builtIn\">\r\n <span class=\"private-features__body-field-title\">\r\n Año de construcción\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.features.builtIn}}\r\n </span>\r\n </span>\r\n <span class=\"private-features__body-filed\" *ngIf=\"property.features.roi\">\r\n <span class=\"private-features__body-field-title\">\r\n Retorno de inversión\r\n </span>\r\n <span class=\"private-features__body-field-content\">\r\n {{property.features.roi}}\r\n </span>\r\n </span>\r\n </p>\r\n </section>\r\n <ng-template [ngIf]=\"property.propertyInfo.consumerReporting && property.propertyInfo.consumerReporting !== 0\">\r\n <hr class=\"divider\">\r\n <section class=\"buro-rentas\">\r\n <h2 class=\"sub-title\">\r\n Buró Rentas\r\n </h2>\r\n <p class=\"private-features__body\" *ngIf=\"property.propertyInfo.consumerReporting === 1\">Requerir certificado de\r\n fiabiidad\r\n </p>\r\n <p class=\"private-features__body\" *ngIf=\"property.propertyInfo.consumerReporting === 2\">Requerir poliza de\r\n arrendamiento\r\n </p>\r\n </section>\r\n </ng-template>\r\n <ng-template [ngIf]=\"property.propertyInfo.notes\">\r\n <hr class=\"divider\">\r\n <section class=\"notes\">\r\n <h2 class=\"sub-title\">\r\n Notas\r\n </h2>\r\n <p class=\"notes__body\">{{property.propertyInfo.notes}}</p>\r\n </section>\r\n </ng-template>\r\n </ng-template>\r\n <hr class=\"divider\">\r\n <section class=\"indications\">\r\n <h2 class=\"sub-title\">\r\n Indicaciones\r\n </h2>\r\n <div class=\"indications__body\">\r\n <a class=\"indications__body-item-link\"\r\n href=\"https://www.google.com/maps/dir/?api=1&destination={{property.address.location.latitude}},{{property.address.location.longitude}}\"\r\n [target]=\"'_blank'\">\r\n <p matRipple class=\"indications__body-item\">\r\n <span class=\"indications__body-item-icon ic-component-property-marker\"></span>\r\n <span class=\"indications__body-item-text\">¿COMO LLEGAR?</span>\r\n </p>\r\n </a>\r\n <a class=\"indications__body-item-link\"\r\n href=\"https://www.google.com/maps/@?api=1&map_action=pano&viewpoint={{property.address.location.latitude}},{{property.address.location.longitude}}\"\r\n [target]=\"'_blank'\">\r\n <p matRipple class=\"indications__body-item\">\r\n <span class=\"indications__body-item-icon ic-component-property-streetview\"></span>\r\n <span class=\"indications__body-item-text\">VISTA DE LA CALLE</span>\r\n </p>\r\n </a>\r\n </div>\r\n </section>\r\n <hr class=\"divider\">\r\n <ng-template [ngIf]=\"amenities && amenities.length > 0\">\r\n <section class=\"amenities\">\r\n <h2 class=\"sub-title\">Amenidades</h2>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let amenity of amenities\">\r\n <span matRipple class=\"list-amenities__amenity\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"></span>\r\n <span class=\"amenity__text\">{{amenity.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </section>\r\n </ng-template>\r\n <ng-template [ngIf]=\"features && features.length > 0\">\r\n <section class=\"amenities\">\r\n <h2 class=\"sub-title\">Caracteristicas de la zona</h2>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let feature of features\">\r\n <span matRipple class=\"list-amenities__amenity\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"></span>\r\n <span class=\"amenity__text\">{{feature.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </section>\r\n </ng-template>\r\n</div>\r\n","styles":[":host{display:block;width:100%}.divider{border:none;border-bottom:1px solid}.title{display:flex;font-size:18px;color:#707070;font-weight:400}.sub-title{margin:0;font-size:18px;padding:0 16px 16px 0}.title>span:first-child{width:60%}@media screen and (max-width:600px){.title{flex-direction:column}.title>span:first-child{width:100%}}.title>span:last-child{width:40%}.div__title-sku{display:flex;flex-direction:column}.title__sku{margin-bottom:2%}.address-street__hidden{font-size:12px}.title__property-offering{text-align:right}@media screen and (max-width:600px){.title>span:last-child{width:100%}.title__property-offering{text-align:left;margin:16px 0}}.title__property-offering-price{font-size:26px;font-weight:700}.property-offering-price__info-currency{font-size:12px;display:inline-block;margin:4px 0}.info-currency__icon{width:12px;height:12px;font-size:12px}.features{padding:8px 0;display:flex;align-items:center}.features__item{width:auto;margin:0 24px 0 0;display:flex;justify-content:center;align-items:center;position:relative}.features__item:last-child:after{content:none}.features__item-text{font-size:16px;display:inline-block}.features__item-icon{display:inline-block;font-size:24px;width:24px;height:24px;margin-right:8px}.agreement,.buro-rentas,.description,.external-link,.indications,.notes,.private-features{display:flex;padding:16px 0}.indications__body{display:flex}.indications__body-item-link{color:inherit;text-decoration:none}.indications__body-item{padding:8px;margin:0 16px 0 0;border-radius:8px;cursor:pointer}.indications__body-item-icon{margin:auto;padding:8px;border-radius:8px;display:block;font-size:24px;width:24px;height:24px}.indications__body-item-text{display:block;text-align:center;font-size:12px;margin:6px 0}.agreement__body,.description__body,.notes__body,.private-features__body{width:75%;margin:0 0 0 auto}@media screen and (max-width:600px){.agreement,.buro-rentas,.description,.external-link,.indications,.notes,.private-features{flex-direction:column;align-items:start}.agreement__body,.description__body,.notes__body,.private-features__body{width:100%;margin:0}}.external-link__body{width:75%;height:280px;border-radius:16px;margin-left:20px}@media screen and (max-width:600px){.external-link__body{width:100%;margin:0}}.agreement__body-filed,.private-features__body-filed{display:block;padding:8px 0}.agreement__body-field-content,.agreement__body-field-title,.private-features__body-field-content,.private-features__body-field-title{width:50%;display:inline-block}.amenities__list{width:50%;display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}.amenities,.attributes{width:50%;display:inline-block}@media screen and (max-width:600px){.amenities,.attributes{width:100%;display:block}}.amenities__list-amenities{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}.list-amenities__amenity{display:flex;flex-direction:column;align-items:center;cursor:pointer;padding:4px;box-sizing:border-box;border-radius:8px;text-align:center}.amenity__icon{width:24px;height:24px;font-size:24px;border-radius:50%;padding:8px;display:block;margin:8px}.amenity__text{padding:8px;box-sizing:border-box;display:block;font-size:12px}"]}]}],"members":{"record":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"currencyConverted":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"property":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"visibleTour":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/platform-browser","name":"DomSanitizer","line":26,"character":24}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getTourUrl":[{"__symbolic":"method"}],"validateAgreement":[{"__symbolic":"method"}],"searchPropertyType":[{"__symbolic":"method"}],"createAmenities":[{"__symbolic":"method"}],"createFeatures":[{"__symbolic":"method"}]}},"ɵn":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":54,"character":1},"arguments":[{"selector":"lib-property-editor","providers":[{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":59,"character":14},"useValue":"es-MX"},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"DateAdapter","line":60,"character":14},"useClass":{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MomentDateAdapter","line":60,"character":37},"deps":[{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_LOCALE","line":60,"character":63},{"__symbolic":"reference","module":"@angular/material-moment-adapter","name":"MAT_MOMENT_DATE_ADAPTER_OPTIONS","line":60,"character":80}]},{"provide":{"__symbolic":"reference","module":"@angular/material/core","name":"MAT_DATE_FORMATS","line":61,"character":14},"useValue":{"parse":{"dateInput":"L"},"display":{"dateInput":"L","monthYearLabel":"MMM YYYY","dateA11yLabel":"L","monthYearA11yLabel":"MMMM YYYY"}}}],"template":"<form class=\"editor\" [formGroup]=\"propertyForm\" autocomplete=\"off\">\r\n <div class=\"offering\">\r\n <p class=\"section_label\"><span>Tipo de oferta</span> <span>Información Pública</span></p>\r\n <mat-button-toggle-group class=\"offering__toggle\" formControlName=\"offering\">\r\n <ng-container *ngFor=\"let offering of offeringTypeList\">\r\n <mat-button-toggle\r\n [disabled]=\"(propertyType === 'ROOM' && offering.value === 'SALE') || (propertyType === 'INVESTMENT' && offering.value === 'RENT')\"\r\n [value]=\"offering.value\">{{offering.name}}</mat-button-toggle>\r\n </ng-container>\r\n </mat-button-toggle-group>\r\n </div>\r\n <ng-template [ngIf]=\"propertyForm.controls['offering'].value === 'RENT'\">\r\n <div class=\"direct-debit\">\r\n <mat-checkbox class=\"direct-debit__check-box\" formControlName=\"consumerReporting\">Domiciliación</mat-checkbox>\r\n <mat-radio-group class=\"direct-debit__radio-group\" aria-label=\"Select an option\"\r\n formControlName=\"consumerReportingOption\"\r\n *ngIf=\"propertyForm.controls['consumerReporting'].value\">\r\n <mat-radio-button class=\"direct-debit__radio-button\" [value]=\"1\">Requerir certificado <br> de fiabilidad\r\n </mat-radio-button>\r\n <mat-radio-button class=\"direct-debit__radio-button\" [value]=\"2\">Requerir poliza <br> de arrendamiento\r\n </mat-radio-button>\r\n <p>\r\n Para mayor información de este servicio visite <br>\r\n <a href=\"https://www.burorentas.mx\">\r\n www.burorentas.mx\r\n </a>\r\n </p>\r\n <mat-error *ngIf=\"propertyForm.controls['consumerReportingOption'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-radio-group>\r\n </div>\r\n </ng-template>\r\n <div class=\"pricing\">\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\">\r\n <mat-label>Moneda</mat-label>\r\n <mat-select formControlName=\"currency\">\r\n <ng-container *ngFor=\"let currency of currencyList\">\r\n <mat-option [value]=\"currency.type\">{{currency.type}}</mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"propertyForm.controls['currency'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\">\r\n <mat-label>Precio deseado</mat-label>\r\n <input libFormatPrice autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"Max price\" formControlName=\"price\"\r\n [control]=\"propertyForm.controls['price']\" [currency]=\"propertyForm.get('currency').value\">\r\n <mat-error *ngIf=\"propertyForm.controls['price'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['price'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\">\r\n <mat-label>Precio mínimo</mat-label>\r\n <input libFormatPrice autocomplete=\"off\" matInput=\"\" type=\"text\" title=\"Min price\" formControlName=\"minPrice\"\r\n [control]=\"propertyForm.controls['minPrice']\" [currency]=\"propertyForm.get('currency').value\">\r\n <mat-error *ngIf=\"propertyForm.controls['minPrice'].hasError('minPriceInvalid')\">\r\n Este valor debe ser menor al precio deseado\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['minPrice'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n </mat-form-field>\r\n <div class=\"pricing__maintenance-fee\" *ngIf=\"propertyType !== 'INVESTMENT' && propertyType !== 'LAND'\">\r\n <mat-checkbox formControlName=\"maintenance\">Tiene cuota de mantenimiento\r\n </mat-checkbox>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\"\r\n *ngIf=\"propertyForm.controls['maintenance'].value\">\r\n <mat-label>Cuota de mantenimiento</mat-label>\r\n <input autocomplete=\"off\" matInput type=\"text\" libFormatPrice title=\"Price\"\r\n [control]=\"propertyForm.controls['maintenancePrice']\"\r\n [currency]=\"propertyForm.get('currency').value\"\r\n formControlName=\"maintenancePrice\">\r\n <mat-error *ngIf=\"propertyForm.controls['maintenancePrice'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['maintenancePrice'].hasError('required')\">\r\n Esta campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"sku__maintenance-fee\">\r\n <mat-form-field appearance=\"outline\" class=\"sku__form-field\">\r\n <mat-label>SKU</mat-label>\r\n <input matInput=\"\" title=\"SKU\" formControlName=\"sku\">\r\n <mat-error *ngIf=\"propertyForm.controls['sku'].hasError('pattern')\">\r\n SKU invalida\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <ng-template [ngIf]=\"propertyForm.controls['offering'].value === 'RENT' && propertyType !== 'INVESTMENT'\">\r\n <div class=\"pricing__maintenance-fee\" *ngIf=\"propertyType !== 'ROOM'\">\r\n <mat-checkbox formControlName=\"transfer\">Traspaso\r\n </mat-checkbox>\r\n <mat-form-field appearance=\"outline\" class=\"pricing__form-field\"\r\n *ngIf=\"propertyForm.controls['transfer'].value\">\r\n <mat-label>Monto por traspaso</mat-label>\r\n <input autocomplete=\"off\" matInput type=\"text\" libFormatPrice\r\n title=\"Price\" [control]=\"propertyForm.controls['transferPrice']\"\r\n [currency]=\"propertyForm.get('currency').value\"\r\n formControlName=\"transferPrice\">\r\n <mat-error *ngIf=\"propertyForm.controls['transferPrice'].hasError('format')\">\r\n Debe ingresar solo numeros\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['transferPrice'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </ng-template>\r\n </div>\r\n <hr>\r\n <div class=\"address\" formGroupName=\"address\">\r\n <p class=\"section_label\">\r\n Dirección\r\n <button mat-flat-button=\"\" type=\"button\" color=\"primary\" (click)=\"goToSelectAddress()\"\r\n class=\"address__label-button\">\r\n COLOCAR UBICACIÓN EN EL MAPA\r\n </button>\r\n </p>\r\n <div class=\"address__body\">\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>País</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Country\" formControlName=\"country\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Código postal</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Postal code\" formControlName=\"postalCode\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Entidad Federativa</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"State\" formControlName=\"state\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Ciudad</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"City\" formControlName=\"city\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Alcaldia/Municipio</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Township\" formControlName=\"township\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Colonia</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Colony\" formControlName=\"colony\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Vialidad</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Street\" formControlName=\"street\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Número exterior</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"No exterior\" formControlName=\"extNumber\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Número interior</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"No interior\" formControlName=\"intNumber\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Manzana</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Mz\" formControlName=\"mz\" type=\"number\">\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"address__form-field\">\r\n <mat-label>Lote</mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Lt\" formControlName=\"lt\" type=\"number\">\r\n </mat-form-field>\r\n <div class=\"address__visibility\">\r\n <p class=\"section_label\">\r\n Ubicación en el mapa\r\n </p>\r\n <div class=\"address__visibility-body\">\r\n <mat-radio-group formControlName=\"visible\" class=\"address__visibility-radio-group\">\r\n <mat-radio-button class=\"visibility-radio-group__button\" [value]=\"true\">\r\n Mostrar dirección exacta\r\n </mat-radio-button>\r\n <mat-radio-button class=\"visibility-radio-group__button\" [value]=\"false\">\r\n Mostrar dirección aproximada\r\n </mat-radio-button>\r\n </mat-radio-group>\r\n <p class=\"visibility__about\">\r\n <span class=\"visibility__about-label\" [ngStyle]=\"{'font-weight': propertyForm.get('address.visible').value ? 'bold' : 'normal'}\">\r\n Mostrar dirección exacta: muestra el <br> lugar preciso en el mapa con un marcador.\r\n </span>\r\n <span class=\"visibility__about-label\" [ngStyle]=\"{'font-weight': !propertyForm.get('address.visible').value ? 'bold' : 'normal'}\">\r\n Mostrar dirección aproximada: reacomoda la ubicación en un radio de 50 metros, ocultando calle y número.\r\n </span>\r\n </p>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <hr>\r\n <!-- Features [START], Only visible for all property types except INVESTMENT -->\r\n <div class=\"features\">\r\n <p class=\"section_label\">Caracteristicas</p>\r\n <div class=\"features__body\">\r\n <div class=\"features__item\" *ngIf=\"propertyType === 'HOUSE' || propertyType === 'APARTMENT'\">\r\n <span class=\"label__icon ic-features-bedroom\"></span>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Habitaciones</mat-label>\r\n <input autocomplete=\"off\" matInput title=\"Bedrooms\" formControlName=\"bedrooms\" type=\"number\">\r\n <mat-error *ngIf=\"propertyForm.controls['bedrooms'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['bedrooms'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"features__item features-item-bathrooms\"\r\n *ngIf=\"propertyType === 'HOUSE' || propertyType === 'APARTMENT' || propertyType === 'ROOM'\">\r\n <span class=\"label__icon ic-features-bathroom\"></span>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Baños</mat-label>\r\n <input autocomplete=\"off\" title=\"Bathrooms\" matInput formControlName=\"bathrooms\" type=\"number\">\r\n <mat-error *ngIf=\"propertyForm.controls['bathrooms'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['bathrooms'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"features__item features-item-parking-spaces\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <span class=\"label__icon ic-features-parking\"></span>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Estacionamientos</mat-label>\r\n <input autocomplete=\"off\" title=\"Parking spaces\" matInput formControlName=\"parkingSpaces\" type=\"number\">\r\n <mat-error *ngIf=\"propertyForm.controls['parkingSpaces'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <!-- Surfaces [START] Only visible for property type distinct INVESTMENT-->\r\n <div class=\"features__item features-item-surface\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <p class=\"features-item__label\">\r\n <span class=\"label__icon ic-features-surface\"></span>\r\n Superficie\r\n </p>\r\n <mat-radio-group class=\"features-item__radio-group\" formControlName=\"unit\">\r\n <mat-radio-button class=\"features-item__radio-button\" [value]=\"'M2'\">m<sup>2</sup></mat-radio-button>\r\n <mat-radio-button class=\"features-item__radio-button\" [value]=\"'FT2'\">sq ft</mat-radio-button>\r\n </mat-radio-group>\r\n <!--\r\n Build area [START]\r\n Only visible for HOUSE, APARTMENT, ROOM, OFFICE, RETAIL, WAREHOUSE and LAND property types\r\n -->\r\n <mat-form-field appearance=\"outline\"\r\n *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <mat-label>\r\n <ng-container [ngSwitch]=\"propertyType\">\r\n <span *ngSwitchDefault>Construida</span>\r\n <span *ngSwitchCase=\"'OFFICE'\">De Oficinas</span>\r\n <span *ngSwitchCase=\"'LAND'\">De Terreno</span>\r\n </ng-container>\r\n </mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Surface build\" formControlName=\"mainArea\" type=\"number\">\r\n <span matSuffix>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'M2'\">m<sup>2</sup></span>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'FT2'\">sq ft</span>\r\n </span>\r\n <mat-error *ngIf=\"propertyForm.controls['mainArea'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['mainArea'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Build area [END] -->\r\n <!--\r\n Secondary build area [START]\r\n Only visible for HOUSE, and WAREHOUSE\r\n -->\r\n <mat-form-field appearance=\"outline\"\r\n *ngIf=\"propertyType === 'HOUSE' || propertyType === 'WAREHOUSE'\">\r\n <mat-label>\r\n <ng-container [ngSwitch]=\"propertyType\">\r\n <span *ngSwitchCase=\"'HOUSE'\">De terreno</span>\r\n <span *ngSwitchCase=\"'WAREHOUSE'\">De oficinas</span>\r\n </ng-container>\r\n </mat-label>\r\n <input autocomplete=\"off\" matInput=\"\" title=\"Surface land build\" formControlName=\"secondaryArea\" type=\"number\">\r\n <span matSuffix>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'M2'\">m<sup>2</sup></span>\r\n <span *ngIf=\"propertyForm.controls['unit'].value === 'FT2'\">sq ft</span>\r\n </span>\r\n <mat-error *ngIf=\"propertyForm.controls['secondaryArea'].hasError('pattern')\">\r\n Valor invalido\r\n </mat-error>\r\n </mat-form-field>\r\n <!-- Secondary build area [END]-->\r\n </div>\r\n <!-- Surfaces [END]-->\r\n <!-- Year build [START], Only visible for HOUSE, APARTMENT, ROOM, OFFICE, RETAIL and WAREHOUSE property types -->\r\n <div class=\"features__item\"\r\n *ngIf=\"propertyType === 'HOUSE' || propertyType === 'APARTMENT' || propertyType === 'ROOM' || propertyType === 'OFFICE' || propertyType === 'RETAIL' || propertyType === 'WAREHOUSE'\">\r\n <p class=\"features-item__label\">\r\n <span class=\"label__icon\"><mat-icon>event</mat-icon></span>\r\n Año de construcción\r\n </p>\r\n <lib-property-custom-datepicker formControlName=\"buildIn\"></lib-property-custom-datepicker>\r\n </div>\r\n <!-- Year build [END] -->\r\n <!-- Land use [START], Only for LAND property type -->\r\n <div class=\"features__item\" *ngIf=\"propertyType === 'LAND'\">\r\n <p class=\"features-item__label\">\r\n <span class=\"label__icon ic-features-land-use\"></span>\r\n Uso de suelo\r\n </p>\r\n <mat-form-field appearance=\"outline\">\r\n <mat-label>Tipo</mat-label>\r\n <mat-select formControlName=\"landUse\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let use of landUseList\">\r\n <mat-option [value]=\"use.value\">\r\n {{use.name}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n </div>\r\n <!-- Land use [END] -->\r\n </div>\r\n </div>\r\n <!-- Features [END] -->\r\n <hr>\r\n <div class=\"agreement\">\r\n <p class=\"section_label\">Contrato</p>\r\n <div class=\"agreement__body\">\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\">\r\n <mat-label>Fecha de inicio</mat-label>\r\n <input autocomplete=\"off\" matInput formControlName=\"agreementDate\" [matDatepicker]=\"dp2\"\r\n placeholder=\"Seleccione una fecha\"\r\n title=\"Chose a date\">\r\n <mat-datepicker-toggle matSuffix [for]=\"dp2\"></mat-datepicker-toggle>\r\n <mat-datepicker #dp2 [disabled]=\"false\"></mat-datepicker>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\">\r\n <mat-label>Duración</mat-label>\r\n <mat-select formControlName=\"duration\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let time of durationList\">\r\n <mat-option [value]=\"time\">\r\n <ng-container [ngSwitch]=\"time\">\r\n <span *ngSwitchCase=\"365\">1 año</span>\r\n <span *ngSwitchCase=\"180\">6 meses</span>\r\n <span *ngSwitchDefault>{{time}} días</span>\r\n </ng-container>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n </mat-form-field>\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\">\r\n <mat-label>Comisión</mat-label>\r\n <mat-select formControlName=\"commission\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let commission of commissionList\">\r\n <mat-option [value]=\"commission\">\r\n <span *ngIf=\"propertyForm.controls['offering'].value === 'RENT'\">\r\n <ng-container [ngSwitch]=\"commission\">\r\n <span *ngSwitchCase=\"1\">1 mes = {{propertyForm.controls['price'].value * commission | currency : '' : 'symbol' : '1.0-0'}}</span>\r\n <span *ngSwitchDefault>\r\n {{commission}} meses = {{propertyForm.controls['price'].value * commission | currency : '' : 'symbol' : '1.0-0'}}\r\n </span>\r\n </ng-container>\r\n </span>\r\n <span *ngIf=\"propertyForm.controls['offering'].value === 'SALE'\">\r\n <span>{{commission * 100 | currency: '' : '': '1.1-1'}}\r\n % = {{propertyForm.controls['price'].value * commission | currency : '' : 'symbol' : '1.0-0'}}</span>\r\n </span>\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"propertyForm.controls['commission'].hasError('commissionInvalid')\">\r\n Es necesario ingresar el precio deseado\r\n </mat-error>\r\n </mat-form-field>\r\n <ng-template [ngIf]=\"propertyType === 'INVESTMENT'\">\r\n <mat-form-field appearance=\"outline\" class=\"investment-return__form-field\">\r\n <mat-label>Retorno de Inversión</mat-label>\r\n <input autocomplete=\"off\" matInput title=\"Investment return\" formControlName=\"roi\" type=\"number\">\r\n <span matSuffix>%</span>\r\n </mat-form-field>\r\n </ng-template>\r\n <mat-checkbox class=\"agreement__body-check-box\" formControlName=\"exclusivity\">Contrato con exclusividad\r\n </mat-checkbox>\r\n <mat-checkbox class=\"agreement__body-check-box\" formControlName=\"mlm\">Quiero compartir en el {{mlsLabel || 'MLS'}}</mat-checkbox>\r\n <mat-form-field appearance=\"outline\" class=\"agreement__form-field\" *ngIf=\"propertyForm.controls['mlm'].value\">\r\n <mat-label>Monto de comisión compartida</mat-label>\r\n <mat-select formControlName=\"sharedCommission\">\r\n <mat-option [value]=\"null\">\r\n Seleccione una opción\r\n </mat-option>\r\n <ng-container *ngFor=\"let commission of sharedCommissionList\">\r\n <mat-option [value]=\"commission\">\r\n {{commission * 100}}% de mi comisión\r\n = {{propertyForm.controls['price'].value * propertyForm.controls['commission'].value * commission | currency : '' : 'symbol' : '1.0-0'}}\r\n </mat-option>\r\n </ng-container>\r\n </mat-select>\r\n <mat-error *ngIf=\"propertyForm.controls['sharedCommission'].hasError('sharedCommissionInvalid')\">\r\n Debe seleccionar su comisión\r\n </mat-error>\r\n <mat-error *ngIf=\"propertyForm.controls['sharedCommission'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n </div>\r\n <hr>\r\n <div class=\"description\">\r\n <p class=\"section_label\">Descripción</p>\r\n <mat-form-field appearance=\"outline\" class=\"description__form-field\">\r\n <textarea matInput=\"\" cdkTextareaAutosize title=\"Description\" formControlName=\"description\"></textarea>\r\n <mat-hint align=\"end\"><span>Número de caracteres ideal: 3500</span>\r\n Actuales: {{propertyForm.controls['description'].value ? propertyForm.controls['description'].value.length : 0}}\r\n </mat-hint>\r\n <mat-error *ngIf=\"propertyForm.controls['description'].hasError('required')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"external-link\">\r\n <p class=\"section_label\">Tour virtual</p>\r\n <mat-form-field appearance=\"outline\" class=\"external-link__form-field\">\r\n <input matInput=\"\" title=\"externalLink\" formControlName=\"externalLink\">\r\n <mat-error *ngIf=\"propertyForm.controls['externalLink'].hasError('pattern')\">\r\n Url invalida\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <div class=\"notes\">\r\n <p class=\"section_label\">Notas</p>\r\n <mat-form-field appearance=\"outline\" class=\"notes__form-field\">\r\n <textarea matInput=\"\" cdkTextareaAutosize title=\"Notes\" formControlName=\"notes\"></textarea>\r\n </mat-form-field>\r\n </div>\r\n <hr *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <div class=\"amenities\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <p class=\"section_label\">Amenidades</p>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let amenity of amenitiesList\">\r\n <span matRipple class=\"list-amenities__amenity\" (click)=\"updateAmenity(amenity)\">\r\n <span class=\"amenity__icon ic-amenities-{{amenity.iconName}}\"\r\n [ngClass]=\"{'amenity__icon-active': amenity.checked}\"></span>\r\n <span class=\"amenity__text\">{{amenity.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </div>\r\n <div class=\"attributes\" *ngIf=\"propertyType !== 'INVESTMENT'\">\r\n <p class=\"section_label\">Caracteristicas de ubicación</p>\r\n <p class=\"amenities__list-amenities\">\r\n <ng-container *ngFor=\"let feature of featuresList\">\r\n <span matRipple class=\"list-amenities__amenity\" (click)=\"updateAmenity(feature)\">\r\n <span class=\"amenity__icon ic-amenities-{{feature.iconName}}\"\r\n [ngClass]=\"{'amenity__icon-active': feature.checked}\"></span>\r\n <span class=\"amenity__text\">{{feature.name}}</span>\r\n </span>\r\n </ng-container>\r\n </p>\r\n </div>\r\n <button type=\"submit\" class=\"button-submit\" mat-button #btnSubmit>Enviar</button>\r\n</form>\r\n","styles":[":host{display:block;width:100%}.section_label{font-weight:700;display:flex;justify-content:space-between}.address__label-button{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content}.offering{margin-bottom:8px}.direct-debit{margin:16px 0;display:flex}.direct-debit__check-box{margin-top:4px}.direct-debit__radio-group{display:inline-block;margin:0 0 0 32px}@media screen and (max-width:600px){.section_label{flex-direction:column}.section_label :last-child{margin-top:16px}.direct-debit{flex-direction:column;align-items:flex-start}.direct-debit__radio-group{margin:16px 0 0}}.direct-debit__radio-button{margin-right:16px}.pricing{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3))}@media screen and (max-width:600px){.pricing{-ms-grid-columns:100%;grid-template-columns:100%}}@media screen and (min-width:1800px){.pricing{-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}}.agreement__body{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[2];grid-template-columns:repeat(2,calc(100% / 3))}@media screen and (max-width:600px){.agreement__body{-ms-grid-columns:100%;grid-template-columns:100%}}@media screen and (min-width:1800px){.agreement__body{-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}}.agreement__body-check-box{margin-bottom:16px;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3}.address__body{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 4))[4];grid-template-columns:repeat(4,calc(100% / 4))}@media screen and (max-width:600px){.agreement__body-check-box{-ms-grid-column-span:auto;grid-column-end:auto}.address__body{-ms-grid-columns:100%;grid-template-columns:100%}}@media screen and (min-width:1800px){.address__body{-ms-grid-columns:(calc(100% / 5))[4];grid-template-columns:repeat(4,calc(100% / 5))}}.features__body{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 2))[2];grid-template-columns:repeat(2,calc(100% / 2))}.features-item__label{display:flex;align-items:center;margin:0;padding:8px 0}.features-item__radio-group{display:block;margin:8px 0}.features-item__radio-button{margin-right:16px}.features-item-bathrooms,.features-item-parking-spaces{-ms-grid-column:1;grid-column-start:1}.features-item-surface{-ms-grid-column:2;grid-column-start:2;-ms-grid-row:1;grid-row-start:1;-ms-grid-row-span:2;grid-row-end:3}.address__form-field,.agreement__form-field,.description__form-field,.external-link__form-field,.notes__form-field,.pricing__form-field{width:95%;margin:0 auto 0 0}@media screen and (max-width:600px){.features__body{-ms-grid-columns:100%;grid-template-columns:100%}.features-item-surface{-ms-grid-column:auto;grid-column-start:auto;-ms-grid-row:auto;grid-row-start:auto;-ms-grid-row-span:NaN;grid-row-end:auto}.address__form-field,.agreement__form-field,.description__form-field,.external-link__form-field,.notes__form-field,.pricing__form-field{width:100%;margin:0}}.pricing__maintenance-fee{display:flex;align-items:center;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:2;grid-column-end:3}.pricing__maintenance-fee :first-child{margin:0 16px 0 0}@media screen and (max-width:600px){.pricing__maintenance-fee{flex-direction:column;align-items:start;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:NaN;grid-column-end:auto}.pricing__maintenance-fee :first-child{margin:0 0 16px}}.address__visibility{-ms-grid-row:4;grid-row-start:4;-ms-grid-column:1;grid-column-start:1;-ms-grid-column-span:4;grid-column-end:5}.address__visibility-body{display:flex}.address__visibility-radio-group{display:block;margin-right:16px}.visibility-radio-group__button{margin-bottom:16px;display:block}.visibility__about{margin:0}.visibility__about-label{display:block;padding:0 8px 8px;font-size:14px}.label__icon{width:24px;height:24px;font-size:24px;color:#707070;margin-right:8px}.amenities,.attributes{width:50%;display:inline-block}@media screen and (max-width:600px){.address__visibility{-ms-grid-row:auto;grid-row-start:auto;-ms-grid-column:auto;grid-column-start:auto;-ms-grid-column-span:NaN;grid-column-end:auto}.address__visibility-body{flex-direction:column}.amenities,.attributes{width:100%;display:block}}.amenities__list-amenities{display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3))}.list-amenities__amenity{display:flex;flex-direction:column;justify-content:space-between;align-items:center;cursor:pointer;width:100px;padding:4px;box-sizing:border-box;border-radius:8px;margin:8px auto 0;text-align:center}.amenity__icon{width:24px;height:24px;font-size:24px;background:#707070;border-radius:50%;padding:8px;color:#fff;display:block;margin:0 auto}.amenity__text{padding:8px;box-sizing:border-box;display:block;font-size:12px}.button-submit{display:none}"]}]}],"members":{"_btnSubmitRef":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":65,"character":3},"arguments":["btnSubmit",{"static":true,"read":{"__symbolic":"reference","module":"@angular/core","name":"ElementRef","line":65,"character":47}}]}]}],"utils":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":66,"character":3}}]}],"address":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":67,"character":3}}]}],"propertyType":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":68,"character":3}}]}],"property":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":69,"character":3}}]}],"mlsLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":70,"character":3}}]}],"editorInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":71,"character":3}}]}],"selectAddress":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":72,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":106,"character":26},{"__symbolic":"reference","module":"@maplander/shared","name":"DialogService","line":107,"character":21},{"__symbolic":"reference","name":"DateAdapter","module":"@angular/material/core","arguments":[{"__symbolic":"reference","name":"any"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"getProperty":[{"__symbolic":"method"}],"validateFormInvalid":[{"__symbolic":"method"}],"updateAmenity":[{"__symbolic":"method"}],"goToSelectAddress":[{"__symbolic":"method"}],"setErrorsOnFields":[{"__symbolic":"method"}],"updateAddressForm":[{"__symbolic":"method"}],"assignAmenities":[{"__symbolic":"method"}],"assignLocationFeatures":[{"__symbolic":"method"}],"assignCommission":[{"__symbolic":"method"}],"assignBusinessRules":[{"__symbolic":"method"}],"updateFormByProperty":[{"__symbolic":"method"}],"updatePropertyByForm":[{"__symbolic":"method"}],"searchAmenitiesByPropertyType":[{"__symbolic":"method"}],"listenChangesOnForm":[{"__symbolic":"method"}],"createProperty":[{"__symbolic":"method"}],"setValidatorOnFields":[{"__symbolic":"method"}]}},"ɵo":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-property-owner-info","template":"<div class=\"owner-info\">\r\n <p class=\"title\">Propietario</p>\r\n <form class=\"owner-info__form\" [formGroup]=\"ownerForm\" autocomplete=\"off\">\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Nombre(s)</mat-label>\r\n <input autocomplete=\"off\" title=\"Name\" type=\"text\" matInput formControlName=\"name\">\r\n </mat-form-field>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Apellido(s)</mat-label>\r\n <input autocomplete=\"off\" title=\"Last name\" type=\"text\" matInput formControlName=\"lastName\">\r\n </mat-form-field>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Email</mat-label>\r\n <input autocomplete=\"off\" title=\"Email\" type=\"email\" matInput formControlName=\"email\">\r\n <mat-error *ngIf=\"ownerForm.controls['email'].hasError('email')\">\r\n Dirección de correo no válida\r\n </mat-error>\r\n </mat-form-field>\r\n <div class=\"field-phone\">\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Código</mat-label>\r\n <input autocomplete=\"off\" libCountryCode formControlName=\"code\" (countrySelected)=\"onCodePhoneChanged($event)\" title=\"Code number\"\r\n type=\"text\" matInput>\r\n <mat-error *ngIf=\"ownerForm.controls['code'].hasError('phoneFieldsError')\">\r\n Este campo es requerido\r\n </mat-error>\r\n </mat-form-field>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Teléfono</mat-label>\r\n <input autocomplete=\"off\" title=\"Phone\" type=\"text\" matInput formControlName=\"phone\">\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('phoneFieldsError')\">\r\n Este campo es requerido\r\n </mat-error>\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('maxlength')\">\r\n El número de teléfono no debe tener menos de 8 ni más de 13 números\r\n </mat-error>\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('minlength')\">\r\n El número de teléfono no debe tener menos de 8 ni más de 13 números\r\n </mat-error>\r\n <mat-error *ngIf=\"ownerForm.controls['phone'].hasError('pattern')\">\r\n Este campo solo admite números\r\n </mat-error>\r\n </mat-form-field>\r\n </div>\r\n <mat-form-field class=\"form__field\" appearance=\"outline\">\r\n <mat-label>Dirección</mat-label>\r\n <textarea title=\"Address\" cdkTextareaAutosize type=\"text\" matInput\r\n formControlName=\"address\"></textarea>\r\n </mat-form-field>\r\n </form>\r\n</div>\r\n","styles":[":host{display:block;width:100%;padding:16px;box-sizing:border-box}.title{padding:8px;margin:0;font-weight:700}.owner-info__form{width:100%;display:-ms-grid;display:grid;-ms-grid-columns:(50%)[2];grid-template-columns:repeat(2,50%)}@media screen and (max-width:600px){.owner-info__form{-ms-grid-columns:(100%)[1];grid-template-columns:repeat(1,100%)}}.form__field{padding:8px;box-sizing:border-box}.field-phone{display:flex;justify-content:space-between}.field-phone .form__field:first-child{width:30%}.field-phone .form__field:last-child{width:70%}"]}]}],"members":{"owner":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":11,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":12,"character":3}}]}],"ownerInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":13,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/forms","name":"FormBuilder","line":18,"character":26}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"onCodePhoneChanged":[{"__symbolic":"method"}],"getOwner":[{"__symbolic":"method"}],"updateOwnerByForm":[{"__symbolic":"method"}],"updateFormByOwner":[{"__symbolic":"method"}],"createOwner":[{"__symbolic":"method"}]}},"ɵp":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":14,"character":1},"arguments":[{"selector":"lib-property-slide-show","template":"<div class=\"slide-show\">\r\n <div class=\"slide-show__actions\">\r\n <ng-container [ngTemplateOutlet]=\"customActions\"></ng-container>\r\n <p class=\"actions__count\" *ngIf=\"multimedia && multimedia.length > 0\">\r\n {{index + 1}}/{{count}}\r\n </p>\r\n </div>\r\n <button mat-button=\"\" class=\"button-previous\" [ngClass]=\"{'disabled':index===0}\" [disabled]=\"index===0\"\r\n (click)=\"moveImage()\" (keyup.arrowLeft)=\"moveImage()\">\r\n <mat-icon>keyboard_arrow_left</mat-icon>\r\n </button>\r\n <ul class=\"images-list\" #slider [ngStyle]=\"{'width':'calc(100% *' + count + ')'}\">\r\n <ng-template [ngIf]=\"multimedia && multimedia.length > 0\">\r\n <ng-container *ngFor=\"let m of multimedia\">\r\n <li class=\"images-item\" [ngStyle]=\"{'width':'calc(100% /' + count + ')'}\">\r\n <ng-container [ngSwitch]=\"m.type\">\r\n <ng-container *ngSwitchCase=\"'IMAGE'\">\r\n <img class=\"images-item__img\" [src]=\"m.fileCS.thumbnail\" alt=\"Property image\">\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'SPHERIC'\">\r\n <lib-panorama-visor class=\"images-item__panorama\" [url]=\"m.fileCS.thumbnail\"></lib-panorama-visor>\r\n </ng-container>\r\n <ng-container *ngSwitchCase=\"'VIDEO'\">\r\n <iframe class=\"images-item__video\"\r\n [src]=\"'https://www.youtube.com/embed/' + m.fileCS.thumbnail | safeUrl\"></iframe>\r\n </ng-container>\r\n </ng-container>\r\n </li>\r\n </ng-container>\r\n </ng-template>\r\n <ng-template [ngIf]=\"multimedia && multimedia.length === 0\">\r\n <div class=\"no-items\"></div>\r\n </ng-template>\r\n </ul>\r\n <button mat-button=\"\" class=\"button-next\" [disabled]=\"multimedia.length === 0\" (click)=\"moveImage(true)\" (keyup.arrowRight)=\"moveImage(true)\">\r\n <mat-icon>keyboard_arrow_right</mat-icon>\r\n </button>\r\n</div>\r\n","styles":[":host{display:block;position:relative;width:100%;padding-bottom:calc(100% / 4 * 3)}.slide-show{width:100%;height:100%;overflow:hidden;position:absolute}.slide-show__actions{position:absolute;bottom:0;left:0;right:0;width:100%;color:#fff;padding:8px 24px;z-index:2;display:flex;align-items:center;justify-content:flex-end;box-sizing:border-box;background:linear-gradient(transparent,rgba(0,0,0,.4))}.actions__count{margin:4px 0 0 8px;font-size:14px}.images-list{width:100%;height:100%;list-style:none;padding:0;margin:0;display:flex;overflow:hidden;transition:250ms}.images-item{width:100%;height:100%}.images-item__img{width:100%;height:100%;-o-object-fit:contain;object-fit:contain;border-radius:8px}.images-item__panorama,.images-item__video{width:100%;height:100%;border:0;border-radius:8px}.button-next,.button-previous{position:absolute;min-width:30px;width:30px;height:80px;padding:0;z-index:1;color:#fff;top:calc(50% - 40px);background:rgba(0,0,0,.3)}.button-next mat-icon,.button-previous mat-icon{width:30px;height:30px;font-size:30px}.button-next:hover,.button-previous:hover{color:#000;background:#fff}.disabled{color:#d3d3d3}.button-previous{left:0;border-radius:0 16px 16px 0}.button-next{right:0;border-radius:16px 0 0 16px}.no-items{width:100%;height:100%;border-radius:8px}"]}]}],"members":{"customActions":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":21,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":21,"character":16},{"static":true}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":22,"character":3}}]}],"_slider":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":23,"character":3},"arguments":["slider",{"static":true}]}]}],"multimedia":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":24,"character":3}}]}],"selectIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":25,"character":3}}]}],"initialIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":26,"character":3}}]}],"currentIndex":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":27,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/core","name":"Renderer2","line":32,"character":21}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"moveImage":[{"__symbolic":"method"}],"moveImageByIndex":[{"__symbolic":"method"}],"validateHTTPS":[{"__symbolic":"method"}]}},"ɵq":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":9,"character":1},"arguments":[{"selector":"lib-property-documents","template":"<div class=\"documents\">\r\n <p class=\"title\">Documentación</p>\r\n <div class=\"documents__body\">\r\n <ng-container *ngFor=\"let doc of documents\">\r\n <div class=\"body__document-item\">\r\n <lib-upload-file [content]=\"buttonTemplate\" [fab]=\"true\" [fileType]=\"'document'\"\r\n [disabled]=\"disabled\"\r\n (loadImage)=\"onUploadFile($event, doc)\">\r\n <ng-template #buttonTemplate>\r\n <button mat-icon-button color=\"primary\" class=\"document-item__button\" [disabled]=\"disabled\">\r\n <!-- Document not uploaded on create/edit property -->\r\n <ng-template [ngIf]=\"!doc.loaded && !disabled\">\r\n <mat-icon>cloud_upload</mat-icon>\r\n </ng-template>\r\n <!-- Document not uploaded on property record -->\r\n <ng-template [ngIf]=\"!doc.loaded && disabled\">\r\n <span class=\"button__icon ic-component-property-unloaded-file\"></span>\r\n </ng-template>\r\n <!-- Document uploaded on property record -->\r\n <ng-template [ngIf]=\"doc.loaded && disabled\">\r\n <mat-icon [ngClass]=\"{'document-item__icon--loaded': doc.loaded && disabled}\">description\r\n </mat-icon>\r\n </ng-template>\r\n <!-- Document uploaded on property -->\r\n <ng-template [ngIf]=\"doc.loaded && !disabled\">\r\n <span class=\"button__icon ic-component-property-update-file\"></span>\r\n </ng-template>\r\n </button>\r\n </ng-template>\r\n </lib-upload-file>\r\n <p class=\"document-item__label\"\r\n [ngClass]=\"{'document-item__label--disabled': !doc.loaded, 'mat-elevation-z2': doc.loaded}\"\r\n matRipple (click)=\"openFile(doc.value)\">\r\n {{doc.name}}\r\n </p>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block;width:100%;padding:0 16px 16px;box-sizing:border-box}.title{margin:0;padding:8px;font-weight:700}.documents__body{display:-ms-grid;display:grid;-ms-grid-columns:(50%)[2];grid-template-columns:repeat(2,50%)}@media screen and (max-width:600px){.documents__body{-ms-grid-columns:100%;grid-template-columns:100%}}.body__document-item{display:flex;padding:8px;box-sizing:border-box}.document-item__button{margin-right:8px}.button__icon{display:inline-block;width:24px;height:24px;font-size:24px}.document-item__label{width:100%;background:#fff;border-radius:8px;padding:8px;margin:0;cursor:pointer}"]}]}],"members":{"files":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"disabled":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"documentsInstance":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"DocumentVisorService"},{"__symbolic":"reference","module":"@maplander/core","name":"SnackBarService","line":24,"character":23},{"__symbolic":"reference","module":"@angular/common/http","name":"HttpClient","line":25,"character":19}]}],"ngAfterViewInit":[{"__symbolic":"method"}],"ngOnChanges":[{"__symbolic":"method"}],"getDocuments":[{"__symbolic":"method"}],"openFile":[{"__symbolic":"method"}],"onUploadFile":[{"__symbolic":"method"}],"openBlobFile":[{"__symbolic":"method"}],"updateDocument":[{"__symbolic":"method"}],"validateDocumentsLoaded":[{"__symbolic":"method"}],"getPFileByType":[{"__symbolic":"method"}],"getUserMediaByType":[{"__symbolic":"method"}],"downloadFile":[{"__symbolic":"method"}]}},"ɵr":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":10,"character":1},"arguments":[{"selector":"lib-property-multimedia-uploader","template":"<div class=\"multimedia-uploader\">\r\n <p class=\"title\">\r\n Multimedia\r\n <ng-template [ngIf]=\"currentIndex !== 2\">\r\n <lib-upload-file [content]=\"buttonUploadTemplate\" [noCrop]=\"true\" [fab]=\"true\" [fileType]=\"fileType\" [aspectRatio]=\"4 / 3\"\r\n [multiple]=\"true\"\r\n (loadImage)=\"onUploadImage($event)\">\r\n <ng-template #buttonUploadTemplate>\r\n <button mat-icon-button color=\"primary\">\r\n <mat-icon>add</mat-icon>\r\n </button>\r\n </ng-template>\r\n </lib-upload-file>\r\n </ng-template>\r\n </p>\r\n <mat-tab-group class=\"multimedia-uploader__tab-group\" [selectedIndex]=\"currentIndex\"\r\n (selectedIndexChange)=\"onTabChanged($event)\">\r\n <mat-tab label=\"Fotografias\">\r\n <lib-custom-drag-and-drop [items]=\"images\" [content]=\"imageTemplate\" (itemsChanged)=\"onListChanged($event)\">\r\n <ng-template #imageTemplate let-image=\"image\" let-index=\"index\">\r\n <div class=\"list__item\" [ngClass]=\"{'first-photo': index === 0}\">\r\n <img alt=\"Property image\" [src]=\"image.fileCS.thumbnail\" class=\"list__item-img\">\r\n <button mat-icon-button class=\"list__item-button mat-elevation-z2\" (click)=\"removeMedia(image)\">\r\n <mat-icon class=\"list__item-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </lib-custom-drag-and-drop>\r\n </mat-tab>\r\n <mat-tab label=\"Esfericas\">\r\n <lib-custom-drag-and-drop [items]=\"images360\" [content]=\"image360Template\" (itemsChanged)=\"onListChanged($event)\">\r\n <ng-template #image360Template let-image=\"image\">\r\n <div class=\"list__item\">\r\n <img alt=\"Property image\" [src]=\"image.fileCS.thumbnail\" class=\"list__item-img\">\r\n <button mat-icon-button class=\"list__item-button mat-elevation-z2\" (click)=\"removeMedia(image)\">\r\n <mat-icon class=\"list__item-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </lib-custom-drag-and-drop>\r\n </mat-tab>\r\n <mat-tab label=\"Videos\">\r\n <div class=\"you-tube-container\">\r\n <span class=\"you-tube-container__searchbox\">\r\n <button *ngIf=\"inputYouTube.value !== ''\" mat-icon-button class=\"you-tube-container__close-btn\"\r\n (click)=\"inputYouTube.value = ''\"><mat-icon>close</mat-icon></button>\r\n <input class=\"you-tube-container__input\" #inputYouTube (input)=\"onYouTubeInputTextChanged(inputYouTube)\"\r\n title=\"YouTube URL\" placeholder=\"YouTube URL o YouTube Video ID\">\r\n </span>\r\n <a href=\"https://www.youtube.com\" target=\"_blank\" mat-button color=\"primary\">\r\n Ir a Youtube\r\n </a>\r\n </div>\r\n <lib-custom-drag-and-drop [items]=\"videos\" [content]=\"videosTemplate\" (itemsChanged)=\"onListChanged($event)\">\r\n <ng-template #videosTemplate let-image=\"image\">\r\n <div class=\"list__item\">\r\n <img alt=\"Property image\" [src]=\"'https://i3.ytimg.com/vi/'+image.fileCS.thumbnail+'/hqdefault.jpg'\"\r\n class=\"list__item-img\">\r\n <button mat-icon-button class=\"list__item-button mat-elevation-z2\" (click)=\"removeMedia(image)\">\r\n <mat-icon class=\"list__item-icon\">close</mat-icon>\r\n </button>\r\n </div>\r\n </ng-template>\r\n </lib-custom-drag-and-drop>\r\n </mat-tab>\r\n </mat-tab-group>\r\n <div class=\"multimedia-uploader__actions\">\r\n <button mat-flat-button color=\"primary\" class=\"actions__button\" (click)=\"close()\">\r\n CERRAR\r\n </button>\r\n <button mat-flat-button color=\"primary\" class=\"actions__button\" (click)=\"accept()\">\r\n ACEPTAR\r\n </button>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block;width:100%;height:100%}::ng-deep .multimedia-uploader-panel-class{width:50%;height:70%}::ng-deep .multimedia-uploader-panel-class mat-dialog-container{width:100%;height:100%;padding:16px;overflow:hidden;position:relative}.multimedia-uploader{width:100%;height:100%}.multimedia-uploader__actions{position:absolute;left:0;bottom:0;width:100%;background:#fff;z-index:1}.actions__button{width:50%}.actions__button:first-child{border-radius:8px 0 0}.actions__button:last-child{border-radius:0 8px 0 0}.title{font-weight:700;display:flex;align-items:center;justify-content:space-between;padding:0 16px;margin:0}.multimedia-uploader__tab-group{width:100%;height:calc(100% - 36px)}.multimedia-uploader__list{width:100%;height:100%;overflow-x:hidden;overflow-y:auto;display:-ms-grid;display:grid;-ms-grid-columns:(calc(100% / 3))[3];grid-template-columns:repeat(3,calc(100% / 3))}@media screen and (max-width:600px){::ng-deep .multimedia-uploader-panel-class{width:100%!important;max-width:100%!important;height:100%!important}.multimedia-uploader__list{-ms-grid-columns:100%;grid-template-columns:100%}}.list__item{width:200px;height:150px;border-radius:8px;margin:16px auto;position:relative}.first-photo:after{content:\"Imagen principal del anuncio\";position:absolute;top:0;padding:8px;box-sizing:border-box;font-size:12px;width:100%;color:#fff;background:rgba(0,0,0,.3)}.list__item-img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.list__item-button{position:absolute;width:24px;height:24px;top:-12px;right:-12px;background:#000;color:#fff}.list__item-icon{width:24px;height:24px;font-size:16px;line-height:8px}.you-tube-container{display:flex;padding:8px 0;box-sizing:border-box;justify-content:space-between;position:-webkit-sticky;position:sticky;top:0;z-index:5;background:#fff}.you-tube-container__searchbox{position:relative;width:calc(100% - 120px);box-sizing:border-box;display:flex;align-items:center}.you-tube-container__close-btn{position:absolute;right:0}.you-tube-container__input{width:100%;border:1px solid #d3d3d3;padding:8px 32px 8px 8px;border-radius:8px;outline:0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":25,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":25,"character":12}]}],null],"parameters":[{"__symbolic":"reference","name":"any"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵr"},{"__symbolic":"error","message":"Expression form not supported","line":26,"character":63,"module":"./lib/components/property/components/multimedia-uploader/multimedia-uploader.component"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"onUploadImage":[{"__symbolic":"method"}],"onTabChanged":[{"__symbolic":"method"}],"onListChanged":[{"__symbolic":"method"}],"removeMedia":[{"__symbolic":"method"}],"onYouTubeInputTextChanged":[{"__symbolic":"method"}],"accept":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"createImagePFile":[{"__symbolic":"method"}],"createImage360PFile":[{"__symbolic":"method"}],"parseMultimedia":[{"__symbolic":"method"}],"joinMultimediaTypes":[{"__symbolic":"method"}]}},"ɵs":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":5,"character":1},"arguments":[{"selector":"lib-property-announce-confirm","template":"<div class=\"announce-confirm\">\r\n <div class=\"body\">\r\n <h2 class=\"body__title\">\r\n Para anunciar es necesario confirmar lo siguiente\r\n </h2>\r\n <mat-checkbox class=\"body__check-box\" *ngFor=\"let item of list\" [(ngModel)]=\"item.checked\">\r\n {{item.name}}\r\n </mat-checkbox>\r\n <ng-template [ngIf]=\"errorField\">\r\n <p class=\"body__error-field\">\r\n Para anunciar es necesario confirmar todas las casillas.\r\n </p>\r\n </ng-template>\r\n </div>\r\n <div class=\"body__actions\">\r\n <button mat-button color=\"primary\" (click)=\"close()\">CANCELAR</button>\r\n <button mat-button color=\"primary\" (click)=\"accept()\">ANUNCIAR</button>\r\n </div>\r\n</div>\r\n","styles":[":host{display:block}::ng-deep .confirm-announce-panel-class{width:30%}::ng-deep .confirm-announce-panel-class mat-dialog-container{padding:0;overflow:hidden}@media screen and (max-width:600px){::ng-deep .confirm-announce-panel-class{min-width:90%!important}}.announce-confirm .body{width:100%;padding:24px;box-sizing:border-box}.announce-confirm .body__title{font-size:18px;margin:0 0 16px}.announce-confirm .body__check-box{display:block}.announce-confirm .body__error-field{color:red;font-size:12px}.announce-confirm .body__actions{padding:16px;box-sizing:border-box;display:flex;justify-content:flex-end}.announce-confirm .body__actions button:first-child{margin-right:16px}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵs"},{"__symbolic":"reference","name":"DialogResponse","module":"@maplander/types","arguments":[{"__symbolic":"reference","name":"any"}]}]}]}],"close":[{"__symbolic":"method"}],"accept":[{"__symbolic":"method"}]}},"ɵt":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-custom-drag-and-drop","template":"<div class=\"custom-drag-and-drop-container\" cdkDropListGroup>\r\n <div cdkDropList [cdkDropListEnterPredicate]=\"dropListEnterPredicate\" (cdkDropListDropped)=\"dropListDropped()\"></div>\r\n <div cdkDropList *ngFor=\"let item of items; let i = index;\"\r\n [cdkDropListEnterPredicate]=\"dropListEnterPredicate\" (cdkDropListDropped)=\"dropListDropped()\">\r\n <div cdkDrag class=\"custom-drag-and-drop-box\" (cdkDragMoved)=\"dragMoved($event)\">\r\n <ng-container [ngTemplateOutlet]=\"content\" [ngTemplateOutletContext]=\"{image: item, index: i}\"></ng-container>\r\n </div>\r\n </div>\r\n</div>\r\n","styles":[".custom-drag-and-drop-container{display:flex;flex-wrap:wrap;min-width:600px;max-width:900px}.custom-drag-and-drop-box{width:-webkit-fit-content;width:-moz-fit-content;width:fit-content;height:-webkit-fit-content;height:-moz-fit-content;height:fit-content;cursor:move;border-radius:8px;position:relative;z-index:1;transition:box-shadow .2s cubic-bezier(0,0,.2,1)}.custom-drag-and-drop-box:active{opacity:.6}.cdk-drop-list{margin:0 8px 8px 0}.cdk-drag-preview{box-sizing:border-box;border-radius:4px}.cdk-drag-placeholder{opacity:.3}.cdk-drag-animating{transition:transform 250ms cubic-bezier(0,0,.2,1)}"]}]}],"members":{"listGroup":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":10,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"CdkDropListGroup","line":10,"character":13},{"static":true}]}]}],"placeholder":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ViewChild","line":11,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/cdk/drag-drop","name":"CdkDropList","line":11,"character":13},{"static":true}]}]}],"content":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":12,"character":3},"arguments":[{"__symbolic":"reference","module":"@angular/core","name":"TemplateRef","line":12,"character":16},{"static":true}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"itemsChanged":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/cdk/overlay","name":"ViewportRuler","line":23,"character":38}]}],"ngOnInit":[{"__symbolic":"method"}],"ngAfterViewInit":[{"__symbolic":"method"}],"dragMoved":[{"__symbolic":"method"}],"dropListDropped":[{"__symbolic":"method"}],"getPointerPositionOnPage":[{"__symbolic":"method"}]}},"ɵu":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"lib-gallery","template":"<div class=\"gallery\">\r\n <mat-sidenav-container class=\"gallery__sidenav-container\">\r\n <mat-sidenav mode=\"side\" [opened]=\"sideOpened\" class=\"sidenav-container__sidenav\">\r\n <mat-toolbar class=\"sidenav__toolbar\" color=\"primary\">\r\n <span>Galeria</span>\r\n <button mat-icon-button (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <mat-toolbar class=\"sidenav__thumbnails-types\">\r\n <button class=\"thumbnails-types__item-type\" mat-button\r\n [ngClass]=\"{'item-type--selected': typeSelected === 'IMAGE'}\" (click)=\"changePFileType('IMAGE')\">\r\n <span class=\"item-type__icon ic-component-property-file-image\"></span>\r\n <span class=\"item-type__label\">{{count.image}}</span>\r\n </button>\r\n <button class=\"thumbnails-types__item-type\" mat-button\r\n [ngClass]=\"{'item-type--selected': typeSelected === 'SPHERIC'}\" (click)=\"changePFileType('SPHERIC')\">\r\n <span class=\"item-type__icon ic-component-property-sphere\"></span>\r\n <span class=\"item-type__label\">{{count.sphere}}</span>\r\n </button>\r\n <button class=\"thumbnails-types__item-type\" mat-button\r\n [ngClass]=\"{'item-type--selected': typeSelected === 'VIDEO'}\" (click)=\"changePFileType('VIDEO')\">\r\n <span class=\"item-type__icon ic-component-property-video\"></span>\r\n <span class=\"item-type__label\">{{count.video}}</span>\r\n </button>\r\n </mat-toolbar>\r\n <div class=\"sidenav__thumbnail-list\">\r\n <ng-container *ngFor=\"let image of multimedia; let i = index\">\r\n <div class=\"thumbnail-list__item\" (click)=\"selectPFile(i)\"\r\n [ngClass]=\"{'thumbnail-list__item--selected': indexSelected === i}\">\r\n <ng-template [ngIf]=\"image.type !== 'VIDEO'\" [ngIfElse]=\"youTubeVideo\">\r\n <img class=\"item__img\" [src]=\"image.fileCS.thumbnail\" alt=\"Property image\">\r\n </ng-template>\r\n <ng-template #youTubeVideo>\r\n <img class=\"item__img\" [src]=\"'https://i3.ytimg.com/vi/'+image.fileCS.thumbnail+'/hqdefault.jpg'\"\r\n alt=\"Property image\">\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n <ng-template [ngIf]=\"multimedia.length === 0\">\r\n <div class=\"thumbnail-list__empty-list\">\r\n <p class=\"empty-list__label\">\r\n Por el momento no hay\r\n <span *ngIf=\"typeSelected === 'IMAGE'\">fotos</span>\r\n <span *ngIf=\"typeSelected === 'VIDEO'\">videos</span>\r\n <span *ngIf=\"typeSelected === 'SPHERIC'\">fotos esféricas</span>\r\n </p>\r\n </div>\r\n </ng-template>\r\n </div>\r\n </mat-sidenav>\r\n <mat-sidenav-content class=\"sidenav-container__content\" [ngStyle]=\"{'width': sideOpened ? '80%' : '100%'}\">\r\n <button class=\"sidenav-container__button-sidenav\" mat-flat-button color=\"primary\" (click)=\"updateSideNav()\">\r\n <mat-icon *ngIf=\"sideOpened\">chevron_left</mat-icon>\r\n <mat-icon *ngIf=\"!sideOpened\">chevron_right</mat-icon>\r\n </button>\r\n <button class=\"sidenav-container__button-close\" mat-mini-fab color=\"primary\" (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n <div class=\"content__list-container\">\r\n <lib-property-slide-show class=\"list-container__slide-show\" [multimedia]=\"multimedia\" [selectIndex]=\"indexSelected\"\r\n [initialIndex]=\"indexSelected\"\r\n (currentIndex)=\"onIndexSelectedChange($event)\"></lib-property-slide-show>\r\n </div>\r\n </mat-sidenav-content>\r\n </mat-sidenav-container>\r\n</div>\r\n","styles":["::ng-deep .gallery_dialog{max-width:100%!important;width:100%;height:100%}::ng-deep .gallery_dialog mat-dialog-container{width:100%;height:100%;padding:0}:host{display:block;width:100%;height:100%}.gallery,.gallery__sidenav-container{width:100%;height:100%}.sidenav__toolbar{display:flex;justify-content:space-between}.sidenav__thumbnail-list{width:100%;height:calc(100% - 128px);padding:16px;box-sizing:border-box;overflow-x:hidden;overflow-y:auto}.thumbnail-list__empty-list{width:100%;height:100%;display:flex}.empty-list__label{margin:auto;text-align:center}.thumbnail-list__item{width:100%;cursor:pointer;padding-bottom:calc(100% / 4 * 3);border-radius:8px;margin-bottom:16px;position:relative}.item__img{position:absolute;top:0;left:0;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;border-radius:8px}.sidenav-container__sidenav{width:20%}@media screen and (max-width:1024px){.sidenav-container__sidenav{width:100%}}.sidenav__thumbnails-types{display:flex;align-items:center;justify-content:space-around}.item-type{padding:0}.item-type__label{padding:0 4px;display:inline-block}.item-type__icon{display:inline-block;width:24px;height:24px;font-size:24px;margin:auto}.sidenav-container__content{width:80%;display:flex;position:relative}@media screen and (max-width:1024px){.sidenav-container__content{width:100%}}.sidenav-container__button-sidenav{position:absolute;top:0;left:0;height:64px;padding:0;min-width:36px;border-radius:0 8px 8px 0;z-index:1}.sidenav-container__button-close{position:absolute;top:16px;right:16px;z-index:1}.content__list-container{width:100%;height:100%;margin:auto;overflow:hidden;position:relative;border-radius:8px}.list-container__slide-show{width:100%;height:100%;padding:initial}::ng-deep .list-container__slide-show .panorama-visor{height:100%!important;padding:initial!important}::ng-deep .list-container__slide-show lib-panorama-visor .panorama-visor__actions{top:72px!important}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":27,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material/dialog","name":"MAT_DIALOG_DATA","line":27,"character":12}]}],null,null],"parameters":[{"__symbolic":"reference","name":"ɵf"},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material/dialog","arguments":[{"__symbolic":"reference","name":"ɵu"}]},{"__symbolic":"reference","module":"@angular/cdk/layout","name":"BreakpointObserver","line":29,"character":33}]}],"ngOnInit":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}],"updateSideNav":[{"__symbolic":"method"}],"selectPFile":[{"__symbolic":"method"}],"onIndexSelectedChange":[{"__symbolic":"method"}],"changePFileType":[{"__symbolic":"method"}],"assignCountByType":[{"__symbolic":"method"}],"assignMultimediaByType":[{"__symbolic":"method"}],"getPFilesByType":[{"__symbolic":"method"}]}},"ɵv":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":4,"character":1},"arguments":[{"selector":"lib-stats","template":"<div class=\"stats\">\r\n <mat-toolbar class=\"stats__toolbar\" color=\"primary\">\r\n Estadísticas\r\n <button mat-icon-button (click)=\"close()\">\r\n <mat-icon>close</mat-icon>\r\n </button>\r\n </mat-toolbar>\r\n <div class=\"stats__content\">\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>visibility</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.views ? data.views['RV'] || 0 : 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Vistas en Renta o Venta\r\n </p>\r\n <div class=\"stat__app-icon\">\r\n <img alt=\"Renta o Venta logo\" class=\"app-icon__img\" src=\"https://storage.googleapis.com/maplander-develop/public/file/front-end/email/rentaoventa.png\">\r\n </div>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>visibility</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.views ? data.views['FIABCI'] || 0 : 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Vistas en GlobalMLS\r\n </p>\r\n <div class=\"stat__app-icon\">\r\n <img alt=\"GlobalMLS logo\" class=\"app-icon__img\" src=\"https://storage.googleapis.com/maplander-develop/public/file/front-end/email/globalmls.png\">\r\n </div>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>favorite</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.favorites || 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Veces añadida a favoritos\r\n </p>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>share</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.shared || 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Veces compartida\r\n </p>\r\n </div>\r\n <div class=\"content__stat\">\r\n <div class=\"stat__icon-container\">\r\n <mat-icon>assignment</mat-icon>\r\n </div>\r\n <p class=\"stat__count\">\r\n {{data.requests || 0}}\r\n </p>\r\n <p class=\"stat__label\">\r\n Solicitudes de información\r\n </p>\r\n </div>\r\n </div>\r\n</div>\r\n","styles":["::ng-deep .stats-panel-class{width:30%;height:80%}::ng-deep .stats-panel-class mat-dialog-container{padding:0;overflow:hidden}@media screen and (max-width:600px){::ng-deep .stats-panel-class{min-width:90%!important}}:host{display:block;width:100%;height:100%}.stats{width:100%;height:100%;overflow:auto}.stats__toolbar{width:100%;height:64px;display:flex;position:-webkit-sticky;position:sticky;top:0;z-index:2;justify-content:space-between}.stats__content{padding:16px;box-sizing:content-box;display:-ms-grid;display:grid;-ms-grid-columns:(calc(50%))[2];grid-template-columns:repeat(2,calc(50%))}.content__stat{border:1px solid #000;border-radius:8px;padding:16px;box-sizing:content-box;position:relative;margin:0 16px 16px 0}.stat__icon-container{position:absolute;top:16px;right:16px}.stat__app-icon{position:absolute;bottom:16px;right:16px}.app-icon__img{width:24px;height:24px;border-radius:4px}.stat__count{font-size:32px;font-weight:700;margin:0 0 16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stat__label{width:80%;margin:0}"]}]}],"members":{"__ctor__":[{"__symbolic":"constructor","parameterDecorators":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Inject","line":12,"character":5},"arguments":[{"__symbolic":"reference","module":"@angular/material","name":"MAT_DIALOG_DATA","line":12,"character":12}]}],null],"parameters":[{"__symbolic":"reference","module":"@maplander/types","name":"LeadInfo","line":12,"character":42},{"__symbolic":"reference","name":"MatDialogRef","module":"@angular/material","arguments":[{"__symbolic":"reference","name":"ɵv"}]}]}],"ngOnInit":[{"__symbolic":"method"}],"close":[{"__symbolic":"method"}]}},"ɵw":{"__symbolic":"new","expression":{"__symbolic":"reference","module":"@angular/core","name":"InjectionToken","line":2,"character":47},"arguments":["PROPERTY CARD CONFIG MODULE"]}},"origins":{"AddressFormatPipe":"./lib/pipes/address/address-format.pipe","AddressFormatModule":"./lib/pipes/address/address-format.module","FormatDatePipe":"./lib/pipes/format-date/format-date.pipe","FormatDateModule":"./lib/pipes/format-date/format-date.module","MarkerPricePipe":"./lib/pipes/marker-price/marker-price.pipe","MarkerPriceModule":"./lib/pipes/marker-price/marker-price.module","OfferingTypePipe":"./lib/pipes/offering-type/offering-type.pipe","OfferingTypeModule":"./lib/pipes/offering-type/offering-type.module","PropertyTypePipe":"./lib/pipes/property-type/property-type.pipe","PropertyTypeModule":"./lib/pipes/property-type/property-type.module","FormatPriceDirective":"./lib/directives/format-price/format-price.directive","FormatPriceModule":"./lib/directives/format-price/format-price.module","ImageErrorDirective":"./lib/directives/image-error/image-error.directive","ImageErrorModule":"./lib/directives/image-error/image-error.module","DocumentVisorComponent":"./lib/components/document-visor/document-visor.component","DocumentVisorService":"./lib/components/document-visor/document-visor.service","DocumentVisorModule":"./lib/components/document-visor/document-visor.module","FabFiltersComponent":"./lib/components/fab-filters/fab-filters.component","FabFiltersModule":"./lib/components/fab-filters/fab-filters.module","FiltersService":"./lib/components/filters/filters.service","FiltersModule":"./lib/components/filters/filters.module","PanoramaVisorComponent":"./lib/components/panorama-visor/panorama-visor.component","PanoramaVisorModule":"./lib/components/panorama-visor/panorama-visor.module","PropertyComponent":"./lib/components/property/components/property/property.component","PropertyEventType":"./lib/components/property/components/property/property.component","PropertyEventChange":"./lib/components/property/components/property/property.component","PropertyModule":"./lib/components/property/property.module","PropertyCardComponent":"./lib/components/property-card/property-card.component","PropertyCardModule":"./lib/components/property-card/property-card.module","CurrencyConverterService":"./lib/services/currency-converter/currency-converter.service","CurrencyConverterModule":"./lib/services/currency-converter/currency-converter.module","MarkersService":"./lib/services/markers/markers.service","MarkersModule":"./lib/services/markers/markers.module","FiltersWrapper":"./lib/utils/classes/filters-wrapper","MDate":"./lib/utils/classes/mDate","AmenityName":"./lib/utils/enums/amenity-name","FilterChipType":"./lib/utils/enums/filter-chip-type","FiltersChangeType":"./lib/utils/enums/filters-change-type","AmenitiesList":"./lib/utils/models/amenities-list","AmenityItem":"./lib/utils/models/amenity-item","FilterChip":"./lib/utils/models/filter-chip","FiltersSaved":"./lib/utils/models/filters-saved","FiltersChange":"./lib/utils/models/filters-change","Marker":"./lib/utils/models/marker","PropertyCardInfo":"./lib/utils/models/property-card-info","PropertyTypeItem":"./lib/utils/models/property-type-item","ConstantsComponents":"./lib/constantsComponents","ɵa":"./lib/components/filters/token","ɵb":"./lib/components/filters/filters.component","ɵc":"./lib/components/property/token","ɵd":"./lib/components/property/components/multimedia-uploader/multimedia-uploader.service","ɵe":"./lib/components/property/components/announce-confirm/announce-confirm.service","ɵf":"./lib/components/property/components/gallery/gallery.service","ɵg":"./lib/components/property/components/gallery/gallery.service","ɵh":"./lib/components/property/components/stats/stats.service","ɵi":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker.module","ɵj":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker/custom-datepicker.component","ɵk":"./lib/components/property/components/editor/components/custom-datepicker/date-adapter","ɵl":"./lib/components/property/components/editor/components/custom-datepicker/custom-datepicker-header/custom-datepicker-header.component","ɵm":"./lib/components/property/components/details/details.component","ɵn":"./lib/components/property/components/editor/editor.component","ɵo":"./lib/components/property/components/owner-info/owner-info.component","ɵp":"./lib/components/property/components/slideshow/slide-show.component","ɵq":"./lib/components/property/components/documents/documents.component","ɵr":"./lib/components/property/components/multimedia-uploader/multimedia-uploader.component","ɵs":"./lib/components/property/components/announce-confirm/announce-confirm.component","ɵt":"./lib/components/property/components/custom-drag-and-drop/custom-drag-and-drop.component","ɵu":"./lib/components/property/components/gallery/gallery.component","ɵv":"./lib/components/property/components/stats/stats.component","ɵw":"./lib/components/property-card/token"},"importAs":"@maplander/components"}
|