1"use strict";(self.webpackChunkclient_dashboard=self.webpackChunkclient_dashboard||[]).push([[321],{40321:(ct,A,e)=>{e.r(A),e.d(A,{ListingsRecapVideoModule:()=>Y});var i=e(54438),g=e(52168),Z=e(49018),_=e(88074),f=e(57094),b=e(43053),y=e(42890),x=e(42059),D=e(40831),F=e(96117),N=e(30893),V=e(56504),S=e(60381),B=e(39601),h=e(60177),m=e(89417),q=e(81394),tt=e(23617),$=e(50513),R=e(16389),j=e(25930),E=e(1868),k=e(92602),w=e(97529),et=e(38927),G=e(41951),J=e(8182),nt=e(21413),it=e(70152),st=e(23294),ot=e(72166),at=e(45312),K=e(6389),U=e(33855),X=e(47290),W=e(849),Q=e(10605),I=e(21011),rt=e(86505),p=e(23359),lt=e(75699);let v=(()=>{class l{constructor(t,n,o,r,a,s,c,u,d,z,O,M){this.router=t,this.route=n,this.message=o,this.modalService=r,this.listingService=a,this.breadcrumService=s,this.paginationService=c,this.cableService=u,this.integrationsService=d,this.authService=z,this.customerService=O,this.mlsService=M,this.select=new i.EventEmitter,this.selection=[],this.hasMLS=!1,this.allListings=[],this.isAllDisplayDataChecked=!1,this.numberOfChecked=0,this.isOperating=!1,this.isIndeterminate=!1,this.listings=[],this.loading=!0,this.search=!0,this.isAllListingsSelected=!1,this.sortings=["address","status"],this.mapOfSort={created_at:null,address:null,listing_status:null,listing_type:null},this.pageSizeOptions=[10],this.listingPagination={limit:10,total:10,page:1,totalPages:10},this.selectedListing=[],this.mapOfCheckedId={},this.selectedListingsMap={},this.searchModelChanged=new nt.B,this.selectedSort={by:"",order:""},this.sorted={key:"created_at",value:"descend"},this.listOfSelection=[{text:"Select All",onSelect:()=>{this.isAllListingsSelected=!0,this.isAllDisplayDataChecked=!0,this.mapOfCheckedId={}}},{text:"None",onSelect:()=>{this.isAllListingsSelected=!1,this.isAllDisplayDataChecked=!1,this.mapOfCheckedId={}}}],this.getIntegrations(),this.searchModelChangeSubscription=this.searchModelChanged.pipe((0,it.B)(1e3),(0,st.F)()).subscribe(P=>{this.searchText=P,P?(this.search=!0,this.fetchContent(P)):this.fetchContent()})}addMLSConnection(){this.router.navigateByUrl("settings/MLS_settings")}ngOnInit(){this.loading=!0,this.customer=this.authService.currentCustomerValue,this.route.queryParams.subscribe(t=>{if(t&&t.query){if(this.fetchContent(!1,!1,t.query),t.query&&"string"==typeof t.query){let n=t.query.replaceAll("%3D","=");n=t.query?.replaceAll("%5D","]"),n=t.query?.replaceAll("%26","&"),n=t.query?.replaceAll("%5B","["),n&&(this.searchText=this.getParamsData(n)["q[address_cont]"])}}else this.fetchContent()}),this.breadcrumService.set_breadcrum()}setSortOption(t){this.selectedSort.by=t,this.searchText="",this.fetchContent()}toggelSortOrder(){this.selectedSort.order="asc"===this.selectedSort.order?"desc":"asc",this.fetchContent()}didPage(t){this.listingPagination.page=t,this.loading=!0,this.paginationService.setCurrentPage(this.listingPagination),this.mapSortings()}refreshListing(){this.mlsService.refreshMls().subscribe(t=>{this.message?.create("success","Refreshing MLS connections, please reload page after few seconds!")})}fetchContent(t,n,o){this.loading=!0;const r="status"===this.selectedSort.by?"listing_status":this.selectedSort.by,a=this.searchText?1:this.paginationService.getCurrentPage();let s=`?page=${a}`;r&&(s=`${s}&q[s]=${r}${this.selectedSort.order}`),(t||this.searchText)&&(s=`${s}&q[address_cont]=${t||this.searchText}`),n&&(s=`${s}&${n}`),s=`${s}&q[listing_status_in][]=Sold&q[listing_status_in][]=Under Contract&q[listing_status_in][]=Just Sold&q[listing_status_in][]=Pending&q[listing_status_in][]=Sold- Represented Buyer`,o?s=o:(1!==a||s!==`?page=${a}`)&&(this.queryParams=s),this.listingService.list(s).subscribe(c=>{c&&(this.listingPagination.page=a,this.listingPagination.limit=c.per_page,this.listingPagination.total=c.total_entries,this.listingPagination.totalPages=Math.ceil(this.listingPagination.total/this.listingPagination.limit),this.allListings=c.data,this.listings=this.allListings,this.search=!1,this.loading=!1)},c=>{this.search=!1,this.loading=!1})}sort(t){this.sorted=t,this.mapSortings()}mapSortings(){for(const n in this.mapOfSort)this.mapOfSort[n]=n===this.sorted.key?this.sorted?.value:null;this.sorted.key?this.fetchContent(null,`q[s]=${this.sorted.key} ${{descend:"desc",ascend:"asc"}[this.sorted?.value]}`):this.fetchContent()}viewDetail(t){this.router.navigateByUrl(`listings/${t}`)}editListing(t){this.router.navigateByUrl(`/listings/${t}/edit`)}createNewListing(){this.router.navigateByUrl("listings/new")}confirmDeletion(t,n){let o="Are you sure you want to delete the listing?";t&&(o=`Are you sure you want to delete ${this.isAllListingsSelected?"all":this.numberOfChecked} listings?`),this.modalService.create({nzContent:ot.V,nzData:{title:"Confirm",message:o,buttonLabel:"Cancel",extraButtons:[{label:"Delete",value:!0,color:"#ff4d4f"}]},nzFooter:null}).afterClose.subscribe(a=>{if(!0===a)if(!t&&n)this.listingService.destroy(n).subscribe(s=>{this.fetchContent(),this.message?.create("success","Listing is deleted successfully!")},s=>{this.loading=!1,this.message?.remove(),this.message?.create("error","Error deleting this listing. Please try again")});else if(t){const s={select_all:!1,ids:[]};s.select_all=this.isAllListingsSelected,s.ids=this.selection,this.listingService.massDeleteListings(s).subscribe(c=>{this.message.create("success",c.message),this.loading=!0;const u=this.cableService.cable(at.c.wss_url).channel("BatchListingChannel",{uid:c.uid});this.subscription=u.received().subscribe(d=>{if(this.mapOfCheckedId={},this.isAllListingsSelected=!1,this.selection=[],d&&d.errors)for(const z of d.errors)this.loading=!1,this.message?.remove(),this.message?.create("error","Error",z);else d&&(this.message.create("success",`${this.isAllListingsSelected?"All":this.numberOfChecked} listings are deleted successfully!`),this.fetchContent());this.numberOfChecked=0},d=>{this.loading=!1,console.log(d)})})}})}deleteListings(){this.confirmDeletion(!0,!1)}singleDelete(t){this.confirmDeletion(!1,t)}isChecked(t){return!!this.selectedListingsMap[t.id]}toggle(t,n){n?(this.selectedListingsMap[t.id]=t,this.mapOfCheckedId[t.id]=!0):(delete this.selectedListingsMap[t.id],delete this.mapOfCheckedId[t.id]),this.emitSelection()}emitSelection(){const t=Object.keys(this.selectedListingsMap);this.isAllDisplayDataChecked=this.isAllListingsSelected||this.allListings.length>0&&this.allListings.every(o=>this.selectedListingsMap[o.id]),this.isIndeterminate=this.allListings.some(o=>this.selectedListingsMap[o.id])&&!this.isAllDisplayDataChecked,this.numberOfChecked=this.isAllListingsSelected?this.listingPagination.total:t.length;const n=t.map(o=>parseInt(o,10));this.selection=n,this.selectedListing=n,this.select.emit(n)}refreshStatus(t){t?this.toggle(t,!!this.mapOfCheckedId[t.id]):this.emitSelection()}get selectedListings(){return Object.keys(this.selectedListingsMap).map(t=>
1this.selectedListingsMap[t]).filter(Boolean)}removeSelected(t){delete this.mapOfCheckedId[t],delete this.selectedListingsMap[t],this.emitSelection()}clearSelected(){this.mapOfCheckedId={},this.selectedListingsMap={},this.isAllListingsSelected=!1,this.emitSelection()}checkAll(t){this.allListings.forEach(n=>{t?(this.mapOfCheckedId[n.id]=t,this.selectedListingsMap[n.id]=n):(delete this.mapOfCheckedId[n.id],delete this.selectedListingsMap[n.id])}),this.emitSelection()}getParamsData(t){let n={};const r=t.substring(1).split("&");for(let a=0;a<r.length;a++){let s=r[a].split("=");n[s[0]]=decodeURIComponent(s[1])}return n}getIntegrations(){this.loading=!0,this.integrationsService.list().subscribe(t=>{t&&(this.hasMLS=t.data&&t.data.length>0),this.loading=!1})}hideMLSBanner(){this.customer.tracking.dismissed_mls=!0,this.customerService.update(this.customer).subscribe(t=>{t&&(this.customer=t,this.authService.updateCurrentCustomer(t))},t=>{})}static{this.\u0275fac=i.\u0275\u0275ngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i,type:l,deps:[{token:g.Ix},{token:g.nX},{token:f.xh},{token:b.N_},{token:K.M},{token:y.x},{token:U.m},{token:X.z2},{token:W.J},{token:x.k},{token:S.h},{token:Q.Q}],target:i.\u0275\u0275FactoryTarget.Component})}static{this.\u0275cmp=i.\u0275\u0275ngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:l,selector:"app-select-multi-listing",inputs:{isChild:"isChild"},outputs:{select:"select"},ngImport:i,template:'<div class="container">\n\n <ng-container *ngTemplateOutlet="listin"></ng-container>\n <div class="image-holder" *ngIf="!search && !listings.length && !loading">\n <img src="../../../assets/images/listings-empty.png" />\n <h2 class="create-title mar-zero">Promote your Listings with Style!</h2>\n <p class="sub-title">After selecting what you want to make, pick your listing, and customize the content before it\n gets generated for you.\n </p>\n <button nz-button nzType="primary" (click)="createNewListing();">Let\'s Go</button>\n </div>\n</div>\n<ng-template #listin>\n <div nz-row class="search" *ngIf="listings">\n <nz-input-group [nzSuffix]="suffixIconSearch">\n <input type="text" nz-input placeholder="Search Here" [ngModel]="searchText"\n (ngModelChange)=\'searchModelChanged.next($event)\' />\n </nz-input-group>\n <ng-template #suffixIconSearch>\n <i nz-icon nzType="search"></i>\n </ng-template>\n </div>\n\n <div class="selected-bar" *ngIf="selectedListings.length">\n <div class="selected-bar__head">
1\n <span class="selected-bar__count">\n {{ selectedListings.length }} {{ selectedListings.length > 1 ? \'listings\' : \'listing\' }} selected\n </span>\n <a class="selected-bar__clear" (click)="clearSelected()">Clear all</a>\n </div>\n <div class="selected-bar__chips">\n <nz-tag class="selected-chip" *ngFor="let sel of selectedListings" nzMode="closeable"\n (nzOnClose)="removeSelected(sel.id)">\n <img class="selected-chip__img"\n *ngIf="sel.images_attributes && sel.images_attributes[0] && sel.images_attributes[0].thumb"\n [src]="sel.images_attributes[0].thumb" />\n <span class="selected-chip__text">{{ sel.address }}</span>\n </nz-tag>\n </div>\n </div>\n\x3c!-- <div nz-row class="top-row-padding bottom-row-padding">--\x3e\n\x3c!-- <button nz-button nzType="default" *ngIf="isIndeterminate || isAllDisplayDataChecked"--\x3e\n\x3c!-- (click)="deleteListings()">--\x3e\n\x3c!-- <i nz-icon nzType="delete" nzTheme="outline"></i>--\x3e\n\x3c!-- Delete Listings</button>--\x3e\n\x3c!-- <span class="selected-count" *ngIf="numberOfChecked">Selected {{ numberOfChecked }} {{numberOfChecked > 1 ?--\x3e\n\x3c!-- \'listings\' : \'listing\' }} </span>--\x3e\n\x3c!-- </div>--\x3e\n <nz-table [nzLoading]="loading" nzNoResult="No Listings found!" nzTemplateMode>\n <thead (nzSortOrderChange)="sort($event)">\n <tr>\n <th></th>\n <th nzShowSort nzColumnKey="address" [(nzSortFn)]="mapOfSort.address">Address</th>\n <th nzShowSort nzColumnKey="listing_status" [(nzSortFn)]="mapOfSort.listing_status">Listing Status</th>\n <th nzShowSort nzColumnKey="listing_type" [(nzSortFn)]="mapOfSort.listing_type">Listing Type</th>\n <th class="text-center" nzShowSort nzColumnKey="created_at" [(nzSortFn)]="mapOfSort.created_at">Created At</th>\n </tr>\n </thead>\n <tbody>\n\n <tr *ngFor="let listing of listings" class="cursor-pointer">\n <td nzShowCheckbox [nzChecked]="isChecked(listing)" [nzDisabled]="selectedListing.length >= 5 && !isChecked(listing)"\n\n (nzCheckedChange)="toggle(listing, $event)" ></td>\n\x3c!-- <td nzShowCheckbox [(nzChecked)]="isAllListingsSelected" (nzCheckedChange)="refreshStatus(listing)"--\x3e\n\x3c!-- *ngIf="isAllListingsSelected" ></td>--\x3e\n\n <td>\n <a>\n <img [src]=listing.images_attributes[0].thumb style="height: 50px" *ngIf="listing && listing.images_attributes\n && listing.images_attributes[0] && listing.images_attributes[0].thumb">\n {{listing.address}}\n </a>\n </td>\n <td>\n {{listing.listing_status}}\n </td>\n <td>\n {{listing.listing_type}}\n </td>\n\n <td class="text-center">\n {{ listing.created_at | date : "MM-dd-y"}}\n </td>\n </tr>\n </tbody>\n </nz-table>\n <div nz-row nzType="flex" nzJustify="end" class="create-cont">\n <nz-pagination *ngIf="listings.length" [nzPageIndex]="listingPagination.page" [nzTotal]="listingPagination.total"\n (nzPageIndexChange)="didPage($event)">\n </nz-pagination>\n </div>\n</ng-template>\n',styles:[".section-title i{color:#0070f7}.empty-websites{padding:32px;text-align:center}.empty-websites img{width:50%}.text-center{text-align:center}.mar-zero{margin:0!important}.create-title{font-weight:700;color:#003f9d;font-size:24px;font-family:Montserrat}.sub-title{color:#393853;font-size:17px;font-family:Montserrat;font-weight:600}.title{font-weight:700}.pagination{margin-top:24px}.wd-130{width:130px}.wd-60{width:60px}.wd-75{width:75px}.wd-100{width:100px}.create-cont{margin:16px 0}.search{width:26%;padding-bottom:10px;padding-top:10px}.grey-icon{color:#555}.padding-top-col{padding-bottom:10px;padding-top:10px}.refresh-button{position:absolute;right:200px}.delete-listing{margin-left:24px}.selected-count{margin-left:8px}.image-holder{text-align:center}.image-holder p{font-weight:600}.image-holder img{width:50%}@media only screen and (max-width: 959px){.image-holder img{width:50%}}.mls-connection{padding:26px;border:1px solid darkgray;border-radius:5px;width:300px;margin:0 16px 16px 0;height:89px}.mls-banner{width:100%}.mls-banner .ant-alert{padding:8px 15px 15px 37px!important}.mls-btn{border-color:#1890ff;color:#1890ff;margin-right:48px}.selected-bar{margin:12px 0 16px;padding:12px 14px;background:#f5f9ff;border:1px solid #d6e4ff;border-radius:8px}.selected-bar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.selected-bar__count{font-weight:600;color:#1d39c4}.selected-bar__clear{color:#1890ff;font-size:13px;
1cursor:pointer}.selected-bar__chips{display:flex;flex-wrap:wrap;gap:8px}.selected-chip{display:inline-flex;align-items:center;max-width:260px;padding:4px 8px;margin:0;border-radius:16px}.selected-chip__img{width:22px;height:22px;object-fit:cover;border-radius:50%;margin-right:6px}.selected-chip__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"],dependencies:[{kind:"directive",type:h.Sq,selector:"[ngFor][ngForOf]",inputs:["ngForOf","ngForTrackBy","ngForTemplate"]},{kind:"directive",type:h.bT,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{kind:"directive",type:h.T3,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet","ngTemplateOutletInjector"]},{kind:"directive",type:m.me,selector:"input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]"},{kind:"directive",type:m.BC,selector:"[formControlName],[ngModel],[formControl]"},{kind:"directive",type:m.vS,selector:"[ngModel]:not([formControlName]):not([formControl])",inputs:["name","disabled","ngModel","ngModelOptions"],outputs:["ngModelChange"],exportAs:["ngModel"]},{kind:"component",type:$.aO,selector:"button[nz-button], a[nz-button]",inputs:["nzBlock","nzGhost","nzSearch","nzLoading","nzDanger","disabled","tabIndex","nzType","nzShape","nzSize"],exportAs:["nzButton"]},{kind:"directive",type:R.c,selector:"[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group",inputs:["hidden"]},{kind:"directive",type:j.p,selector:'[nz-wave],button[nz-button]:not
1([nzType="link"]):not([nzType="text"])',inputs:["nzWaveExtraNode"],exportAs:["nzWave"]},{kind:"directive",type:w.e,selector:"[nz-row],nz-row,nz-form-item",inputs:["nzAlign","nzJustify","nzGutter"],exportAs:["nzRow"]},{kind:"directive",type:G.Dn,selector:"[nz-icon]",inputs:["nzSpin","nzRotate","nzType","nzTheme","nzTwotoneColor","nzIconfont"],exportAs:["nzIcon"]},{kind:"directive",type:I.Sy,selector:"input[nz-input],textarea[nz-input]",inputs:["nzBorderless","nzSize","nzStepperless","nzStatus","disabled"],exportAs:["nzInput"]},{kind:"component",type:I.tg,selector:"nz-input-group",inputs:["nzAddOnBeforeIcon","nzAddOnAfterIcon","nzPrefixIcon","nzSuffixIcon","nzAddOnBefore","nzAddOnAfter","nzPrefix","nzStatus","nzSuffix","nzSize","nzSearch","nzCompact"],exportAs:["nzInputGroup"]},{kind:"directive",type:I.vN,selector:"nz-input-group[nzSuffix], nz-input-group[nzPrefix]"},{kind:"component",type:rt.ae,selector:"nz-pagination",inputs:["nzShowTotal","nzItemRender","nzSize","nzPageSizeOptions","nzShowSizeChanger","nzShowQuickJumper","nzSimple","nzDisabled","nzResponsive","nzHideOnSinglePage","nzTotal","nzPageIndex","nzPageSize"],outputs:["nzPageSizeChange","nzPageIndexChange"],exportAs:["nzPagination"]},{kind:"component",type:p.CP,selector:"nz-table",inputs:["nzTableLayout","nzShowTotal","nzItemRender","nzTitle","nzFooter","nzNoResult","nzPageSizeOptions","nzVirtualItemSize","nzVirtualMaxBufferPx","nzVirtualMinBufferPx","nzVirtualForTrackBy","nzLoadingDelay","nzPageIndex","nzPageSize","nzTotal","nzWidthConfig","nzData","nzCustomColumn","nzPaginationPosition","nzScroll","nzPaginationType","nzFrontPagination","nzTemplateMode","nzShowPagination","nzLoading","nzOuterBordered","nzLoadingIndicator","nzBordered","nzSize","nzShowSizeChanger","nzHideOnSinglePage","nzShowQuickJumper","nzSimple"],outputs:["nzPageSizeChange","nzPageIndexChange","nzQueryParams","nzCurrentPageDataChange","nzCustomColumnChange"],exportAs:["nzTable"]},{kind:"component",type:p.Cc,selector:"th[nzColumnKey], th[nzSortFn], th[nzSortOrder], th[nzFilters], th[nzShowSort], th[nzShowFilter], th[nzCustomFilter]",inputs:["nzColumnKey","nzFilterMultiple","nzSortOrder","nzSortPriority","nzSortDirections","nzFilters","nzSortFn","nzFilterFn","nzShowSort","nzShowFilter","nzCustomFilter"],outputs:["nzCheckedChange","nzSortOrderChange","nzFilterChange"]},{kind:"directive",type:p.SO,selector:"th:not(.nz-disable-th):not([mat-cell]), td:not(.nz-disable-td):not([mat-cell])"},{kind:"directive",type:p._4,selector:"th",inputs:["nzWidth","colspan","colSpan","rowspan","rowSpan"]},{kind:"component",type:p.GM,selector:"td[nzChecked], td[nzDisabled], td[nzIndeterminate], td[nzIndentSize], td[nzExpand], td[nzShowExpand], td[nzShowCheckbox]",inputs:["nzChecked","nzDisabled","nzIndeterminate","nzLabel","nzIndentSize","nzShowExpand","nzShowCheckbox","nzExpand","nzExpandIcon"],outputs:["nzCheckedChange","nzExpandChange"]},{kind:"component",type:p.IL,selector:"thead:not(.ant-table-thead)",outputs:["nzSortOrderChange"]},{kind:"component",type:p.aj,selector:"tbody"},{kind:"directive",type:p.kt,selector:"tr:not([mat-row]):not([mat-header-row]):not([nz-table-measure-row]):not([nzExpand]):not([nz-table-fixed-row])"},{kind:"component",type:lt.s,selector:"nz-tag",inputs:["nzMode","nzColor","nzChecked","nzBordered"],outputs:["nzOnClose","nzCheckedChange"],exportAs:["nzTag"]},{kind:"pipe",type:h.vh,name:"date"}]})}}return l})();i.\u0275\u0275ngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i,type:v,decorators:[{type:i.Component,args:[{selector:"app-select-multi-listing",template:'<div class="container">\n\n <ng-container *ngTemplateOutlet="listin"></ng-container>\n <div class="image-holder" *ngIf="!search && !listings.length && !loading">\n <img src="../../../assets/images/listings-empty.png" />\n <h2 class="create-title mar-zero">Promote your Listings with Style!</h2>\n <p class="sub-title">After selecting what you want to make, pick your listing, and customize the content before it\n gets generated for you.\n </p>\n <button nz-button nzType="primary" (click)="createNewListing();">Let\'s Go</button>\n </div>\n</div>\n<ng-template #listin>\n <div nz-row class="search" *ngIf="listings">\n <nz-input-group [nzSuffix]="suffixIconSearch">\n <input type="text" nz-input placeholder="Search Here" [ngModel]="searchText"\n (ngModelChange)=\'searchModelChanged.next($event)\' />\n </nz-input-group>\n <ng-template #suffixIconSearch>\n <i nz-icon nzType="search"></i>\n </ng-template>\n </div>\n\n <div class="selected-bar" *ngIf="selectedListings.length">\n <div class="selected-bar__head">
1\n <span class="selected-bar__count">\n {{ selectedListings.length }} {{ selectedListings.length > 1 ? \'listings\' : \'listing\' }} selected\n </span>\n <a class="selected-bar__clear" (click)="clearSelected()">Clear all</a>\n </div>\n <div class="selected-bar__chips">\n <nz-tag class="selected-chip" *ngFor="let sel of selectedListings" nzMode="closeable"\n (nzOnClose)="removeSelected(sel.id)">\n <img class="selected-chip__img"\n *ngIf="sel.images_attributes && sel.images_attributes[0] && sel.images_attributes[0].thumb"\n [src]="sel.images_attributes[0].thumb" />\n <span class="selected-chip__text">{{ sel.address }}</span>\n </nz-tag>\n </div>\n </div>\n\x3c!-- <div nz-row class="top-row-padding bottom-row-padding">--\x3e\n\x3c!-- <button nz-button nzType="default" *ngIf="isIndeterminate || isAllDisplayDataChecked"--\x3e\n\x3c!-- (click)="deleteListings()">--\x3e\n\x3c!-- <i nz-icon nzType="delete" nzTheme="outline"></i>--\x3e\n\x3c!-- Delete Listings</button>--\x3e\n\x3c!-- <span class="selected-count" *ngIf="numberOfChecked">Selected {{ numberOfChecked }} {{numberOfChecked > 1 ?--\x3e\n\x3c!-- \'listings\' : \'listing\' }} </span>--\x3e\n\x3c!-- </div>--\x3e\n <nz-table [nzLoading]="loading" nzNoResult="No Listings found!" nzTemplateMode>\n <thead (nzSortOrderChange)="sort($event)">\n <tr>\n <th></th>\n <th nzShowSort nzColumnKey="address" [(nzSortFn)]="mapOfSort.address">Address</th>\n <th nzShowSort nzColumnKey="listing_status" [(nzSortFn)]="mapOfSort.listing_status">Listing Status</th>\n <th nzShowSort nzColumnKey="listing_type" [(nzSortFn)]="mapOfSort.listing_type">Listing Type</th>\n <th class="text-center" nzShowSort nzColumnKey="created_at" [(nzSortFn)]="mapOfSort.created_at">Created At</th>\n </tr>\n </thead>\n <tbody>\n\n <tr *ngFor="let listing of listings" class="cursor-pointer">\n <td nzShowCheckbox [nzChecked]="isChecked(listing)" [nzDisabled]="selectedListing.length >= 5 && !isChecked(listing)"\n\n (nzCheckedChange)="toggle(listing, $event)" ></td>\n\x3c!-- <td nzShowCheckbox [(nzChecked)]="isAllListingsSelected" (nzCheckedChange)="refreshStatus(listing)"--\x3e\n\x3c!-- *ngIf="isAllListingsSelected" ></td>--\x3e\n\n <td>\n <a>\n <img [src]=listing.images_attributes[0].thumb style="height: 50px" *ngIf="listing && listing.images_attributes\n && listing.images_attributes[0] && listing.images_attributes[0].thumb">\n {{listing.address}}\n </a>\n </td>\n <td>\n {{listing.listing_status}}\n </td>\n <td>\n {{listing.listing_type}}\n </td>\n\n <td class="text-center">\n {{ listing.created_at | date : "MM-dd-y"}}\n </td>\n </tr>\n </tbody>\n </nz-table>\n <div nz-row nzType="flex" nzJustify="end" class="create-cont">\n <nz-pagination *ngIf="listings.length" [nzPageIndex]="listingPagination.page" [nzTotal]="listingPagination.total"\n (nzPageIndexChange)="didPage($event)">\n </nz-pagination>\n </div>\n</ng-template>\n',styles:[".section-title i{color:#0070f7}.empty-websites{padding:32px;text-align:center}.empty-websites img{width:50%}.text-center{text-align:center}.mar-zero{margin:0!important}.create-title{font-weight:700;color:#003f9d;font-size:24px;font-family:Montserrat}.sub-title{color:#393853;font-size:17px;font-family:Montserrat;font-weight:600}.title{font-weight:700}.pagination{margin-top:24px}.wd-130{width:130px}.wd-60{width:60px}.wd-75{width:75px}.wd-100{width:100px}.create-cont{margin:16px 0}.search{width:26%;padding-bottom:10px;padding-top:10px}.grey-icon{color:#555}.padding-top-col{padding-bottom:10px;padding-top:10px}.refresh-button{position:absolute;right:200px}.delete-listing{margin-left:24px}.selected-count{margin-left:8px}.image-holder{text-align:center}.image-holder p{font-weight:600}.image-holder img{width:50%}@media only screen and (max-width: 959px){.image-holder img{width:50%}}.mls-connection{padding:26px;border:1px solid darkgray;border-radius:5px;width:300px;margin:0 16px 16px 0;height:89px}.mls-banner{width:100%}.mls-banner .ant-alert{padding:8px 15px 15px 37px!important}.mls-btn{border-color:#1890ff;color:#1890ff;margin-right:48px}.selected-bar{margin:12px 0 16px;padding:12px 14px;background:#f5f9ff;border:1px solid #d6e4ff;border-radius:8px}.selected-bar__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.selected-bar__count{font-weight:600;color:#1d39c4}.selected-bar__clear{color:#1890ff;font-size:13px;
1cursor:pointer}.selected-bar__chips{display:flex;flex-wrap:wrap;gap:8px}.selected-chip{display:inline-flex;align-items:center;max-width:260px;padding:4px 8px;margin:0;border-radius:16px}.selected-chip__img{width:22px;height:22px;object-fit:cover;border-radius:50%;margin-right:6px}.selected-chip__text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}\n"]}]}],ctorParameters:()=>[{type:g.Ix},{type:g.nX},{type:f.xh},{type:b.N_},{type:K.M},{type:y.x},{type:U.m},{type:X.z2},{type:W.J},{type:x.k},{type:S.h},{type:Q.Q}],propDecorators:{select:[{type:i.Output}],isChild:[{type:i.Input}]}});let C=(()=>{class l{constructor(t,n,o,r,a,s,c,u,d,z,O,M){this.router=t,this.route=n,this.message=o,this.modalService=r,this.breadcrumservce=a,this.authService=s,this.contentService=c,this.productService=u,this.globalService=d,this.notification=z,this.customerService=O,this.linkedInService=M,this.content=new Z.U,this.data={images:[]},this.showUpto=5,this.showSchedule=!1,this.submitted=!1,this.isVideo=!1,this.linkedinStatus=!1,this.linkedinAutopost=!1,this.ishashTagLimit=!1,this.textLength=0,this.categoryMap={testimonial_videos:"TS",testimonial_flyers:"TSF",announcement_video:"AV"},this.uid=this.globalService.randomString(),this.current=0,this.requiredFields=["CTA","Message"],this.isPhotoValid=!1,this.isGalleryValid=!1,this.valid=!1,this.styles=[],this.selectedListing=[]}ngAfterViewInit(){this.setSocialContentConfig()}ngOnInit(){this.contentSubject=this.authService.currentCustomerValue,this.breadcrumservce.set_breadcrum(),this.productService.productList(`customers/${this.contentSubject?.id}/products`,{"q[name_eq]":"listing_recap_video"}).subscribe(o=>{if(o){this.contentSubject.products=o.data;const r=this.contentSubject?.products?.map(a=>new _.Y(a));this.product=r?.find(a=>"listing_recap_video"===a.name),this.content.contentable_type="Customer",this.content.contentable_id=this.authService.currentCustomerValue?.id,this.content.category=this.product.abbreviation,this.fetchStyles()}})}create(t,n){if(!this.selectedListing||!this.selectedListing.length)return void this.message?.create("error","No listings selected. Please go back and select listings.");this.content.extra_attributes={...this.content.extra_attributes,listing_ids:this.selectedListing},this.content.category="RLV";const o=this.content;t&&t.length&&(o.platforms=t),n&&(o.skip_post=!0),this.contentService?.create(o).subscribe(r=>{this.notification?.create("success","Created","Content has successfully been created"),this.router.navigateByUrl(`/content?new=${r.id}`)},r=>{this.message?.remove(),this.message?.create("error",r.message)})}finalSubmit(){this.submitted=!0;const t=[];this.socialConfig&&this.socialConfig.facebook&&t.push("facebook"),this.socialConfig&&this.socialConfig.linkedin&&t.push("linkedin"),this.socialConfig&&this.socialConfig.google&&t.push("google_business"),this.socialConfig&&this.socialConfig.youtube&&t.push("youtube"),this.socialConfig&&this.socialConfig.tiktok&&t.push("tiktok"),0===t.length?(this.message?.remove(),this.message?.create("error","Please select platform!")):this.create(t)}render(){this.submitted=!0,(!this.showSchedule||this.isScheduleFormValid)&&this.create(!1,!0)}back(){this.router.navigate(["/"])}setAnnouncementPhoto(t,n){t&&(this.data.images[n]=t.id,this.data.images.length<5&&this.data.images.length++)}previous(){this.current-=1}next(){!this.selectedListing||this.selectedListing.length<3?this.message?.create("error","Select at least 3 listings to continue."):(this.current+=1,this.fetchStyles())}fetchStyles(){this.productService.styles(this.product,this.contentSubject).subscribe(t=>{t&&(this.styles=t.data,1===this.styles.length&&(this.content.style_name=this.styles[0].effective_name,this.content.style_id=this.styles[0].id,this.styles[0].selected=!0))})}valueChange(t){this.textLength=t.length}fetch_linkedin_autopost_settings(){this.customerService.getLinkedin().subscribe(t=>{t&&t.length>0&&(this.linkedinStatus=!0,this.linkedInService.getAutopost().subscribe(n=>{this.integration=n.data[0],this.linkedinAutopost=this.integration.auto_posting,this.socialConfig.linkedin=this.linkedinAutopost,this.socialConfig.facebook=this.customer?.
1settings?.auto_posting}))})}setSocialContentConfig(){this.fetch_linkedin_autopost_settings(),this.socialConfig={content:this.content,facebook:!1,linkedin:!1},this.socialConfig.facebook=this.customer?.settings?.auto_posting}get isScheduleFormValid(){return(this.socialConfig.facebook||this.socialConfig.linkedin)&&this.content.scheduled_for}hashTagLimit(t){this.ishashTagLimit=t}selectList(t){console.log(t),this.selectedListing=t,this.content.extra_attributes={...this.content.extra_attributes,listing_ids:this.selectedListing}}static{this.\u0275fac=i.\u0275\u0275ngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i,type:l,deps:[{token:g.Ix},{token:g.nX},{token:f.xh},{token:b.N_},{token:y.x},{token:x.k},{token:D.K},{token:F.g},{token:N.k},{token:V.xY},{token:S.h},{token:B.i}],target:i.\u0275\u0275FactoryTarget.Component})}static{this.\u0275cmp=i.\u0275\u0275ngDeclareComponent({minVersion:"14.0.0",version:"17.3.12",type:l,selector:"app-create-listing-recap-videos",viewQueries:[{propertyName:"form",first:!0,predicate:["testimonialForm"],descendants:!0},{propertyName:"contentForm",first:!0,predicate:["contentForm"],descendants:!0}],ngImport:i,template:'<div class="container">\n <div class="title-header" *ngTemplateOutlet="TestimonialContent"></div>\n <form #testimonialForm="ngForm" nz-form>\n\n <nz-steps [nzCurrent]="current" class="content-stepper">\n <nz-step nzTitle="Select"></nz-step>\n <nz-step nzTitle="Customize"></nz-step>\n <nz-step nzTitle="Done"></nz-step>\n </nz-steps>\n\n\n <div class="steps-content" *ngIf="current === 0">\n\n\n\n <nz-alert nzType="warning" nzMessage="Select between 3 to 5 sold listings to generate a Listing Recap Video." nzShowIcon></nz-alert>\n <app-select-multi-listing [isChild]="true" (select)="this.selectList($event)"></app-select-multi-listing>\n <div nz-row nzType="flex" nzJustify="end">\n \x3c!-- <button nz-button nzType="primary" class="right-spacing" (click)="back()">Back</button> --\x3e\n <button nz-button nzType="primary" (click)="next();" class="next-button" [disabled]="selectedListing.length < 3" >\n Save and Continue\n </button>\n </div>\n </div>\n </form>\n <div class="steps-content" *ngIf="current === 1">\n\n\n <app-content-form [submitted]="submitted" [socialConfig]="socialConfig" *ngIf="styles" #contentForm\n [model]="content" [showSchedule]="showSchedule" [styles]="styles" (hashTagLimit)="hashTagLimit($event)">\n </app-content-form>\n <div class="end-actions"><ng-container [ngTemplateOutlet]="actions"></ng-container></div>\n </div>\n</div>\n\n<ng-template #actions>\n <div nz-row nzJustify="space-around" class="top-actions">\n <div nz-col nzSpan="8">\n <button nz-button nzSpan="12" class="back-btn" (click)="previous()">\n Back</button>\n </div>\n <div nz-col nzSpan="4" *ngIf="showSchedule" nzOffset="8" class="text-right">\n <button nz-button nzSpan="12" (click)="showSchedule = false;content.scheduled_for = null">\n Cancel Schedule</button>\n </div>\n <div *ngIf="showSchedule" nz-col nzSpan="4">\n <button nz-button nzSpan="12" class="fl-r" nzType="primary" color="primary" (click)="finalSubmit()">Schedule\n Post</button>\n </div>\n <div *ngIf="!showSchedule" nz-col nzSpan="8" nzOffset="8">\n <button nz-button nz-dropdown nzType="primary" [disabled]="ishashTagLimit" [nzDropdownMenu]="menu4" class="fl-r">\n Create\n <i nz-icon nzType="down"></i>\n </button>\n <nz-dropdown-menu #menu4="nzDropdownMenu">\n <ul nz-menu *ngIf="!ishashTagLimit">\n <li nz-menu-item (click)="render()">\n <i nz-icon nzType="sketch"></i>\n Render\n </li>\n <li nz-menu-item (click)="showSchedule = true">\n <i nz-icon nzType="field-time" nzTheme="outline"></i>\n Schedule\n </li>\n <li nz-menu-item (click)="finalSubmit()">\n <i nz-icon nzType="share-alt" [ngStyle]="{\'color\': content.status === \'ready\' ? \'#0170f7\' : \'#9d9a9a\'}"\n class="down-icon"></i>\n Post Now\n </li>\n </ul>\n </nz-dropdown-menu>\n </div>\n </div>\n</ng-template>\n\n<ng-template #TestimonialContent>\n <h1 class="section-title title">\n Listings Recap Video\n </h1>\n</ng-template>\n',styles:[".label-text{font-weight:700;font-size:16px}.label-text span{color:#f5222d}.label-text-sm{font-size:14px;margin-bottom:15px;
1display:block}.image-card{position:relative;width:200px;height:200px;border-radius:4px;border:1px solid lightgray;cursor:pointer;margin-bottom:25px;background-color:#30d289;text-align:center;font-size:56px;color:#fff;overflow:hidden}.image-card .mat-icon{height:56px;width:56px;font-size:56px}.image-card img{height:100%;width:auto}.mg-t-20{margin-top:20px}.image-card{display:flex;margin-top:20px}.overlay{position:absolute;inset:0%;height:100%;width:100%;opacity:0;transition:.5s ease;background-color:#008cba}.image-card:hover .overlay{opacity:1}.upload-button{font-size:18px}.upload-button-dark{color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.image-card:last-child{border:none}.image-list.cdk-drop-list-dragging .image-card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.content-stepper{margin:30px 0}.type-title{font-size:19px;font-weight:600}.next-button{width:200px}.right-spacing{margin-right:32px}.textarea-wrapper{position:relative}.remaning{position:absolute;bottom:-22px;right:0}.sub-text{text-align:left!important;font-size:14px}.sub-text>label:after{content:none!important}.top-actions{padding-bottom:20px}.fl-r{float:right}.end-actions{margin-bottom:120px}\n"],dependencies:[{kind:"directive",type:h.bT,selector:"[ngIf]",inputs:["ngIf","ngIfThen","ngIfElse"]},{kind:"directive",type:h.T3,selector:"[ngTemplateOutlet]",inputs:["ngTemplateOutletContext","ngTemplateOutlet","ngTemplateOutletInjector"]},{kind:"directive",type:h.B3,selector:"[ngStyle]",inputs:["ngStyle"]},{kind:"directive",type:m.qT,selector:"form:not([ngNoForm]):not([ngNativeValidate])"},{kind:"directive",type:m.cb,selector:"[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]"},{kind:"directive",type:m.cV,selector:"form:not([ngNoForm]):not([formGroup]),ng-form,[ngForm]",inputs:["ngFormOptions"],outputs:["ngSubmit"],exportAs:["ngForm"]},{kind:"component",type:q.X,selector:"app-content-form",inputs:["stockImages","isTestimonial","isCoverPhotos","isFlyer","valid","showSchedule","socialConfig","requiredFields","onlyRequired","model","showCaption","showColors","submitted","styles","coverPhotoCategory"],outputs:["validChange","errors","nextPage","nextCoverPhotoPage","changeStyle","hashTagLimit","categoryChange"]},{kind:"component",type:tt.Y,selector:"nz-alert",inputs:["nzAction","nzCloseText","nzIconType","nzMessage","nzDescription","nzType","nzCloseable","nzShowIcon","nzBanner","nzNoAnimation","nzIcon"],outputs:["nzOnClose"],exportAs:["nzAlert"]},{kind:"component",type:$.aO,selector:"button[nz-button], a[nz-button]",inputs:["nzBlock","nzGhost","nzSearch","nzLoading","nzDanger","disabled","tabIndex","nzType","nzShape","nzSize"],exportAs:["nzButton"]},{kind:"directive",type:R.c,selector:"[nz-button], nz-button-group, [nz-icon], [nz-menu-item], [nz-submenu], nz-select-top-control, nz-select-placeholder, nz-input-group",inputs:["hidden"]},{kind:"directive",type:j.p,selector:'[nz-wave],button[nz-button]:not
1([nzType="link"]):not([nzType="text"])',inputs:["nzWaveExtraNode"],exportAs:["nzWave"]},{kind:"directive",type:E.jS,selector:"[nz-menu]",inputs:["nzInlineIndent","nzTheme","nzMode","nzInlineCollapsed","nzSelectable"],outputs:["nzClick"],exportAs:["nzMenu"]},{kind:"component",type:E.CU,selector:"[nz-menu-item]",inputs:["nzPaddingLeft","nzDisabled","nzSelected","nzDanger","nzMatchRouterExact","nzMatchRouter"],exportAs:["nzMenuItem"]},{kind:"directive",type:k.j3,selector:"[nz-dropdown]",inputs:["nzDropdownMenu","nzTrigger","nzMatchWidthElement","nzBackdrop","nzClickHide","nzDisabled","nzVisible","nzOverlayClassName","nzOverlayStyle","nzPlacement"],outputs:["nzVisibleChange"],exportAs:["nzDropdown"]},{kind:"component",type:k.wQ,selector:"nz-dropdown-menu",exportAs:["nzDropdownMenu"]},{kind:"directive",type:k.h4,selector:"[nz-button][nz-dropdown]"},{kind:"directive",type:w.Uq,selector:"[nz-col],nz-col,nz-form-control,nz-form-label",inputs:["nzFlex","nzSpan","nzOrder","nzOffset","nzPush","nzPull","nzXs","nzSm","nzMd","nzLg","nzXl","nzXXl"],exportAs:["nzCol"]},{kind:"directive",type:w.e,selector:"[nz-row],nz-row,nz-form-item",inputs:["nzAlign","nzJustify","nzGutter"],exportAs:["nzRow"]},{kind:"directive",type:et.CA,selector:"[nz-form]",inputs:["nzLayout","nzNoColon","nzAutoTips","nzDisableAutoTips","nzTooltipIcon","nzLabelAlign","nzLabelWrap"],exportAs:["nzForm"]},{kind:"directive",type:G.Dn,selector:"[nz-icon]",inputs:["nzSpin","nzRotate","nzType","nzTheme","nzTwotoneColor","nzIconfont"],exportAs:["nzIcon"]},{kind:"component",type:J.XM,selector:"nz-steps",inputs:["nzCurrent","nzDirection","nzLabelPlacement","nzType","nzSize","nzStartIndex","nzStatus","nzProgressDot"],outputs:["nzIndexChange"],exportAs:["nzSteps"]},{kind:"component",type:J.oM,selector:"nz-step",inputs:["nzTitle","nzSubtitle","nzDescription","nzDisabled","nzPercentage","nzSize","nzStatus","nzIcon"],exportAs:["nzStep"]},{kind:"component",type:v,selector:"app-select-multi-listing",inputs:["isChild"],outputs:["select"]}]})}}return l})();i.\u0275\u0275ngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i,type:C,decorators:[{type:i.Component,args:[{selector:"app-create-listing-recap-videos",template:'<div class="container">\n <div class="title-header" *ngTemplateOutlet="TestimonialContent"></div>\n <form #testimonialForm="ngForm" nz-form>\n\n <nz-steps [nzCurrent]="current" class="content-stepper">\n <nz-step nzTitle="Select"></nz-step>\n <nz-step nzTitle="Customize"></nz-step>\n <nz-step nzTitle="Done"></nz-step>\n </nz-steps>\n\n\n <div class="steps-content" *ngIf="current === 0">\n\n\n\n <nz-alert nzType="warning" nzMessage="Select between 3 to 5 sold listings to generate a Listing Recap Video." nzShowIcon></nz-alert>\n <app-select-multi-listing [isChild]="true" (select)="this.selectList($event)"></app-select-multi-listing>\n <div nz-row nzType="flex" nzJustify="end">\n \x3c!-- <button nz-button nzType="primary" class="right-spacing" (click)="back()">Back</button> --\x3e\n <button nz-button nzType="primary" (click)="next();" class="next-button" [disabled]="selectedListing.length < 3" >\n Save and Continue\n </button>\n </div>\n </div>\n </form>\n <div class="steps-content" *ngIf="current === 1">\n\n\n <app-content-form [submitted]="submitted" [socialConfig]="socialConfig" *ngIf="styles" #contentForm\n [model]="content" [showSchedule]="showSchedule" [styles]="styles" (hashTagLimit)="hashTagLimit($event)">\n </app-content-form>\n <div class="end-actions"><ng-container [ngTemplateOutlet]="actions"></ng-container></div>\n </div>\n</div>\n\n<ng-template #actions>\n <div nz-row nzJustify="space-around" class="top-actions">\n <div nz-col nzSpan="8">\n <button nz-button nzSpan="12" class="back-btn" (click)="previous()">\n Back</button>\n </div>\n <div nz-col nzSpan="4" *ngIf="showSchedule" nzOffset="8" class="text-right">\n <button nz-button nzSpan="12" (click)="showSchedule = false;content.scheduled_for = null">\n Cancel Schedule</button>\n </div>\n <div *ngIf="showSchedule" nz-col nzSpan="4">\n <button nz-button nzSpan="12" class="fl-r" nzType="primary" color="primary" (click)="finalSubmit()">Schedule\n Post</button>\n </div>\n <div *ngIf="!showSchedule" nz-col nzSpan="8" nzOffset="8">\n <button nz-button nz-dropdown nzType="primary" [disabled]="ishashTagLimit" [nzDropdownMenu]="menu4" class="fl-r">\n Create\n <i nz-icon nzType="down"></i>\n </button>\n <nz-dropdown-menu #menu4="nzDropdownMenu">\n <ul nz-menu *ngIf="!ishashTagLimit">\n <li nz-menu-item (click)="render()">\n <i nz-icon nzType="sketch"></i>\n Render\n </li>\n <li nz-menu-item (click)="showSchedule = true">\n <i nz-icon nzType="field-time" nzTheme="outline"></i>\n Schedule\n </li>\n <li nz-menu-item (click)="finalSubmit()">\n <i nz-icon nzType="share-alt" [ngStyle]="{\'color\': content.status === \'ready\' ? \'#0170f7\' : \'#9d9a9a\'}"\n class="down-icon"></i>\n Post Now\n </li>\n </ul>\n </nz-dropdown-menu>\n </div>\n </div>\n</ng-template>\n\n<ng-template #TestimonialContent>\n <h1 class="section-title title">\n Listings Recap Video\n </h1>\n</ng-template>\n',styles:[".label-text{font-weight:700;font-size:16px}.label-text span{color:#f5222d}.label-text-sm{font-size:14px;margin-bottom:15px;
1display:block}.image-card{position:relative;width:200px;height:200px;border-radius:4px;border:1px solid lightgray;cursor:pointer;margin-bottom:25px;background-color:#30d289;text-align:center;font-size:56px;color:#fff;overflow:hidden}.image-card .mat-icon{height:56px;width:56px;font-size:56px}.image-card img{height:100%;width:auto}.mg-t-20{margin-top:20px}.image-card{display:flex;margin-top:20px}.overlay{position:absolute;inset:0%;height:100%;width:100%;opacity:0;transition:.5s ease;background-color:#008cba}.image-card:hover .overlay{opacity:1}.upload-button{font-size:18px}.upload-button-dark{color:#fff}.cdk-drag-preview{box-sizing:border-box;border-radius:4px;box-shadow:0 5px 5px -3px #0003,0 8px 10px 1px #00000024,0 3px 14px 2px #0000001f}.cdk-drag-placeholder{opacity:0}.cdk-drag-animating{transition:transform .25s cubic-bezier(0,0,.2,1)}.image-card:last-child{border:none}.image-list.cdk-drop-list-dragging .image-card:not(.cdk-drag-placeholder){transition:transform .25s cubic-bezier(0,0,.2,1)}.content-stepper{margin:30px 0}.type-title{font-size:19px;font-weight:600}.next-button{width:200px}.right-spacing{margin-right:32px}.textarea-wrapper{position:relative}.remaning{position:absolute;bottom:-22px;right:0}.sub-text{text-align:left!important;font-size:14px}.sub-text>label:after{content:none!important}.top-actions{padding-bottom:20px}.fl-r{float:right}.end-actions{margin-bottom:120px}\n"]}]}],ctorParameters:()=>[{type:g.Ix},{type:g.nX},{type:f.xh},{type:b.N_},{type:y.x},{type:x.k},{type:D.K},{type:F.g},{type:N.k},{type:V.xY},{type:S.h},{type:B.i}],propDecorators:{form:[{type:i.ViewChild,args:["testimonialForm"]}],contentForm:[{type:i.ViewChild,args:["contentForm"]}]}});const H=[{path:"",component:C}];var T=e(30500),L=e(5163);let Y=(()=>{class l{constructor(){}static{this.\u0275fac=i.\u0275\u0275ngDeclareFactory({minVersion:"12.0.0",version:"17.3.12",ngImport:i,type:l,deps:[],target:i.\u0275\u0275FactoryTarget.NgModule})}static{this.\u0275mod=i.\u0275\u0275ngDeclareNgModule({minVersion:"14.0.0",version:"17.3.12",ngImport:i,type:l,declarations:[v,C],imports:[g.iI,L.G,T.g]})}static{this.\u0275inj=i.\u0275\u0275ngDeclareInjector({minVersion:"12.0.0",version:"17.3.12",ngImport:i,type:l,imports:[g.iI.forChild(H),L.G,T.g]})}}return l})();i.\u0275\u0275ngDeclareClassMetadata({minVersion:"12.0.0",version:"17.3.12",ngImport:i,type:Y,decorators:[{type:i.NgModule,args:[{declarations:[v,C],imports:[g.iI.forChild(H),L.G,T.g]}]}],ctorParameters:()=>[]})}}]);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.