{"version":3,"sources":["webpack:///./src/assets/images/builder/3_23.02.13_S3ASC_R2_01 (2).jpg","webpack:///./src/helpers/customer/index.ts","webpack:///./src/components/MapSideLegend.vue?738b","webpack:///./src/components/StageMap.vue?0a42","webpack:///./src/components/ui/LottrackrPoweredIcon.vue?1f04","webpack:///./src/components/ui/LottrackrPoweredIcon.vue","webpack:///./src/components/ui/LottrackrPoweredIcon.vue?c7e4","webpack:///./src/components/MapSideLegend.vue?b0e1","webpack:///./src/components/MapSideLegend.vue","webpack:///./src/components/MapSideLegend.vue?47a4","webpack:///./src/views/LandingPlans.vue?71e0","webpack:///./src/views/LandingPlans.vue","webpack:///./src/views/LandingPlans.vue?fdc6","webpack:///./src/components/builder/BuilderLotDetails.vue?a63a","webpack:///./src/assets/images/builder/2_23.09.14_2131_S19ASQN_R2_01.jpg","webpack:///./src/components/ui/input/InputPassword.vue?edf6","webpack:///./src/components/ui/input/InputPassword.vue","webpack:///./src/components/ui/input/InputPassword.vue?4fd2","webpack:///./src/components/maps/EstateSvgMap.vue?f604","webpack:///./src/components/ui/modals/LoginModal.vue?d9be","webpack:///./src/components/builder/BuilderGetStartedTab.vue?f23a","webpack:///./src/assets/images/builder/1_23.09.27_2138_S18ASP_R1_01.jpg","webpack:///./src/features/useIsDesktop.ts","webpack:///./src/helpers/validation.ts","webpack:///./src/components/ui/modals/ConfirmDeleteModal.vue?34c2","webpack:///./src/components/ui/modals/ConfirmDeleteModal.vue","webpack:///./src/components/ui/modals/ConfirmDeleteModal.vue?25ca","webpack:///./src/components/maps/EstateSvgMap.vue?52b6","webpack:///./src/components/maps/EstateSvgMap.vue","webpack:///./src/components/maps/EstateSvgMap.vue?c230","webpack:///./src/components/Lot/LotButtonLink.vue?65ff","webpack:///./src/assets/images/builder/5_21.06.02_Series96_AnnixHomes_R4_01.jpg","webpack:///./src/components/ui/modals/ContactUsModal.vue?6024","webpack:///./src/helpers/vuelidate.ts","webpack:///./src/enums/MapPages.ts","webpack:///./src/helpers/documents.ts","webpack:///./src/components/StageNavMobile.vue?cdcf","webpack:///./src/components/StageNavMobile.vue","webpack:///./src/components/StageNavMobile.vue?0ba0","webpack:///./src/assets/images/builder/4_21.06.02_Series96_AnnixHomes_R2_01 (1).jpg","webpack:///./src/components/ui/modals/ConfirmDeleteModal.vue?8f89","webpack:///./src/assets/images/builder/image-question-builder.jpg","webpack:///./src/views/LandingPlans.vue?9bdd","webpack:///./src/constants/navigationTabs.ts","webpack:///./src/assets/images/builder/facade-classic-single.jpeg","webpack:///./src/components/builder/BuilderControlsButtons.vue?19c0","webpack:///./src/components/ui/modals/ReserveLotModal.vue?7b08","webpack:///./src/components/ui/modals/ReserveLotModal.vue","webpack:///./src/components/ui/modals/ReserveLotModal.vue?109a","webpack:///./src/components/builder/BuilderControlsButtons.vue?e682","webpack:///./src/components/builder/BuilderControlsButtons.vue","webpack:///./src/components/builder/BuilderControlsButtons.vue?0b66","webpack:///./src/components/ui/InfoWithIcon.vue?16af","webpack:///./src/components/ui/InfoWithIcon.vue","webpack:///./src/components/ui/InfoWithIcon.vue?f01e","webpack:///./src/components/landing/CardSubscription.vue?0872","webpack:///./src/components/ui/modals/ContactUsModal.vue?d289","webpack:///./src/components/ui/modals/ContactUsModal.vue","webpack:///./src/components/ui/modals/ContactUsModal.vue?6431","webpack:///./src/components/stage/StageButtonLink.vue?d4f1","webpack:///./node_modules/dayjs/dayjs.min.js","webpack:///./src/helpers/smoothScrollToElement.ts","webpack:///./src/components/maps/StageSvgMap.vue?e403","webpack:///./src/components/ui/modals/ReserveLotModal.vue?14c6","webpack:///./src/components/landing/LandingMobileHeader.vue?e7ab","webpack:///./src/components/landing/LandingMobileHeader.vue","webpack:///./src/components/landing/LandingMobileHeader.vue?f93c","webpack:///./src/helpers/zoom.ts","webpack:///./src/components/ui/modals/ContactUsModal.vue?8dc5","webpack:///./src/assets/images/builder/facade-contemporary-double.png","webpack:///./src/types/EventTracking.ts","webpack:///./src/helpers/regex.ts","webpack:///./src/components/builder/BuilderSliderButtons.vue?9c51","webpack:///./src/components/builder/BuilderSliderButtons.vue","webpack:///./src/components/builder/BuilderSliderButtons.vue?9191","webpack:///./src/components/builder/BuilderGetStartedTab.vue?114e","webpack:///./src/components/builder/BuilderGetStartedTab.vue","webpack:///./src/components/builder/BuilderGetStartedTab.vue?861b","webpack:///./src/helpers/estateMap/mapsZoom.ts","webpack:///./src/components/EstateMap.vue?7012","webpack:///./src/components/EstateMap.vue","webpack:///./src/components/EstateMap.vue?b017","webpack:///./src/components/landing/ContactUsLink.vue?e1b7","webpack:///./src/components/landing/ContactUsLink.vue","webpack:///./src/components/landing/ContactUsLink.vue?c29a","webpack:///./src/assets/icons sync ^\\.\\/icon\\-eye.*\\.svg$","webpack:///./src/components/builder/BuilderDropdownAndActions.vue?1382","webpack:///./src/components/builder/BuilderDropdownAndActions.vue","webpack:///./src/components/builder/BuilderDropdownAndActions.vue?4113","webpack:///./src/hooks/useAuth.ts","webpack:///./src/assets/images/builder/facade-classic-double.jpeg","webpack:///./src/constants/landingData.ts","webpack:///./src/helpers/cleavePlugin.ts","webpack:///./src/components/Lot/LotButtonLink.vue?8bf9","webpack:///./src/components/Lot/LotButtonLink.vue","webpack:///./src/components/Lot/LotButtonLink.vue?27e7","webpack:///./src/components/ui/modals/LoginModal.vue?4c6a","webpack:///./src/components/ui/modals/LoginModal.vue","webpack:///./src/components/ui/modals/LoginModal.vue?44f8","webpack:///./src/constants/index.ts","webpack:///./src/components/StageMap.vue?a1bd","webpack:///./src/components/StageMap.vue","webpack:///./src/components/StageMap.vue?17eb","webpack:///./src/components/ui/modals/ResetPasswordModal.vue?c555","webpack:///./src/components/ui/modals/ResetPasswordModal.vue","webpack:///./src/components/ui/modals/ResetPasswordModal.vue?fad8","webpack:///./src/assets/images/builder/facade-hamptons-single.jpeg","webpack:///./src/helpers/date.ts","webpack:///./src/components/MapSidePanel.vue?f6d8","webpack:///./src/components/builder/BuilderLotDocuments.vue?39e7","webpack:///./src/components/builder/BuilderLotDocuments.vue?b191","webpack:///./src/components/builder/BuilderLotDocuments.vue","webpack:///./src/components/builder/BuilderLotDocuments.vue?28a0","webpack:///./src/components/landing/LandingFooter.vue?2fca","webpack:///./src/features/useScrollDragMobile.ts","webpack:///./src/helpers/googleAnalyticsEventTracking.ts","webpack:///./src/components/ui/modals/ResetPasswordModal.vue?923f","webpack:///./src/assets/images/builder sync ^\\.\\/.*$","webpack:///./src/components/landing/ProjectSalesAndMarketing.vue?124e","webpack:///./src/components/landing/ProjectSalesAndMarketing.vue","webpack:///./src/components/landing/ProjectSalesAndMarketing.vue?c2a8","webpack:///./src/components/builder/BuilderDropdownAndActions.vue?edf4","webpack:///./src/components/EstateMap.vue?c3b0","webpack:///./src/assets/images/builder/facade-contemporary-single.jpeg","webpack:///./src/components/ui/InfoWithIcon.vue?acc9","webpack:///./node_modules/core-js/modules/web.self.js","webpack:///./node_modules/hammerjs/hammer.js","webpack:///./src/components/landing/ContactUsForm.vue?225c","webpack:///./src/components/landing/ContactUsForm.vue","webpack:///./src/components/landing/ContactUsForm.vue?57bb","webpack:///./src/components/landing/ContactUsForm.vue?865d","webpack:///./src/components/StageNavMobile.vue?5d3f","webpack:///./src/components/maps/StageSvgMap.vue?dc8d","webpack:///./src/components/maps/StageSvgMap.vue","webpack:///./src/components/maps/StageSvgMap.vue?7564","webpack:///./src/components/builder/BuilderLotDetails.vue?d92c","webpack:///./src/components/builder/BuilderLotDetails.vue","webpack:///./src/components/builder/BuilderLotDetails.vue?1679","webpack:///./src/components/landing/ProjectSalesAndMarketing.vue?cabe","webpack:///./src/components/landing/LandingFooter.vue?582b","webpack:///./src/components/landing/LandingFooter.vue","webpack:///./src/components/landing/LandingFooter.vue?5a41","webpack:///./src/components/landing/CardSubscription.vue?7dca","webpack:///./src/components/landing/CardSubscription.vue","webpack:///./src/components/landing/CardSubscription.vue?ff72","webpack:///./src/components/ui/LottrackrPoweredIcon.vue?7c26","webpack:///./src/components/builder/HouseFeatures.vue?1e3a","webpack:///./src/components/builder/BuilderSliderButtons.vue?5210","webpack:///./src/components/stage/StageButtonLink.vue?6f33","webpack:///./src/components/stage/StageButtonLink.vue","webpack:///./src/components/stage/StageButtonLink.vue?a29c","webpack:///./src/assets/images/builder/facade-hamptons-double.jpeg","webpack:///./src/helpers/transformation/price.ts","webpack:///./src/components/MapSidePanel.vue?5b08","webpack:///./src/components/MapSidePanel.vue","webpack:///./src/components/MapSidePanel.vue?0da2","webpack:///./node_modules/core-js/internals/define-built-in-accessor.js","webpack:///./src/constants/calendlyLinks.ts","webpack:///./src/enums/RouteLandingNames.ts","webpack:///./src/helpers/redirectWithoutRouter.ts","webpack:///./src/components/landing/LandingMobileHeader.vue?6ffb","webpack:///./src/components/landing/ContactUsLink.vue?80e6","webpack:///./src/components/builder/HouseFeatures.vue?b1fa","webpack:///./src/components/builder/HouseFeatures.vue","webpack:///./src/components/builder/HouseFeatures.vue?ea04","webpack:///./src/components/ui/modals/ResetPasswordModal.vue?5d51"],"names":["module","exports","cov_p3byxmdcv","actualCoverage","lotTabs","s","label","value","customerEoiStatuses","background","badgeLabel","badgeBackground","customerLotStatuses","customerStatuses","Map","eoiPendingStatuses","_customerStatuses$get","get","_customerStatuses$get2","_customerStatuses$get3","_customerStatuses$get4","_customerStatuses$get5","_customerStatuses$get6","_customerStatuses$get7","_customerStatuses$get8","eoiApprovingStatuses","_customerStatuses$get9","_customerStatuses$get10","isEoiPendingStatus","status","f","includes","isEoiApprovingStatus","getEoiPendingStatus","eoiStatus","statuses","Array","from","values","b","getStatusByLabel","getFinishedStatus","_customerStatuses$get11","_customerStatuses$get12","EoiStatus","WITHDRAWN","dynamicStatuses","_s$get","_s$get2","_s$get3","find","item","getValueByStatus","field","_getStatusByLabel","getTabByUrl","path","tab","getLotStatus","lotStatus","APPROVED","LotStatus","EOI","PENDING_FOR_BILLING","DRAFT","PENDING","TERMINATED","showingEoiDetailControls","complete","decline","delete","withdraw","CONTRACT_EXECUTED","UNCONDITIONAL","eoiStatusesHavingBackground","DECLINED","WAITING_FOR_APPROVED","REFUND_DECLINED","REFUNDED","WAITING_FOR_PENDING","_withScopeId","n","_pushScopeId","_popScopeId","_hoisted_1","_hoisted_2","_createElementVNode","class","src","_imports_0","_hoisted_3","render","_ctx","_cache","$props","$setup","$data","$options","_openBlock","_createElementBlock","_normalizeClass","noBg","props","href","redirectTo","target","_defineComponent","__name","type","String","required","default","Boolean","setup","__props","expose","__expose","__returned__","Object","defineProperty","enumerable","__exports__","key","_hoisted_4","_hoisted_5","_hoisted_6","_hoisted_7","_hoisted_8","_hoisted_9","_hoisted_10","_hoisted_11","_hoisted_12","_hoisted_13","_hoisted_14","_hoisted_15","isEstateMap","role","UserRoles","CUSTOMER","_toDisplayString","_Fragment","_createCommentVNode","_createVNode","LANDOWNER","LottrackrPoweredIcon","_hoisted_16","_hoisted_17","_hoisted_18","_createTextVNode","_hoisted_19","_hoisted_20","_hoisted_21","_hoisted_22","_component_InfoWithIcon","_resolveComponent","isDesktop","onClick","$event","router","push","list","visibleHeaderTabs","modelValue","activeHeaderTab","onChangeHeaderTab","onLogin","_createBlock","onSignIn","isEmbedded","showStageMap","mapPage","MapPages","ESTATE_MAP","zoom","estateId","mapEstateId","hideMapSidePanelOptions","plansView","onUpdateZoom","updateZoom","onOnMessage","onMessage","STAGE_MAP","onReserve","onOnRegister","onRegister","onOnLotBuilderHover","lotBuilderIconHover","onOnMouseX","mouseX","onOnMouseY","mouseY","isOpen","showReserveModal","lot","lotForReserve","embedded","transitionName","estate","buttonsDisabled","onClose","closeReserveModal","onToContact","showContactWithQuestion","onReserveLot","onHold","onHoldRequest","onToRequestQuote","onRequestQuote","onUpdateHeaderOverAll","updateHeaderOverAll","style","_normalizeStyle","top","left","text","_renderList","landingSubscriptionPlansData","plan","title","icon","price","subtitle","buttonText","subtitleFeatures","features","landingDescriptionPlansData","landingProjectSalesAndMarketingData","isPlansView","isOpenedLoginModal","onCloseLoginModal","onJoin","signIn","loginError","onForgotPassword","isOpenedResetPasswordModal","onOnSend","onSendInResetPasswordModal","onCloseResetPasswordModal","message","forgotPasswordMessage","clearForm","MIN_DESKTOP_WIDTH","ref","isSalesPersonRole","getUserRole","useIsDesktop","computed","process","VUE_APP_LANDING_MAP_ESTATE_ID","urlRedirectAfterVerifyEmail","defaultView","showLogo","embeddedOptions","useAuth","currentRoute","query","stageId","headerTabs","filter","hidden","watch","name","RouteLandingNames","LANDING_BUILDERS","LANDING","LANDING_PLANS","immediate","onMounted","routeNameMap","newZoom","querys","view","embed","powered_by_logo","scrollToSavedPosition","position","setTimeout","window","scrollTo","scrollTopEmbedded","scrollPosition","scrollY","lotId","_id","parent","postMessage","event","fetchEstate","store","dispatch","then","response","data","needUpdateRoute","reactive","LandingMobileHeader","SwitchComponent","CardSubscription","ProjectSalesAndMarketing","LandingFooter","SwitchItemHeader","EstateMap","StageMap","isLogged","ContactUsModal","EmbeddedMapQueries","LotMapInterface","ReserveLotModal","LoginModal","ResetPasswordModal","pathEye","showPassword","_mergeProps","$attrs","inputClasses","onInput","$emit","require","cov_n0n339fv7","width","handler","innerWidth","addEventListener","onUnmounted","removeEventListener","cov_2csbspw5gy","hasLowerAndUpperCase","hasLowerCaseRegex","test","hasUpperCaseRegex","hasPasswordLength","length","hasSpecialChars","hasSpecialCharsRegex","hasDigits","hasDigitsRegex","hasNumberAndSymbol","validatePassword","validateDocumentMimeType","mimeType","allowedDocumentMimeTypes","validPhoneNumber","validOptionalPhoneNumber","close","onConfirm","confirm","_withCtx","description","deleteItem","isLeadsPage","_","Number","customText","emits","emit","LotAssignmentModal","_directive_tippy","_resolveDirective","map","version","xmlns","viewBox","size","height","transform","mapImage","url","stages","stage","x","binding","y","onMouseover","_stage$stageId","onStageHover","onMouseleave","onStageLeave","_withDirectives","getItemPathClasses","onStage","d","content","getTooltipText","allowHTML","theme","appendtTo","arrow","Function","id","EstateMapInterface","StageMapInterface","getStageStatusClass","StageStatus","resetVuelidateErrors","validation","cov_1ppw6llr9b","$reset","cov_1nyu2dnt4r","cov_1aof72amhs","imageFormats","getFileType","imgLink","split","pop","isImage","fileName","previewIcon","fileLink","image","getDocumentName","parts","loading","isMapModalView","isBuilderView","getAvailableStages","getStageClass","viewType","useStore","NOW_SELLING","sort","a","_a$stageId","_b$stageId","compareStrings","getStages","isCustomer","res","changeView","_router$currentRoute$","toString","replace","cov_w9868jf5u","_hoisted_23","_hoisted_24","_hoisted_25","_hoisted_26","_hoisted_27","_hoisted_28","_hoisted_29","_hoisted_30","_hoisted_31","_hoisted_32","_hoisted_33","_hoisted_34","_hoisted_35","_hoisted_36","_hoisted_37","_hoisted_38","_hoisted_39","_hoisted_40","_hoisted_41","_hoisted_42","_hoisted_43","_hoisted_44","_hoisted_45","_hoisted_46","_hoisted_47","classes","getModalClasses","landOptionsAvailable","isActiveTab","TabsEnum","LOT_DETAILS","changeTab","documents","DOCS","HOME_DESIGNS","blockWidth","formatPrice","hidePrice","toContact","formatDate","registrationDate","getLotStatusClass","buttonDisabled","onOnRequestQuote","isInitialHoldDisabled","onContact","hold","reserve","disabled","disableButton","AVAILABLE","businessId","undefined","builders","disabledButton","getEstateId","activeTabs","params","_props$lot","_props$lot$lotId","hasBuildersEnabled","isBuildersEnabled","hasBuilders","hasHouses","every","builder","houses","getInitialHoldDisabled","showInitialHold","finally","_lot$lotId","_lot$lotId$documents","reserveClass","documentsClass","embeddedClass","heightClass","urlLinkToEoiRequest","getBuildersByLotId","_res$data$builders$fi","_res$data","Modal","BuilderDropdownAndActions","BuilderGetStartedTab","BuilderLotDetails","BuilderInterfaceWithHouseDesigns","BuilderControlsButtons","BuilderLotDocuments","requestQuoteEmit","redirectWithoutRouter","_$setup$v$$phone$$err","_$setup$v$$email$$err","formLoad","onSubmit","_withModifiers","submitForm","v$","firstName","$error","form","placeholder","_vModelText","$message","lastName","phone","options","phoneNumberOption","$errors","email","isLoading","userId","_store$state","_store$state$user","_store$state$user$dat","state","user","formFields","assign","rules","helpers","withMessage","fillForm","useVuelidate","async","$touch","isValid","$validate","rest","toLowerCase","lotTitle","convertToLead","eventLabelByName","EventLabelByName","CONTACT_US","MAKE_ENQUIRY","estateById","eventTracking","actionsName","EventActionName","CONVERT_TO_LEAD","eventByCategory","EventByCategory","LEAD_CONVERSION","eventByAction","EventByAction","CLICK","v","Cleave","t","e","this","r","i","u","o","h","c","l","$","M","weekdays","months","ordinal","m","join","z","utcOffset","Math","abs","floor","date","year","month","clone","add","ceil","p","w","D","ms","Q","g","S","args","arguments","O","locale","$L","utc","$u","$x","$offset","parse","prototype","$d","Date","NaN","match","substring","UTC","init","$y","getFullYear","$M","getMonth","$D","getDate","$W","getDay","$H","getHours","$m","getMinutes","$s","getSeconds","$ms","getMilliseconds","$utils","isSame","startOf","endOf","isAfter","isBefore","$g","set","unix","valueOf","getTime","toDate","apply","slice","$locale","weekStart","$set","min","daysInMonth","round","subtract","format","invalidDate","meridiem","YY","YYYY","MM","MMM","monthsShort","MMMM","DD","dd","weekdaysMin","ddd","weekdaysShort","dddd","H","HH","hh","A","mm","ss","SSS","Z","getTimezoneOffset","diff","toJSON","toISOString","toUTCString","T","forEach","extend","$i","isDayjs","en","Ls","cov_1bbpsrowmf","getBodyScrollTop","self","pageYOffset","document","documentElement","scrollTop","body","easeOutCubic","element","offset","duration","yPos","getBoundingClientRect","startY","difference","startTime","performance","now","step","progress","amount","requestAnimationFrame","_$setup$activeHeaderT","onSingIn","route","useRoute","cov_18ozsp5kxz","startDragging","isDragging","svgContainerMap","svgStartPosition","svgStartScrollPosition","clientX","clientY","scrollLeft","cursor","handleDragging","preventDefault","deltaX","deltaY","stopDragging","cov_d3xgxtsno","getRegex","string","cov_1f6uyvd7xm","RegExp","latinCharactersRegex","_imports_1","_imports_2","contentTitle","isLogoSwipe","onTouchstart","onTouchend","onTouchEnd","onTouchcancel","onTouchCancel","onTouchmove","onTouchMove","containerStyles","items","_$setup$props$selecte","_$setup$props$selecte2","checkmark","isHouseSelectSlider","selectedItem","onSelectItem","mainImage","alt","isButtonCheckmark","isButtonCheckmarkNotIcon","isButtonBuilder","showControls","scrollDesktopRight","scrollDesktopLeft","buttonWidth","isButtonCheckmarkOff","scrollOffset","buttonsContainer","isButtonClicked","itemClicked","_props$selectedItem","_props$selectedItem2","useScrollDragMobile","MAX_ITEMS_WITHOUT_CONTROLS","checkHasMobileEvents","canDesktopScrollLeft","canDesktopScrollRight","MOBILE_EVENT","_buttonsContainer$val","_buttonsContainer$val2","_buttonsContainer$val3","_buttonsContainer$val4","containerWidth","clientWidth","contentWidth","scrollWidth","maxScrollOffset","_props$selectedItem3","_props$selectedItem4","idComparison","deep","resetOffsetHandler","onBeforeUnmount","BuilderInterface","HouseDesignInterface","Ref","carouselImages","onScroll","handleScroll","imagesArray","builderCarousel","viewportWidth","maxScroll","tolerance","pinchZoomHammer","scale","callback","cov_22gnuhhobc","currentScale","smoothingFactor","targetScale","smoothScale","minScale","maxScale","smoothedScale","max","deltaScale","builderView","SUPER_ADMIN","toEditMap","showConfirmDeleteModal","toCreateMap","deleteMap","onOnStage","onChangeView","isEmbeddedDesktop","hoverStageId","lotsByHouseDesigns","hideOptions","onOnStageHover","onSidePanelStageHover","onOnStageClick","onSidePanelStageClick","zoomIn","zoomOut","onMousedown","startDrag","onMousemove","handleDrag","onMouseup","stopDrag","onOnStageLeave","mobileLayoutWidth","stageSidePanelHover","selectedEstateId","isCustomerRole","getMap","catch","error","_error$response","_error$response$data","statusCode","resolve","open","_stage$stageId2","_stage$stageId3","_stageSidePanelHover$","_stageSidePanelHover$2","_stage$stageId4","_stage$stageId5","stageMap","_props$lotsByHouseDes2","_props$lotsByHouseDes","toUpperCase","availableLotsCount","mc","Hammer","enable","on","delta","center","ConfirmDeleteModal","StageInterface","StageNavMobile","MapSidePanel","MapSideLegend","EstateSvgMap","animationName","toContactUsForm","isButtonCallBackModal","linkCalendly","CALENDLY_DEMO_LINK","toast","useToast","showWidget","Calendly","showPopupWidget","POSITION","TOP_LEFT","contactUsForm","querySelector","webpackContext","req","webpackContextResolve","__webpack_require__","Error","code","keys","selectedHouseDesign","selectedBuilder","onOnSelectItem","selectBuilder","logo","control","dropdown","houseDesign","selectHouseDesign","useRouter","_selectedBuilder$valu","setDefaultValues","_selectedHouseDesign$","HouseFeatures","BuilderSliderButtons","DropDown","LotInterface","cov_23caxftbm9","_response$data$user$d","detailsId","estateIds","_error$response2","_error$response2$data","LocalStorageService","userEmail","_error$response3","_error$response3$data","cov_21yidq1xlu","landingSectionsData","imageUrl","paragraphs","animationImg","animationText","builderLandingSectionsData","hasMoreContent","contactUsButton","builderLandingDocumentsData","optional","builderDemoImagesData","facades","optionalStep","floorplans","landingFloorplansData","depth","landingHousePartsData","bathroom","quantity","loungeRoom","garage","bedroom","PlansButtonFormEnum","JOIN_WAITLIST","GET_STARTED","landingFormWaitlistData","featuresMobile","landingFormSignUpData","landingFormSuccessWaitlistData","lineOne","lineTwo","lineThree","landingFormSuccessSignUpData","cov_290zsd572f","blocks","startsWith","delimiter","phonePlaceholder","getCurrencyOptions","numeral","numeralThousandsGroupStyle","numeralPositiveOnly","noImmediatePrefix","_$props$lot$lotId","_$props$lot$lotId$off","_$props$lot$lotId2","_$props$lot$lotId2$of","hoverLotId","expanded","onHover","onMouseLeave","hover","onBuilderHover","onBuilderLeave","getLotCustomerMapStatusClass","OFFLINE","offlineSale","salePhase","spacing","builderHover","builderIconRef","modalClasses","password","login","isDisabledLogin","joining","$autoDirty","$stopPropagation","isNoErrors","InputPassword","cov_1doyi2xpv9","MaxFileSize","_$setup$lots$","_$setup$lots$2","handleMouseMove","availableLotsPopUpShow","toMasterplan","lots","getAvailableLots","isStageMap","onOnLotHover","onSidePanelLotHover","onOnLotClick","onSidePanelLotClick","onToMasterplan","onLotBuilderHover","back","grab","getSvgTooltipText","getItemWrClasses","getSvgItemWrClasses","getSvgItemPathClasses","getItemStatusPathClasses","getSvgItemStatusPathClasses","onLotHover","onOnLotLeave","onLotLeave","handleLotClickIfClickable","actualStageQuote","lotOnClick","lotSidePanelHover","_lotSidePanelHover$va","_lotSidePanelHover$va2","_lot$lotId2","_lot$lotId3","isNotClickableForBuilderView","_lot$lotId4","_lotSidePanelHover$va3","_lot$lotId5","_lot$lotId6","_lot$lotId7","getClassForCustomer","PRE_CONTRACT","onLot","some","design","_lot$lotId8","getMapWithLots","getLots","lotForModal","showAvailableLotsPopUp","trackLotClickEvent","_lot$lotId9","_lot$lotId11","_lot$lotId12","_lot$lotId13","_lot$lotId10","_lot$lotId10$offlineS","HOLD","LOT_ON_CLICK","ON_CLICK","CLICK_LOT","stageById","stageTitle","lotById","nextTick","InfoWithIcon","StageSvgMap","isClearForm","cov_4tnu0h68q","dayjs","formatDateMonthYear","formatDateMonthDayYear","formatDateDayMonthYear","formatDateCalendar","formatDateDayMonthYearWithTime","formatDateYYYYMMDD","formatDateToday","openPdf","link","cov_1q1j0vr8gr","elementRef","isDown","startX","touches","touch","rect","pageX","pageY","changedTouches","clickedElement","elementFromPoint","click","walkX","walkY","cov_e9tsun9tw","useGtag","houseDesignId","houseDesignName","event_category","event_label","event_action","estate_id","stage_id","stage_title","lot_id","lot_title","house_design_id","house_design_name","CALENDLY_PROJECT_SALES_MARKETING_LINK","feature","ContactUsLink","global","defineBuiltInAccessor","DESCRIPTORS","$TypeError","TypeError","INCORRECT_VALUE","descriptor","getOwnPropertyDescriptor","writable","configurable","simple","forced","exportName","VENDOR_PREFIXES","TEST_ELEMENT","createElement","TYPE_FUNCTION","setTimeoutContext","fn","timeout","context","bindFn","invokeArrayArg","arg","isArray","each","obj","iterator","call","hasOwnProperty","deprecate","method","deprecationMessage","stack","log","console","warn","output","index","source","nextKey","dest","merge","inherit","child","base","properties","childP","baseP","create","constructor","_super","boolOrFn","val","ifUndefined","val1","val2","addEventListeners","types","splitStr","removeEventListeners","hasParent","node","parentNode","inStr","str","indexOf","trim","inArray","findByKey","toArray","uniqueArray","results","prefixed","property","prefix","prop","camelProp","_uniqueId","uniqueId","getWindowForElement","doc","ownerDocument","parentWindow","MOBILE_REGEX","SUPPORT_TOUCH","SUPPORT_POINTER_EVENTS","SUPPORT_ONLY_TOUCH","navigator","userAgent","INPUT_TYPE_TOUCH","INPUT_TYPE_PEN","INPUT_TYPE_MOUSE","INPUT_TYPE_KINECT","COMPUTE_INTERVAL","INPUT_START","INPUT_MOVE","INPUT_END","INPUT_CANCEL","DIRECTION_NONE","DIRECTION_LEFT","DIRECTION_RIGHT","DIRECTION_UP","DIRECTION_DOWN","DIRECTION_HORIZONTAL","DIRECTION_VERTICAL","DIRECTION_ALL","PROPS_XY","PROPS_CLIENT_XY","Input","manager","inputTarget","domHandler","ev","createInputInstance","Type","inputClass","PointerEventInput","TouchInput","TouchMouseInput","MouseInput","inputHandler","eventType","input","pointersLen","pointers","changedPointersLen","changedPointers","isFirst","isFinal","session","computeInputData","recognize","prevInput","pointersLength","firstInput","simpleCloneInputData","firstMultiple","offsetCenter","getCenter","timeStamp","deltaTime","angle","getAngle","distance","getDistance","computeDeltaXY","offsetDirection","getDirection","overallVelocity","getVelocity","overallVelocityX","overallVelocityY","getScale","rotation","getRotation","maxPointers","computeIntervalInputData","srcEvent","offsetDelta","prevDelta","velocity","velocityX","velocityY","direction","last","lastInterval","p1","p2","sqrt","atan2","PI","start","end","evEl","evTarget","evWin","destroy","MOUSE_INPUT_MAP","mousedown","mousemove","mouseup","MOUSE_ELEMENT_EVENTS","MOUSE_WINDOW_EVENTS","pressed","button","which","pointerType","POINTER_INPUT_MAP","pointerdown","pointermove","pointerup","pointercancel","pointerout","IE10_POINTER_TYPE_ENUM","2","3","4","5","POINTER_ELEMENT_EVENTS","POINTER_WINDOW_EVENTS","pointerEvents","MSPointerEvent","PointerEvent","removePointer","eventTypeNormalized","isTouch","storeIndex","pointerId","splice","SINGLE_TOUCH_INPUT_MAP","touchstart","touchmove","touchend","touchcancel","SINGLE_TOUCH_TARGET_EVENTS","SINGLE_TOUCH_WINDOW_EVENTS","SingleTouchInput","started","normalizeSingleTouches","all","changed","concat","TOUCH_INPUT_MAP","TOUCH_TARGET_EVENTS","targetIds","getTouches","allTouches","identifier","targetTouches","changedTargetTouches","DEDUP_TIMEOUT","DEDUP_DISTANCE","mouse","primaryTouch","lastTouches","recordTouches","eventData","setLastTouch","lastTouch","lts","removeLastTouch","isSyntheticEvent","dx","dy","inputEvent","inputData","isMouse","sourceCapabilities","firesTouchEvents","PREFIXED_TOUCH_ACTION","NATIVE_TOUCH_ACTION","TOUCH_ACTION_COMPUTE","TOUCH_ACTION_AUTO","TOUCH_ACTION_MANIPULATION","TOUCH_ACTION_NONE","TOUCH_ACTION_PAN_X","TOUCH_ACTION_PAN_Y","TOUCH_ACTION_MAP","getTouchActionProps","TouchAction","cleanTouchActions","actions","hasPanX","hasPanY","touchMap","cssSupports","CSS","supports","compute","update","touchAction","recognizers","recognizer","getTouchAction","preventDefaults","prevented","hasNone","isTapPointer","isTapMovement","isTapTouchTime","preventSrc","STATE_POSSIBLE","STATE_BEGAN","STATE_CHANGED","STATE_ENDED","STATE_RECOGNIZED","STATE_CANCELLED","STATE_FAILED","Recognizer","defaults","simultaneous","requireFail","stateStr","directionStr","getRecognizerByNameIfManager","otherRecognizer","AttrRecognizer","PanRecognizer","pX","pY","PinchRecognizer","PressRecognizer","_timer","_input","RotateRecognizer","SwipeRecognizer","TapRecognizer","pTime","pCenter","count","preset","Manager","recognizeWith","dropRecognizeWith","requireFailure","dropRequireFailure","hasRequireFailures","canRecognizeWith","additionalEvent","tryEmit","canEmit","inputDataClone","reset","attrTest","optionPointers","isRecognized","threshold","directionTest","hasMoved","inOut","time","validPointers","validMovement","validTime","clearTimeout","taps","interval","posThreshold","validTouchTime","failTimeout","validInterval","validMultiTap","tapCount","VERSION","domEvents","cssProps","userSelect","touchSelect","touchCallout","contentZooming","userDrag","tapHighlightColor","STOP","FORCED_STOP","handlers","oldCssProps","toggleCssProps","triggerDomEvent","gestureEvent","createEvent","initEvent","gesture","dispatchEvent","stop","force","stopped","curRecognizer","existing","remove","events","off","Tap","Pan","Swipe","Pinch","Rotate","Press","freeGlobal","fullName","company","submit","isSubmitting","VALID_PHONE_NUMBER_ERROR_TEXT","minLength","$scope","resetForm","isFormCorrect","success","onLotClick","statusPath","_$props$lot","secondary","_createStaticVNode","_component_router_link","showBanner","bannerButtonText","showContactUsForm","to","IS_DESKTOP_BREAK_POINT","ContactUsForm","onRedirectForm","lotsAvailableAmount","UiBasicStageInterface","cov_243ma3iy2q","showCurrency","_priceArray$0$toStrin","priceArray","formatStripePrice","lastTwo","substr","firstCharacter","formatPriceToNumber","parseFloat","formatPriceTrim","trimText","formatPorcentageTrim","porcentage","integerValue","decimalValue","porcentageParts","trimPorcentage","updatePriceInput","priceField","_$setup$actualStage$","_$setup$actualStage$$","_$setup$actualStage$2","_$setup$actualStage$3","_$setup$props$lotsByH","_$setup$actualStage$4","actualStage","lotData","onOnClick","lotsList","onStageClick","getLotsList","getLotsListFiltered","houseDesignIds","matchingLotData","LotMapsWithStageInterface","StageButtonLink","LotButtonLink","makeBuiltIn","getter","setter","cov_uhxqewjxr","CALENDLY_BUILD_LINK","VUE_APP_CALENDLY_PROJECT_SALES_MARKETING_LINK","cov_s2g0zz0dk","cov_s4zu1cu1h","directionLogo","directionLogoCalculator","directionLogoLandPackage","reverse","iconSize","_imports_3","_renderSlot","$slots"],"mappings":"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","file":"js/LandingPlans.afd003e1.js","sourcesContent":["module.exports = __webpack_public_path__ + \"img/3_23.02.13_S3ASC_R2_01 (2).35ab1b5c.jpg\";","import {CustomerLotStatus, LotStatusMap, LotStatusObject, LotTab,} from \"@/types/CustomerLotDetails\";\nimport {EoiStatus} from \"@/enums/EoiStatus\";\nimport {LotStatus} from \"@/enums/LotStatus\";\n\nexport const lotTabs: LotTab[] = [\n { label: \"ACTIVITY\", value: \"activity\" },\n { label: \"DOCUMENTS\", value: \"documents\" },\n { label: \"CONTRACT INFORMATION FORM\", value: \"eoi-details\" },\n { label: \"CONTRACT\", value: \"contracts\" },\n { label: \"CONTACT US\", value: \"estate-contacts\" },\n];\n\nconst customerEoiStatuses: [string, LotStatusObject][] = [\n [\n \"PENDING\",\n {\n label: \"Submitted\",\n value: \"pending\",\n background: \"success-light\",\n badgeLabel: \"Submitted\",\n },\n ],\n [\n \"DRAFT\",\n {\n label: \"Submitted\",\n value: \"draft\",\n background: \"gray\",\n badgeLabel: \"Draft\",\n },\n ],\n [\n \"PENDING_FOR_BILLING\",\n {\n label: \"Submitted\",\n value: \"pending for billing\",\n background: \"gray\",\n badgeLabel: \"Pending For Billing\",\n },\n ],\n [\n \"APPROVED\",\n {\n label: \"Approved\",\n value: \"approved\",\n background: \"light-blue\",\n badgeLabel: \"Approved\",\n },\n ],\n [\n \"DECLINED\",\n {\n label: \"Declined\",\n value: \"declined\",\n background: \"warning-light\",\n badgeLabel: \"Declined\",\n },\n ],\n [\n \"TERMINATED\",\n {\n label: \"Submitted\",\n value: \"terminated\",\n background: \"gray-light\",\n badgeLabel: \"Terminated\",\n },\n ],\n [\n \"WAITING_FOR_APPROVED\",\n {\n label: \"Submitted\",\n value: \"waitingForApproved\",\n background: \"primary\",\n badgeLabel: \"Submitted\",\n },\n ],\n [\n \"WAITING_FOR_DECLINED\",\n {\n label: \"Submitted\",\n value: \"waitingForDeclined\",\n background: \"warning-light\",\n badgeLabel: \"EOI Declining\",\n },\n ],\n [\n \"TRANSACTION_ERROR\",\n {\n label: \"Submitted\",\n value: \"transaction_error\",\n background: \"warning\",\n badgeLabel: \"Transaction Error\",\n badgeBackground: \"warning\",\n },\n ],\n [\n \"WAITING_FOR_PENDING\",\n {\n label: \"Submitted\",\n value: \"waitingForPending\",\n background: \"blue\",\n badgeLabel: \"EOI Submitting\",\n badgeBackground: \"blue\",\n },\n ],\n];\nconst customerLotStatuses: [string, LotStatusObject][] = [\n [\n \"CONTRACT_EXECUTED\",\n {\n label: \"Contract Executed\",\n value: \"Contract Executed\",\n background: \"orange-light\",\n badgeLabel: \"Contract Executed\",\n },\n ],\n [\n \"EOI\",\n {\n label: \"Contract Executed\",\n value: \"EOI\",\n background: \"\",\n badgeLabel: \"Approved\",\n },\n ],\n [\n \"UNCONDITIONAL\",\n {\n label: \"Finance Unconditional\",\n value: \"Unconditional\",\n background: \"primary\",\n badgeLabel: \"Finance Unconditional\",\n },\n ],\n [\n \"SETTLED\",\n {\n label: \"Settled\",\n value: \"Settled\",\n background: \"warning\",\n badgeLabel: \"Settled\",\n },\n ],\n [\n \"WITHDRAWN\",\n {\n label: \"Withdrawn\",\n value: \"withdrawn\",\n background: \"orange\",\n badgeLabel: \"Withdrawn\",\n },\n ],\n [\n \"REFUNDED\",\n {\n label: \"Deposit refunded\",\n value: \"refunded\",\n background: \"warning-light\",\n badgeLabel: \"Deposit refunded\",\n },\n ],\n [\n \"REFUND_DECLINED\",\n {\n label: \"Deposit not refunded\",\n value: \"refundDeclined\",\n background: \"warning-light\",\n badgeLabel: \"Deposit not refunded\",\n },\n ],\n];\nexport const customerStatuses = new Map([\n ...customerEoiStatuses,\n ...customerLotStatuses,\n]);\n\nexport const eoiPendingStatuses = [\n customerStatuses.get(\"PENDING\")?.value,\n customerStatuses.get(\"DRAFT\")?.value,\n customerStatuses.get(\"PENDING_FOR_BILLING\")?.value,\n customerStatuses.get(\"TERMINATED\")?.value,\n customerStatuses.get(\"WAITING_FOR_APPROVED\")?.value,\n customerStatuses.get(\"WAITING_FOR_DECLINED\")?.value,\n customerStatuses.get(\"TRANSACTION_ERROR\")?.value,\n customerStatuses.get(\"WAITING_FOR_PENDING\")?.value,\n];\nconst eoiApprovingStatuses = [\n customerStatuses.get(\"APPROVED\")?.value,\n customerStatuses.get(\"DECLINED\")?.value,\n];\nexport const isEoiPendingStatus = (status: CustomerLotStatus): boolean =>\n eoiPendingStatuses.includes(status);\nexport const isEoiApprovingStatus = (status: CustomerLotStatus): boolean =>\n eoiApprovingStatuses.includes(status);\n\nfunction getEoiPendingStatus(eoiStatus: CustomerLotStatus) {\n const statuses = Array.from(customerStatuses.values()) as LotStatusObject[];\n if (isEoiPendingStatus(eoiStatus)) {\n return getStatusByLabel(statuses, eoiStatus);\n } else {\n return customerStatuses.get(\"PENDING\");\n }\n}\nfunction getFinishedStatus(eoiStatus: EoiStatus) {\n if (eoiStatus === customerStatuses.get(\"REFUND_DECLINED\")?.value) {\n return customerStatuses.get(\"REFUND_DECLINED\");\n }\n if (eoiStatus === customerStatuses.get(\"REFUNDED\")?.value) {\n return customerStatuses.get(\"REFUNDED\");\n }\n if (eoiStatus === EoiStatus.WITHDRAWN) {\n return {\n background: \"gray\",\n badgeLabel: \"Refunded\",\n label: \"Refunded\",\n value: \"Settled\",\n };\n }\n return customerStatuses.get(\"SETTLED\");\n}\n\nexport function dynamicStatuses(\n status: CustomerLotStatus,\n eoiStatus: CustomerLotStatus\n): LotStatusObject[] {\n const s = customerStatuses as LotStatusMap;\n return [\n getEoiPendingStatus(eoiStatus),\n eoiStatus === s.get(\"DECLINED\")?.value\n ? s.get(\"DECLINED\")\n : s.get(\"APPROVED\"),\n status === s.get(\"EOI\")?.value ? s.get(\"EOI\") : s.get(\"CONTRACT_EXECUTED\"),\n eoiStatus === s.get(\"WITHDRAWN\")?.value\n ? customerStatuses.get(\"WITHDRAWN\")\n : s.get(\"UNCONDITIONAL\"),\n getFinishedStatus(eoiStatus as EoiStatus),\n ] as LotStatusObject[];\n}\n\nconst getStatusByLabel = (\n statuses: LotStatusObject[],\n status: CustomerLotStatus\n): LotStatusObject | undefined =>\n statuses.find((item) => item.value === status);\n\nexport function getValueByStatus(\n status: CustomerLotStatus,\n field: keyof LotStatusObject\n): string | undefined {\n const statuses = customerStatuses.values();\n return getStatusByLabel(Array.from(statuses) as LotStatusObject[], status)?.[\n field\n ];\n}\n\nexport function getTabByUrl(path: string): LotTab | undefined {\n return lotTabs.find((tab) => path.includes(tab.value));\n}\n\nexport function getLotStatus(\n eoiStatus: EoiStatus,\n lotStatus: LotStatus\n): LotStatus | EoiStatus {\n if (eoiStatus === EoiStatus.APPROVED) {\n if (lotStatus === LotStatus.EOI) {\n return EoiStatus.APPROVED;\n }\n return lotStatus;\n }\n return eoiStatus;\n}\n\nconst { PENDING_FOR_BILLING, DRAFT, PENDING, APPROVED, TERMINATED } = EoiStatus;\n\nexport function showingEoiDetailControls(\n eoiStatus: EoiStatus,\n lotStatus: LotStatus\n): {\n complete(): boolean;\n delete(): boolean;\n withdraw(): boolean;\n decline(): boolean;\n} {\n return {\n complete() {\n return [PENDING_FOR_BILLING, DRAFT].includes(eoiStatus as EoiStatus);\n },\n decline() {\n return [PENDING].includes(eoiStatus as EoiStatus);\n },\n delete() {\n return [PENDING_FOR_BILLING, DRAFT, TERMINATED].includes(\n eoiStatus as EoiStatus\n );\n },\n withdraw() {\n return (\n [APPROVED].includes(eoiStatus as EoiStatus) &&\n [\n LotStatus.EOI,\n LotStatus.CONTRACT_EXECUTED,\n LotStatus.UNCONDITIONAL,\n ].includes(lotStatus)\n );\n },\n };\n}\n\nexport const eoiStatusesHavingBackground = [\n EoiStatus.PENDING,\n EoiStatus.APPROVED,\n EoiStatus.DECLINED,\n EoiStatus.WAITING_FOR_APPROVED,\n EoiStatus.WITHDRAWN,\n EoiStatus.REFUND_DECLINED,\n EoiStatus.REFUNDED,\n EoiStatus.WAITING_FOR_PENDING,\n];\n","export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MapSideLegend.vue?vue&type=style&index=0&id=2dca6308&lang=scss&scoped=true\"","export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StageMap.vue?vue&type=style&index=0&id=ddcdb672&lang=scss&scoped=true\"","import { createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/icon-powered-by.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-353aed0c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"href\"]\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"powered-img\",\n src: _imports_0\n}, null, -1))\nconst _hoisted_3 = [\n _hoisted_2\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"a\", {\n class: _normalizeClass([\"lottrackr-link-container\", { noBg: $setup.props.noBg }]),\n href: $setup.props.redirectTo,\n target: \"_blank\"\n }, _hoisted_3, 10, _hoisted_1))\n}","import { defineComponent as _defineComponent } from 'vue'\n\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LottrackrPoweredIcon',\n props: {\n redirectTo: {\n type: String,\n required: false,\n default: 'https://www.lottrackr.com.au/',\n },\n noBg: {\n type: Boolean,\n required: false,\n },\n },\n setup(__props, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n \n\nconst __returned__ = { props }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./LottrackrPoweredIcon.vue?vue&type=template&id=353aed0c&scoped=true&ts=true&lang=pug\"\nimport script from \"./LottrackrPoweredIcon.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./LottrackrPoweredIcon.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./LottrackrPoweredIcon.vue?vue&type=style&index=0&id=353aed0c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-353aed0c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, Fragment as _Fragment, createVNode as _createVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2dca6308\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"side-legend-container\" }\nconst _hoisted_2 = { class: \"side-legend-wr\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"legend column\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel gray\" }, \"Not Released\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel success\" }, \"Now Selling\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel warning\" }, \"Sold Out\", -1))\nconst _hoisted_7 = [\n _hoisted_4,\n _hoisted_5,\n _hoisted_6\n]\nconst _hoisted_8 = {\n key: 1,\n class: \"legend column\"\n}\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel gray\" }, \"Not Released\", -1))\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel success\" }, \"Available\", -1))\nconst _hoisted_11 = { class: \"status side-panel yellow\" }\nconst _hoisted_12 = { class: \"status side-panel warning\" }\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel\" }, \"Unconditional\", -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel orange\" }, \"Option\", -1))\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status side-panel gray-middle\" }, \"Offline\", -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n ($setup.props.isEstateMap)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_7))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _hoisted_9,\n _hoisted_10,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"status side-panel\", $setup.props.role === $setup.UserRoles.CUSTOMER ? 'light-blue' : 'blue'])\n }, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Hold\" : \"Pre-Contract\"), 3),\n _createElementVNode(\"div\", _hoisted_11, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Under Contract\" : \"Contract Executed\"), 1),\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Sold\" : \"Settled\"), 1),\n ($setup.props.role !== $setup.UserRoles.CUSTOMER)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_13,\n _hoisted_14,\n _hoisted_15\n ], 64))\n : _createCommentVNode(\"\", true)\n ])),\n _createVNode($setup[\"LottrackrPoweredIcon\"], { class: \"side-legend-link\" })\n ])\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { UserRoles } from \"@/enums/UserRoles\";\n \n import LottrackrPoweredIcon from \"./ui/LottrackrPoweredIcon.vue\";\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'MapSideLegend',\n props: {\n isEstateMap: Boolean,\n role: { type: String, default: () => UserRoles.LANDOWNER },\n },\n setup(__props, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n \n\nconst __returned__ = { props, get UserRoles() { return UserRoles }, LottrackrPoweredIcon }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./MapSideLegend.vue?vue&type=template&id=2dca6308&scoped=true&ts=true&lang=pug\"\nimport script from \"./MapSideLegend.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./MapSideLegend.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./MapSideLegend.vue?vue&type=style&index=0&id=2dca6308&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2dca6308\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createVNode as _createVNode, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, resolveComponent as _resolveComponent, normalizeStyle as _normalizeStyle, renderList as _renderList, Fragment as _Fragment, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7a811f6c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"landing-wr\" }\nconst _hoisted_2 = {\n key: 1,\n class: \"header-desktop\"\n}\nconst _hoisted_3 = { class: \"header-controls\" }\nconst _hoisted_4 = { class: \"wrapper-desktop-switcher\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"divider\" }, null, -1))\nconst _hoisted_6 = { class: \"landing-body\" }\nconst _hoisted_7 = { class: \"dashboard-wr\" }\nconst _hoisted_8 = { class: \"dashboard\" }\nconst _hoisted_9 = {\n class: \"dashboard--header\",\n \"data-aos\": \"zoom-out\",\n \"data-aos-once\": \"true\"\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"landing-badge\",\n \"data-aos\": \"fade-down\",\n \"fade-down-duration\": \"500\"\n}, \"PLANS\", -1))\nconst _hoisted_11 = {\n class: \"title\",\n \"data-aos\": \"fade-down\",\n \"fade-down-duration\": \"500\",\n \"data-aos-once\": \"true\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"bold\" }, \"real-time availability \", -1))\nconst _hoisted_13 = {\n key: 0,\n class: \"title\",\n \"data-aos\": \"fade-down\",\n \"fade-down-duration\": \"500\",\n \"data-aos-once\": \"true\"\n}\nconst _hoisted_14 = { class: \"estate-map landing-plans-map\" }\nconst _hoisted_15 = { class: \"container\" }\nconst _hoisted_16 = { class: \"estate-map-body\" }\nconst _hoisted_17 = { class: \"pricing-plans\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"title-plans-container\" }, [\n /*#__PURE__*/_createElementVNode(\"h1\", { class: \"title\" }, [\n /*#__PURE__*/_createTextVNode(\"Not setup costs. \"),\n /*#__PURE__*/_createElementVNode(\"span\", { class: \"text-normal\" }, \"Get started free today.\")\n ])\n], -1))\nconst _hoisted_19 = { class: \"plans-container\" }\nconst _hoisted_20 = { class: \"content-description\" }\nconst _hoisted_21 = { class: \"description-plans\" }\nconst _hoisted_22 = { class: \"project-sales-and-marketing\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_InfoWithIcon = _resolveComponent(\"InfoWithIcon\")!\n\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (!$setup.isDesktop)\n ? (_openBlock(), _createBlock($setup[\"LandingMobileHeader\"], {\n key: 0,\n onSignIn: $setup.onLogin\n }))\n : (_openBlock(), _createElementBlock(\"header\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: \"logo\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => ($setup.router.push('/')))\n }),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode($setup[\"SwitchComponent\"], {\n class: \"landing\",\n list: $setup.visibleHeaderTabs,\n modelValue: $setup.activeHeaderTab,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event: any) => (($setup.activeHeaderTab) = $event)),\n $setup.onChangeHeaderTab\n ]\n }, null, 8, [\"list\", \"modelValue\"])\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", { class: \"buttons\" }, [\n _createElementVNode(\"button\", {\n class: \"link-primary\",\n onClick: $setup.onLogin\n }, \"sign in\")\n ])\n ])\n ])),\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"section\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _hoisted_10,\n _createElementVNode(\"h1\", _hoisted_11, [\n _createTextVNode(\" Showcase \"),\n _hoisted_12,\n _createTextVNode(_toDisplayString($setup.isDesktop ? \"with an\" : \"with an interactive masterplan on your website.\"), 1)\n ]),\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"h1\", _hoisted_13, \"interactive masterplan on your website.\"))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"estate-map-wrapper-map\", { 'estate-map-wr-embedded': $setup.isEmbedded && $setup.isDesktop }])\n }, [\n (!$setup.showStageMap)\n ? (_openBlock(), _createBlock($setup[\"EstateMap\"], {\n key: 0,\n role: $setup.UserRoles.CUSTOMER,\n isEmbedded: false,\n mapPage: $setup.MapPages.ESTATE_MAP,\n zoom: $setup.zoom,\n estateId: $setup.mapEstateId,\n hideMapSidePanelOptions: true,\n plansView: true,\n onUpdateZoom: $setup.updateZoom,\n onOnMessage: $setup.onMessage\n }, null, 8, [\"role\", \"mapPage\", \"zoom\", \"estateId\"]))\n : _createCommentVNode(\"\", true),\n ($setup.showStageMap)\n ? (_openBlock(), _createBlock($setup[\"StageMap\"], {\n key: 1,\n role: $setup.UserRoles.CUSTOMER,\n isEmbedded: false,\n mapPage: $setup.MapPages.STAGE_MAP,\n zoom: $setup.zoom,\n estateId: $setup.mapEstateId,\n plansView: true,\n hideMapSidePanelOptions: true,\n onReserve: _cache[2] || (_cache[2] = ($event: any) => ($setup.onReserve($event))),\n onUpdateZoom: $setup.updateZoom,\n onOnRegister: _ctx.onRegister,\n onOnMessage: $setup.onMessage,\n onOnLotBuilderHover: _cache[3] || (_cache[3] = (value) => ($setup.lotBuilderIconHover = value)),\n onOnMouseX: _cache[4] || (_cache[4] = (value) => ($setup.mouseX = value)),\n onOnMouseY: _cache[5] || (_cache[5] = (value) => ($setup.mouseY = value))\n }, null, 8, [\"role\", \"mapPage\", \"zoom\", \"estateId\", \"onOnRegister\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ]),\n _createVNode($setup[\"ReserveLotModal\"], {\n isOpen: $setup.showReserveModal,\n lot: $setup.lotForReserve,\n embedded: $setup.isEmbedded,\n \"transition-name\": $setup.transitionName,\n estate: $setup.estate,\n estateId: $setup.mapEstateId,\n buttonsDisabled: true,\n onClose: _cache[6] || (_cache[6] = ($event: any) => ($setup.closeReserveModal($event))),\n onToContact: _ctx.showContactWithQuestion,\n onReserve: _cache[7] || (_cache[7] = ($event: any) => (_ctx.onReserveLot($event))),\n onHold: _ctx.onHoldRequest,\n onToRequestQuote: _ctx.onRequestQuote,\n onUpdateHeaderOverAll: _ctx.updateHeaderOverAll\n }, null, 8, [\"isOpen\", \"lot\", \"embedded\", \"transition-name\", \"estate\", \"estateId\", \"onToContact\", \"onHold\", \"onToRequestQuote\", \"onUpdateHeaderOverAll\"]),\n ($setup.lotBuilderIconHover)\n ? (_openBlock(), _createBlock(_component_InfoWithIcon, {\n key: 0,\n class: \"builder-icon-info-component\",\n style: _normalizeStyle({ top: `${$setup.mouseY}px`, left: `${$setup.mouseX}px` }),\n text: 'This lot is eligible for you to build your own home and land package.'\n }, null, 8, [\"style\", \"text\"]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ])\n ]),\n _createElementVNode(\"section\", _hoisted_17, [\n _hoisted_18,\n _createElementVNode(\"div\", _hoisted_19, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.landingSubscriptionPlansData, (plan) => {\n return (_openBlock(), _createBlock($setup[\"CardSubscription\"], {\n key: plan.title,\n type: plan.type,\n icon: plan.icon,\n title: plan.title,\n price: plan.price,\n subtitle: plan.subtitle,\n buttonText: plan.buttonText,\n subtitleFeatures: plan.subtitleFeatures,\n features: plan.features\n }, null, 8, [\"type\", \"icon\", \"title\", \"price\", \"subtitle\", \"buttonText\", \"subtitleFeatures\", \"features\"]))\n }), 128))\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"p\", _hoisted_21, _toDisplayString($setup.landingDescriptionPlansData), 1)\n ])\n ]),\n _createElementVNode(\"section\", _hoisted_22, [\n _createVNode($setup[\"ProjectSalesAndMarketing\"], { features: $setup.landingProjectSalesAndMarketingData }, null, 8, [\"features\"])\n ])\n ]),\n _createVNode($setup[\"LandingFooter\"], { isPlansView: true }),\n _createVNode($setup[\"LoginModal\"], {\n \"is-open\": $setup.isOpenedLoginModal,\n onClose: $setup.onCloseLoginModal,\n onJoin: _cache[8] || (_cache[8] = () => {}),\n onLogin: $setup.signIn,\n \"login-error\": $setup.loginError,\n onForgotPassword: $setup.onForgotPassword\n }, null, 8, [\"is-open\", \"onClose\", \"onLogin\", \"login-error\", \"onForgotPassword\"]),\n _createVNode($setup[\"ResetPasswordModal\"], {\n \"is-open\": $setup.isOpenedResetPasswordModal,\n onOnSend: $setup.onSendInResetPasswordModal,\n onClose: $setup.onCloseResetPasswordModal,\n message: $setup.forgotPasswordMessage,\n \"is-clear-form\": $setup.clearForm\n }, null, 8, [\"is-open\", \"onOnSend\", \"onClose\", \"message\", \"is-clear-form\"])\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, reactive, onMounted, watch, computed } from \"vue\";\n import router from \"@/router\";\n import getUserRole from \"@/helpers/getUserRole\";\n import LandingMobileHeader from \"@/components/landing/LandingMobileHeader.vue\";\n import SwitchComponent from \"@/components/ui/SwitchComponent.vue\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n import { RouteLandingNames } from \"@/enums/RouteLandingNames\";\n import {\n landingSubscriptionPlansData,\n landingDescriptionPlansData,\n landingProjectSalesAndMarketingData,\n } from \"@/constants/landingData\";\n import CardSubscription from \"@/components/landing/CardSubscription.vue\";\n import ProjectSalesAndMarketing from \"@/components/landing/ProjectSalesAndMarketing.vue\";\n import LandingFooter from \"@/components/landing/LandingFooter.vue\";\n import { headerTabs } from \"@/constants/navigationTabs\";\n import { SwitchItemHeader } from \"@/types/SwitchItemHeader\";\n import EstateMap from \"@/components/EstateMap.vue\";\n import StageMap from \"@/components/StageMap.vue\";\n import { UserRoles } from \"@/enums/UserRoles\";\n import { MapPages } from \"@/enums/MapPages\";\n import { isLogged } from \"@/features/useUser\";\n import ContactUsModal from \"@/components/ui/modals/ContactUsModal.vue\";\n import { EmbeddedMapQueries } from \"@/types/EmbeddedMapQueries\";\n import { LotMapInterface } from \"@/types/LotMapInterface\";\n import ReserveLotModal from \"@/components/ui/modals/ReserveLotModal.vue\";\n import store from \"@/store\";\n import LoginModal from \"@/components/ui/modals/LoginModal.vue\";\n import ResetPasswordModal from \"@/components/ui/modals/ResetPasswordModal.vue\";\n import { useAuth } from \"@/hooks/useAuth\";\n\n const MIN_DESKTOP_WIDTH = 992;\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LandingPlans',\n setup(__props, { expose: __expose }) {\n __expose();\n\n const activeHeaderTab = ref(null);\n const { isSalesPersonRole } = getUserRole();\n const { isDesktop } = useIsDesktop(MIN_DESKTOP_WIDTH);\n const mapEstateId = computed(() => process.env.VUE_APP_LANDING_MAP_ESTATE_ID);\n const zoom = ref(1);\n const mouseX = ref(0);\n const mouseY = ref(0);\n const showReserveModal = ref(false);\n const urlRedirectAfterVerifyEmail = ref(\"\");\n const { isEmbedded, defaultView, showLogo } = embeddedOptions();\n const {\n isOpenedLoginModal,\n loginError,\n isOpenedResetPasswordModal,\n forgotPasswordMessage,\n clearForm,\n onCloseLoginModal,\n signIn,\n onForgotPassword,\n onSendInResetPasswordModal,\n onCloseResetPasswordModal,\n } = useAuth();\n const showStageMap = computed(() => {\n return router.currentRoute.value.query.stageId;\n });\n const estate = ref({});\n const transitionName = ref(\"fade\");\n const lotForReserve = ref(null);\n const lotBuilderIconHover = ref(false);\n\n function onMessage() {\n showReserveModal.value = false;\n }\n\n const visibleHeaderTabs = computed(() =>\n headerTabs.filter((tab) => !tab.hidden)\n );\n\n watch(\n router.currentRoute,\n (value) => {\n if (value.name === RouteLandingNames.LANDING_BUILDERS) {\n activeHeaderTab.value = headerTabs[1];\n } else if (value.name === RouteLandingNames.LANDING) {\n activeHeaderTab.value = headerTabs[0];\n } else if (value.name === RouteLandingNames.LANDING_PLANS) {\n activeHeaderTab.value = headerTabs[2];\n } else {\n activeHeaderTab.value = null;\n }\n },\n { immediate: true }\n );\n\n onMounted(() => {\n const routeNameMap = {\n [RouteLandingNames.LANDING_PLANS]: headerTabs[2],\n [RouteLandingNames.LANDING_BUILDERS]: headerTabs[1],\n [RouteLandingNames.LANDING]: headerTabs[0],\n };\n\n activeHeaderTab.value =\n routeNameMap[\n router.currentRoute.value.name as keyof typeof routeNameMap\n ] || null;\n });\n\n const onLogin = () => {\n isOpenedLoginModal.value = true;\n };\n\n const onChangeHeaderTab = (value: SwitchItemHeader) => {\n router.push(value.path);\n };\n\n const updateZoom = (value: number) => {\n const newZoom = zoom.value + value;\n if (newZoom >= 1 && newZoom <= 2.6) {\n zoom.value = newZoom;\n }\n };\n\n function embeddedOptions() {\n const querys = router.currentRoute.value.query as EmbeddedMapQueries;\n const view: \"list\" | \"map\" = querys.default === \"list\" ? \"list\" : \"map\";\n\n return {\n isEmbedded: querys.embed === \"true\",\n defaultView: view,\n showLogo: querys.powered_by_logo !== \"false\",\n };\n }\n\n const scrollToSavedPosition = (position: number) => {\n setTimeout(() => {\n window.scrollTo(0, position);\n }, 20);\n };\n\n const onReserve = (lot: LotMapInterface) => {\n scrollTopEmbedded();\n transitionName.value = \"fade\";\n lotForReserve.value = lot;\n showReserveModal.value = true;\n const scrollPosition = window.scrollY;\n router.push({\n path: router.currentRoute.value.path,\n query: { ...router.currentRoute.value.query, lotId: lot.lotId._id },\n });\n scrollToSavedPosition(scrollPosition);\n };\n\n const scrollTopEmbedded = () => {\n if (!isEmbedded) {\n return;\n }\n parent.postMessage({ event: \"scroll\" }, \"*\");\n };\n\n function fetchEstate() {\n if (mapEstateId.value) {\n store.dispatch(\"estate/getEstate\", mapEstateId.value).then((response) => {\n estate.value = response.data;\n });\n }\n }\n\n const closeReserveModal = (needUpdateRoute: boolean) => {\n showReserveModal.value = false;\n const scrollPosition = window.scrollY;\n if (needUpdateRoute) {\n router.push({\n path: router.currentRoute.value.path,\n query: { ...router.currentRoute.value.query, lotId: null },\n });\n scrollToSavedPosition(scrollPosition);\n }\n };\n\n onMounted(() => {\n fetchEstate();\n });\n\nconst __returned__ = { activeHeaderTab, isSalesPersonRole, MIN_DESKTOP_WIDTH, isDesktop, mapEstateId, zoom, mouseX, mouseY, showReserveModal, urlRedirectAfterVerifyEmail, isEmbedded, defaultView, showLogo, isOpenedLoginModal, loginError, isOpenedResetPasswordModal, forgotPasswordMessage, clearForm, onCloseLoginModal, signIn, onForgotPassword, onSendInResetPasswordModal, onCloseResetPasswordModal, showStageMap, estate, transitionName, lotForReserve, lotBuilderIconHover, onMessage, visibleHeaderTabs, onLogin, onChangeHeaderTab, updateZoom, embeddedOptions, scrollToSavedPosition, onReserve, scrollTopEmbedded, fetchEstate, closeReserveModal, ref, reactive, onMounted, watch, computed, get router() { return router }, get getUserRole() { return getUserRole }, LandingMobileHeader, SwitchComponent, get useIsDesktop() { return useIsDesktop }, get RouteLandingNames() { return RouteLandingNames }, get landingSubscriptionPlansData() { return landingSubscriptionPlansData }, get landingDescriptionPlansData() { return landingDescriptionPlansData }, get landingProjectSalesAndMarketingData() { return landingProjectSalesAndMarketingData }, CardSubscription, ProjectSalesAndMarketing, LandingFooter, get headerTabs() { return headerTabs }, get SwitchItemHeader() { return SwitchItemHeader }, EstateMap, StageMap, get UserRoles() { return UserRoles }, get MapPages() { return MapPages }, get isLogged() { return isLogged }, ContactUsModal, get EmbeddedMapQueries() { return EmbeddedMapQueries }, get LotMapInterface() { return LotMapInterface }, ReserveLotModal, get store() { return store }, LoginModal, ResetPasswordModal, get useAuth() { return useAuth } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./LandingPlans.vue?vue&type=template&id=7a811f6c&scoped=true&ts=true&lang=pug\"\nimport script from \"./LandingPlans.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./LandingPlans.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./LandingPlans.vue?vue&type=style&index=0&id=7a811f6c&scoped=true&lang=scss\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7a811f6c\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./BuilderLotDetails.vue?vue&type=style&index=0&id=977b7182&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/2_23.09.14_2131_S19ASQN_R2_01.86c6a69a.jpg\";","import { createElementVNode as _createElementVNode, mergeProps as _mergeProps, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"input-password-wrapper\" }\nconst _hoisted_2 = { class: \"input-password__icon\" }\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = [\"value\", \"type\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"span\", _hoisted_2, [\n _createElementVNode(\"img\", {\n src: $setup.pathEye,\n onClick: _cache[0] || (_cache[0] = ($event: any) => ($setup.showPassword = !$setup.showPassword))\n }, null, 8, _hoisted_3)\n ]),\n _createElementVNode(\"input\", _mergeProps({ class: \"input-password\" }, _ctx.$attrs, {\n class: $props.inputClasses,\n value: $props.modelValue,\n onInput: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$emit('update:modelValue', $event.target.value))),\n type: $setup.showPassword ? 'text': 'password'\n }), null, 16, _hoisted_4)\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport {computed, ref} from \"vue\";\n\ninterface Props {\n modelValue: string;\n inputClasses: string | string[];\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'InputPassword',\n props: {\n modelValue: {},\n inputClasses: {}\n },\n setup(__props: any, { expose: __expose }) {\n __expose();\n\n\n\nconst showPassword = ref(false);\nconst pathEye = computed(() => require(`@/assets/icons/icon-eye${showPassword.value ? '-active': ''}.svg`));\n\nconst __returned__ = { showPassword, pathEye, computed, ref }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./InputPassword.vue?vue&type=template&id=0daa0622&ts=true&lang=pug\"\nimport script from \"./InputPassword.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./InputPassword.vue?vue&type=script&lang=ts&setup=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./EstateSvgMap.vue?vue&type=style&index=0&id=27bfa0f9&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./LoginModal.vue?vue&type=style&index=0&id=9b7c3ac2&lang=scss\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./BuilderGetStartedTab.vue?vue&type=style&index=0&id=1c585b10&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/1_23.09.27_2138_S18ASP_R1_01.e12d4106.jpg\";","import { ref, onMounted, onUnmounted, Ref } from \"vue\";\n\nconst MIN_DESKTOP_WIDTH = 992;\n\nexport function useIsDesktop(width = MIN_DESKTOP_WIDTH): {\n isDesktop: Ref;\n} {\n const isDesktop = ref(true);\n const handler = () => {\n isDesktop.value = window.innerWidth >= width;\n };\n\n onMounted(() => {\n handler();\n window.addEventListener(\"resize\", handler);\n });\n\n onUnmounted(() => {\n window.removeEventListener(\"resize\", handler);\n });\n\n return { isDesktop };\n}\n","import {\n hasLowerCaseRegex,\n hasUpperCaseRegex,\n hasSpecialCharsRegex,\n hasDigitsRegex,\n} from \"@/helpers/regex\";\nimport { allowedDocumentMimeTypes } from \"@/constants\";\n\nexport const hasLowerAndUpperCase = (value: string) =>\n hasLowerCaseRegex.test(value) && hasUpperCaseRegex.test(value);\nexport const hasPasswordLength = (value: string) =>\n value.length >= 4 && value.length <= 16;\nexport const hasSpecialChars = (value: string) =>\n hasSpecialCharsRegex.test(value);\nexport const hasDigits = (value: string) => hasDigitsRegex.test(value);\nexport const hasNumberAndSymbol = (value: string) =>\n hasDigits(value) && hasSpecialChars(value);\nexport const validatePassword = (value: string) =>\n hasLowerAndUpperCase(value) &&\n hasPasswordLength(value) &&\n hasNumberAndSymbol(value);\nexport const validateDocumentMimeType = (mimeType: string): boolean =>\n allowedDocumentMimeTypes.includes(mimeType);\nexport const validPhoneNumber = (value: string) =>\n /^(\\+61|0)4\\d{8}$/.test(value);\nexport const validOptionalPhoneNumber = (value: string) => {\n if (value) {\n return validPhoneNumber(value);\n }\n return true;\n};\n","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-68a6733c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"text-semi-bold\" }, \"Confirm action\", -1))\nconst _hoisted_2 = { class: \"text-semi-bold\" }\nconst _hoisted_3 = { key: 0 }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createBlock($setup[\"LotAssignmentModal\"], {\n \"is-open\": $props.isOpen,\n onClose: $setup.close,\n onConfirm: $setup.confirm\n }, {\n title: _withCtx(() => [\n _hoisted_1\n ]),\n description: _withCtx(() => [\n _createElementVNode(\"span\", null, _toDisplayString($setup.text) + \" \", 1),\n _createElementVNode(\"span\", _hoisted_2, _toDisplayString($props.deleteItem), 1),\n ($setup.isLeadsPage)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_3, \" \" + _toDisplayString($props.deleteItem > 1 ? \"leads\" : \"lead\"), 1))\n : _createCommentVNode(\"\", true),\n _createTextVNode(\"?\")\n ]),\n _: 1\n }, 8, [\"is-open\"]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport LotAssignmentModal from \"@/components/ui/modals/LotAssignmentModal.vue\";\nimport { computed } from \"vue\";\nimport router from \"@/router\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ConfirmDeleteModal',\n props: {\n isOpen: {\n type: Boolean,\n required: true,\n },\n deleteItem: {\n type: [Number, String],\n },\n customText: {\n type: String,\n required: false,\n },\n},\n emits: [\"close\", \"confirm\"],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n\n\n\nconst text = computed(() => {\n if (props.customText) {\n return props.customText;\n }\n return \"Are you sure you want to delete\";\n});\n\nconst isLeadsPage = computed(() => {\n return router.currentRoute.value.name === \"Leads\";\n});\n\nconst close = () => {\n emits(\"close\");\n};\n\nconst confirm = () => {\n emits(\"confirm\");\n emits(\"close\");\n};\n\n\nconst __returned__ = { emits, props, text, isLeadsPage, close, confirm, LotAssignmentModal, computed, get router() { return router } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./ConfirmDeleteModal.vue?vue&type=template&id=68a6733c&scoped=true&ts=true&lang=pug\"\nimport script from \"./ConfirmDeleteModal.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ConfirmDeleteModal.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./ConfirmDeleteModal.vue?vue&type=style&index=0&id=68a6733c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-68a6733c\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, withDirectives as _withDirectives, normalizeStyle as _normalizeStyle, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-27bfa0f9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"viewBox\"]\nconst _hoisted_2 = [\"xlink:href\"]\nconst _hoisted_3 = [\"x\", \"y\", \"onMouseover\"]\nconst _hoisted_4 = { class: \"scale\" }\nconst _hoisted_5 = [\"onClick\", \"d\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _directive_tippy = _resolveDirective(\"tippy\")!\n\n return ($setup.props.map)\n ? (_openBlock(), _createElementBlock(\"svg\", {\n key: 0,\n class: \"svg-map-scale\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n viewBox: `0 0 ${$setup.props.map.size.width} ${$setup.props.map.size.height}`,\n style: _normalizeStyle({ transform: 'scale(' + $setup.props.zoom + ')' })\n }, [\n _createElementVNode(\"image\", {\n \"xlink:href\": $setup.props.map.mapImage.url\n }, null, 8, _hoisted_2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.props.stages, (stage) => {\n return (_openBlock(), _createElementBlock(\"svg\", {\n class: \"item-wr\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n version: \"1.1\",\n x: stage.binding.x,\n y: stage.binding.y,\n onMouseover: ($event: any) => ($setup.onStageHover(stage?.stageId?._id)),\n onMouseleave: $setup.onStageLeave\n }, [\n _createElementVNode(\"g\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"path\", {\n class: _normalizeClass([\"item-path\", $setup.props.getItemPathClasses(stage)]),\n onClick: ($event: any) => ($setup.onStage(stage)),\n d: stage.path\n }, null, 10, _hoisted_5), [\n [_directive_tippy, { content: $props.getTooltipText(stage), allowHTML: true, theme: 'map-tippy', appendtTo: 'element', arrow: false }]\n ])\n ])\n ], 40, _hoisted_3))\n }), 256))\n ], 12, _hoisted_1))\n : _createCommentVNode(\"\", true)\n}","import { defineComponent as _defineComponent } from 'vue'\n\n import { EstateMapInterface } from \"@/types/EstateMapInterface\";\n import { StageMapInterface } from \"@/types/StageInterface\";\n import { getStageStatusClass } from \"@/helpers/status\";\n import { StageStatus } from \"@/enums/StageStatus\";\n import { UserRoles } from \"@/enums/UserRoles\";\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'EstateSvgMap',\n props: {\n map: {},\n stages: {},\n zoom: {},\n getTooltipText: { type: Function },\n getItemPathClasses: { type: Function }\n },\n emits: [\"onStageHover\", \"onStageLeave\", \"onStageClick\"],\n setup(__props: any, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n \n\n \n\n const onStageHover = (id: string) => {\n emits(\"onStageHover\", id);\n };\n\n const onStageLeave = () => {\n emits(\"onStageLeave\");\n };\n\n const onStage = (stage: StageMapInterface) => {\n emits(\"onStageClick\", stage);\n };\n\nconst __returned__ = { props, emits, onStageHover, onStageLeave, onStage, get EstateMapInterface() { return EstateMapInterface }, get StageMapInterface() { return StageMapInterface }, get getStageStatusClass() { return getStageStatusClass }, get StageStatus() { return StageStatus }, get UserRoles() { return UserRoles } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./EstateSvgMap.vue?vue&type=template&id=27bfa0f9&scoped=true&ts=true&lang=pug\"\nimport script from \"./EstateSvgMap.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./EstateSvgMap.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./EstateSvgMap.vue?vue&type=style&index=0&id=27bfa0f9&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27bfa0f9\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./LotButtonLink.vue?vue&type=style&index=0&id=5f491709&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/5_21.06.02_Series96_AnnixHomes_R4_01.06eb74ec.jpg\";","export * from \"-!../../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ContactUsModal.vue?vue&type=style&index=1&id=15d6cbda&lang=scss&scoped=true\"","import { Validation } from \"@vuelidate/core\";\nimport { Ref } from \"vue\";\n\nexport function resetVuelidateErrors(validation: Ref): void {\n setTimeout(() => {\n validation.value.$reset();\n });\n}\n","export enum MapPages {\n ESTATE_MAP = \"EstateMap\",\n STAGE_MAP = \"StageMap\",\n STAGE_LIST = \"StageList\",\n}\n","const imageFormats = [\"jpg\", \"jpeg\", \"svg\", \"png\", \"gif\"];\n\nexport const getFileType = (imgLink: string): string | undefined => {\n if (!imgLink) {\n return undefined;\n } else return imgLink.split(\".\").pop();\n};\n\nexport const isImage = (fileName: string): boolean => {\n const type = getFileType(fileName);\n return type ? imageFormats.includes(type) : false;\n};\n\nexport const previewIcon = (fileLink: string, fileName = \"\"): string => {\n const image = isImage(fileName || fileLink);\n return image ? fileLink : require(`@/assets/icons/icon-pdf.svg`);\n};\n\nexport function getDocumentName(name: string) {\n const parts = name.split(\"/\");\n return parts[parts.length - 1];\n}\n","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0d2e86fe\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"dropdown-wr\"\n}\nconst _hoisted_2 = [\"onClick\"]\nconst _hoisted_3 = {\n key: 1,\n class: \"list-view-btn-wrapper\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"zoom-info\" }, \"Zoom in / out. Click stage to view available lots.\", -1))\nconst _hoisted_5 = [\n _hoisted_4\n]\nconst _hoisted_6 = {\n key: 1,\n class: \"spinner\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (!$setup.loading)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"stage-nav-wrapper\", {'not-margin': $setup.props.isMapModalView}]),\n id: \"stage-nav-wrapper\"\n }, [\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.getAvailableStages, (stage) => {\n return (_openBlock(), _createElementBlock(\"button\", {\n class: _normalizeClass([\"button default primary icon-btn stage\", {'stage-selected': $setup.getStageClass(stage?.stageId?._id)}]),\n onClick: ($event: any) => ($setup.onStage(stage))\n }, \"Stage \" + _toDisplayString(stage.stageId.title), 11, _hoisted_2))\n }), 256))\n ]))\n : _createCommentVNode(\"\", true),\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_5))\n : _createCommentVNode(\"\", true)\n ], 2))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, computed, onMounted } from \"vue\";\nimport router from \"@/router\";\nimport { MapPages } from \"@/enums/MapPages\";\nimport { StageMapInterface } from \"@/types/StageMapInterface\";\nimport { StageStatus } from \"@/enums/StageStatus\";\nimport { useStore } from \"vuex\";\nimport { compareStrings } from \"@/helpers/transformation/string\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'StageNavMobile',\n props: {\n estateId: { type: String },\n viewType: { type: String },\n mapPage: { type: String },\n isEmbedded: { type: Boolean },\n isBuilderView: { type: Boolean, required: false },\n isMapModalView: { type: Boolean, required: false },\n},\n emits: [\"changeView\", \"onStage\"],\n setup(__props, { expose: __expose, emit }) {\n __expose();\n\nconst props = __props;\n\n\n\n\nconst stages = ref([]);\nconst store = useStore();\nconst loading = ref(true);\n\n\nconst getAvailableStages = computed(() => {\n return stages.value.filter(\n (value) => value.stageId.status === StageStatus.NOW_SELLING\n )\n .sort((a, b) => compareStrings(a?.stageId?.title, b?.stageId?.title));\n});\n\nonMounted(() => {\n getStages();\n});\n\nconst getStages = () => {\n store\n .dispatch(\"stage/getStagesMap\", { estateId: props.estateId, isCustomer: true })\n .then((res) => {\n stages.value = res.data;\n loading.value = false;\n });\n};\n\nconst changeView = () => {\n if (props.viewType !== \"list\") {\n emit(\"changeView\");\n }\n};\n\nconst getStageClass = (stageId: string) => {\n return router.currentRoute.value.query?.stageId === stageId\n && props.mapPage === MapPages.STAGE_MAP;\n};\n\nconst onStage = (stage: StageMapInterface) => {\n const embed = props.isEmbedded.toString();\n if (props.mapPage === MapPages.STAGE_MAP || props.mapPage === MapPages.ESTATE_MAP) {\n emit(\"onStage\", stage);\n } else {\n router.replace({\n path: router.currentRoute.value.path,\n query: { stageId: stage.stageId._id, embed },\n })\n .then(() => {\n emit(\"changeView\");\n });\n }\n};\n\nconst __returned__ = { props, emit, stages, store, loading, getAvailableStages, getStages, changeView, getStageClass, onStage, ref, computed, onMounted, get router() { return router }, get MapPages() { return MapPages }, get StageMapInterface() { return StageMapInterface }, get StageStatus() { return StageStatus }, get useStore() { return useStore }, get compareStrings() { return compareStrings } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./StageNavMobile.vue?vue&type=template&id=0d2e86fe&scoped=true&ts=true&lang=pug\"\nimport script from \"./StageNavMobile.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./StageNavMobile.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./StageNavMobile.vue?vue&type=style&index=0&id=0d2e86fe&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0d2e86fe\"]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/4_21.06.02_Series96_AnnixHomes_R2_01 (1).5c6027e1.jpg\";","export * from \"-!../../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ConfirmDeleteModal.vue?vue&type=style&index=0&id=68a6733c&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/image-question-builder.9b519d8a.jpg\";","export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./LandingPlans.vue?vue&type=style&index=0&id=7a811f6c&scoped=true&lang=scss\"","import { SwitchItemHeader } from \"@/types/SwitchItemHeader\";\n\nexport const headerTabs: SwitchItemHeader[] = [\n {\n label: \"Developers & Land Sales\",\n value: \"developers-and-land-sales\",\n path: \"/\",\n },\n {\n label: \"Builders\",\n value: \"builders\",\n path: \"/builders\",\n },\n {\n label: \"Plans\",\n value: \"plans\",\n path: \"/plans\",\n hidden: true,\n },\n];\n","module.exports = __webpack_public_path__ + \"img/facade-classic-single.9d103dc9.jpeg\";","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./BuilderControlsButtons.vue?vue&type=style&index=0&id=0c7c6ed4&lang=scss&scoped=true\"","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, createBlock as _createBlock, withCtx as _withCtx, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-432eeca9\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"spinner\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"modal-wrapper scroll-wrapper\"\n}\nconst _hoisted_3 = {\n key: 0,\n class: \"badge\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"lot-desktop-tabs\"\n}\nconst _hoisted_5 = { class: \"lot-desktop-tab\" }\nconst _hoisted_6 = {\n key: 0,\n class: \"tab-border\"\n}\nconst _hoisted_7 = {\n key: 0,\n class: \"lot-desktop-tab\"\n}\nconst _hoisted_8 = {\n key: 0,\n class: \"tab-border\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"lot-desktop-tab\"\n}\nconst _hoisted_10 = {\n key: 0,\n class: \"tab-border\"\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"button button approve\" }, \"NEW\", -1))\nconst _hoisted_12 = { class: \"lot-details\" }\nconst _hoisted_13 = {\n key: 0,\n class: \"blocks-wr\"\n}\nconst _hoisted_14 = { class: \"block block-lot-details\" }\nconst _hoisted_15 = {\n key: 0,\n class: \"title\"\n}\nconst _hoisted_16 = {\n key: 1,\n class: \"block\"\n}\nconst _hoisted_17 = { class: \"lot-title-mobile\" }\nconst _hoisted_18 = {\n key: 0,\n class: \"lot-reserve-tabs\"\n}\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"button\", { class: \"button approve\" }, \"New\", -1))\nconst _hoisted_20 = {\n key: 2,\n class: \"row-wr\"\n}\nconst _hoisted_21 = {\n key: 0,\n class: \"row\"\n}\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Stage\", -1))\nconst _hoisted_23 = { class: \"row-value\" }\nconst _hoisted_24 = { class: \"row secondary\" }\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Frontage\", -1))\nconst _hoisted_26 = { class: \"row-value\" }\nconst _hoisted_27 = { class: \"row\" }\nconst _hoisted_28 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Size\", -1))\nconst _hoisted_29 = { class: \"row-value\" }\nconst _hoisted_30 = { class: \"row secondary\" }\nconst _hoisted_31 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Price\", -1))\nconst _hoisted_32 = {\n key: 1,\n class: \"row-value\"\n}\nconst _hoisted_33 = { class: \"row\" }\nconst _hoisted_34 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Est. Registration\", -1))\nconst _hoisted_35 = { class: \"row-value\" }\nconst _hoisted_36 = { class: \"row secondary\" }\nconst _hoisted_37 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Status\", -1))\nconst _hoisted_38 = {\n key: 0,\n class: \"lot-img\"\n}\nconst _hoisted_39 = {\n key: 0,\n class: \"lot-img-title\"\n}\nconst _hoisted_40 = [\"viewBox\"]\nconst _hoisted_41 = [\"d\"]\nconst _hoisted_42 = {\n key: 1,\n class: \"content-documents\"\n}\nconst _hoisted_43 = {\n key: 1,\n class: \"controls\"\n}\nconst _hoisted_44 = [\"disabled\"]\nconst _hoisted_45 = [\"disabled\"]\nconst _hoisted_46 = [\"disabled\"]\nconst _hoisted_47 = [\"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createBlock($setup[\"Modal\"], {\n isOpen: $props.isOpen,\n onClose: $setup.close,\n classes: $setup.getModalClasses(),\n \"transition-name\": $props.transitionName\n }, {\n content: _withCtx(() => [\n ($setup.loading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"modal-title\", { 'land-options-available': $setup.landOptionsAvailable }])\n }, [\n _createTextVNode(\"Lot \" + _toDisplayString($props.lot.lotId.title), 1),\n ($setup.landOptionsAvailable)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, \"House & Land Options\"))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"content-block scroll-wrapper\", { 'land-options-available': $setup.landOptionsAvailable }])\n }, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"lot-desktop-title\", { 'lot-tab-active': $setup.isActiveTab($setup.TabsEnum.LOT_DETAILS) }]),\n onClick: _cache[0] || (_cache[0] = ($event: any) => ($setup.changeTab($setup.TabsEnum.LOT_DETAILS)))\n }, \"Lot Details\", 2),\n ($setup.isActiveTab($setup.TabsEnum.LOT_DETAILS))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6))\n : _createCommentVNode(\"\", true)\n ]),\n ($props.lot.lotId.documents && $props.lot.lotId.documents.length)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"lot-desktop-title\", { 'lot-tab-active': $setup.isActiveTab($setup.TabsEnum.DOCS) }]),\n onClick: _cache[1] || (_cache[1] = ($event: any) => ($setup.changeTab($setup.TabsEnum.DOCS)))\n }, \"Documents\", 2),\n ($setup.isActiveTab($setup.TabsEnum.DOCS))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n ($setup.landOptionsAvailable)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"lot-desktop-title\", { 'lot-tab-active': $setup.isActiveTab($setup.TabsEnum.HOME_DESIGNS) }]),\n onClick: _cache[2] || (_cache[2] = ($event: any) => ($setup.changeTab($setup.TabsEnum.HOME_DESIGNS)))\n }, \"Home Designs\", 2),\n ($setup.isActiveTab($setup.TabsEnum.HOME_DESIGNS))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10))\n : _createCommentVNode(\"\", true),\n _hoisted_11\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_12, [\n ($setup.isActiveTab($setup.TabsEnum.LOT_DETAILS) || !$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, \"Lot Details\"))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, [\n _createElementVNode(\"div\", { class: \"stage-back-wr\" }, [\n _createElementVNode(\"button\", {\n class: \"button-with-icon back\",\n onClick: $setup.close\n }, \"BACK\")\n ]),\n _createElementVNode(\"div\", _hoisted_17, \"Lot \" + _toDisplayString($props.lot.lotId.title), 1),\n (!$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, [\n _createElementVNode(\"button\", {\n class: _normalizeClass([\"button\", !$setup.isActiveTab($setup.TabsEnum.LOT_DETAILS) ? 'question' : 'default primary']),\n onClick: _cache[3] || (_cache[3] = ($event: any) => ($setup.changeTab($setup.TabsEnum.LOT_DETAILS)))\n }, \"Lot details\", 2),\n ($props.lot.lotId.documents && $props.lot.lotId.documents.length)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: _normalizeClass([\"button\", !$setup.isActiveTab($setup.TabsEnum.DOCS) ? 'question' : 'default primary']),\n onClick: _cache[4] || (_cache[4] = ($event: any) => ($setup.changeTab($setup.TabsEnum.DOCS)))\n }, \"Docs\", 2))\n : _createCommentVNode(\"\", true),\n ($setup.landOptionsAvailable)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: _normalizeClass([\"button home-designs-tab-btn\", !$setup.isActiveTab($setup.TabsEnum.HOME_DESIGNS) ? 'question' : 'default primary']),\n onClick: _cache[5] || (_cache[5] = ($event: any) => ($setup.changeTab($setup.TabsEnum.HOME_DESIGNS)))\n }, [\n _createTextVNode(\"Home designs\"),\n _hoisted_19\n ], 2))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ])),\n ($setup.isActiveTab($setup.TabsEnum.LOT_DETAILS))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, [\n _hoisted_22,\n _createElementVNode(\"div\", _hoisted_23, _toDisplayString($props.lot.stageId.title), 1)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_24, [\n _hoisted_25,\n _createElementVNode(\"div\", _hoisted_26, _toDisplayString($props.lot.lotId.blockWidth ? `${$setup.formatPrice($props.lot.lotId.blockWidth, false)} m` : \"Irregular\"), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_27, [\n _hoisted_28,\n _createElementVNode(\"div\", _hoisted_29, _toDisplayString($setup.formatPrice($props.lot.lotId.size, false)) + \" sqm\", 1)\n ]),\n _createElementVNode(\"div\", _hoisted_30, [\n _hoisted_31,\n ($props.estate.hidePrice)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"row-value highlighted\",\n onClick: $setup.toContact\n }, \"Request pricing\"))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_32, _toDisplayString($setup.formatPrice($props.lot.lotId.price)), 1))\n ]),\n _createElementVNode(\"div\", _hoisted_33, [\n _hoisted_34,\n _createElementVNode(\"div\", _hoisted_35, _toDisplayString($setup.formatDate($props.lot.lotId.registrationDate, \"MMM YYYY\")), 1)\n ]),\n _createElementVNode(\"div\", _hoisted_36, [\n _hoisted_37,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"badge\", $setup.getLotStatusClass($props.lot.lotId.status)])\n }, _toDisplayString($props.lot.lotId.status), 3)\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n ($setup.isActiveTab($setup.TabsEnum.LOT_DETAILS))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_38, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_39, \"Lot Shape\"))\n : _createCommentVNode(\"\", true),\n (_openBlock(), _createElementBlock(\"svg\", {\n class: \"item-wr svg-img\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n version: \"1.1\",\n viewBox: `0 0 ${$props.lot.size.width} ${$props.lot.size.height}`\n }, [\n _createElementVNode(\"path\", {\n class: \"item-path\",\n d: $props.lot.path\n }, null, 8, _hoisted_41)\n ], 8, _hoisted_40))\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n ($setup.isActiveTab($setup.TabsEnum.DOCS))\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_42, [\n ($props.lot.lotId.documents && $props.lot.lotId.documents.length)\n ? (_openBlock(), _createBlock($setup[\"BuilderLotDocuments\"], {\n key: 0,\n documents: $props.lot.lotId.documents\n }, null, 8, [\"documents\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n ($setup.landOptionsAvailable && $setup.isActiveTab($setup.TabsEnum.HOME_DESIGNS))\n ? (_openBlock(), _createBlock($setup[\"BuilderGetStartedTab\"], {\n key: 1,\n buttonDisabled: $setup.props.buttonsDisabled,\n onOnRequestQuote: $setup.onRequestQuote\n }, null, 8, [\"buttonDisabled\"]))\n : _createCommentVNode(\"\", true)\n ], 2),\n ($setup.landOptionsAvailable)\n ? (_openBlock(), _createBlock($setup[\"BuilderControlsButtons\"], {\n key: 0,\n lot: $props.lot.lotId,\n isEmbedded: $setup.props.embedded,\n isInitialHoldDisabled: $setup.isInitialHoldDisabled,\n landOptionsAvailable: $setup.landOptionsAvailable,\n buttonsDisabled: $setup.props.buttonsDisabled,\n onContact: $setup.toContact,\n onHold: $setup.hold,\n onRequestQuote: $setup.onRequestQuote,\n onReserve: $setup.reserve\n }, null, 8, [\"lot\", \"isEmbedded\", \"isInitialHoldDisabled\", \"landOptionsAvailable\", \"buttonsDisabled\"]))\n : _createCommentVNode(\"\", true),\n (!$setup.landOptionsAvailable)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_43, [\n ($setup.landOptionsAvailable)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: _normalizeClass([\"button primary reserve\", { disabled: _ctx.disabled }]),\n onClick: $setup.onRequestQuote,\n disabled: _ctx.disableButton\n }, \"Request build quote\", 10, _hoisted_44))\n : _createCommentVNode(\"\", true),\n ($props.lot.lotId.status === $setup.LotStatus.AVAILABLE && $setup.isInitialHoldDisabled)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: _normalizeClass([\"button default primary reserve\", { disabled: _ctx.disabled || $setup.props.buttonsDisabled }]),\n onClick: $setup.reserve,\n disabled: _ctx.disableButton || $setup.props.buttonsDisabled\n }, \"Reserve\", 10, _hoisted_45))\n : _createCommentVNode(\"\", true),\n ($props.lot.lotId.status === $setup.LotStatus.AVAILABLE && !$setup.isInitialHoldDisabled)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 2,\n class: _normalizeClass([\"button default primary reserve\", { disabled: _ctx.disabled || $setup.props.buttonsDisabled }]),\n onClick: $setup.hold,\n disabled: _ctx.disableButton || $setup.props.buttonsDisabled\n }, \"Request a hold\", 10, _hoisted_46))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: _normalizeClass([\"button question\", [{ 'mt-0': $props.lot.lotId.status !== $setup.LotStatus.AVAILABLE }, { disabled: $setup.props.buttonsDisabled }]]),\n onClick: $setup.toContact,\n disabled: $setup.props.buttonsDisabled\n }, \"Make enquiry\", 10, _hoisted_47)\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ]),\n _: 1\n }, 8, [\"isOpen\", \"classes\", \"transition-name\"]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, onMounted, watch } from \"vue\";\n import Modal from \"@/components/ui/Modal.vue\";\n import router from \"@/router\";\n import { formatDate } from \"@/helpers/date\";\n import { useStore } from \"vuex\";\n import { formatPrice } from \"@/helpers/transformation/price\";\n import { LotStatus } from \"@/enums/LotStatus\";\n import { getDocumentName } from \"@/helpers/documents\";\n import { getLotStatusClass } from \"@/helpers/status\";\n import BuilderDropdownAndActions from \"@/components/builder/BuilderDropdownAndActions.vue\";\n import BuilderGetStartedTab from \"@/components/builder/BuilderGetStartedTab.vue\";\n import BuilderLotDetails from \"@/components/builder/BuilderLotDetails.vue\";\n import { BuilderInterfaceWithHouseDesigns } from \"@/types/BuilderInterface\";\n import BuilderControlsButtons from \"@/components/builder/BuilderControlsButtons.vue\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n import BuilderLotDocuments from \"@/components/builder/BuilderLotDocuments.vue\";\n\n enum TabsEnum {\n LOT_DETAILS = \"lot-details\",\n DOCS = \"docs\",\n HOME_DESIGNS = \"home-designs\",\n }\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'ReserveLotModal',\n props: {\n isOpen: {\n type: Boolean,\n required: true,\n },\n lot: {\n type: Object,\n required: true,\n },\n transitionName: {\n type: String,\n },\n estate: {\n type: Object,\n required: true,\n },\n embedded: {\n type: Boolean,\n default: false,\n },\n businessId:{\n type: String,\n required: false,\n default: undefined,\n },\n estateId: {\n type: String,\n required: false,\n default: undefined,\n },\n buttonsDisabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n emits: [\n \"close\",\n \"toContact\",\n \"reserve\",\n \"hold\",\n \"toRequestQuote\",\n \"updateHeaderOverAll\",\n ],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n const { isDesktop } = useIsDesktop(681);\n\n const store = useStore();\n\n \n \n\n const loading = ref(false);\n const builders = ref([]);\n const isInitialHoldDisabled = ref(false);\n const disabledButton = ref(false);\n const estateId = computed(() => getEstateId());\n\n const activeTabs = ref(TabsEnum.LOT_DETAILS);\n\n const getEstateId = () => {\n if (props.estateId) {\n return props.estateId;\n } else {\n return router.currentRoute.value.params.estateId;\n }\n };\n\n const isActiveTab = (tab: TabsEnum) => {\n return activeTabs.value === tab;\n };\n\n const changeTab = (tab: TabsEnum) => {\n activeTabs.value = tab;\n };\n\n const landOptionsAvailable = computed(() => {\n const hasBuildersEnabled = props?.lot?.lotId?.isBuildersEnabled;\n const hasBuilders = builders?.value.length;\n const hasHouses = builders.value.every(\n (builder) => builder.houses.length > 0\n );\n\n return hasBuildersEnabled && hasBuilders && hasHouses;\n });\n\n const getInitialHoldDisabled = () => {\n disabledButton.value = true;\n store\n .dispatch(\"estate/getEstate\", estateId.value)\n .then((res) => {\n isInitialHoldDisabled.value = !res.data.showInitialHold;\n })\n .finally(() => {\n disabledButton.value = false;\n });\n };\n const getModalClasses = () => {\n const { lot, embedded } = props;\n const reserveClass = landOptionsAvailable.value\n ? \"reserve-lot-modal-with-builder\"\n : \"reserve-lot-modal\";\n const documentsClass = lot?.lotId?.documents?.length ? \"\" : \"no-documents\";\n const embeddedClass = embedded ? \"reserve-lot-modal-embedded\" : \"\";\n const heightClass = \"height-limited\";\n return `${reserveClass} ${embeddedClass} ${heightClass} ${documentsClass}`;\n };\n const lotId = computed(() => {\n return router.currentRoute.value.query.lotId;\n });\n\n const urlLinkToEoiRequest = computed(() => {\n return `/estate/${estateId.value}/lot/${lotId.value}/eoi-request?${props.businessId ? `businessId=${props.businessId}` : ''}`;\n });\n\n const hold = () => {\n emits(\"hold\", props.lot);\n close();\n };\n\n function close(needUpdateRoute = true) {\n activeTabs.value = TabsEnum.LOT_DETAILS;\n emits(\"close\", needUpdateRoute);\n }\n const reserve = () => {\n emits(\"reserve\", urlLinkToEoiRequest.value);\n close();\n };\n function toContact() {\n emits(\"toContact\");\n close();\n }\n const onRequestQuote = () => {\n if (!props.buttonsDisabled) {\n router.push({\n name: \"Builder\",\n params: { lotId: lotId.value as string, estateId: estateId.value },\n });\n }\n };\n\n const getBuildersByLotId = () => {\n if (!lotId.value) {\n return;\n }\n loading.value = true;\n store\n .dispatch(\"builder/getBuildersByLotId\", lotId.value)\n .then((res) => {\n builders.value =\n res.data?.builders.filter(\n (b: BuilderInterfaceWithHouseDesigns) => b?.houses.length\n ) ?? [];\n })\n .finally(() => {\n loading.value = false;\n });\n };\n\n onMounted(() => {\n getInitialHoldDisabled();\n getBuildersByLotId();\n });\n\n watch(lotId, () => {\n getBuildersByLotId();\n });\n\n watch(\n () => props.isOpen,\n () => {\n emits(\"updateHeaderOverAll\", props.isOpen && !isDesktop.value);\n }\n );\n\nconst __returned__ = { isDesktop, store, emits, props, TabsEnum, loading, builders, isInitialHoldDisabled, disabledButton, estateId, activeTabs, getEstateId, isActiveTab, changeTab, landOptionsAvailable, getInitialHoldDisabled, getModalClasses, lotId, urlLinkToEoiRequest, hold, close, reserve, toContact, onRequestQuote, getBuildersByLotId, computed, ref, onMounted, watch, Modal, get router() { return router }, get formatDate() { return formatDate }, get useStore() { return useStore }, get formatPrice() { return formatPrice }, get LotStatus() { return LotStatus }, get getDocumentName() { return getDocumentName }, get getLotStatusClass() { return getLotStatusClass }, BuilderDropdownAndActions, BuilderGetStartedTab, BuilderLotDetails, get BuilderInterfaceWithHouseDesigns() { return BuilderInterfaceWithHouseDesigns }, BuilderControlsButtons, get useIsDesktop() { return useIsDesktop }, BuilderLotDocuments }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./ReserveLotModal.vue?vue&type=template&id=432eeca9&scoped=true&ts=true&lang=pug\"\nimport script from \"./ReserveLotModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ReserveLotModal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ReserveLotModal.vue?vue&type=style&index=0&id=432eeca9&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-432eeca9\"]])\n\nexport default __exports__","import { normalizeClass as _normalizeClass, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/chevron-right-gray.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0c7c6ed4\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"builder-controls\"\n}\nconst _hoisted_2 = { class: \"secondary-buttons-wr\" }\nconst _hoisted_3 = [\"disabled\"]\nconst _hoisted_4 = [\"disabled\"]\nconst _hoisted_5 = [\"disabled\"]\nconst _hoisted_6 = [\"disabled\"]\nconst _hoisted_7 = {\n key: 0,\n class: \"chevron-right\",\n src: _imports_0\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return ($setup.props.lot)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n ($props.lot.status === $setup.LotStatus.AVAILABLE && $setup.props.isInitialHoldDisabled)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: _normalizeClass([\"button secondary\", { disabled: $setup.props.buttonsDisabled }]),\n onClick: $setup.reserve,\n disabled: $setup.props.buttonsDisabled\n }, \"Reserve lot\", 10, _hoisted_3))\n : _createCommentVNode(\"\", true),\n ($props.lot.status === $setup.LotStatus.AVAILABLE && !$setup.props.isInitialHoldDisabled)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 1,\n class: _normalizeClass([\"button secondary\", { disabled: $setup.props.buttonsDisabled }]),\n onClick: $setup.hold,\n disabled: $setup.props.buttonsDisabled\n }, \"Request a Hold\", 10, _hoisted_4))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"button\", {\n class: _normalizeClass([\"button secondary\", [{ 'mt-0': $props.lot.status !== $setup.LotStatus.AVAILABLE }, { disabled: $setup.props.buttonsDisabled }]]),\n onClick: $setup.toContact,\n disabled: $setup.props.buttonsDisabled\n }, \"Make Enquiry\", 10, _hoisted_5)\n ]),\n ($props.landOptionsAvailable)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: _normalizeClass([\"button primary customise\", { disabled: $setup.props.buttonsDisabled }]),\n disabled: $setup.props.buttonsDisabled,\n onClick: $setup.onRequestQuote\n }, [\n _createTextVNode(\"Create a Home & Land Package\"),\n (!$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_7))\n : _createCommentVNode(\"\", true)\n ], 10, _hoisted_6))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { LotStatus } from \"@/enums/LotStatus\";\n import { redirectWithoutRouter } from \"@/helpers/redirectWithoutRouter\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'BuilderControlsButtons',\n props: {\n lot: {\n type: Object,\n required: true,\n },\n isInitialHoldDisabled: {\n type: Boolean,\n required: true,\n },\n landOptionsAvailable: {\n type: Boolean,\n required: true,\n },\n isEmbedded: {\n type: Boolean,\n required: true,\n },\n buttonsDisabled: {\n type: Boolean,\n required: false,\n default: false,\n },\n },\n emits: [\"contact\", \"hold\", \"requestQuote\", \"reserve\"],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n const { isDesktop } = useIsDesktop(680);\n\n \n \n const hold = () => {\n emits(\"hold\", props.lot);\n };\n\n const toContact = () => {\n emits(\"contact\");\n };\n\n const reserve = () => {\n emits(\"reserve\");\n };\n\n const requestQuoteEmit = () => {\n if (!props.buttonsDisabled) {\n emits(\"requestQuote\");\n }\n };\n\n const onRequestQuote = () => {\n if (props.isEmbedded) {\n redirectWithoutRouter(\n `/builder/estate/${props.lot.estateId}/lot/${props.lot._id}`,\n \"_blank\"\n );\n return;\n }\n requestQuoteEmit();\n };\n\nconst __returned__ = { isDesktop, emits, props, hold, toContact, reserve, requestQuoteEmit, onRequestQuote, get LotStatus() { return LotStatus }, get redirectWithoutRouter() { return redirectWithoutRouter }, get useIsDesktop() { return useIsDesktop } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./BuilderControlsButtons.vue?vue&type=template&id=0c7c6ed4&scoped=true&ts=true&lang=pug\"\nimport script from \"./BuilderControlsButtons.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./BuilderControlsButtons.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./BuilderControlsButtons.vue?vue&type=style&index=0&id=0c7c6ed4&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0c7c6ed4\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/info-icon.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4cef99d7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"info-container\" }\nconst _hoisted_2 = { class: \"info-content\" }\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"info-content-icon\",\n src: _imports_0\n}, null, -1))\nconst _hoisted_4 = { class: \"info-content-data\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _hoisted_3,\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString($setup.props.text), 1)\n ])\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\n\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'InfoWithIcon',\n props: {\n text: String,\n},\n setup(__props, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n\n\n\n\nconst __returned__ = { props }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./InfoWithIcon.vue?vue&type=template&id=4cef99d7&scoped=true&ts=true&lang=pug\"\nimport script from \"./InfoWithIcon.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./InfoWithIcon.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./InfoWithIcon.vue?vue&type=style&index=0&id=4cef99d7&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4cef99d7\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./CardSubscription.vue?vue&type=style&index=0&id=dfa00086&lang=scss&scoped=true\"","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, createTextVNode as _createTextVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, vModelText as _vModelText, normalizeClass as _normalizeClass, withDirectives as _withDirectives, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-15d6cbda\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"modal-wrapper scroll-wrapper\" }\nconst _hoisted_2 = { class: \"modal-title modal-title-contact\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"title-block\"\n}\nconst _hoisted_4 = { class: \"modal__title\" }\nconst _hoisted_5 = { class: \"text-muted\" }\nconst _hoisted_6 = {\n key: 1,\n class: \"modal__title\"\n}\nconst _hoisted_7 = { class: \"content-block scroll-wrapper\" }\nconst _hoisted_8 = [\"onSubmit\"]\nconst _hoisted_9 = { class: \"modal-content-contact\" }\nconst _hoisted_10 = { class: \"user-name-wrapper\" }\nconst _hoisted_11 = { class: \"form-group\" }\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"First name\", -1))\nconst _hoisted_13 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_14 = { class: \"form-group\" }\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Last Name\", -1))\nconst _hoisted_16 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_17 = { class: \"form-group\" }\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Phone\", -1))\nconst _hoisted_19 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_20 = { class: \"form-group\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Email\", -1))\nconst _hoisted_22 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_23 = { class: \"form-group\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Message\", -1))\nconst _hoisted_25 = {\n key: 1,\n class: \"spinner\"\n}\nconst _hoisted_26 = { class: \"buttons-wr-contact\" }\nconst _hoisted_27 = [\"disabled\"]\nconst _hoisted_28 = {\n key: 1,\n class: \"spinner spinner-small\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createBlock($setup[\"Modal\"], {\n \"is-open\": $setup.props.isOpen,\n onClose: $setup.onClose,\n classes: \"contact-us-modal height-limited\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n ($props.lot)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createElementVNode(\"button\", {\n class: \"button icon back\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('back'))),\n type: \"button\"\n }),\n _createElementVNode(\"div\", _hoisted_4, [\n _createTextVNode(\"Make enquiry\"),\n _createElementVNode(\"span\", _hoisted_5, \" (Lot \" + _toDisplayString($props.lot.lotId.title) + \")\", 1)\n ])\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_6, \"Contact Us\"))\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n (!$setup.formLoad)\n ? (_openBlock(), _createElementBlock(\"form\", {\n key: 0,\n class: \"login-form\",\n onSubmit: _withModifiers($setup.submitForm, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"div\", _hoisted_11, [\n _createElementVNode(\"label\", null, [\n _hoisted_12,\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input-large\", { 'input--error': $setup.v$.firstName.$error }]),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (($setup.form.firstName) = $event)),\n placeholder: \"First Name\"\n }, null, 2), [\n [_vModelText, $setup.form.firstName]\n ])\n ]),\n ($setup.v$.firstName.$error)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_13, _toDisplayString($setup.v$.firstName.required.$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_14, [\n _createElementVNode(\"label\", null, [\n _hoisted_15,\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input-large\", { 'input--error': $setup.v$.lastName.$error }]),\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => (($setup.form.lastName) = $event)),\n placeholder: \"Last Name\"\n }, null, 2), [\n [_vModelText, $setup.form.lastName]\n ])\n ]),\n ($setup.v$.lastName.$error)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_16, _toDisplayString($setup.v$.lastName.required.$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_17, [\n _createElementVNode(\"label\", null, [\n _hoisted_18,\n _createVNode($setup[\"Cleave\"], {\n class: _normalizeClass([\"input input-large\", { 'input--error': $setup.v$.phone.$error }]),\n modelValue: $setup.form.phone,\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => (($setup.form.phone) = $event)),\n options: $setup.phoneNumberOption($setup.form.phone),\n placeholder: \"0412 345 678\"\n }, null, 8, [\"modelValue\", \"class\", \"options\"])\n ]),\n ($setup.v$.phone.$error)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_19, _toDisplayString($setup.v$.phone.$errors[0]?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_20, [\n _createElementVNode(\"label\", null, [\n _hoisted_21,\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input-large\", { 'input--error': $setup.v$.email.$error }]),\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => (($setup.form.email) = $event)),\n type: \"email\",\n placeholder: \"Email\"\n }, null, 2), [\n [_vModelText, $setup.form.email]\n ])\n ]),\n ($setup.v$.email.$error)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_22, _toDisplayString($setup.v$.email.$errors[0]?.$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"label\", null, [\n _hoisted_24,\n _withDirectives(_createElementVNode(\"textarea\", {\n class: \"textarea\",\n \"onUpdate:modelValue\": _cache[5] || (_cache[5] = ($event: any) => (($setup.form.message) = $event)),\n placeholder: \"Message\"\n }, null, 512), [\n [_vModelText, $setup.form.message]\n ])\n ])\n ])\n ])\n ], 40, _hoisted_8))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_25))\n ]),\n _createElementVNode(\"div\", _hoisted_26, [\n (!$setup.props.isLoading)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"button large primary reserve\",\n type: \"submit\",\n disabled: $setup.props.isLoading,\n onClick: $setup.submitForm\n }, \"Submit\", 8, _hoisted_27))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_28)),\n _createElementVNode(\"button\", {\n class: \"button reserve\",\n type: \"button\",\n onClick: _cache[6] || (_cache[6] = ($event: any) => (_ctx.$emit('close')))\n }, \"Cancel\")\n ])\n ])\n ]),\n _: 1\n }, 8, [\"is-open\"]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport Modal from \"@/components/ui/Modal.vue\";\n import {\n reactive,\n watch,\n computed,\n ref,\n } from \"vue\";\n import useVuelidate from \"@vuelidate/core\";\n import { email, helpers, required } from \"@vuelidate/validators\";\n import { resetVuelidateErrors } from \"@/helpers/vuelidate\";\n import Cleave from \"vue-cleave-component\";\n import { phoneNumberOption } from \"@/helpers/cleavePlugin\";\n import { validPhoneNumber } from \"@/helpers/validation\";\n import store from \"@/store\";\n import { eventTracking } from \"@/helpers/googleAnalyticsEventTracking\";\n import {\n EventActionName,\n EventByAction,\n EventByCategory,\n EventLabelByName,\n } from \"@/types/EventTracking\";\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'ContactUsModal',\n props: {\n isOpen: {\n type: Boolean,\n required: false,\n },\n lot: {\n type: Object,\n },\n isLoading: {\n type: Boolean,\n default: false,\n required: true,\n },\n },\n emits: [\"send\"],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n const userId = computed(() => {\n return store.state?.user?.data?._id;\n });\n \n const formLoad = ref(false);\n \n const formFields = {\n firstName: \"\",\n lastName: \"\",\n phone: \"\",\n email: \"\",\n message: \"\",\n };\n let form = reactive(Object.assign({}, formFields));\n const rules = {\n firstName: { required },\n lastName: { required },\n phone: {\n required,\n validPhoneNumber: helpers.withMessage(\n \"Value must be valid phone number\",\n validPhoneNumber\n ),\n },\n email: { required, email },\n };\n\n watch(\n () => props.isOpen,\n (value) => {\n if (value) {\n formLoad.value = true;\n onClose();\n fillForm();\n }\n }\n );\n\n const v$ = useVuelidate(rules, form);\n\n function onClose() {\n clearForm();\n resetVuelidateErrors(v$);\n }\n async function submitForm() {\n v$.value.$touch();\n const isValid = await v$.value.$validate();\n if (!isValid) {\n return;\n }\n const { email, ...rest } = form;\n const data = {\n email: email.toLowerCase(),\n ...rest,\n };\n if (props.lot) {\n data.lotTitle = props.lot.lotId.title;\n }\n convertToLead();\n emits(\"send\", data);\n }\n function clearForm() {\n Object.assign(form, formFields);\n }\n\n const fillForm = () => {\n if (userId.value) {\n store\n .dispatch(\"user/getUser\", userId.value)\n .then((res) => {\n form.firstName = res.data.firstName;\n form.lastName = res.data.lastName;\n form.phone = res.data.phone;\n form.email = res.data.email;\n })\n .finally(() => {\n formLoad.value = false;\n });\n } else {\n formLoad.value = false;\n }\n };\n\n const convertToLead = () => {\n const { lot } = props;\n const eventLabelByName = lot\n ? EventLabelByName.CONTACT_US\n : EventLabelByName.MAKE_ENQUIRY;\n\n const estateById = lot?.estateId || \"Not estate selected\";\n\n eventTracking({\n actionsName: EventActionName.CONVERT_TO_LEAD,\n eventByCategory: EventByCategory.LEAD_CONVERSION,\n eventLabelByName,\n eventByAction: EventByAction.CLICK,\n estateById,\n });\n };\n\nconst __returned__ = { userId, emits, formLoad, props, formFields, get form() { return form }, set form(v) { form = v }, rules, v$, onClose, submitForm, clearForm, fillForm, convertToLead, Modal, reactive, watch, computed, ref, get useVuelidate() { return useVuelidate }, get email() { return email }, get helpers() { return helpers }, get required() { return required }, get resetVuelidateErrors() { return resetVuelidateErrors }, get Cleave() { return Cleave }, get phoneNumberOption() { return phoneNumberOption }, get validPhoneNumber() { return validPhoneNumber }, get store() { return store }, get eventTracking() { return eventTracking }, get EventActionName() { return EventActionName }, get EventByAction() { return EventByAction }, get EventByCategory() { return EventByCategory }, get EventLabelByName() { return EventLabelByName } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./ContactUsModal.vue?vue&type=template&id=15d6cbda&scoped=true&ts=true&lang=pug\"\nimport script from \"./ContactUsModal.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ContactUsModal.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./ContactUsModal.vue?vue&type=style&index=0&id=15d6cbda&lang=scss\"\nimport \"./ContactUsModal.vue?vue&type=style&index=1&id=15d6cbda&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-15d6cbda\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StageButtonLink.vue?vue&type=style&index=0&id=be393694&lang=scss&scoped=true\"","!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",f=\"month\",h=\"quarter\",c=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},w=function(t,e){if(p(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},O=v;O.l=S,O.i=p,O.w=function(t,e){return w(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=S(t.locale,null,!0),this.parse(t)}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(O.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.$x=t.x||{},this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return O},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=w(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return w(t) --t * t * t + 1;\n\nexport const scrollTo = (\n element: Element,\n offset = 0,\n duration = 600\n): void => {\n if (element) {\n const yPos =\n getBodyScrollTop() + element.getBoundingClientRect().top - offset;\n const startY = window.scrollY;\n const difference = yPos - startY;\n const startTime = performance.now();\n\n const step = () => {\n const progress = (performance.now() - startTime) / duration;\n const amount = easeOutCubic(progress);\n window.scrollTo({ top: startY + amount * difference });\n if (progress < 0.99) {\n window.requestAnimationFrame(step);\n }\n };\n\n step();\n }\n};\n","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StageSvgMap.vue?vue&type=style&index=0&id=57fc788e&lang=scss&scoped=true\"","export * from \"-!../../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ReserveLotModal.vue?vue&type=style&index=0&id=432eeca9&lang=scss&scoped=true\"","import { createElementVNode as _createElementVNode, createVNode as _createVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-2b8d01ce\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"header-mobile\"\n}\nconst _hoisted_2 = { class: \"top-row\" }\nconst _hoisted_3 = { class: \"wrapper-mobile-switcher\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return ($setup.activeHeaderTab?.value)\n ? (_openBlock(), _createElementBlock(\"header\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: \"logo\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => ($setup.router.push('/')))\n }),\n _createElementVNode(\"button\", {\n class: \"link-primary\",\n onClick: $setup.onSingIn\n }, \"Sign In\")\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createVNode($setup[\"SwitchComponent\"], {\n class: \"landing-mobile-header\",\n list: $setup.visibleHeaderTabs,\n modelValue: $setup.activeHeaderTab,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event: any) => (($setup.activeHeaderTab) = $event)),\n $setup.onChangeHeaderTab\n ]\n }, null, 8, [\"list\", \"modelValue\"])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, watch } from \"vue\";\n import SwitchComponent from \"@/components/ui/SwitchComponent.vue\";\n import { headerTabs } from \"@/constants/navigationTabs\";\n import { SwitchItemHeader } from \"@/types/SwitchItemHeader\";\n import router from \"@/router\";\n import { useRoute } from \"vue-router\";\n import { RouteLandingNames } from \"@/enums/RouteLandingNames\";\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LandingMobileHeader',\n emits: [\"close\", \"signIn\"],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\n const route = useRoute();\n\n \n const onSingIn = () => emits(\"signIn\");\n\n const onChangeHeaderTab = (value: SwitchItemHeader) =>\n router.push(value.path);\n\n const activeHeaderTab = ref(null);\n\n const visibleHeaderTabs = computed(() =>\n headerTabs.filter((tab) => !tab.hidden)\n );\n\n watch(\n router.currentRoute,\n (value) => {\n if (value.name === RouteLandingNames.LANDING_BUILDERS) {\n activeHeaderTab.value = headerTabs[1];\n } else if (value.name === RouteLandingNames.LANDING) {\n activeHeaderTab.value = headerTabs[0];\n } else {\n activeHeaderTab.value = headerTabs[2];\n }\n },\n { immediate: true }\n );\n\nconst __returned__ = { route, emits, onSingIn, onChangeHeaderTab, activeHeaderTab, visibleHeaderTabs, computed, ref, watch, SwitchComponent, get headerTabs() { return headerTabs }, get SwitchItemHeader() { return SwitchItemHeader }, get router() { return router }, get useRoute() { return useRoute }, get RouteLandingNames() { return RouteLandingNames } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./LandingMobileHeader.vue?vue&type=template&id=2b8d01ce&scoped=true&ts=true&lang=pug\"\nimport script from \"./LandingMobileHeader.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./LandingMobileHeader.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./LandingMobileHeader.vue?vue&type=style&index=0&id=2b8d01ce&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-2b8d01ce\"]])\n\nexport default __exports__","import { Ref } from \"vue\";\n\nexport const startDragging = (\n event : MouseEvent,\n zoom : number,\n isDragging : Ref,\n svgContainerMap : Ref,\n svgStartPosition : Ref,\n svgStartScrollPosition : Ref,\n) : void => {\n if(zoom !== 1){\n isDragging.value = true;\n svgStartPosition.value = { x: event.clientX, y: event.clientY};\n svgStartScrollPosition.value = {\n x : svgContainerMap.value.scrollLeft,\n y : svgContainerMap.value.scrollTop,\n };\n svgContainerMap.value.style.cursor = 'grabbing';\n }\n}\n\nexport const handleDragging = (\n event : MouseEvent,\n isDragging : Ref,\n svgContainerMap : Ref,\n svgStartPosition : Ref,\n svgStartScrollPosition : Ref,\n) : void => {\n event.preventDefault();\n if (isDragging.value) {\n const deltaX = event.clientX - svgStartPosition.value.x;\n const deltaY = event.clientY - svgStartPosition.value.y;\n svgContainerMap.value.scrollLeft = svgStartScrollPosition.value.x - deltaX;\n svgContainerMap.value.scrollTop = svgStartScrollPosition.value.y - deltaY;\n }\n}\n\nexport const stopDragging = (\n zoom : number,\n isDragging : Ref,\n svgContainerMap : Ref,\n) : void => {\n if(zoom !== 1){\n svgContainerMap.value.style.cursor = 'grab';\n }\n else{\n svgContainerMap.value.style.cursor = 'default';\n }\n isDragging.value = false;\n}\n","export * from \"-!../../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ContactUsModal.vue?vue&type=style&index=0&id=15d6cbda&lang=scss\"","module.exports = __webpack_public_path__ + \"img/facade-contemporary-double.7ddf81cf.png\";","export enum EventActionName {\n CONVERT_TO_LEAD = \"convertToLead\",\n LOT_ON_CLICK = \"lotOnClick\",\n HOUSE_DESIGN_ON_CLICK = \"houseDesignOnClick\",\n}\n\nexport enum EventByCategory {\n ON_CLICK = \"onClick\",\n LEAD_CONVERSION = \"leadConversion\",\n}\n\nexport enum EventByAction {\n CLICK = \"click\",\n SUBMIT = \"submit\",\n}\n\nexport enum EventLabelByName {\n CLICK_LOT = \"Click lot\",\n CONTACT_US = \"Contact us\",\n CLICK_HOUSE_DESIGN = \"Click house design\",\n MAKE_ENQUIRY = \"Make enquiry\",\n REQUEST_INITIAL_HOLD = \"Request initial hold\",\n REQUEST_BUILDER_HOLD = \"Request hold\",\n}\n\nexport interface EventTracking {\n actionsName: EventActionName;\n eventByCategory: EventByCategory;\n eventLabelByName: EventLabelByName;\n eventByAction: EventByAction;\n estateById?: string;\n stageById?: string;\n stageTitle?: string;\n lotById?: string;\n lotTitle?: string;\n houseDesignId?: string;\n houseDesignName?: string;\n}\n","const getRegex = (string: string | RegExp) => new RegExp(string, \"u\");\n\nexport const hasLowerCaseRegex = getRegex(\"^.*[a-z].*$\");\nexport const hasUpperCaseRegex = getRegex(\"^.*[A-Z].*$\");\nexport const hasSpecialCharsRegex = getRegex(\n \"^.*[`!@#$%^&*()_+\\\\-=\\\\[\\\\]{};':\\\"\\\\\\\\|,.<>\\\\/?~].*$\"\n);\nexport const hasDigitsRegex = getRegex(\"^.*[+0-9].*$\");\nexport const latinCharactersRegex = getRegex(/^[A-Za-z0-9(),.`\\-&\\s]*$/);\n","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, renderList as _renderList, Fragment as _Fragment, normalizeClass as _normalizeClass, normalizeStyle as _normalizeStyle, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/icon-swipe.svg'\nimport _imports_1 from '@/assets/icons/arrow-customize-house-right.svg'\nimport _imports_2 from '@/assets/icons/arrow-customize-house-left.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-0e610576\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"slider-actions\" }\nconst _hoisted_2 = { class: \"label-wr\" }\nconst _hoisted_3 = { class: \"label\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"img-swipe\",\n src: _imports_0\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"line label-separator\" }, null, -1))\nconst _hoisted_6 = { class: \"buttons-container\" }\nconst _hoisted_7 = [\"id\"]\nconst _hoisted_8 = [\"onClick\"]\nconst _hoisted_9 = [\"src\", \"alt\"]\nconst _hoisted_10 = { class: \"image-text\" }\nconst _hoisted_11 = [\"onClick\"]\nconst _hoisted_12 = {\n key: 0,\n class: \"line\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"controls\"\n}\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_1 }, null, -1))\nconst _hoisted_15 = [\n _hoisted_14\n]\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", { src: _imports_2 }, null, -1))\nconst _hoisted_17 = [\n _hoisted_16\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createTextVNode(_toDisplayString($setup.props.title), 1),\n _createElementVNode(\"span\", null, _toDisplayString($setup.props.contentTitle), 1),\n ($props.isLogoSwipe && !$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_4))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", {\n class: \"buttons-container\",\n id: $setup.props.title,\n ref: \"buttonsContainer\",\n onTouchstart: _cache[0] || (_cache[0] = \n//@ts-ignore\n(...args) => ($setup.onTouchstart && $setup.onTouchstart(...args))),\n onTouchend: _cache[1] || (_cache[1] = \n//@ts-ignore\n(...args) => ($setup.onTouchEnd && $setup.onTouchEnd(...args))),\n onTouchcancel: _cache[2] || (_cache[2] = \n//@ts-ignore\n(...args) => ($setup.onTouchCancel && $setup.onTouchCancel(...args))),\n onTouchmove: _cache[3] || (_cache[3] = \n//@ts-ignore\n(...args) => ($setup.onTouchMove && $setup.onTouchMove(...args)))\n }, [\n _createElementVNode(\"div\", {\n class: \"buttons\",\n style: _normalizeStyle($setup.containerStyles)\n }, [\n ($props.isLogoSwipe && !$setup.isDesktop)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList($setup.props.items, (item) => {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"button-images\", { checkmark: !$props.isHouseSelectSlider ? $setup.props.selectedItem?.id === item.id : $setup.props.selectedItem?._id === item._id }]),\n key: item.id || item._id,\n onClick: ($event: any) => ($setup.onSelectItem(item))\n }, [\n _createElementVNode(\"img\", {\n class: \"image-slider\",\n src: item.mainImage || item.url,\n alt: item.name\n }, null, 8, _hoisted_9),\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(item.name), 1)\n ], 10, _hoisted_8))\n }), 128))\n : (_openBlock(true), _createElementBlock(_Fragment, { key: 1 }, _renderList($setup.props.items, (item) => {\n return (_openBlock(), _createElementBlock(\"button\", {\n class: _normalizeClass([\"button default button-slider-action\", { 'button-checkmark': $setup.isButtonCheckmark(item), 'button-checkmark-not-icon': $setup.isButtonCheckmarkNotIcon(item), 'button-checkmark-width': $setup.isButtonBuilder() }]),\n key: item.id || item._id,\n onClick: ($event: any) => ($setup.onSelectItem(item))\n }, _toDisplayString(item.name), 11, _hoisted_11))\n }), 128))\n ], 4)\n ], 40, _hoisted_7),\n ($setup.showControls)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12))\n : _createCommentVNode(\"\", true),\n ($setup.showControls)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _createElementVNode(\"button\", {\n class: \"button-next\",\n onClick: $setup.scrollDesktopRight\n }, _hoisted_15),\n _createElementVNode(\"button\", {\n class: \"button-prev\",\n onClick: $setup.scrollDesktopLeft\n }, _hoisted_17)\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { BuilderInterface } from \"@/types/BuilderInterface\";\n import { HouseDesignInterface } from \"@/types/HouseDesignInterface\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n\n import { ref, computed, watch, Ref, onMounted, onBeforeUnmount } from \"vue\";\n\n import { useScrollDragMobile } from \"@/features/useScrollDragMobile\";\n\n interface Props {\n items: ({ id: string } | { _id: string })[];\n selectedItem: { id?: string; _id?: string };\n title: string;\n contentTitle?: string;\n isButtonCheckmarkOff?: boolean;\n isButtonBuilder?: boolean;\n isLogoSwipe?: boolean;\n isHouseSelectSlider?: boolean;\n }\n\n type Emits = (e: \"onSelectItem\", item: { id?: string; _id?: string }) => void;\n\n const buttonWidth = 170;\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'BuilderSliderButtons',\n props: {\n items: {},\n selectedItem: {},\n title: {},\n contentTitle: {},\n isButtonCheckmarkOff: { type: Boolean },\n isButtonBuilder: { type: Boolean },\n isLogoSwipe: { type: Boolean },\n isHouseSelectSlider: { type: Boolean }\n },\n emits: [\"onSelectItem\"],\n setup(__props: any, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n \n \n const scrollOffset = ref(0);\n const step = buttonWidth;\n const buttonsContainer = ref();\n const isButtonClicked = ref(false);\n const itemClicked = ref<{ id?: string; _id?: string } | null>(null);\n const { isDesktop } = useIsDesktop(990);\n\n const isButtonCheckmark = (item: { id?: string; _id?: string }) =>\n props.selectedItem?._id === item._id && !props.isButtonCheckmarkOff;\n const isButtonCheckmarkNotIcon = (item: { id?: string; _id?: string }) =>\n props.selectedItem?._id === item._id && props.isButtonCheckmarkOff;\n const isButtonBuilder = () => props.isButtonBuilder;\n\n const { onTouchCancel, onTouchEnd, onTouchMove, onTouchstart } =\n useScrollDragMobile(buttonsContainer as Ref);\n\n const showControls = computed(() => {\n const MAX_ITEMS_WITHOUT_CONTROLS = 5;\n if (checkHasMobileEvents()) return false;\n return (\n props.items.length > MAX_ITEMS_WITHOUT_CONTROLS ||\n canDesktopScrollLeft.value ||\n canDesktopScrollRight.value\n );\n });\n const checkHasMobileEvents = () => {\n const MOBILE_EVENT = \"ontouchstart\";\n return MOBILE_EVENT in document.documentElement;\n };\n\n const containerStyles = computed(() => ({\n transform: `translateX(-${scrollOffset.value}px)`,\n }));\n\n const canDesktopScrollLeft = computed(\n () => scrollOffset.value > 0 && !!buttonsContainer.value\n );\n\n const canDesktopScrollRight = computed(() => {\n const containerWidth = buttonsContainer.value?.clientWidth ?? 0;\n const contentWidth = buttonsContainer.value?.scrollWidth ?? 0;\n const maxScrollOffset = contentWidth - containerWidth;\n return scrollOffset.value < maxScrollOffset && !!buttonsContainer.value;\n });\n\n const scrollDesktopRight = () => {\n if (canDesktopScrollRight.value) {\n scrollOffset.value += step;\n }\n };\n const scrollDesktopLeft = () => {\n if (canDesktopScrollLeft.value) {\n scrollOffset.value -= step;\n }\n };\n\n const onSelectItem = (item: { id?: string; _id?: string }) => {\n const idComparison = props.isHouseSelectSlider\n ? props.selectedItem?._id === item._id\n : props.selectedItem?.id === item.id;\n\n if (idComparison) {\n return;\n }\n\n emits(\"onSelectItem\", item);\n\n isButtonClicked.value = true;\n itemClicked.value = item;\n };\n\n watch(\n () => props.items,\n () => {\n scrollOffset.value = 0;\n },\n { deep: true }\n );\n\n const resetOffsetHandler = () => {\n /**\n * Resets the scroll offset to fire the \"showControls\" computed property.\n */\n scrollOffset.value = -1;\n scrollOffset.value = 0;\n };\n\n onMounted(() => {\n window.addEventListener(\"resize\", resetOffsetHandler);\n });\n\n onBeforeUnmount(() => {\n window.removeEventListener(\"resize\", resetOffsetHandler);\n });\n\nconst __returned__ = { props, emits, scrollOffset, buttonWidth, step, buttonsContainer, isButtonClicked, itemClicked, isDesktop, isButtonCheckmark, isButtonCheckmarkNotIcon, isButtonBuilder, onTouchCancel, onTouchEnd, onTouchMove, onTouchstart, showControls, checkHasMobileEvents, containerStyles, canDesktopScrollLeft, canDesktopScrollRight, scrollDesktopRight, scrollDesktopLeft, onSelectItem, resetOffsetHandler, get BuilderInterface() { return BuilderInterface }, get HouseDesignInterface() { return HouseDesignInterface }, get useIsDesktop() { return useIsDesktop }, ref, computed, watch, Ref, onMounted, onBeforeUnmount, get useScrollDragMobile() { return useScrollDragMobile } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./BuilderSliderButtons.vue?vue&type=template&id=0e610576&scoped=true&ts=true&lang=pug\"\nimport script from \"./BuilderSliderButtons.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./BuilderSliderButtons.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./BuilderSliderButtons.vue?vue&type=style&index=0&id=0e610576&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-0e610576\"]])\n\nexport default __exports__","import { renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-1c585b10\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"builder-get-started-tab-container\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"builder-images-wr\"\n}\nconst _hoisted_3 = [\"src\"]\nconst _hoisted_4 = [\"src\"]\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"builder-get-started-info\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"get-started-info\" }, \"Compare home designs from a list of high-quality home builders and create your own home and land package to fit your budget and design preferences.\")\n], -1))\nconst _hoisted_6 = { class: \"builder-get-started-button-wr\" }\nconst _hoisted_7 = [\"disabled\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.carouselImages.slice(0, 3), (image) => {\n return (_openBlock(), _createElementBlock(\"img\", {\n class: \"builder-carousel-img\",\n key: image,\n src: require(`@/assets/images/builder/${image}`)\n }, null, 8, _hoisted_3))\n }), 128))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: \"builder-carousel-wr\",\n ref: \"builderCarousel\",\n onScroll: $setup.handleScroll\n }, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.carouselImages, (image) => {\n return (_openBlock(), _createElementBlock(\"img\", {\n class: \"builder-carousel-img\",\n key: image,\n src: require(`@/assets/images/builder/${image}`)\n }, null, 8, _hoisted_4))\n }), 128))\n ], 544)),\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"button\", {\n class: _normalizeClass([\"button default primary\", { disabled: $setup.props.buttonDisabled }]),\n disabled: $setup.props.buttonDisabled,\n onClick: _cache[0] || (_cache[0] = ($event: any) => ($setup.emits('onRequestQuote')))\n }, \"Get started\", 10, _hoisted_7)\n ])\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, watch } from \"vue\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'BuilderGetStartedTab',\n props: {\n buttonDisabled: { type: Boolean }\n },\n emits: [\"onRequestQuote\"],\n setup(__props: any, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n \n \n const { isDesktop } = useIsDesktop(681);\n const imagesArray = [\n \"1_23.09.27_2138_S18ASP_R1_01.jpg\",\n \"2_23.09.14_2131_S19ASQN_R2_01.jpg\",\n \"3_23.02.13_S3ASC_R2_01 (2).jpg\",\n \"4_21.06.02_Series96_AnnixHomes_R2_01 (1).jpg\",\n \"5_21.06.02_Series96_AnnixHomes_R4_01.jpg\",\n ];\n\n const carouselImages = ref([...imagesArray, ...imagesArray]);\n\n const builderCarousel = ref();\n\n const handleScroll = () => {\n const viewportWidth = builderCarousel.value.clientWidth;\n const scrollLeft = builderCarousel.value.scrollLeft;\n const maxScroll = builderCarousel.value.scrollWidth - viewportWidth;\n const tolerance = 20;\n\n if (maxScroll - scrollLeft < viewportWidth / 2 + tolerance) {\n carouselImages.value = [...carouselImages.value, ...imagesArray];\n }\n };\n\nconst __returned__ = { props, emits, isDesktop, imagesArray, carouselImages, builderCarousel, handleScroll, computed, ref, watch, get useIsDesktop() { return useIsDesktop } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./BuilderGetStartedTab.vue?vue&type=template&id=1c585b10&scoped=true&ts=true&lang=pug\"\nimport script from \"./BuilderGetStartedTab.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./BuilderGetStartedTab.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./BuilderGetStartedTab.vue?vue&type=style&index=0&id=1c585b10&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-1c585b10\"]])\n\nexport default __exports__","\nconst pinchZoomHammer = (\n scale: number, callback: (deltaScale : number) => void\n) : void => {\n\n let currentScale = 1;\n const smoothingFactor = 0.2;\n const targetScale = currentScale * scale;\n const smoothScale = currentScale + (targetScale - currentScale) * smoothingFactor;\n \n const minScale = 0.5;\n const maxScale = 2;\n const smoothedScale = Math.min(Math.max(smoothScale, minScale), maxScale);\n\n const deltaScale = smoothedScale - currentScale;\n currentScale = smoothedScale;\n\n callback(deltaScale);\n}\n\nexport default pinchZoomHammer;","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createVNode as _createVNode, createBlock as _createBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-e7cf310c\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"admin-header\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"title-main\" }, \"Map\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"buttons\"\n}\nconst _hoisted_4 = {\n key: 0,\n class: \"legend\",\n id: \"legend-map\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status gray\" }, \"Not Released\", -1))\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status success\" }, \"Now Selling\", -1))\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status warning\" }, \"Sold Out\", -1))\nconst _hoisted_8 = [\n _hoisted_5,\n _hoisted_6,\n _hoisted_7\n]\nconst _hoisted_9 = {\n key: 0,\n class: \"map-info-block\"\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", {\n class: \"legend\",\n id: \"legend-map\"\n}, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"status gray\" }, \"Not Released\"),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"status success\" }, \"Now Selling\"),\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"status warning\" }, \"Sold Out\")\n], -1))\nconst _hoisted_11 = [\n _hoisted_10\n]\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"map-info-iframe\" }, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"map-wr\", { isBuilderView: $setup.props.builderView }])\n }, [\n ($setup.props.role === $setup.UserRoles.SUPER_ADMIN)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n ($setup.map !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (!$setup.map)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"button default primary add-btn-primary\",\n onClick: $setup.toCreateMap\n }, \"Add Map\"))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"button\", {\n class: \"button default outlined\",\n onClick: $setup.toEditMap\n }, \"Edit Map\"),\n _createElementVNode(\"button\", {\n class: \"button default outlined warning\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => ($setup.showConfirmDeleteModal = true))\n }, \"Delete Map\")\n ], 64))\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode($setup[\"ConfirmDeleteModal\"], {\n isOpen: $setup.showConfirmDeleteModal,\n deleteItem: 'estate map',\n onClose: _cache[1] || (_cache[1] = ($event: any) => ($setup.showConfirmDeleteModal = false)),\n onConfirm: $setup.deleteMap\n }, null, 8, [\"isOpen\"])\n ]))\n : _createCommentVNode(\"\", true),\n (!$setup.isDesktop && $setup.props.role === $setup.UserRoles.CUSTOMER && !$setup.props.isEmbedded)\n ? (_openBlock(), _createBlock($setup[\"StageNavMobile\"], {\n key: 1,\n estateId: $setup.estateId,\n mapPage: $setup.props.mapPage,\n isEmbedded: $setup.props.isEmbedded,\n onOnStage: _cache[2] || (_cache[2] = ($event: any) => ($setup.onStage($event))),\n onChangeView: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$emit('changeView')))\n }, null, 8, [\"estateId\", \"mapPage\", \"isEmbedded\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"svg-wrapper\", { isEmbeddedDesktop: $setup.isEmbeddedDesktop, isBuilderView: $setup.props.builderView }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"svg-container-map\", { 'svg-map-embedded': $setup.isEmbeddedDesktop, isBuilderView: $setup.props.builderView }])\n }, [\n ($setup.isEmbeddedDesktop)\n ? (_openBlock(), _createBlock($setup[\"MapSidePanel\"], {\n key: 0,\n estateId: $setup.estateId,\n hoverStageId: $setup.hoverStageId,\n lotsByHouseDesigns: $setup.props.lotsByHouseDesigns,\n builderView: $setup.props.builderView,\n hideOptions: $setup.props.hideMapSidePanelOptions,\n onOnStageHover: $setup.onSidePanelStageHover,\n onOnStageClick: $setup.onSidePanelStageClick,\n onOnRegister: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$emit('onRegister'))),\n onOnMessage: _cache[5] || (_cache[5] = ($event: any) => (_ctx.$emit('onMessage')))\n }, null, 8, [\"estateId\", \"hoverStageId\", \"lotsByHouseDesigns\", \"builderView\", \"hideOptions\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"map-elements-container\", { 'map-max-width': $setup.isEmbeddedDesktop }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"map-elements-wr\", { isBuilderView: $setup.props.builderView }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"zoom-container\", [{ 'zoom-active': $props.zoom !== 1 && $setup.isDesktop }, { 'zoom-desktop-embedded': $setup.isEmbeddedDesktop }, { 'zoom-hidden': $setup.props.builderView }]])\n }, [\n _createElementVNode(\"button\", {\n class: \"button zoom-btn\",\n onClick: $setup.zoomIn\n }, \"+\"),\n _createElementVNode(\"button\", {\n class: \"button zoom-btn\",\n onClick: $setup.zoomOut\n }, \"-\")\n ], 2),\n ($setup.props.role !== $setup.UserRoles.SUPER_ADMIN && $setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"map-info-block\", { 'map-info-embedded': $setup.isEmbeddedDesktop }])\n }, [\n (!$setup.isEmbeddedDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, _hoisted_8))\n : _createCommentVNode(\"\", true)\n ], 2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-wrapper\", [{ 'svg-container grab': $setup.props.zoom !== 1 }, { 'map-container-side': $setup.isEmbeddedDesktop }]]),\n ref: \"svgContainerMap\",\n onMousedown: $setup.startDrag,\n onMousemove: $setup.handleDrag,\n onMouseup: $setup.stopDrag\n }, [\n _createVNode($setup[\"EstateSvgMap\"], {\n map: $setup.map,\n stages: $setup.stages,\n getTooltipText: $setup.getTooltipText,\n getItemPathClasses: $setup.getItemPathClasses,\n zoom: $setup.props.zoom,\n onOnStageHover: $setup.onStageHover,\n onOnStageLeave: $setup.onStageLeave,\n onOnStageClick: $setup.onStage\n }, null, 8, [\"map\", \"stages\", \"zoom\"])\n ], 34)\n ], 2)\n ], 2),\n ($setup.isEmbeddedDesktop && !$setup.props.builderView)\n ? (_openBlock(), _createBlock($setup[\"MapSideLegend\"], {\n key: 1,\n isEstateMap: true\n }))\n : _createCommentVNode(\"\", true)\n ], 2),\n ($setup.props.role !== $setup.UserRoles.SUPER_ADMIN && !$setup.isEmbeddedDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, _hoisted_11))\n : _createCommentVNode(\"\", true),\n _hoisted_12\n ], 2)\n ], 2))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport ConfirmDeleteModal from \"@/components/ui/modals/ConfirmDeleteModal.vue\";\n import router from \"@/router\";\n import {\n computed,\n onMounted,\n ref,\n watch,\n } from \"vue\";\n import { useStore } from \"vuex\";\n import { EstateMapInterface } from \"@/types/EstateMapInterface\";\n import { UserRoles } from \"@/enums/UserRoles\";\n import { StageMapInterface } from \"@/types/StageMapInterface\";\n import { getStageStatusClass } from \"@/helpers/status\";\n import { StageStatus } from \"@/enums/StageStatus\";\n import { StageInterface } from \"@/types/StageInterface\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n import StageNavMobile from \"@/components/StageNavMobile.vue\";\n import MapSidePanel from \"@/components/MapSidePanel.vue\";\n import Hammer from \"hammerjs\";\n import type HammerInput from \"hammerjs\";\n import pinchZoomHammer from \"@/helpers/estateMap/mapsZoom\";\n import { handleDragging, startDragging, stopDragging } from \"@/helpers/zoom\";\n import MapSideLegend from \"./MapSideLegend.vue\";\n import EstateSvgMap from \"@/components/maps/EstateSvgMap.vue\";\n\n const mobileLayoutWidth = 680;\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'EstateMap',\n props: {\n role: { type: String, default: () => UserRoles.LANDOWNER },\n viewType: { type: String, default: \"\" },\n isEmbedded: { type: Boolean, default: false },\n mapPage: { type: String, default: \"\" },\n zoom: { type: Number, default: 1 },\n lotsByHouseDesigns: { type: Array, required: false, default: undefined },\n builderView: { type: Boolean, required: false },\n plansView: { type: Boolean, required: false, default: false },\n estateId: { type: String, required: false, default: undefined },\n hideMapSidePanelOptions: { type: Boolean, required: false },\n businessId: { type: String, required: false, default: undefined },\n },\n emits: [\n \"changeView\",\n \"updateZoom\",\n \"onRegister\",\n \"onMessage\",\n \"changeViewMap\",\n ],\n setup(__props, { expose: __expose, emit }) {\n __expose();\n\nconst props = __props;\n\n \n const store = useStore();\n const { isDesktop } = useIsDesktop(mobileLayoutWidth);\n const userId = router.currentRoute.value.params.userId;\n const estateId = computed(() => getEstateId());\n const map = ref(null);\n const stages = ref([]);\n \n const stageSidePanelHover = ref({\n value: false,\n id: \"\",\n });\n const showConfirmDeleteModal = ref(false);\n const getAvailableStages = computed(() => {\n return stages.value.filter(\n (value) => value.stageId.status === StageStatus.NOW_SELLING\n );\n });\n\n const isEmbeddedDesktop = computed(() => isDesktop.value);\n\n const getEstateId = () => {\n if (props.role === UserRoles.LANDOWNER) {\n return store.state.user.selectedEstateId;\n } else if (props.estateId) {\n return props.estateId;\n } else {\n return router.currentRoute.value.params.estateId;\n }\n };\n\n const onSidePanelStageHover = (value: boolean, id: string) => {\n stageSidePanelHover.value = { value, id };\n };\n\n const onSidePanelStageClick = (id: string) => {\n const stage = stages.value.filter((s) => s.stageId._id === id);\n onStage(stage[0]);\n };\n\n const isCustomerRole = computed(() => {\n return props.role === UserRoles.CUSTOMER;\n });\n\n onMounted(() => {\n getMap();\n getStages();\n });\n\n const hoverStageId = ref(\"\");\n\n const onStageHover = (id: string) => {\n hoverStageId.value = id;\n };\n\n const onStageLeave = () => {\n hoverStageId.value = \"\";\n };\n\n const isDragging = ref(false);\n const svgStartPosition = ref({ x: 0, y: 0 });\n const svgStartScrollPosition = ref({ x: 0, y: 0 });\n const svgContainerMap = ref();\n\n const zoomIn = () => {\n emit(\"updateZoom\", 0.2);\n };\n\n const zoomOut = () => {\n emit(\"updateZoom\", -0.2);\n };\n\n const startDrag = (event: MouseEvent) => {\n startDragging(\n event,\n props.zoom,\n isDragging,\n svgContainerMap,\n svgStartPosition,\n svgStartScrollPosition\n );\n };\n const handleDrag = (event: MouseEvent) => {\n handleDragging(\n event,\n isDragging,\n svgContainerMap,\n svgStartPosition,\n svgStartScrollPosition\n );\n };\n const stopDrag = () => {\n stopDragging(props.zoom, isDragging, svgContainerMap);\n };\n\n function getMap() {\n store\n .dispatch(\"estate/getEstateMap\", estateId.value)\n .then((res) => {\n map.value = res.data;\n })\n .catch((error) => {\n if (error.response?.data?.statusCode === 404) {\n map.value = \"\";\n }\n });\n }\n const getStages = () => {\n store\n .dispatch(\"stage/getStagesMap\", {\n estateId: estateId.value,\n isCustomer: isCustomerRole.value,\n })\n .then((res) => {\n stages.value = res.data;\n });\n };\n function toCreateMap() {\n router.push({\n name: \"AdminEstateMapCreate\",\n params: { userId, estateId: estateId.value },\n });\n }\n function toEditMap() {\n router.push({\n name: \"AdminEstateMapUpdate\",\n params: { userId, estateId: estateId.value },\n });\n }\n function deleteMap() {\n store.dispatch(\"estate/deleteEstateMap\", map.value._id).then(() => {\n getMap();\n });\n }\n function onStage(stage: StageMapInterface) {\n const embed = props.isEmbedded.toString();\n\n if (props.builderView) {\n emit(\"changeViewMap\");\n return;\n }\n if (props.isEmbedded && !isDesktop.value) {\n const { href } = router.resolve({\n name: \"EstateMap\",\n params: {\n estateId: estateId.value,\n },\n });\n window.open(`${href}?stageId=${stage.stageId._id}&embed=false`, \"_blank\");\n return;\n }\n if (props.role === UserRoles.LANDOWNER) {\n router.push({\n name: \"Lots\",\n params: { stageId: stage.stageId._id, embed },\n query: { map: \"true\" },\n });\n return;\n }\n if (props.role === UserRoles.SUPER_ADMIN) {\n router.push({\n name: \"AdminStageMap\",\n params: {\n userId,\n estateId: estateId.value,\n stageId: stage.stageId._id,\n },\n });\n return;\n }\n if (\n props.role === UserRoles.CUSTOMER &&\n stage.stageId.status === StageStatus.NOW_SELLING\n ) {\n router.push({\n path: router.currentRoute.value.path,\n query: {\n stageId: stage.stageId._id,\n embed,\n businessId: props.businessId,\n },\n });\n }\n }\n\n const getItemPathClasses = (stage: StageMapInterface) => [\n getStageStatusClass(stage.stageId?.status),\n { \"selling-animation\": stage.stageId?.status === StageStatus.NOW_SELLING },\n { \"admin-highlight\": props.role === UserRoles.SUPER_ADMIN },\n {\n \"not-clickable\":\n props.role === UserRoles.CUSTOMER &&\n stage.stageId?.status !== StageStatus.NOW_SELLING,\n },\n {\n \"stage-side-panel-hover\":\n stageSidePanelHover.value?.value &&\n stageSidePanelHover.value?.id === stage.stageId?._id,\n },\n {\n \"stage-side-panel\":\n stage.stageId?.status === StageStatus.NOW_SELLING && isEmbeddedDesktop,\n },\n { \"stage-plans-view\": props.plansView },\n ];\n\n const getTooltipText = (stageMap: StageMapInterface) => {\n const stage = stageMap.stageId;\n if (stage.status === StageStatus.NOW_SELLING) {\n return `

STAGE ${stage.title}

\n ${stage.status.toUpperCase()}\n

${\n props.builderView\n ? props.lotsByHouseDesigns?.length\n : stage.availableLotsCount\n } Available lots

\n

Click to view

`;\n }\n return `

STAGE ${stage.title}

\n ${stage.status.toUpperCase()}\n

${\n props.builderView\n ? props.lotsByHouseDesigns?.length\n : stage.availableLotsCount\n } Available lots

`;\n };\n\n onMounted(() => {\n const mc = new Hammer(svgContainerMap.value);\n\n mc.get(\"pinch\").set({ enable: true });\n mc.on(\"pinch\", (event: HammerInput) => {\n pinchZoomHammer(event.scale, (delta) => emit(\"updateZoom\", delta));\n });\n\n mc.on(\"panstart\", (event: HammerInput) => {\n svgStartPosition.value = { x: event.center.x, y: event.center.y };\n svgStartScrollPosition.value = {\n x: svgContainerMap.value.scrollLeft,\n y: svgContainerMap.value.scrollTop,\n };\n });\n\n mc.on(\"pan\", (event: HammerInput) => {\n const deltaX = event.center.x - svgStartPosition.value.x;\n const deltaY = event.center.y - svgStartPosition.value.y;\n\n svgContainerMap.value.scrollLeft =\n svgStartScrollPosition.value.x - deltaX;\n svgContainerMap.value.scrollTop = svgStartScrollPosition.value.y - deltaY;\n });\n });\n\nconst __returned__ = { emit, store, mobileLayoutWidth, isDesktop, userId, estateId, map, stages, props, stageSidePanelHover, showConfirmDeleteModal, getAvailableStages, isEmbeddedDesktop, getEstateId, onSidePanelStageHover, onSidePanelStageClick, isCustomerRole, hoverStageId, onStageHover, onStageLeave, isDragging, svgStartPosition, svgStartScrollPosition, svgContainerMap, zoomIn, zoomOut, startDrag, handleDrag, stopDrag, getMap, getStages, toCreateMap, toEditMap, deleteMap, onStage, getItemPathClasses, getTooltipText, ConfirmDeleteModal, get router() { return router }, computed, onMounted, ref, watch, get useStore() { return useStore }, get EstateMapInterface() { return EstateMapInterface }, get UserRoles() { return UserRoles }, get StageMapInterface() { return StageMapInterface }, get getStageStatusClass() { return getStageStatusClass }, get StageStatus() { return StageStatus }, get StageInterface() { return StageInterface }, get useIsDesktop() { return useIsDesktop }, StageNavMobile, MapSidePanel, get Hammer() { return Hammer }, get pinchZoomHammer() { return pinchZoomHammer }, get handleDragging() { return handleDragging }, get startDragging() { return startDragging }, get stopDragging() { return stopDragging }, MapSideLegend, EstateSvgMap }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./EstateMap.vue?vue&type=template&id=e7cf310c&scoped=true&ts=true&lang=pug\"\nimport script from \"./EstateMap.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./EstateMap.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./EstateMap.vue?vue&type=style&index=0&id=e7cf310c&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-e7cf310c\"]])\n\nexport default __exports__","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/arrow-right-landing.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-764c9914\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"data-aos\", \"target\"]\nconst _hoisted_2 = {\n key: 0,\n class: \"button-contact-us--icon\",\n src: _imports_0\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"button\", {\n class: \"button-contact-us\",\n onClick: $setup.onClick,\n \"data-aos\": $setup.props.animationName,\n target: $setup.props.toContactUsForm ? '_self' : '_blank'\n }, [\n _createTextVNode(_toDisplayString($setup.props.text), 1),\n (!$setup.props.isButtonCallBackModal)\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_2))\n : _createCommentVNode(\"\", true)\n ], 8, _hoisted_1))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { computed } from \"vue\";\nimport { CALENDLY_DEMO_LINK } from \"@/constants/calendlyLinks\";\nimport { scrollTo } from \"@/helpers/smoothScrollToElement\";\nimport { redirectWithoutRouter } from \"@/helpers/redirectWithoutRouter\";\nimport { useIsDesktop } from \"@/features/useIsDesktop\";\nimport { POSITION, useToast } from \"vue-toastification\";\n\ndeclare global {\n interface Window {\n Calendly: {\n showPopupWidget: (url: string) => void;\n };\n }\n}\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ContactUsLink',\n props: {\n linkCalendly: {\n type: String,\n default: CALENDLY_DEMO_LINK as string,\n },\n toContactUsForm: {\n type: Boolean,\n default: true,\n },\n text: {\n type: String,\n default: \"Talk with us\",\n },\n animationName: {\n type: String,\n default: \"fade-up\",\n },\n isButtonCallBackModal: {\n type: Boolean,\n default: false,\n }\n},\n emits: ['closeModal'],\n setup(__props, { expose: __expose, emit }) {\n __expose();\n\nconst props = __props;\n\n\n\nconst toast = useToast();\nconst showWidget = () => {\n if (window.Calendly) {\n emit('closeModal');\n window.Calendly.showPopupWidget(props.linkCalendly);\n } else {\n toast.error('Calendly script not loaded', {\n position: POSITION.TOP_LEFT,\n });\n }\n};\n\nconst { isDesktop } = useIsDesktop();\nconst onClick = () => {\n if (!props.toContactUsForm) {\n showWidget();\n return;\n }\n const contactUsForm = document.querySelector(\"#contact-us-form\");\n // 140 is the fixed header height\n if (contactUsForm) scrollTo(contactUsForm, !isDesktop.value ? 140 : 0, 800);\n};\n\n\nconst __returned__ = { emit, toast, showWidget, isDesktop, onClick, props, computed, get CALENDLY_DEMO_LINK() { return CALENDLY_DEMO_LINK }, get scrollTo() { return scrollTo }, get redirectWithoutRouter() { return redirectWithoutRouter }, get useIsDesktop() { return useIsDesktop }, get POSITION() { return POSITION }, get useToast() { return useToast } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./ContactUsLink.vue?vue&type=template&id=764c9914&scoped=true&ts=true&lang=pug\"\nimport script from \"./ContactUsLink.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ContactUsLink.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./ContactUsLink.vue?vue&type=style&index=0&id=764c9914&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-764c9914\"]])\n\nexport default __exports__","var map = {\n\t\"./icon-eye-active.svg\": \"acb9\",\n\t\"./icon-eye.svg\": \"7615\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"8556\";","import { toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, withCtx as _withCtx, createTextVNode as _createTextVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/arrow-customize-builder.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4f4ac167\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"title\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"house-image-wr\"\n}\nconst _hoisted_3 = {\n key: 0,\n class: \"slider-wr\"\n}\nconst _hoisted_4 = { class: \"image-and-dropdown-container\" }\nconst _hoisted_5 = [\"src\"]\nconst _hoisted_6 = {\n key: 1,\n class: \"features-wr\"\n}\nconst _hoisted_7 = {\n key: 2,\n class: \"dropdown-wr\"\n}\nconst _hoisted_8 = { class: \"container-builderr-logo\" }\nconst _hoisted_9 = [\"src\"]\nconst _hoisted_10 = { class: \"form-group\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Select Builder\", -1))\nconst _hoisted_12 = {\n class: \"dropdown-button input-dropdown\",\n type: \"button\"\n}\nconst _hoisted_13 = [\"onClick\"]\nconst _hoisted_14 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_15 = { class: \"form-group\" }\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Select Design\", -1))\nconst _hoisted_17 = {\n class: \"dropdown-button input-dropdown\",\n type: \"button\"\n}\nconst _hoisted_18 = [\"onClick\"]\nconst _hoisted_19 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_20 = {\n key: 3,\n class: \"slider-wr\"\n}\nconst _hoisted_21 = { class: \"features-and-button-wr\" }\nconst _hoisted_22 = {\n key: 0,\n class: \"features-wr\"\n}\nconst _hoisted_23 = { class: \"floor-plans-wr\" }\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"icon-arrow\",\n src: _imports_0\n}, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, \"Browse Homes for Lot \" + _toDisplayString($props.lot.title), 1))\n : _createCommentVNode(\"\", true),\n ($setup.selectedHouseDesign)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (!$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _createVNode($setup[\"BuilderSliderButtons\"], {\n class: \"slider-buttons\",\n items: $setup.props.builders,\n selectedItem: $setup.selectedBuilder,\n title: 'Browse: ',\n contentTitle: 'Builders',\n isButtonCheckmarkOff: true,\n onOnSelectItem: $setup.selectBuilder\n }, null, 8, [\"items\", \"selectedItem\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_4, [\n ($setup.selectedHouseDesign)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"house-image\",\n src: $setup.selectedHouseDesign.mainImage\n }, null, 8, _hoisted_5))\n : _createCommentVNode(\"\", true),\n (!$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createVNode($setup[\"HouseFeatures\"], {\n features: $setup.selectedHouseDesign,\n class: _normalizeClass($setup.isDesktop ? 'house-features' : 'house-features-mobile')\n }, null, 8, [\"features\", \"class\"])\n ]))\n : _createCommentVNode(\"\", true),\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, [\n _createElementVNode(\"div\", _hoisted_8, [\n ($setup.selectedBuilder)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: \"builder-logo\",\n src: $setup.selectedBuilder.logo\n }, null, 8, _hoisted_9))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"label\", null, [\n _hoisted_11,\n _createElementVNode(\"div\", null, [\n _createVNode($setup[\"DropDown\"], { class: \"dropdown-container\" }, {\n control: _withCtx(() => [\n _createElementVNode(\"label\", _hoisted_12, _toDisplayString($setup.selectedBuilder ? $setup.selectedBuilder.name : \"Select a Builder\"), 1)\n ]),\n dropdown: _withCtx(() => [\n _createElementVNode(\"ul\", null, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($props.builders, (builder) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: builder._id,\n onClick: ($event: any) => ($setup.selectBuilder(builder)),\n class: _normalizeClass({ 'dropdown__item-active': builder === $setup.selectedBuilder })\n }, _toDisplayString(builder.name), 11, _hoisted_13))\n }), 128))\n ])\n ]),\n _: 1\n })\n ])\n ]),\n (!$setup.selectedBuilder)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_14, \"Please select a builder\"))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n _createElementVNode(\"label\", null, [\n _hoisted_16,\n _createElementVNode(\"div\", null, [\n _createVNode($setup[\"DropDown\"], { class: \"dropdown-container\" }, {\n control: _withCtx(() => [\n _createElementVNode(\"label\", _hoisted_17, _toDisplayString($setup.selectedHouseDesign ? $setup.selectedHouseDesign.name : \"Select a Design\"), 1)\n ]),\n dropdown: _withCtx(() => [\n _createElementVNode(\"ul\", null, [\n ($setup.selectedBuilder.houses.length)\n ? (_openBlock(true), _createElementBlock(_Fragment, { key: 0 }, _renderList($setup.selectedBuilder.houses, (houseDesign) => {\n return (_openBlock(), _createElementBlock(\"li\", {\n key: houseDesign._id,\n onClick: ($event: any) => ($setup.selectHouseDesign(houseDesign)),\n class: _normalizeClass({ 'dropdown__item-active': houseDesign === $setup.selectedHouseDesign })\n }, _toDisplayString(houseDesign.name), 11, _hoisted_18))\n }), 128))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _: 1\n })\n ])\n ]),\n (!$setup.selectedHouseDesign)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_19, \"Please select a house design\"))\n : _createCommentVNode(\"\", true)\n ])\n ]))\n : _createCommentVNode(\"\", true),\n (!$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n _createVNode($setup[\"BuilderSliderButtons\"], {\n class: \"slider-buttons\",\n items: $setup.selectedBuilder.houses,\n selectedItem: $setup.selectedHouseDesign,\n title: 'Browse: ',\n contentTitle: 'Home Designs',\n isButtonCheckmarkOff: true,\n onOnSelectItem: $setup.selectHouseDesign\n }, null, 8, [\"items\", \"selectedItem\"])\n ]))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_21, [\n ($setup.isDesktop && $setup.selectedHouseDesign)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_22, [\n _createVNode($setup[\"HouseFeatures\"], {\n features: $setup.selectedHouseDesign,\n class: _normalizeClass($setup.isDesktop ? 'house-features' : 'house-features-mobile')\n }, null, 8, [\"features\", \"class\"])\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_23, [\n _createElementVNode(\"button\", {\n class: \"button primary customise\",\n onClick: $setup.onRequestQuote\n }, [\n _createTextVNode(_toDisplayString($setup.isDesktop ? \"View Floor Plans\" : \"View floor plans\"), 1),\n _hoisted_24\n ])\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ], 64))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, onMounted, watch } from \"vue\";\nimport { HouseDesignInterface } from \"@/types/HouseDesignInterface\";\nimport { BuilderInterfaceWithHouseDesigns } from \"@/types/BuilderInterface\";\nimport HouseFeatures from \"@/components/builder/HouseFeatures.vue\";\nimport BuilderSliderButtons from \"./BuilderSliderButtons.vue\";\nimport { useIsDesktop } from \"@/features/useIsDesktop\";\nimport BuilderControlsButtons from \"./BuilderControlsButtons.vue\";\nimport DropDown from \"@/components/ui/dropdown/DropDown.vue\";\nimport { redirectWithoutRouter } from \"@/helpers/redirectWithoutRouter\";\nimport { useRouter } from \"vue-router\";\nimport { LotInterface } from \"@/types/LotInterface\";\ninterface Props {\n builders: string[];\n lot: LotInterface;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BuilderDropdownAndActions',\n props: {\n builders: {},\n lot: {}\n },\n setup(__props: any, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\nconst { isDesktop } = useIsDesktop(680);\n\n\n\nconst router = useRouter();\n\nconst selectedBuilder = ref(null);\n\nconst selectedHouseDesign = ref(null);\n\nconst onRequestQuote = () => {\n router.push(`/builder/estate/${props.lot.estateId}/lot/${props.lot._id}`);\n return;\n};\n\nconst selectBuilder = (builder: BuilderInterfaceWithHouseDesigns) => {\n if (selectedBuilder.value?._id === builder._id) {\n return;\n }\n selectedBuilder.value = builder;\n selectedHouseDesign.value = builder.houses[0];\n setDefaultValues(builder);\n};\n\nconst selectHouseDesign = (houseDesign: HouseDesignInterface) => {\n if (selectedHouseDesign.value?._id === houseDesign._id) {\n return;\n }\n selectedHouseDesign.value = houseDesign;\n};\n\nconst setDefaultValues = (builder: BuilderInterfaceWithHouseDesigns) => {\n if (!builder) {\n return;\n }\n selectedBuilder.value = builder;\n selectedHouseDesign.value = builder.houses[0];\n};\nwatch(\n () => props.builders,\n () => {\n setDefaultValues(\n props.builders[0] as unknown as BuilderInterfaceWithHouseDesigns\n );\n }\n);\nonMounted(() => {\n setDefaultValues(\n props.builders[0] as unknown as BuilderInterfaceWithHouseDesigns\n );\n});\n\nconst __returned__ = { isDesktop, props, router, selectedBuilder, selectedHouseDesign, onRequestQuote, selectBuilder, selectHouseDesign, setDefaultValues, ref, onMounted, watch, get HouseDesignInterface() { return HouseDesignInterface }, get BuilderInterfaceWithHouseDesigns() { return BuilderInterfaceWithHouseDesigns }, HouseFeatures, BuilderSliderButtons, get useIsDesktop() { return useIsDesktop }, BuilderControlsButtons, DropDown, get redirectWithoutRouter() { return redirectWithoutRouter }, get useRouter() { return useRouter }, get LotInterface() { return LotInterface } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./BuilderDropdownAndActions.vue?vue&type=template&id=4f4ac167&scoped=true&ts=true&lang=pug\"\nimport script from \"./BuilderDropdownAndActions.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./BuilderDropdownAndActions.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./BuilderDropdownAndActions.vue?vue&type=style&index=0&id=4f4ac167&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4f4ac167\"]])\n\nexport default __exports__","import { ref } from \"vue\";\nimport { useRouter } from \"vue-router\";\nimport store from \"@/store\";\nimport LocalStorageService from \"@/services/localStorage.service\";\nimport { RouteLandingNames } from \"@/enums/RouteLandingNames\";\nimport { UserRoles } from \"@/enums/UserRoles\";\nimport getUserRole from \"@/helpers/getUserRole\";\nimport { AuthParams } from \"@/types\";\nimport { UseAuthReturnInterface } from \"@/types/UseAuthReturnInterface\";\n\nexport const useAuth = (): UseAuthReturnInterface => {\n const router = useRouter();\n const isOpenedLoginModal = ref(false);\n const loginError = ref(\"\");\n const isOpenedResetPasswordModal = ref(false);\n const forgotPasswordMessage = ref(\"\");\n const clearForm = ref(false);\n const { isSalesPersonRole } = getUserRole();\n\n const onCloseLoginModal = () => {\n isOpenedLoginModal.value = false;\n loginError.value = \"\";\n };\n\n const signIn = (data: AuthParams) => {\n const { isCustomer } = router.currentRoute.value.params;\n\n loginError.value = \"\";\n store\n .dispatch(\"user/login\", data)\n .then((response) => {\n onCloseLoginModal();\n if (response.data.user.role === UserRoles.CUSTOMER || isCustomer) {\n router.push(\"/customer\");\n } else if (\n isSalesPersonRole.value &&\n !response.data.user.detailsId?.estateIds.length\n ) {\n router.push({ name: \"LandownerProfile\" });\n } else {\n router.push(\"/dashboard\");\n }\n })\n .catch((error) => {\n if (error.response?.data?.statusCode === 403) {\n LocalStorageService.set(\"urlAfterVerify\", \"/dashboard\");\n router.push({\n name: \"RegistrationVerifyView\",\n params: { userEmail: data.email.toLowerCase() },\n });\n } else {\n loginError.value = error.response?.data?.message;\n }\n });\n };\n\n const onForgotPassword = () => {\n onCloseLoginModal();\n isOpenedResetPasswordModal.value = true;\n };\n\n const onSendInResetPasswordModal = (email: string) => {\n forgotPasswordMessage.value = \"\";\n store\n .dispatch(\"user/forgotPassword\", email.toLowerCase())\n .then(() => {\n onCloseResetPasswordModal();\n clearForm.value = true;\n })\n .catch((error) => {\n clearForm.value = false;\n forgotPasswordMessage.value = error.response?.data?.message;\n });\n };\n\n const onCloseResetPasswordModal = () => {\n forgotPasswordMessage.value = \"\";\n isOpenedResetPasswordModal.value = false;\n };\n\n return {\n isOpenedLoginModal,\n loginError,\n isOpenedResetPasswordModal,\n forgotPasswordMessage,\n clearForm,\n onCloseLoginModal,\n signIn,\n onForgotPassword,\n onSendInResetPasswordModal,\n onCloseResetPasswordModal,\n };\n};\n","module.exports = __webpack_public_path__ + \"img/facade-classic-double.f4494113.jpeg\";","import { PlansButtonFormEnum } from \"@/enums/PlansFormEnum\";\n\nexport const landingSectionsData = [\n {\n imageUrl: \"eoi.png\",\n label: \"Digital forms\",\n title: \"Spend less time on admin. Spend more time talking to customers.\",\n paragraphs: [\n \"No more printing, scanning or trying to decipher messy handwriting! Customise your Expression of Interest and share it digitally for buyers to complete online in minutes. Generate a shareable PDF for your contracts team or solicitor to start preparing the contract.\",\n \"Purchaser names, solicitor details and contract conditions are automatically stored under the applicable lot so you can continue to manage the sale and stay informed about key due dates. That means less time on data entry and more time selling!\",\n ],\n class: \"eoi\",\n animationImg: \"fade-right\",\n animationText: \"fade-up\",\n },\n {\n imageUrl: \"eoi-docusign.png\",\n label: \"Docusign\",\n title:\n \"Generate land contracts ready for signature in less than 60 seconds.\",\n paragraphs: [\n \"Go to contract in minutes, not days. Connect to your DocuSign or REI Forms Live account to turn a completed Expression of Interest into a pre-populated land contract.\",\n \"All information is automatically synced and carried over including purchaser details, solicitor details and contract conditions. Simply review, edit and hit send!\",\n ],\n class: \"eoi-docusign\",\n animationImg: \"fade-left\",\n animationText: \"fade-up\",\n },\n {\n imageUrl: \"initial-deposit.png\",\n label: \"Online payments\",\n title:\n \"Track initial deposit payments straight into your nominated trust account.\",\n paragraphs: [\n \"Tired of following up buyers for proof that an initial deposit has been paid to secure a lot? We’ve got you covered.\",\n \"Securely collect an initial holding deposit as a final step for buyers to complete when submitting their Expression of Interest online. Once you’ve approved their Expression of Interest the deposit will be transferred directly into your nominated trust account. Track the payment and get notified once the funds are cleared in your trust account.\",\n ],\n class: \"initial-deposit\",\n animationImg: \"fade-right\",\n animationText: \"fade-up\",\n },\n {\n imageUrl: \"buyer-insights.png\",\n label: \"Buyer insights\",\n title: \"Understand who your buyers are and where they are coming from.\",\n paragraphs: [\n \"Get insights about where your leads are coming from, how long they are spending on your website and which lots they are clicking on most. Generate reports to understand which marketing dollars are getting the best return on investment.\",\n \"Personalise your sales outreach based on the journey your lead has taken to arrive in your inbox.\",\n ],\n class: \"buyer-insights\",\n animationImg: \"fade-left\",\n animationText: \"fade-up\",\n },\n {\n animationImg: \"fade-right\",\n animationText: \"fade-up\",\n imageUrl: \"reports.png\",\n label: \"Reports\",\n title: \"Generate branded developer reports with a few clicks.\",\n paragraphs: [\n \"Track weekly, monthly, and quarterly activity and sales progress across one or multiple projects.\",\n \"Generate actionable reports in minutes, custom-branded and ready to share with your developer clients or internally with your team.\",\n ],\n class: \"reports\",\n },\n {\n imageUrl: \"buyer-portal.png\",\n label: \"Buyer portal\",\n title: \"Keep your buyers informed every step of the way.\",\n paragraphs: [\n \"Let your buyers create their own login to a buyer portal where they can track their purchase from Expression of Interest to Settlement.\",\n \"No need to keep answering the same questions over and over again. From a simplified and intuitive interface buyers will be able to stay up to date on key due dates and construction progress.\",\n ],\n class: \"buyer-portal\",\n animationImg: \"fade-left\",\n animationText: \"fade-up\",\n },\n];\n\nexport const builderLandingSectionsData = [\n {\n animationImg: \"fade-left\",\n animationText: \"fade-up\",\n class: \"concierge-service\",\n label: \"Sales Concierge\",\n imageUrl: \"concierge-service.png\",\n title: \"Consider us an extension of your in-house sales team.\",\n paragraphs: [\n \"No time to respond to customer enquiries or create build quotes? Our sales concierge is on hand to answer any immediate questions and nurture prospective buyers until they are ready to move forward with you.\",\n ],\n hasMoreContent: false,\n contactUsButton: true,\n },\n {\n animationImg: \"fade-right\",\n animationText: \"fade-up\",\n class: \"simple-onboarding\",\n label: \"Simple Onboarding\",\n imageUrl: \"simple-onboarding.png\",\n title:\n \"Send us your house designs and floor plans. We’ll take care of the rest.\",\n paragraphs: [\n \"We want to make it as easy as possible for you to start working with us. You’ll have a dedicated Customer Success Manager who is responsible for liaising with the developer, creating your profile and uploading your house designs. You just tell us which lots you want to build on and which home designs fit best.\",\n ],\n hasMoreContent: true,\n contactUsButton: false,\n },\n];\nexport const builderLandingDocumentsData = [\n {\n label: \"Floorplans\",\n image: \"floorplans-icon.svg\",\n optional: false,\n },\n {\n label: \"Exterior Facade Options\",\n optional: false,\n image: \"facades-icon.svg\",\n },\n {\n label: \"List of Inclusions\",\n image: \"list-of-inclusions-icon.svg\",\n optional: false,\n },\n {\n label: \"Interior Home Images\",\n image: \"interior-home-images-icon.svg\",\n optional: true,\n },\n];\n\nexport const builderDemoImagesData = {\n facades: [\n {\n url: \"facade-1.jpg\",\n label: \"Design 1\",\n },\n {\n url: \"facade-2.jpg\",\n label: \"Design 2\",\n },\n {\n url: \"facade-3.jpg\",\n label: \"Design 3\",\n },\n ],\n optionalStep: [\n {\n url: \"optional-step-1.png\",\n label: \"Optional Step\",\n },\n {\n url: \"optional-step-2.png\",\n label: \"Optional Step\",\n },\n ],\n floorplans: [\n {\n url: \"floorplan-1.png\",\n label: \"Option A\",\n },\n {\n url: \"floorplan-2.png\",\n label: \"Option B\",\n },\n {\n url: \"floorplan-3.png\",\n label: \"Option C\",\n },\n ],\n};\n\nexport const landingFloorplansData = [\n {\n size: 220,\n width: 10.4,\n depth: 22.9,\n features: [\"Walk-in pantry\", \"3 spacious living areas\"],\n url: builderDemoImagesData.floorplans[0].url,\n },\n {\n size: 225,\n width: 10.8,\n depth: 23.8,\n features: [\"Walk-in pantry\", \"3 spacious living areas\"],\n url: builderDemoImagesData.floorplans[1].url,\n },\n {\n size: 234,\n width: 22.8,\n depth: 10.9,\n features: [\"Walk-in pantry\", \"3 spacious living areas\"],\n url: builderDemoImagesData.floorplans[2].url,\n },\n];\nexport const landingHousePartsData = {\n bathroom: {\n quantity: 2,\n },\n loungeRoom: {\n quantity: 3,\n },\n garage: 2,\n bedroom: 4,\n};\nexport const landingSubscriptionPlansData = [\n {\n type: \"free\",\n icon: require(\"@/assets/icons/free-icon.svg\"),\n title: \"Free\",\n price: \"$0\",\n subtitle: \"Boost buyer engagement\",\n buttonText: PlansButtonFormEnum.JOIN_WAITLIST,\n subtitleFeatures: \"\",\n features: [\n \"Interactive masterplan\",\n \"Lot status dashboard\",\n \"House & land packages\",\n \"CRM integrations\",\n ],\n },\n {\n type: \"starter\",\n icon: require(\"@/assets/icons/starter-icon.svg\"),\n title: \"Starter\",\n price: \"$295\",\n subtitle: \"Level-up your project\",\n buttonText: PlansButtonFormEnum.GET_STARTED,\n subtitleFeatures: \"Everything in Free plus:\",\n features: [\n \"Digital EOI forms\",\n \"Buyer portal\",\n \"Streamlined reservations\",\n \"Waitlists\",\n \"Leads & contact management\",\n ],\n },\n {\n type: \"pro\",\n icon: require(\"@/assets/icons/pro-icon.svg\"),\n title: \"Pro\",\n price: \"$795\",\n subtitle: \"End-to-end sales solution\",\n buttonText: PlansButtonFormEnum.GET_STARTED,\n subtitleFeatures: \"Everything in Starter plus:\",\n features: [\n \"Unlimited portal uploads\",\n \"Contracts generator\",\n \"White labelled developer reports\",\n ],\n },\n];\nexport const landingDescriptionPlansData =\n \"Interactive masterplan design and configuration (including one interactive stage) is free of charge. Additional stages can be added at a cost of $350 per stage, on a pay-as-you-go basis.\";\nexport const landingProjectSalesAndMarketingData = [\n \"Fully licensed team of real estate agents\",\n \"Most competitive commission rates in the market\",\n \"End-to-end content and marketing strategy\",\n];\nexport const landingFormWaitlistData = {\n title: [\"Add your project to\", \"the waitlist\"],\n features: [\n \"Interactive masterplan\",\n \"Lot status dashboard\",\n \"House & land packages\",\n \"CRM integrations\",\n ],\n featuresMobile: [\n \"Interactive masterplan\",\n \"House & land packages\",\n \"Lot status dashboard\",\n \"CRM integrations\",\n ],\n};\nexport const landingFormSignUpData = {\n title: [\"Sign up and level-up\", \"your land sales project\"],\n features: [\n \"Interactive masterplan\",\n \"Lot status dashboard\",\n \"House & land packages\",\n \"CRM integrations\",\n \"Digital EOI forms\",\n \"Streamlined reservations\",\n \"Leads & contact management\",\n ],\n featuresMobile: [\n \"Interactive masterplan\",\n \"House & land packages\",\n \"Lot status dashboard\",\n \"CRM integrations\",\n \"Waitlist\",\n \"Streamlined reservations\",\n ],\n};\nexport const landingFormSuccessWaitlistData = {\n lineOne: [\"Hooray! Your project is officially on\", \"the waitlist.\"],\n lineTwo: [\n \"We understand you’re eager to get\",\n \"started. Hang tight - we’ll have you\",\n \"up and running in no time!\",\n ],\n lineThree: [\n \"Got question in the meantime?\",\n \"Contact us anytime at\",\n \"support@lottrackr.com\",\n ],\n};\nexport const landingFormSuccessSignUpData = {\n lineOne: [\n \"Success! Exciting things are\",\n \"happening. Our team will contact\",\n \"you shortly to start the\",\n \"onboarding process.\",\n ],\n lineTwo: [\"Hang tight - we’ll have you up and\", \"running in no time!\"],\n};\n","export function phoneNumberOption(phone: string) {\n return {\n blocks: !phone || phone?.startsWith(\"+\") ? [3, 3, 3, 3] : [4, 3, 3],\n delimiter: \" \",\n };\n}\n\nexport const phonePlaceholder = \"0412 345 678\";\n\nexport const getCurrencyOptions = ({\n numeral = true,\n numeralThousandsGroupStyle = \"thousand\",\n numeralPositiveOnly = true,\n}: {\n numeral?: boolean;\n numeralThousandsGroupStyle?: NumeralThousandsGroupStyle;\n numeralPositiveOnly?: boolean;\n}): CurrencyOptions => ({\n numeral,\n numeralThousandsGroupStyle,\n numeralPositiveOnly,\n noImmediatePrefix: true,\n});\ntype NumeralThousandsGroupStyle = \"thousand\" | \"lakh\" | \"wan\";\n\ntype CurrencyOptions = {\n numeral: boolean;\n numeralThousandsGroupStyle: NumeralThousandsGroupStyle;\n numeralPositiveOnly: boolean;\n noImmediatePrefix: boolean;\n};\n","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/builder-icon.svg'\nimport _imports_1 from '@/assets/icons/chevron-right-gray.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5f491709\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"header-wr\" }\nconst _hoisted_2 = { class: \"lot-details-item\" }\nconst _hoisted_3 = { class: \"lot-details-item\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"lot-btn-link-container\", { 'lot-btn-link-container-hover': $setup.props.hoverLotId === $setup.props.lot.lotId._id, expanded: $setup.props.builderView }]),\n onMouseover: $setup.onHover,\n onMouseleave: $setup.onMouseLeave,\n onClick: $setup.onClick\n }, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"p\", {\n class: _normalizeClass([\"lot-btn-title lot\", { 'title-hover': $setup.hover }])\n }, \"Lot \" + _toDisplayString($setup.props.lot.lotId.title), 3),\n ($props.lot.lotId.isBuildersEnabled)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"builder-info-wr\",\n onMouseover: $setup.onBuilderHover,\n onMouseleave: $setup.onBuilderLeave\n }, [\n (!$setup.props.builderView)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: _normalizeClass([\"builder-info\", { 'builder-icon-hover': $setup.hover }]),\n src: _imports_0,\n ref: \"builderIconRef\"\n }, null, 2))\n : _createCommentVNode(\"\", true)\n ], 32))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"badge\", $setup.getLotCustomerMapStatusClass($setup.getLotStatus($props.lot.lotId.status === $setup.LotStatus.OFFLINE ? $props.lot.lotId?.offlineSale?.salePhase : $props.lot.lotId.status))])\n }, _toDisplayString($setup.getLotStatus($props.lot.lotId.status === $setup.LotStatus.OFFLINE? $props.lot.lotId?.offlineSale?.salePhase\n: $props.lot.lotId.status)), 3)\n ]),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"lot-details-wr\", { spacing: $setup.props.builderView }])\n }, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"detail-header\", { 'title-hover': $setup.hover, 'builder-view': $setup.props.builderView }])\n }, \"Size\", 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"detail-data\", { 'title-hover': $setup.hover, 'builder-view': $setup.props.builderView }])\n }, _toDisplayString($props.lot.lotId.size) + \" sqm\", 3)\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"detail-header\", { 'title-hover': $setup.hover, 'builder-view': $setup.props.builderView }])\n }, \"Price\", 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"detail-data\", { 'title-hover': $setup.hover, 'builder-view': $setup.props.builderView }])\n }, _toDisplayString($setup.formatPrice($props.lot.lotId.price)), 3)\n ]),\n (!$setup.props.builderView)\n ? (_openBlock(), _createElementBlock(\"img\", {\n key: 0,\n class: _normalizeClass([\"lot-btn-chevron\", { 'title-hover': $setup.hover }]),\n src: _imports_1\n }, null, 2))\n : _createCommentVNode(\"\", true)\n ], 2),\n ($setup.hover && $setup.props.builderView)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"button default primary select\",\n onClick: $setup.onClick\n }, \"Select Lot\"))\n : _createCommentVNode(\"\", true)\n ], 34))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch } from \"vue\";\n import { LotMapInterface } from \"@/types/LotMapInterface\";\n import { getLotStatus } from \"@/helpers/customer\";\n import { getLotCustomerMapStatusClass } from \"@/helpers/status\";\n import { LotStatus } from \"@/enums/LotStatus\";\n import { formatPrice } from \"@/helpers/transformation/price\";\n\n type propsType = {\n lot: LotMapInterface;\n hoverLotId: string;\n builderView: boolean;\n };\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LotButtonLink',\n props: {\n lot: {},\n hoverLotId: {},\n builderView: { type: Boolean }\n },\n emits: [\"onLotHover\", \"onLotBuilderHover\", \"onClick\"],\n setup(__props: any, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n const hover = ref(false);\n const builderHover = ref(false);\n const builderIconRef = ref();\n\n \n\n \n\n const onHover = () => {\n hover.value = true;\n emits(\"onLotHover\", true, props.lot.lotId._id);\n };\n\n const onMouseLeave = () => {\n hover.value = false;\n emits(\"onLotHover\", false, props.lot.lotId._id);\n };\n\n const onBuilderHover = () => {\n builderHover.value = true;\n emits(\"onLotBuilderHover\", true, props.lot.lotId._id);\n };\n\n const onBuilderLeave = () => {\n builderHover.value = false;\n emits(\"onLotBuilderHover\", false, props.lot.lotId._id);\n };\n\n const onClick = () => {\n emits(\"onClick\", props.lot);\n };\n\n watch(\n () => props.hoverLotId,\n () => {\n if (props.hoverLotId === props.lot.lotId._id) {\n hover.value = true;\n } else {\n hover.value = false;\n }\n }\n );\n\nconst __returned__ = { hover, builderHover, builderIconRef, props, emits, onHover, onMouseLeave, onBuilderHover, onBuilderLeave, onClick, ref, watch, get LotMapInterface() { return LotMapInterface }, get getLotStatus() { return getLotStatus }, get getLotCustomerMapStatusClass() { return getLotCustomerMapStatusClass }, get LotStatus() { return LotStatus }, get formatPrice() { return formatPrice } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./LotButtonLink.vue?vue&type=template&id=5f491709&scoped=true&ts=true&lang=pug\"\nimport script from \"./LotButtonLink.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./LotButtonLink.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./LotButtonLink.vue?vue&type=style&index=0&id=5f491709&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5f491709\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, normalizeClass as _normalizeClass, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, withModifiers as _withModifiers, withCtx as _withCtx, createBlock as _createBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"login-form login-form-limited scroll-wrapper\" }\nconst _hoisted_2 = /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal-title\" }, \"Log in to LotTrackr\", -1)\nconst _hoisted_3 = { class: \"modal-content\" }\nconst _hoisted_4 = { class: \"form-group\" }\nconst _hoisted_5 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Email\", -1)\nconst _hoisted_6 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_7 = { class: \"form-group\" }\nconst _hoisted_8 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Password\", -1)\nconst _hoisted_9 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_10 = { class: \"form-group\" }\nconst _hoisted_11 = [\"onClick\", \"disabled\"]\nconst _hoisted_12 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_13 = {\n key: 0,\n class: \"wrapper-member\"\n}\nconst _hoisted_14 = /*#__PURE__*/_createElementVNode(\"span\", { class: \"member\" }, \"Don't have an account yet? \", -1)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createBlock($setup[\"Modal\"], {\n \"is-open\": $props.isOpen,\n onClose: $setup.close,\n classes: $setup.modalClasses,\n \"transition-name\": $props.transitionName\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"form\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createElementVNode(\"label\", null, [\n _hoisted_5,\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input--focus input-large\", { 'input--error': $setup.v$.email.$error }]),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (($setup.form.email) = $event)),\n placeholder: \"Type your email\"\n }, null, 2), [\n [_vModelText, $setup.form.email]\n ])\n ]),\n ($setup.v$.email.$error)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_6, _toDisplayString($setup.v$.email.$errors[0].$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_7, [\n _createElementVNode(\"label\", null, [\n _hoisted_8,\n _createVNode($setup[\"InputPassword\"], {\n modelValue: $setup.form.password,\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (($setup.form.password) = $event)),\n \"input-classes\": ['input-large', 'input--focus', { 'input--error': $setup.v$.password.$error }],\n placeholder: \"Type your password\"\n }, null, 8, [\"modelValue\", \"input-classes\"])\n ]),\n ($setup.v$.password.$error)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_9, _toDisplayString($setup.v$.password.$errors[0].$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_10, [\n _createElementVNode(\"button\", {\n class: \"button button--login primary w-100\",\n onClick: _withModifiers($setup.login, [\"prevent\"]),\n disabled: $setup.isDisabledLogin\n }, \"Log in\", 8, _hoisted_11),\n ($setup.props.loginError)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_12, _toDisplayString($setup.props.loginError), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", { class: \"form-group mb-12\" }, [\n _createElementVNode(\"span\", {\n class: \"forgot-password\",\n onClick: $setup.onForgotPassword\n }, \"Forgot password?\")\n ]),\n ($props.joining)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_13, [\n _hoisted_14,\n _createElementVNode(\"span\", {\n class: \"join\",\n onClick: $setup.join\n }, \"Create free account\")\n ]))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"is-open\", \"classes\", \"transition-name\"]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, reactive } from \"vue\";\nimport Modal from \"@/components/ui/Modal.vue\";\nimport InputPassword from \"@/components/ui/input/InputPassword.vue\";\nimport useVuelidate from \"@vuelidate/core\";\nimport { email, required } from \"@vuelidate/validators\";\nimport { resetVuelidateErrors } from \"@/helpers/vuelidate\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'LoginModal',\n props: {\n isOpen: {\n type: Boolean,\n required: false,\n },\n loginError: {\n type: String,\n },\n joining: {\n type: Boolean,\n default: false,\n },\n transitionName: {\n type: String,\n },\n},\n emits: [\"close\", \"login\", \"join\", \"forgotPassword\"],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n\n\nconst form = reactive({\n password: \"\",\n email: \"\",\n});\nconst rules = {\n password: { required, $autoDirty: false },\n email: { required, email, $autoDirty: false },\n};\nconst modalClasses = computed(() => {\n return `${\n props.joining ? \"login-modal\" : \"login-modal-shorted\"\n } height-limited`;\n});\n\nconst v$ = useVuelidate(rules, form, { $stopPropagation: true });\n\nconst isDisabledLogin = computed(\n () =>\n Boolean(!form.password.length) ||\n Boolean(!form.email.length) ||\n v$.value.email.$error\n);\n\nfunction close() {\n emits(\"close\");\n resetVuelidateErrors(v$);\n clearForm();\n}\nasync function login() {\n v$.value.$touch();\n const isNoErrors = await v$.value.$validate();\n if (!isNoErrors) return;\n const data = {\n email: form.email.toLowerCase(),\n password: form.password,\n };\n emits(\"login\", data);\n}\nfunction join() {\n emits(\"join\");\n}\nfunction clearForm() {\n form.email = \"\";\n form.password = \"\";\n}\nfunction onForgotPassword() {\n resetVuelidateErrors(v$);\n clearForm();\n emits(\"forgotPassword\");\n}\n\nconst __returned__ = { emits, props, form, rules, modalClasses, v$, isDisabledLogin, close, login, join, clearForm, onForgotPassword, computed, reactive, Modal, InputPassword, get useVuelidate() { return useVuelidate }, get email() { return email }, get required() { return required }, get resetVuelidateErrors() { return resetVuelidateErrors } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./LoginModal.vue?vue&type=template&id=9b7c3ac2&ts=true&lang=pug\"\nimport script from \"./LoginModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./LoginModal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./LoginModal.vue?vue&type=style&index=0&id=9b7c3ac2&lang=scss\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render]])\n\nexport default __exports__","export const allowedDocumentMimeTypes = [\n \"image/jpeg\",\n \"image/png\",\n \"image/heic\",\n \"image/heif\",\n \".heic\",\n \"application/pdf\",\n];\nexport const MaxFileSize = 26214400;\n","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, Fragment as _Fragment, createVNode as _createVNode, createTextVNode as _createTextVNode, toDisplayString as _toDisplayString, createBlock as _createBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-ddcdb672\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"admin-header\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"title-main\" }, \"Map\", -1))\nconst _hoisted_3 = {\n key: 0,\n class: \"buttons\"\n}\nconst _hoisted_4 = {\n key: 1,\n class: \"available-lots-pop-up\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", null, [\n /*#__PURE__*/_createTextVNode(\"Click \"),\n /*#__PURE__*/_createElementVNode(\"strong\", null, \"Available\"),\n /*#__PURE__*/_createTextVNode(\" lots to view more information\")\n], -1))\nconst _hoisted_6 = {\n key: 2,\n class: \"stage-info-nav\"\n}\nconst _hoisted_7 = { class: \"stage-available-lots\" }\nconst _hoisted_8 = {\n key: 0,\n class: \"zoom-info\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"legend\"\n}\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status gray\" }, \"Not Released\", -1))\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status success\" }, \"Available\", -1))\nconst _hoisted_12 = { class: \"status yellow\" }\nconst _hoisted_13 = { class: \"status warning\" }\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status\" }, \"Unconditional\", -1))\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status orange\" }, \"Option\", -1))\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status gray-middle\" }, \"Offline\", -1))\nconst _hoisted_17 = {\n key: 0,\n class: \"legend\"\n}\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status gray\" }, \"Not Released\", -1))\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status success\" }, \"Available\", -1))\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status light-blue\" }, \"Hold\", -1))\nconst _hoisted_21 = { class: \"status yellow\" }\nconst _hoisted_22 = { class: \"status warning\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status\" }, \"Unconditional\", -1))\nconst _hoisted_24 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status orange\" }, \"Option\", -1))\nconst _hoisted_25 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"status gray-middle\" }, \"Offline\", -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"map-wr\", { isBuilderView: $setup.props.builderView }]),\n onMousemove: $setup.handleMouseMove\n }, [\n ($setup.props.role === $setup.UserRoles.SUPER_ADMIN)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n ($setup.map !== null)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n (!$setup.map)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"button default primary add-btn-primary\",\n onClick: $setup.toCreateMap\n }, \"Add Map\"))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n _createElementVNode(\"button\", {\n class: \"button default outlined\",\n onClick: $setup.toEditMap\n }, \"Edit Map\"),\n _createElementVNode(\"button\", {\n class: \"button default outlined warning\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => ($setup.showConfirmDeleteModal = true))\n }, \"Delete Map\")\n ], 64))\n ]))\n : _createCommentVNode(\"\", true),\n _createVNode($setup[\"ConfirmDeleteModal\"], {\n isOpen: $setup.showConfirmDeleteModal,\n deleteItem: 'stage map',\n onClose: _cache[1] || (_cache[1] = ($event: any) => ($setup.showConfirmDeleteModal = false)),\n onConfirm: $setup.deleteMap\n }, null, 8, [\"isOpen\"])\n ]))\n : _createCommentVNode(\"\", true),\n ($setup.availableLotsPopUpShow && $setup.isDesktop && $setup.props.role === $setup.UserRoles.CUSTOMER && !$setup.isEmbeddedDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", {\n class: \"close-btn\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => ($setup.availableLotsPopUpShow = false))\n })\n ]))\n : _createCommentVNode(\"\", true),\n (!$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", { class: \"masterplan-btn-wr\" }, [\n _createElementVNode(\"button\", {\n class: \"button-with-icon back\",\n onClick: $setup.toMasterplan\n }, \"BACK\")\n ]),\n _createElementVNode(\"div\", _hoisted_7, \"Stage \" + _toDisplayString($setup.lots[0]?.stageId.title) + \": \" + _toDisplayString($setup.props.builderView ? $setup.props.lotsByHouseDesigns.length : $setup.getAvailableLots.length) + \" lots available\", 1),\n (!$props.builderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, \"Zoom in / out to view. Click any lot to view more info.\"))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"svg-wrapper\", { isEmbeddedDesktop: $setup.isEmbeddedDesktop, isBuilderView: $setup.props.builderView }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"svg-container-map\", { 'svg-map-embedded': $setup.isEmbeddedDesktop, isBuilderView: $setup.props.builderView }]),\n ref: \"svgMapEmbedded\"\n }, [\n ($setup.isEmbeddedDesktop)\n ? (_openBlock(), _createBlock($setup[\"MapSidePanel\"], {\n key: 0,\n estateId: $setup.estateId,\n isStageMap: true,\n stageId: $setup.lots[0]?.stageId._id,\n hoverLotId: $setup.hoverLotId,\n lotsByHouseDesigns: $setup.props.lotsByHouseDesigns,\n builderView: $setup.props.builderView,\n hideOptions: $setup.props.hideMapSidePanelOptions,\n onOnLotHover: $setup.onSidePanelLotHover,\n onOnLotClick: $setup.onSidePanelLotClick,\n onToMasterplan: $setup.toMasterplan,\n onOnLotBuilderHover: $setup.onLotBuilderHover,\n onOnRegister: _cache[3] || (_cache[3] = ($event: any) => (_ctx.$emit('onRegister'))),\n onOnMessage: _cache[4] || (_cache[4] = ($event: any) => (_ctx.$emit('onMessage')))\n }, null, 8, [\"estateId\", \"stageId\", \"hoverLotId\", \"lotsByHouseDesigns\", \"builderView\", \"hideOptions\"]))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"map-elements-container\", { 'map-max-width': $setup.isEmbeddedDesktop }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"map-elements-wr\", { isBuilderView: $setup.props.builderView }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"map-info-block\", { 'map-info-embedded': $setup.isEmbeddedDesktop }])\n }, [\n ($setup.props.role === $setup.UserRoles.CUSTOMER && !$setup.isEmbeddedDesktop)\n ? (_openBlock(), _createElementBlock(\"button\", {\n key: 0,\n class: \"button icon back-btn\",\n onClick: $setup.back\n }))\n : _createCommentVNode(\"\", true),\n false\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_9, [\n _hoisted_10,\n _hoisted_11,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"status\", $setup.props.role === $setup.UserRoles.CUSTOMER ? 'light-blue' : 'blue'])\n }, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Hold\" : \"Pre-Contract\"), 3),\n _createElementVNode(\"div\", _hoisted_12, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Under Contract\" : \"Contract Executed\"), 1),\n _createElementVNode(\"div\", _hoisted_13, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Sold\" : \"Settled\"), 1),\n ($setup.props.role !== $setup.UserRoles.CUSTOMER)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_14,\n _hoisted_15,\n _hoisted_16\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"zoom-container\", [{ 'zoom-active': $props.zoom !== 1 && $setup.isDesktop }, { 'zoom-desktop-embedded': $setup.isEmbeddedDesktop }, { 'zoom-hidden': $setup.props.builderView }]])\n }, [\n _createElementVNode(\"button\", {\n class: \"button zoom-btn\",\n onClick: _cache[5] || (_cache[5] = ($event: any) => ($setup.emits('updateZoom', 0.2)))\n }, \"+\"),\n _createElementVNode(\"button\", {\n class: \"button zoom-btn\",\n onClick: _cache[6] || (_cache[6] = ($event: any) => ($setup.emits('updateZoom', -0.2)))\n }, \"-\")\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"scroll-wrapper svg-scroll-wr\", [{ 'svg-container grab': $setup.props.zoom !== 1 }, { grab: $setup.props.zoom !== 1 }]]),\n ref: \"svgContainerMap\",\n onMousedown: $setup.startDragging,\n onMousemove: $setup.handleDragging,\n onMouseup: $setup.stopDragging\n }, [\n _createVNode($setup[\"StageSvgMap\"], {\n map: $setup.map,\n lots: $setup.lots,\n zoom: $setup.props.zoom,\n getTooltipText: $setup.getSvgTooltipText,\n getItemWrClasses: $setup.getSvgItemWrClasses,\n getItemPathClasses: $setup.getSvgItemPathClasses,\n getItemStatusPathClasses: $setup.getSvgItemStatusPathClasses,\n onOnLotHover: $setup.onLotHover,\n onOnLotLeave: $setup.onLotLeave,\n onOnLotClick: $setup.handleLotClickIfClickable\n }, null, 8, [\"map\", \"lots\", \"zoom\"])\n ], 34)\n ], 2),\n (!$setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_17, [\n _hoisted_18,\n _hoisted_19,\n _hoisted_20,\n _createElementVNode(\"div\", _hoisted_21, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Under Contract\" : \"Contract Executed\"), 1),\n _createElementVNode(\"div\", _hoisted_22, _toDisplayString($setup.props.role === $setup.UserRoles.CUSTOMER ? \"Sold\" : \"Settled\"), 1),\n ($setup.props.role !== $setup.UserRoles.CUSTOMER)\n ? (_openBlock(), _createElementBlock(_Fragment, { key: 0 }, [\n _hoisted_23,\n _hoisted_24,\n _hoisted_25\n ], 64))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 2),\n ($setup.isEmbeddedDesktop && !$setup.props.builderView)\n ? (_openBlock(), _createBlock($setup[\"MapSideLegend\"], {\n key: 1,\n isEstateMap: false,\n role: $setup.props.role\n }, null, 8, [\"role\"]))\n : _createCommentVNode(\"\", true)\n ], 2)\n ], 2)\n ], 34))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport ConfirmDeleteModal from \"@/components/ui/modals/ConfirmDeleteModal.vue\";\n import router from \"@/router\";\n import {\n ref,\n onMounted,\n computed,\n nextTick,\n watch,\n } from \"vue\";\n import { useStore } from \"vuex\";\n import { StageMapInterface } from \"@/types/StageMapInterface\";\n import { LotMapInterface } from \"@/types/LotMapInterface\";\n import { UserRoles } from \"@/enums/UserRoles\";\n import {\n getLotCustomerMapStatusClass,\n getLotStatusClass,\n } from \"@/helpers/status\";\n import { LotStatus } from \"@/enums/LotStatus\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n import StageNavMobile from \"@/components/StageNavMobile.vue\";\n import { StageStatus } from \"@/enums/StageStatus\";\n import { eventTracking } from \"@/helpers/googleAnalyticsEventTracking\";\n import {\n EventActionName,\n EventByAction,\n EventByCategory,\n EventLabelByName,\n } from \"@/types/EventTracking\";\n import Hammer from \"hammerjs\";\n import type HammerInput from \"hammerjs\";\n import pinchZoomHammer from \"@/helpers/estateMap/mapsZoom\";\n import MapSidePanel from \"./MapSidePanel.vue\";\n import InfoWithIcon from \"@/components/ui/InfoWithIcon.vue\";\n import MapSideLegend from \"./MapSideLegend.vue\";\n import { LotInterface } from \"@/types/LotInterface\";\n import StageSvgMap from \"@/components/maps/StageSvgMap.vue\";\n\n const mobileLayoutWidth = 680;\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StageMap',\n props: {\n role: { type: String, default: () => UserRoles.LANDOWNER },\n viewType: { type: String, default: \"\" },\n isEmbedded: { type: Boolean },\n mapPage: { type: String, default: \"\" },\n zoom: {\n type: Number,\n default: 1,\n },\n builderView: { type: Boolean, required: false },\n actualStageQuote: { type: String, required: false, default: undefined },\n lotsByHouseDesigns: { type: Array, required: false, default: undefined },\n plansView: { type: Boolean, required: false, default: false },\n estateId: { type: String, required: false, default: undefined },\n hideMapSidePanelOptions: { type: Boolean, required: false },\n businessId: { type: String, required: false, default: undefined },\n },\n emits: [\n \"reserve\",\n \"changeView\",\n \"updateZoom\",\n \"onRegister\",\n \"onMessage\",\n \"selectLot\",\n \"changeViewMap\",\n \"onLotBuilderHover\",\n \"onMouseX\",\n \"onMouseY\",\n ],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n const store = useStore();\n \n \n const userId = router.currentRoute.value.params.userId;\n const availableLotsPopUpShow = ref(false);\n const { isDesktop } = useIsDesktop(mobileLayoutWidth);\n const estateId = computed(() => getEstateId());\n const stageId = computed(() => {\n if (props.builderView && props.actualStageQuote) {\n return props.actualStageQuote;\n }\n if (props.role === UserRoles.CUSTOMER) {\n return router.currentRoute.value.query.stageId as string;\n }\n return router.currentRoute.value.params.stageId as string;\n });\n const map = ref(null);\n const lots = ref([]);\n const showConfirmDeleteModal = ref(false);\n const getAvailableLots = computed(() => {\n return lots.value.filter(\n (value) => value.lotId.status === LotStatus.AVAILABLE\n );\n });\n\n const lotOnClick = ref(\"\");\n\n const lotSidePanelHover = ref({\n value: false,\n id: \"\",\n });\n\n const getEstateId = () => {\n if (props.estateId) {\n return props.estateId;\n } else if (props.role === UserRoles.LANDOWNER) {\n return store.state.user.selectedEstateId;\n } else {\n return router.currentRoute.value.params.estateId;\n }\n };\n\n const isEmbeddedDesktop = computed(() => isDesktop.value);\n\n const getSvgItemWrClasses = (lot: LotMapInterface) => [\n {\n \"not-clickable\":\n props.role === UserRoles.CUSTOMER &&\n lot.lotId?.status !== LotStatus.AVAILABLE,\n },\n {\n \"lot-side-panel-hover\":\n lotSidePanelHover.value?.value &&\n lotSidePanelHover.value?.id === lot.lotId?._id,\n },\n {\n \"lot-side-panel\":\n lot.lotId?.status === LotStatus.AVAILABLE && isEmbeddedDesktop,\n },\n {\n \"lot-plans-view\": props.plansView,\n },\n {\n \"not-clickable-house-design\": isNotClickableForBuilderView(lot),\n },\n ];\n\n const getSvgItemPathClasses = (lot: LotMapInterface) => [\n {\n \"selling-animation\":\n lot.lotId?.status === LotStatus.AVAILABLE &&\n !isNotClickableForBuilderView(lot),\n },\n {\n \"selling-animation-side-panel\":\n lotSidePanelHover.value.value &&\n lotSidePanelHover.value?.id === lot.lotId?._id,\n },\n { \"admin-highlight\": props.role === UserRoles.SUPER_ADMIN },\n ];\n\n const getSvgTooltipText = (lot: LotMapInterface) =>\n isNotClickableForBuilderView(lot)\n ? \"\"\n : lot.lotId.status === LotStatus.AVAILABLE && isDesktop\n ? getTooltipText(lot)\n : \"\";\n\n const getSvgItemStatusPathClasses = (lot: LotMapInterface) => [\n props.role === UserRoles.CUSTOMER\n ? getLotCustomerMapStatusClass(getClassForCustomer(lot))\n : getLotStatusClass(\n lot.lotId?.status === LotStatus.EOI\n ? LotStatus.PRE_CONTRACT\n : lot.lotId?.status\n ),\n ];\n\n const onSidePanelLotHover = (value: boolean, id: string) => {\n lotSidePanelHover.value = { value, id };\n };\n\n const onSidePanelLotClick = (lot: LotMapInterface) => {\n if (props.builderView) {\n emits(\"selectLot\", lot);\n } else {\n onLot(lot);\n }\n };\n const isNotClickableForBuilderView = (lot: LotMapInterface) => {\n return (\n props.builderView &&\n !props.lotsByHouseDesigns.some((design) => design._id === lot.lotId?._id)\n );\n };\n\n const handleLotClickIfClickable = (lot: LotMapInterface) => {\n if (!isNotClickableForBuilderView(lot)) {\n onLot(lot);\n }\n };\n\n const onLotBuilderHover = (value: boolean) => {\n emits(\"onLotBuilderHover\", value);\n };\n\n const handleMouseMove = (e: MouseEvent) => {\n emits(\"onMouseX\", e.clientX + 15);\n emits(\"onMouseY\", e.clientY + 5);\n };\n\n const hoverLotId = ref(\"\");\n\n const onLotHover = (id: string) => {\n hoverLotId.value = id;\n };\n\n const onLotLeave = () => {\n hoverLotId.value = \"\";\n };\n\n const getTooltipText = (lot: LotMapInterface) => {\n const text = `
Lot ${lot.lotId.title}\n
${lot.lotId.status.toUpperCase()}

\n

${lot.lotId.size}m2

\n

Click to view more

`;\n return text;\n };\n\n onMounted(() => {\n getMapWithLots();\n });\n\n const onStage = (stage: StageMapInterface) => {\n const embed = props.isEmbedded.toString();\n router\n .replace({\n path: router.currentRoute.value.path,\n query: { stageId: stage.stageId._id, embed },\n })\n .then(() => {\n getMapWithLots();\n });\n };\n\n const toMasterplan = () => {\n if (props.builderView) {\n emits(\"changeViewMap\");\n } else if (props.plansView) {\n router.push({ name: \"LandingPlans\" });\n } else {\n back();\n }\n };\n\n const getMapWithLots = () => {\n getMap();\n getLots().then(() => {\n const lotId = router.currentRoute.value.query.lotId;\n if (lotId) {\n const lotForModal = lots.value.find(\n (value) => value.lotId._id === lotId\n );\n if (lotForModal) {\n emits(\"reserve\", lotForModal);\n }\n }\n });\n showAvailableLotsPopUp();\n };\n\n function getMap() {\n store\n .dispatch(\"stage/getStageMap\", stageId.value)\n .then((res) => {\n map.value = res.data;\n })\n .catch((error) => {\n if (error.response?.data?.statusCode === 404) {\n map.value = \"\";\n }\n });\n }\n function getLots() {\n return store\n .dispatch(\"lot/getLotsMap\", { stageId: stageId.value })\n .then((res) => {\n lots.value = res.data;\n });\n }\n function toCreateMap() {\n router.push({\n name: \"AdminStageMapCreate\",\n params: { userId, estateId: estateId.value, stageId: stageId.value },\n });\n }\n function toEditMap() {\n router.push({\n name: \"AdminStageMapUpdate\",\n params: { userId, estateId: estateId.value, stageId: stageId.value },\n });\n }\n function deleteMap() {\n store.dispatch(\"stage/deleteStageMap\", map.value._id).then(() => {\n getMap();\n });\n }\n\n function onLot(lot: LotMapInterface) {\n trackLotClickEvent(lot);\n\n if (props.builderView) {\n emits(\"selectLot\", lot);\n return;\n }\n\n if (props.role === UserRoles.LANDOWNER) {\n router.push({\n name: \"LotActions\",\n params: {\n stageId: stageId.value,\n lotId: lot.lotId._id,\n },\n });\n return;\n }\n\n if (props.role === UserRoles.SUPER_ADMIN) {\n router.push({\n name: \"AdminLot\",\n params: {\n userId,\n estateId: estateId.value,\n stageId: stageId.value,\n lotId: lot.lotId._id,\n },\n });\n return;\n }\n\n if (\n props.role === UserRoles.CUSTOMER &&\n lot.lotId.status === LotStatus.AVAILABLE\n ) {\n emits(\"reserve\", lot);\n }\n }\n\n function back() {\n const embed = props.isEmbedded.toString();\n router.replace({\n path: router.currentRoute.value.path,\n query: { embed, businessId: props.businessId },\n });\n }\n\n const showAvailableLotsPopUp = () => {\n setTimeout(() => {\n availableLotsPopUpShow.value = true;\n }, 3000);\n };\n\n const getClassForCustomer = (lot: LotMapInterface): LotStatus => {\n if (isNotClickableForBuilderView(lot)) {\n return LotStatus.PRE_CONTRACT;\n }\n if (lot.lotId?.status === LotStatus.OFFLINE) {\n return lot.lotId?.offlineSale?.salePhase as unknown as LotStatus;\n }\n if (\n lot.lotId?.status === LotStatus.HOLD ||\n lot.lotId?.status === LotStatus.PRE_CONTRACT\n ) {\n return LotStatus.HOLD;\n }\n return lot.lotId?.status;\n };\n const trackLotClickEvent = (lot: LotMapInterface) => {\n eventTracking({\n actionsName: EventActionName.LOT_ON_CLICK,\n eventByCategory: EventByCategory.ON_CLICK,\n eventLabelByName: EventLabelByName.CLICK_LOT,\n eventByAction: EventByAction.CLICK,\n estateById: estateId.value,\n stageById: stageId.value,\n stageTitle: lot.stageId.title,\n lotById: lot.lotId._id,\n lotTitle: lot.lotId.title,\n });\n };\n\n const isDragging = ref(false);\n const svgStartPosition = ref({ x: 0, y: 0 });\n const svgStartScrollPosition = ref({ x: 0, y: 0 });\n const svgContainerMap = ref();\n\n const startDragging = (event: MouseEvent) => {\n if (props.zoom !== 1) {\n isDragging.value = true;\n svgStartPosition.value = { x: event.clientX, y: event.clientY };\n svgStartScrollPosition.value = {\n x: svgContainerMap.value.scrollLeft,\n y: svgContainerMap.value.scrollTop,\n };\n svgContainerMap.value.style.cursor = \"grabbing\";\n }\n };\n const handleDragging = (event: MouseEvent) => {\n event.preventDefault();\n if (isDragging.value) {\n const deltaX = event.clientX - svgStartPosition.value.x;\n const deltaY = event.clientY - svgStartPosition.value.y;\n svgContainerMap.value.scrollLeft =\n svgStartScrollPosition.value.x - deltaX;\n svgContainerMap.value.scrollTop = svgStartScrollPosition.value.y - deltaY;\n }\n };\n const stopDragging = () => {\n if (props.zoom !== 1) {\n svgContainerMap.value.style.cursor = \"grab\";\n } else {\n svgContainerMap.value.style.cursor = \"default\";\n }\n\n isDragging.value = false;\n };\n\n onMounted(() => {\n const mc = new Hammer(svgContainerMap.value);\n\n mc.get(\"pinch\").set({ enable: true });\n mc.on(\"pinch\", (event: HammerInput) => {\n pinchZoomHammer(event.scale, (delta) => emits(\"updateZoom\", delta));\n });\n\n mc.on(\"panstart\", (event: HammerInput) => {\n svgStartPosition.value = { x: event.center.x, y: event.center.y };\n svgStartScrollPosition.value = {\n x: svgContainerMap.value.scrollLeft,\n y: svgContainerMap.value.scrollTop,\n };\n });\n\n mc.on(\"pan\", (event: HammerInput) => {\n const deltaX = event.center.x - svgStartPosition.value.x;\n const deltaY = event.center.y - svgStartPosition.value.y;\n\n svgContainerMap.value.scrollLeft =\n svgStartScrollPosition.value.x - deltaX;\n svgContainerMap.value.scrollTop = svgStartScrollPosition.value.y - deltaY;\n });\n });\n\nconst __returned__ = { store, props, emits, userId, mobileLayoutWidth, availableLotsPopUpShow, isDesktop, estateId, stageId, map, lots, showConfirmDeleteModal, getAvailableLots, lotOnClick, lotSidePanelHover, getEstateId, isEmbeddedDesktop, getSvgItemWrClasses, getSvgItemPathClasses, getSvgTooltipText, getSvgItemStatusPathClasses, onSidePanelLotHover, onSidePanelLotClick, isNotClickableForBuilderView, handleLotClickIfClickable, onLotBuilderHover, handleMouseMove, hoverLotId, onLotHover, onLotLeave, getTooltipText, onStage, toMasterplan, getMapWithLots, getMap, getLots, toCreateMap, toEditMap, deleteMap, onLot, back, showAvailableLotsPopUp, getClassForCustomer, trackLotClickEvent, isDragging, svgStartPosition, svgStartScrollPosition, svgContainerMap, startDragging, handleDragging, stopDragging, ConfirmDeleteModal, get router() { return router }, ref, onMounted, computed, nextTick, watch, get useStore() { return useStore }, get StageMapInterface() { return StageMapInterface }, get LotMapInterface() { return LotMapInterface }, get UserRoles() { return UserRoles }, get getLotCustomerMapStatusClass() { return getLotCustomerMapStatusClass }, get getLotStatusClass() { return getLotStatusClass }, get LotStatus() { return LotStatus }, get useIsDesktop() { return useIsDesktop }, StageNavMobile, get StageStatus() { return StageStatus }, get eventTracking() { return eventTracking }, get EventActionName() { return EventActionName }, get EventByAction() { return EventByAction }, get EventByCategory() { return EventByCategory }, get EventLabelByName() { return EventLabelByName }, get Hammer() { return Hammer }, get pinchZoomHammer() { return pinchZoomHammer }, MapSidePanel, InfoWithIcon, MapSideLegend, get LotInterface() { return LotInterface }, StageSvgMap }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./StageMap.vue?vue&type=template&id=ddcdb672&scoped=true&ts=true&lang=pug\"\nimport script from \"./StageMap.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./StageMap.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./StageMap.vue?vue&type=style&index=0&id=ddcdb672&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-ddcdb672\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, vModelText as _vModelText, normalizeClass as _normalizeClass, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, withModifiers as _withModifiers, withCtx as _withCtx, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-27f37551\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"modal-wrapper scroll-wrapper login-form-limited\" }\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"modal__title\" }, \"Reset your password\", -1))\nconst _hoisted_3 = { class: \"modal__description\" }\nconst _hoisted_4 = [\"onSubmit\"]\nconst _hoisted_5 = { class: \"form-group\" }\nconst _hoisted_6 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"label\" }, \"Email\", -1))\nconst _hoisted_7 = {\n key: 0,\n class: \"error\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"button\", { class: \"button primary large w-100\" }, \"Send reset password link\", -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createBlock($setup[\"Modal\"], {\n isOpen: $setup.props.isOpen,\n onClose: $setup.onClose,\n classes: \"reset-password-modal height-limited\"\n }, {\n content: _withCtx(() => [\n _createElementVNode(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"form\", {\n onSubmit: _withModifiers($setup.onSubmit, [\"prevent\"])\n }, [\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"label\", null, [\n _hoisted_6,\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input-large\", { 'input--error': $setup.v$.email.$error }]),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (($setup.form.email) = $event)),\n placeholder: \"Email\"\n }, null, 2), [\n [_vModelText, $setup.form.email]\n ])\n ]),\n ($setup.v$.email.$error || $setup.props.message)\n ? (_openBlock(), _createElementBlock(\"span\", _hoisted_7, _toDisplayString($setup.v$.email.$error ? $setup.v$.email.$errors[0].$message : $setup.props.message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _hoisted_8\n ], 40, _hoisted_4)\n ])\n ])\n ]),\n _: 1\n }, 8, [\"isOpen\"]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch } from \"vue\";\nimport Modal from \"@/components/ui/Modal.vue\";\nimport { email, required } from \"@vuelidate/validators\";\nimport { resetVuelidateErrors } from \"@/helpers/vuelidate\";\nimport useVuelidate from \"@vuelidate/core\";\n\ninterface Props {\n isOpen: boolean;\n message: string;\n isClearForm?: boolean;\n}\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ResetPasswordModal',\n props: {\n isOpen: { type: Boolean },\n message: {},\n isClearForm: { type: Boolean }\n },\n emits: [\"onSend\", \"close\"],\n setup(__props: any, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n\n\nconst form = ref({\n email: \"\",\n});\nconst rules = {\n email: { required, email, $autoDirty: false },\n};\nconst v$ = useVuelidate(rules, form);\n\nasync function onSubmit() {\n v$.value.$touch();\n const isNoErrors = await v$.value.$validate();\n if (!isNoErrors) return;\n emits(\"onSend\", form.value.email);\n}\n\nfunction clearForm() {\n resetVuelidateErrors(v$);\n form.value.email = \"\";\n}\n\nfunction onClose() {\n emits(\"close\");\n clearForm();\n}\n\nwatch(\n () => props.isClearForm,\n () => {\n if (props.isClearForm) clearForm();\n },\n { deep: true, immediate: true }\n);\n\nconst __returned__ = { emits, props, form, rules, v$, onSubmit, clearForm, onClose, ref, watch, Modal, get email() { return email }, get required() { return required }, get resetVuelidateErrors() { return resetVuelidateErrors }, get useVuelidate() { return useVuelidate } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./ResetPasswordModal.vue?vue&type=template&id=27f37551&scoped=true&ts=true&lang=pug\"\nimport script from \"./ResetPasswordModal.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./ResetPasswordModal.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./ResetPasswordModal.vue?vue&type=style&index=0&id=27f37551&lang=scss\"\nimport \"./ResetPasswordModal.vue?vue&type=style&index=1&id=27f37551&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-27f37551\"]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/facade-hamptons-single.1d4dc827.jpeg\";","import dayjs from \"dayjs\";\n\nexport function formatDate(date: string, format = \"D MMM YYYY\"): string {\n return date !== undefined && dayjs(date).isValid()\n ? dayjs(date).format(format)\n : \"-\";\n}\n\nexport function formatDateMonthYear(\n date: string | Date,\n format = \"MMM YYYY\"\n): string {\n return dayjs(date).format(format);\n}\nexport function formatDateMonthDayYear(date: Date): string {\n return dayjs(date).format(\"MMM D, YYYY\");\n}\nexport function formatDateDayMonthYear(date: Date): string {\n return dayjs(date).format(\"D MMM YYYY\");\n}\n\nexport function formatDateCalendar(date: Date): string {\n return dayjs(date).format(\"YYYY/M/D\");\n}\nexport function formatDateDayMonthYearWithTime(date: Date): string {\n return dayjs(date).format(\"D MMM YYYY, h:mm A\");\n}\n\nexport function formatDateYYYYMMDD(date: string | Date): string {\n return dayjs(date).format(\"YYYY-MM-DD\");\n}\n\nexport function formatDateToday(date: string | Date): string {\n return dayjs(date).format(\"DD MMMM YYYY\");\n}\n","export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./MapSidePanel.vue?vue&type=style&index=0&id=5ce7c444&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./BuilderLotDocuments.vue?vue&type=style&index=0&id=7b52f0cc&lang=scss&scoped=true\"","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, renderList as _renderList, Fragment as _Fragment, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-7b52f0cc\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"block\" }\nconst _hoisted_2 = {\n key: 0,\n class: \"title\"\n}\nconst _hoisted_3 = { class: \"document-row\" }\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"document-icon\" }, null, -1))\nconst _hoisted_5 = { class: \"document-name\" }\nconst _hoisted_6 = [\"onClick\"]\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"button-text\" }, \"Download\", -1))\nconst _hoisted_8 = [\n _hoisted_7\n]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, \"Documents\"))\n : _createCommentVNode(\"\", true),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.props.documents, (document) => {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString($setup.getDocumentName(document.fileName)), 1),\n _createElementVNode(\"a\", {\n class: \"button download\",\n onClick: ($event: any) => ($setup.openPdf(document.link))\n }, _hoisted_8, 8, _hoisted_6)\n ]))\n }), 256))\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { useIsDesktop } from \"@/features/useIsDesktop\";\nimport { getDocumentName } from \"@/helpers/documents\";\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BuilderLotDocuments',\n props: {\n documents: {\n type: Array,\n required: true,\n },\n},\n setup(__props, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n\n\nconst { isDesktop } = useIsDesktop();\n\nconst openPdf = (link: string) => {\n window.open(link, '_blank');\n}\n\n\nconst __returned__ = { props, isDesktop, openPdf, get useIsDesktop() { return useIsDesktop }, get getDocumentName() { return getDocumentName } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./BuilderLotDocuments.vue?vue&type=template&id=7b52f0cc&scoped=true&ts=true&lang=pug\"\nimport script from \"./BuilderLotDocuments.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./BuilderLotDocuments.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./BuilderLotDocuments.vue?vue&type=style&index=0&id=7b52f0cc&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-7b52f0cc\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./LandingFooter.vue?vue&type=style&index=0&id=9890b344&lang=scss&scoped=true\"","import { Ref } from \"vue\";\ninterface ReturnInterface {\n onTouchstart: (event: TouchEvent) => void;\n onTouchMove: (event: TouchEvent) => void;\n onTouchEnd: (event: TouchEvent) => void;\n onTouchCancel: () => void;\n}\nexport const useScrollDragMobile = (\n elementRef: Ref\n): ReturnInterface => {\n let isDown = false;\n let startX = 0;\n let startY = 0;\n let scrollLeft = 0;\n let scrollTop = 0;\n const onTouchstart = ({ touches }: TouchEvent) => {\n if (!elementRef.value) return;\n\n const touch = touches[0];\n const rect = elementRef.value.getBoundingClientRect();\n\n isDown = true;\n startX = touch.pageX - rect.left;\n startY = touch.pageY - rect.top;\n scrollLeft = elementRef.value.scrollLeft;\n scrollTop = elementRef.value.scrollTop;\n };\n\n const onTouchEnd = ({ changedTouches }: TouchEvent) => {\n if (!elementRef.value) return;\n\n isDown = false;\n const touch = changedTouches[0];\n const clickedElement = document.elementFromPoint(\n touch.clientX,\n touch.clientY\n ) as HTMLElement;\n\n if (clickedElement) {\n clickedElement.click();\n }\n };\n\n const onTouchCancel = () => {\n isDown = false;\n };\n\n const onTouchMove = ({ touches }: TouchEvent) => {\n if (!isDown || !elementRef.value) return;\n\n const { pageX, pageY } = touches[0];\n const { left, top } = elementRef.value.getBoundingClientRect();\n\n const x = pageX - left;\n const y = pageY - top;\n\n const walkX = (x - startX) * 1;\n const walkY = (y - startY) * 1;\n\n elementRef.value.scrollLeft = scrollLeft - walkX;\n elementRef.value.scrollTop = scrollTop - walkY;\n };\n return {\n onTouchstart,\n onTouchMove,\n onTouchEnd,\n onTouchCancel,\n };\n};\n","import { EventTracking } from \"@/types/EventTracking\";\nimport { useGtag } from \"vue-gtag-next\";\n\nconst { event } = useGtag();\nexport const eventTracking = (data: EventTracking): void => {\n const {\n actionsName,\n eventByCategory,\n eventLabelByName,\n eventByAction,\n estateById = null,\n stageById = null,\n stageTitle = null,\n lotById = null,\n lotTitle = null,\n houseDesignId = null,\n houseDesignName = null,\n } = data;\n\n event(actionsName, {\n event_category: eventByCategory,\n event_label: eventLabelByName,\n value: 1,\n event_action: eventByAction,\n estate_id: estateById,\n stage_id: stageById,\n stage_title: stageTitle,\n lot_id: lotById,\n lot_title: lotTitle,\n house_design_id: houseDesignId,\n house_design_name: houseDesignName,\n });\n};\n","export * from \"-!../../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ResetPasswordModal.vue?vue&type=style&index=1&id=27f37551&lang=scss&scoped=true\"","var map = {\n\t\"./1_23.09.27_2138_S18ASP_R1_01.jpg\": \"2228\",\n\t\"./2_23.09.14_2131_S19ASQN_R2_01.jpg\": \"1891\",\n\t\"./3_23.02.13_S3ASC_R2_01 (2).jpg\": \"00ce\",\n\t\"./4_21.06.02_Series96_AnnixHomes_R2_01 (1).jpg\": \"473e\",\n\t\"./5_21.06.02_Series96_AnnixHomes_R4_01.jpg\": \"38a7\",\n\t\"./facade-classic-double.jpeg\": \"864c\",\n\t\"./facade-classic-single.jpeg\": \"503c\",\n\t\"./facade-contemporary-double.png\": \"75ac\",\n\t\"./facade-contemporary-single.jpeg\": \"bcee\",\n\t\"./facade-hamptons-double.jpeg\": \"e59b\",\n\t\"./facade-hamptons-single.jpeg\": \"95e4\",\n\t\"./image-question-builder.jpg\": \"4912\"\n};\n\n\nfunction webpackContext(req) {\n\tvar id = webpackContextResolve(req);\n\treturn __webpack_require__(id);\n}\nfunction webpackContextResolve(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\te.code = 'MODULE_NOT_FOUND';\n\t\tthrow e;\n\t}\n\treturn map[req];\n}\nwebpackContext.keys = function webpackContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackContext.resolve = webpackContextResolve;\nmodule.exports = webpackContext;\nwebpackContext.id = \"b2e7\";","import { createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, renderList as _renderList, Fragment as _Fragment, toDisplayString as _toDisplayString, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-505a7cd7\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = { class: \"content-information\" }\nconst _hoisted_2 = { class: \"content-title\" }\nconst _hoisted_3 = {\n key: 0,\n class: \"separate-text\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"title\" }, \"Project Sales &\", -1))\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"title\" }, \"Marketing\", -1))\nconst _hoisted_6 = [\n _hoisted_4,\n _hoisted_5\n]\nconst _hoisted_7 = {\n key: 1,\n class: \"separate-text\"\n}\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"title\" }, \"Project Sales & Marketing\", -1))\nconst _hoisted_9 = [\n _hoisted_8\n]\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h3\", { class: \"pay\" }, \"Pay per lot\", -1))\nconst _hoisted_11 = {\n key: 2,\n class: \"content-subtitle\"\n}\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"subtitle\" }, \"You focus on developing.\", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"subtitle\" }, \"We’ll take care of the\", -1))\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"subtitle\" }, \"sales.\", -1))\nconst _hoisted_15 = [\n _hoisted_12,\n _hoisted_13,\n _hoisted_14\n]\nconst _hoisted_16 = {\n key: 3,\n class: \"content-subtitle\"\n}\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"subtitle\" }, \"You focus on developing. We’ll take care of the sales.\", -1))\nconst _hoisted_18 = [\n _hoisted_17\n]\nconst _hoisted_19 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"line\" }, null, -1))\nconst _hoisted_20 = { class: \"content-details\" }\nconst _hoisted_21 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h2\", { class: \"title\" }, \"Sell your land faster. Save on agent fees.\", -1))\nconst _hoisted_22 = { class: \"features\" }\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"content-checkmark\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_24 = { class: \"feature-name\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, _hoisted_6))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _hoisted_9)),\n _hoisted_10,\n ($setup.isDesktop)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_11, _hoisted_15))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, _hoisted_18)),\n _createVNode($setup[\"ContactUsLink\"], {\n class: \"request\",\n animationName: \"''\",\n toContactUsForm: false,\n text: 'Book a call',\n isButtonCallBackModal: true,\n linkCalendly: $setup.CALENDLY_PROJECT_SALES_MARKETING_LINK\n }, null, 8, [\"linkCalendly\"])\n ]),\n _hoisted_19,\n _createElementVNode(\"div\", _hoisted_20, [\n _hoisted_21,\n _createElementVNode(\"ul\", _hoisted_22, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($props.features, (feature) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: feature }, [\n _hoisted_23,\n _createElementVNode(\"span\", _hoisted_24, _toDisplayString(feature), 1)\n ]))\n }), 128))\n ])\n ])\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport ContactUsLink from \"@/components/landing/ContactUsLink.vue\";\n import { CALENDLY_PROJECT_SALES_MARKETING_LINK } from \"@/constants/calendlyLinks\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n\n const MIN_DESKTOP_WIDTH = 992;\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'ProjectSalesAndMarketing',\n props: {\n features: {}\n },\n setup(__props: any, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n const { isDesktop } = useIsDesktop(MIN_DESKTOP_WIDTH);\n\n \n\nconst __returned__ = { MIN_DESKTOP_WIDTH, isDesktop, props, ContactUsLink, get CALENDLY_PROJECT_SALES_MARKETING_LINK() { return CALENDLY_PROJECT_SALES_MARKETING_LINK }, get useIsDesktop() { return useIsDesktop } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./ProjectSalesAndMarketing.vue?vue&type=template&id=505a7cd7&scoped=true&ts=true&lang=pug\"\nimport script from \"./ProjectSalesAndMarketing.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ProjectSalesAndMarketing.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./ProjectSalesAndMarketing.vue?vue&type=style&index=0&id=505a7cd7&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-505a7cd7\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./BuilderDropdownAndActions.vue?vue&type=style&index=0&id=4f4ac167&lang=scss&scoped=true\"","export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./EstateMap.vue?vue&type=style&index=0&id=e7cf310c&lang=scss&scoped=true\"","module.exports = __webpack_public_path__ + \"img/facade-contemporary-single.3ddde90e.jpeg\";","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./InfoWithIcon.vue?vue&type=style&index=0&id=4cef99d7&lang=scss&scoped=true\"","'use strict';\nvar $ = require('../internals/export');\nvar global = require('../internals/global');\nvar defineBuiltInAccessor = require('../internals/define-built-in-accessor');\nvar DESCRIPTORS = require('../internals/descriptors');\n\nvar $TypeError = TypeError;\n// eslint-disable-next-line es/no-object-defineproperty -- safe\nvar defineProperty = Object.defineProperty;\nvar INCORRECT_VALUE = global.self !== global;\n\n// `self` getter\n// https://html.spec.whatwg.org/multipage/window-object.html#dom-self\ntry {\n if (DESCRIPTORS) {\n // eslint-disable-next-line es/no-object-getownpropertydescriptor -- safe\n var descriptor = Object.getOwnPropertyDescriptor(global, 'self');\n // some engines have `self`, but with incorrect descriptor\n // https://github.com/denoland/deno/issues/15765\n if (INCORRECT_VALUE || !descriptor || !descriptor.get || !descriptor.enumerable) {\n defineBuiltInAccessor(global, 'self', {\n get: function self() {\n return global;\n },\n set: function self(value) {\n if (this !== global) throw $TypeError('Illegal invocation');\n defineProperty(global, 'self', {\n value: value,\n writable: true,\n configurable: true,\n enumerable: true\n });\n },\n configurable: true,\n enumerable: true\n });\n }\n } else $({ global: true, simple: true, forced: INCORRECT_VALUE }, {\n self: global\n });\n} catch (error) { /* empty */ }\n","/*! Hammer.JS - v2.0.7 - 2016-04-22\n * http://hammerjs.github.io/\n *\n * Copyright (c) 2016 Jorik Tangelder;\n * Licensed under the MIT license */\n(function(window, document, exportName, undefined) {\n 'use strict';\n\nvar VENDOR_PREFIXES = ['', 'webkit', 'Moz', 'MS', 'ms', 'o'];\nvar TEST_ELEMENT = document.createElement('div');\n\nvar TYPE_FUNCTION = 'function';\n\nvar round = Math.round;\nvar abs = Math.abs;\nvar now = Date.now;\n\n/**\n * set a timeout with a given scope\n * @param {Function} fn\n * @param {Number} timeout\n * @param {Object} context\n * @returns {number}\n */\nfunction setTimeoutContext(fn, timeout, context) {\n return setTimeout(bindFn(fn, context), timeout);\n}\n\n/**\n * if the argument is an array, we want to execute the fn on each entry\n * if it aint an array we don't want to do a thing.\n * this is used by all the methods that accept a single and array argument.\n * @param {*|Array} arg\n * @param {String} fn\n * @param {Object} [context]\n * @returns {Boolean}\n */\nfunction invokeArrayArg(arg, fn, context) {\n if (Array.isArray(arg)) {\n each(arg, context[fn], context);\n return true;\n }\n return false;\n}\n\n/**\n * walk objects and arrays\n * @param {Object} obj\n * @param {Function} iterator\n * @param {Object} context\n */\nfunction each(obj, iterator, context) {\n var i;\n\n if (!obj) {\n return;\n }\n\n if (obj.forEach) {\n obj.forEach(iterator, context);\n } else if (obj.length !== undefined) {\n i = 0;\n while (i < obj.length) {\n iterator.call(context, obj[i], i, obj);\n i++;\n }\n } else {\n for (i in obj) {\n obj.hasOwnProperty(i) && iterator.call(context, obj[i], i, obj);\n }\n }\n}\n\n/**\n * wrap a method with a deprecation warning and stack trace\n * @param {Function} method\n * @param {String} name\n * @param {String} message\n * @returns {Function} A new function wrapping the supplied method.\n */\nfunction deprecate(method, name, message) {\n var deprecationMessage = 'DEPRECATED METHOD: ' + name + '\\n' + message + ' AT \\n';\n return function() {\n var e = new Error('get-stack-trace');\n var stack = e && e.stack ? e.stack.replace(/^[^\\(]+?[\\n$]/gm, '')\n .replace(/^\\s+at\\s+/gm, '')\n .replace(/^Object.\\s*\\(/gm, '{anonymous}()@') : 'Unknown Stack Trace';\n\n var log = window.console && (window.console.warn || window.console.log);\n if (log) {\n log.call(window.console, deprecationMessage, stack);\n }\n return method.apply(this, arguments);\n };\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} target\n * @param {...Object} objects_to_assign\n * @returns {Object} target\n */\nvar assign;\nif (typeof Object.assign !== 'function') {\n assign = function assign(target) {\n if (target === undefined || target === null) {\n throw new TypeError('Cannot convert undefined or null to object');\n }\n\n var output = Object(target);\n for (var index = 1; index < arguments.length; index++) {\n var source = arguments[index];\n if (source !== undefined && source !== null) {\n for (var nextKey in source) {\n if (source.hasOwnProperty(nextKey)) {\n output[nextKey] = source[nextKey];\n }\n }\n }\n }\n return output;\n };\n} else {\n assign = Object.assign;\n}\n\n/**\n * extend object.\n * means that properties in dest will be overwritten by the ones in src.\n * @param {Object} dest\n * @param {Object} src\n * @param {Boolean} [merge=false]\n * @returns {Object} dest\n */\nvar extend = deprecate(function extend(dest, src, merge) {\n var keys = Object.keys(src);\n var i = 0;\n while (i < keys.length) {\n if (!merge || (merge && dest[keys[i]] === undefined)) {\n dest[keys[i]] = src[keys[i]];\n }\n i++;\n }\n return dest;\n}, 'extend', 'Use `assign`.');\n\n/**\n * merge the values from src in the dest.\n * means that properties that exist in dest will not be overwritten by src\n * @param {Object} dest\n * @param {Object} src\n * @returns {Object} dest\n */\nvar merge = deprecate(function merge(dest, src) {\n return extend(dest, src, true);\n}, 'merge', 'Use `assign`.');\n\n/**\n * simple class inheritance\n * @param {Function} child\n * @param {Function} base\n * @param {Object} [properties]\n */\nfunction inherit(child, base, properties) {\n var baseP = base.prototype,\n childP;\n\n childP = child.prototype = Object.create(baseP);\n childP.constructor = child;\n childP._super = baseP;\n\n if (properties) {\n assign(childP, properties);\n }\n}\n\n/**\n * simple function bind\n * @param {Function} fn\n * @param {Object} context\n * @returns {Function}\n */\nfunction bindFn(fn, context) {\n return function boundFn() {\n return fn.apply(context, arguments);\n };\n}\n\n/**\n * let a boolean value also be a function that must return a boolean\n * this first item in args will be used as the context\n * @param {Boolean|Function} val\n * @param {Array} [args]\n * @returns {Boolean}\n */\nfunction boolOrFn(val, args) {\n if (typeof val == TYPE_FUNCTION) {\n return val.apply(args ? args[0] || undefined : undefined, args);\n }\n return val;\n}\n\n/**\n * use the val2 when val1 is undefined\n * @param {*} val1\n * @param {*} val2\n * @returns {*}\n */\nfunction ifUndefined(val1, val2) {\n return (val1 === undefined) ? val2 : val1;\n}\n\n/**\n * addEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction addEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.addEventListener(type, handler, false);\n });\n}\n\n/**\n * removeEventListener with multiple events at once\n * @param {EventTarget} target\n * @param {String} types\n * @param {Function} handler\n */\nfunction removeEventListeners(target, types, handler) {\n each(splitStr(types), function(type) {\n target.removeEventListener(type, handler, false);\n });\n}\n\n/**\n * find if a node is in the given parent\n * @method hasParent\n * @param {HTMLElement} node\n * @param {HTMLElement} parent\n * @return {Boolean} found\n */\nfunction hasParent(node, parent) {\n while (node) {\n if (node == parent) {\n return true;\n }\n node = node.parentNode;\n }\n return false;\n}\n\n/**\n * small indexOf wrapper\n * @param {String} str\n * @param {String} find\n * @returns {Boolean} found\n */\nfunction inStr(str, find) {\n return str.indexOf(find) > -1;\n}\n\n/**\n * split string on whitespace\n * @param {String} str\n * @returns {Array} words\n */\nfunction splitStr(str) {\n return str.trim().split(/\\s+/g);\n}\n\n/**\n * find if a array contains the object using indexOf or a simple polyFill\n * @param {Array} src\n * @param {String} find\n * @param {String} [findByKey]\n * @return {Boolean|Number} false when not found, or the index\n */\nfunction inArray(src, find, findByKey) {\n if (src.indexOf && !findByKey) {\n return src.indexOf(find);\n } else {\n var i = 0;\n while (i < src.length) {\n if ((findByKey && src[i][findByKey] == find) || (!findByKey && src[i] === find)) {\n return i;\n }\n i++;\n }\n return -1;\n }\n}\n\n/**\n * convert array-like objects to real arrays\n * @param {Object} obj\n * @returns {Array}\n */\nfunction toArray(obj) {\n return Array.prototype.slice.call(obj, 0);\n}\n\n/**\n * unique array with objects based on a key (like 'id') or just by the array's value\n * @param {Array} src [{id:1},{id:2},{id:1}]\n * @param {String} [key]\n * @param {Boolean} [sort=False]\n * @returns {Array} [{id:1},{id:2}]\n */\nfunction uniqueArray(src, key, sort) {\n var results = [];\n var values = [];\n var i = 0;\n\n while (i < src.length) {\n var val = key ? src[i][key] : src[i];\n if (inArray(values, val) < 0) {\n results.push(src[i]);\n }\n values[i] = val;\n i++;\n }\n\n if (sort) {\n if (!key) {\n results = results.sort();\n } else {\n results = results.sort(function sortUniqueArray(a, b) {\n return a[key] > b[key];\n });\n }\n }\n\n return results;\n}\n\n/**\n * get the prefixed property\n * @param {Object} obj\n * @param {String} property\n * @returns {String|Undefined} prefixed\n */\nfunction prefixed(obj, property) {\n var prefix, prop;\n var camelProp = property[0].toUpperCase() + property.slice(1);\n\n var i = 0;\n while (i < VENDOR_PREFIXES.length) {\n prefix = VENDOR_PREFIXES[i];\n prop = (prefix) ? prefix + camelProp : property;\n\n if (prop in obj) {\n return prop;\n }\n i++;\n }\n return undefined;\n}\n\n/**\n * get a unique id\n * @returns {number} uniqueId\n */\nvar _uniqueId = 1;\nfunction uniqueId() {\n return _uniqueId++;\n}\n\n/**\n * get the window object of an element\n * @param {HTMLElement} element\n * @returns {DocumentView|Window}\n */\nfunction getWindowForElement(element) {\n var doc = element.ownerDocument || element;\n return (doc.defaultView || doc.parentWindow || window);\n}\n\nvar MOBILE_REGEX = /mobile|tablet|ip(ad|hone|od)|android/i;\n\nvar SUPPORT_TOUCH = ('ontouchstart' in window);\nvar SUPPORT_POINTER_EVENTS = prefixed(window, 'PointerEvent') !== undefined;\nvar SUPPORT_ONLY_TOUCH = SUPPORT_TOUCH && MOBILE_REGEX.test(navigator.userAgent);\n\nvar INPUT_TYPE_TOUCH = 'touch';\nvar INPUT_TYPE_PEN = 'pen';\nvar INPUT_TYPE_MOUSE = 'mouse';\nvar INPUT_TYPE_KINECT = 'kinect';\n\nvar COMPUTE_INTERVAL = 25;\n\nvar INPUT_START = 1;\nvar INPUT_MOVE = 2;\nvar INPUT_END = 4;\nvar INPUT_CANCEL = 8;\n\nvar DIRECTION_NONE = 1;\nvar DIRECTION_LEFT = 2;\nvar DIRECTION_RIGHT = 4;\nvar DIRECTION_UP = 8;\nvar DIRECTION_DOWN = 16;\n\nvar DIRECTION_HORIZONTAL = DIRECTION_LEFT | DIRECTION_RIGHT;\nvar DIRECTION_VERTICAL = DIRECTION_UP | DIRECTION_DOWN;\nvar DIRECTION_ALL = DIRECTION_HORIZONTAL | DIRECTION_VERTICAL;\n\nvar PROPS_XY = ['x', 'y'];\nvar PROPS_CLIENT_XY = ['clientX', 'clientY'];\n\n/**\n * create new input type manager\n * @param {Manager} manager\n * @param {Function} callback\n * @returns {Input}\n * @constructor\n */\nfunction Input(manager, callback) {\n var self = this;\n this.manager = manager;\n this.callback = callback;\n this.element = manager.element;\n this.target = manager.options.inputTarget;\n\n // smaller wrapper around the handler, for the scope and the enabled state of the manager,\n // so when disabled the input events are completely bypassed.\n this.domHandler = function(ev) {\n if (boolOrFn(manager.options.enable, [manager])) {\n self.handler(ev);\n }\n };\n\n this.init();\n\n}\n\nInput.prototype = {\n /**\n * should handle the inputEvent data and trigger the callback\n * @virtual\n */\n handler: function() { },\n\n /**\n * bind the events\n */\n init: function() {\n this.evEl && addEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && addEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && addEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n },\n\n /**\n * unbind the events\n */\n destroy: function() {\n this.evEl && removeEventListeners(this.element, this.evEl, this.domHandler);\n this.evTarget && removeEventListeners(this.target, this.evTarget, this.domHandler);\n this.evWin && removeEventListeners(getWindowForElement(this.element), this.evWin, this.domHandler);\n }\n};\n\n/**\n * create new input type manager\n * called by the Manager constructor\n * @param {Hammer} manager\n * @returns {Input}\n */\nfunction createInputInstance(manager) {\n var Type;\n var inputClass = manager.options.inputClass;\n\n if (inputClass) {\n Type = inputClass;\n } else if (SUPPORT_POINTER_EVENTS) {\n Type = PointerEventInput;\n } else if (SUPPORT_ONLY_TOUCH) {\n Type = TouchInput;\n } else if (!SUPPORT_TOUCH) {\n Type = MouseInput;\n } else {\n Type = TouchMouseInput;\n }\n return new (Type)(manager, inputHandler);\n}\n\n/**\n * handle input events\n * @param {Manager} manager\n * @param {String} eventType\n * @param {Object} input\n */\nfunction inputHandler(manager, eventType, input) {\n var pointersLen = input.pointers.length;\n var changedPointersLen = input.changedPointers.length;\n var isFirst = (eventType & INPUT_START && (pointersLen - changedPointersLen === 0));\n var isFinal = (eventType & (INPUT_END | INPUT_CANCEL) && (pointersLen - changedPointersLen === 0));\n\n input.isFirst = !!isFirst;\n input.isFinal = !!isFinal;\n\n if (isFirst) {\n manager.session = {};\n }\n\n // source event is the normalized value of the domEvents\n // like 'touchstart, mouseup, pointerdown'\n input.eventType = eventType;\n\n // compute scale, rotation etc\n computeInputData(manager, input);\n\n // emit secret event\n manager.emit('hammer.input', input);\n\n manager.recognize(input);\n manager.session.prevInput = input;\n}\n\n/**\n * extend the data with some usable properties like scale, rotate, velocity etc\n * @param {Object} manager\n * @param {Object} input\n */\nfunction computeInputData(manager, input) {\n var session = manager.session;\n var pointers = input.pointers;\n var pointersLength = pointers.length;\n\n // store the first input to calculate the distance and direction\n if (!session.firstInput) {\n session.firstInput = simpleCloneInputData(input);\n }\n\n // to compute scale and rotation we need to store the multiple touches\n if (pointersLength > 1 && !session.firstMultiple) {\n session.firstMultiple = simpleCloneInputData(input);\n } else if (pointersLength === 1) {\n session.firstMultiple = false;\n }\n\n var firstInput = session.firstInput;\n var firstMultiple = session.firstMultiple;\n var offsetCenter = firstMultiple ? firstMultiple.center : firstInput.center;\n\n var center = input.center = getCenter(pointers);\n input.timeStamp = now();\n input.deltaTime = input.timeStamp - firstInput.timeStamp;\n\n input.angle = getAngle(offsetCenter, center);\n input.distance = getDistance(offsetCenter, center);\n\n computeDeltaXY(session, input);\n input.offsetDirection = getDirection(input.deltaX, input.deltaY);\n\n var overallVelocity = getVelocity(input.deltaTime, input.deltaX, input.deltaY);\n input.overallVelocityX = overallVelocity.x;\n input.overallVelocityY = overallVelocity.y;\n input.overallVelocity = (abs(overallVelocity.x) > abs(overallVelocity.y)) ? overallVelocity.x : overallVelocity.y;\n\n input.scale = firstMultiple ? getScale(firstMultiple.pointers, pointers) : 1;\n input.rotation = firstMultiple ? getRotation(firstMultiple.pointers, pointers) : 0;\n\n input.maxPointers = !session.prevInput ? input.pointers.length : ((input.pointers.length >\n session.prevInput.maxPointers) ? input.pointers.length : session.prevInput.maxPointers);\n\n computeIntervalInputData(session, input);\n\n // find the correct target\n var target = manager.element;\n if (hasParent(input.srcEvent.target, target)) {\n target = input.srcEvent.target;\n }\n input.target = target;\n}\n\nfunction computeDeltaXY(session, input) {\n var center = input.center;\n var offset = session.offsetDelta || {};\n var prevDelta = session.prevDelta || {};\n var prevInput = session.prevInput || {};\n\n if (input.eventType === INPUT_START || prevInput.eventType === INPUT_END) {\n prevDelta = session.prevDelta = {\n x: prevInput.deltaX || 0,\n y: prevInput.deltaY || 0\n };\n\n offset = session.offsetDelta = {\n x: center.x,\n y: center.y\n };\n }\n\n input.deltaX = prevDelta.x + (center.x - offset.x);\n input.deltaY = prevDelta.y + (center.y - offset.y);\n}\n\n/**\n * velocity is calculated every x ms\n * @param {Object} session\n * @param {Object} input\n */\nfunction computeIntervalInputData(session, input) {\n var last = session.lastInterval || input,\n deltaTime = input.timeStamp - last.timeStamp,\n velocity, velocityX, velocityY, direction;\n\n if (input.eventType != INPUT_CANCEL && (deltaTime > COMPUTE_INTERVAL || last.velocity === undefined)) {\n var deltaX = input.deltaX - last.deltaX;\n var deltaY = input.deltaY - last.deltaY;\n\n var v = getVelocity(deltaTime, deltaX, deltaY);\n velocityX = v.x;\n velocityY = v.y;\n velocity = (abs(v.x) > abs(v.y)) ? v.x : v.y;\n direction = getDirection(deltaX, deltaY);\n\n session.lastInterval = input;\n } else {\n // use latest velocity info if it doesn't overtake a minimum period\n velocity = last.velocity;\n velocityX = last.velocityX;\n velocityY = last.velocityY;\n direction = last.direction;\n }\n\n input.velocity = velocity;\n input.velocityX = velocityX;\n input.velocityY = velocityY;\n input.direction = direction;\n}\n\n/**\n * create a simple clone from the input used for storage of firstInput and firstMultiple\n * @param {Object} input\n * @returns {Object} clonedInputData\n */\nfunction simpleCloneInputData(input) {\n // make a simple copy of the pointers because we will get a reference if we don't\n // we only need clientXY for the calculations\n var pointers = [];\n var i = 0;\n while (i < input.pointers.length) {\n pointers[i] = {\n clientX: round(input.pointers[i].clientX),\n clientY: round(input.pointers[i].clientY)\n };\n i++;\n }\n\n return {\n timeStamp: now(),\n pointers: pointers,\n center: getCenter(pointers),\n deltaX: input.deltaX,\n deltaY: input.deltaY\n };\n}\n\n/**\n * get the center of all the pointers\n * @param {Array} pointers\n * @return {Object} center contains `x` and `y` properties\n */\nfunction getCenter(pointers) {\n var pointersLength = pointers.length;\n\n // no need to loop when only one touch\n if (pointersLength === 1) {\n return {\n x: round(pointers[0].clientX),\n y: round(pointers[0].clientY)\n };\n }\n\n var x = 0, y = 0, i = 0;\n while (i < pointersLength) {\n x += pointers[i].clientX;\n y += pointers[i].clientY;\n i++;\n }\n\n return {\n x: round(x / pointersLength),\n y: round(y / pointersLength)\n };\n}\n\n/**\n * calculate the velocity between two points. unit is in px per ms.\n * @param {Number} deltaTime\n * @param {Number} x\n * @param {Number} y\n * @return {Object} velocity `x` and `y`\n */\nfunction getVelocity(deltaTime, x, y) {\n return {\n x: x / deltaTime || 0,\n y: y / deltaTime || 0\n };\n}\n\n/**\n * get the direction between two points\n * @param {Number} x\n * @param {Number} y\n * @return {Number} direction\n */\nfunction getDirection(x, y) {\n if (x === y) {\n return DIRECTION_NONE;\n }\n\n if (abs(x) >= abs(y)) {\n return x < 0 ? DIRECTION_LEFT : DIRECTION_RIGHT;\n }\n return y < 0 ? DIRECTION_UP : DIRECTION_DOWN;\n}\n\n/**\n * calculate the absolute distance between two points\n * @param {Object} p1 {x, y}\n * @param {Object} p2 {x, y}\n * @param {Array} [props] containing x and y keys\n * @return {Number} distance\n */\nfunction getDistance(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n\n return Math.sqrt((x * x) + (y * y));\n}\n\n/**\n * calculate the angle between two coordinates\n * @param {Object} p1\n * @param {Object} p2\n * @param {Array} [props] containing x and y keys\n * @return {Number} angle\n */\nfunction getAngle(p1, p2, props) {\n if (!props) {\n props = PROPS_XY;\n }\n var x = p2[props[0]] - p1[props[0]],\n y = p2[props[1]] - p1[props[1]];\n return Math.atan2(y, x) * 180 / Math.PI;\n}\n\n/**\n * calculate the rotation degrees between two pointersets\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} rotation\n */\nfunction getRotation(start, end) {\n return getAngle(end[1], end[0], PROPS_CLIENT_XY) + getAngle(start[1], start[0], PROPS_CLIENT_XY);\n}\n\n/**\n * calculate the scale factor between two pointersets\n * no scale is 1, and goes down to 0 when pinched together, and bigger when pinched out\n * @param {Array} start array of pointers\n * @param {Array} end array of pointers\n * @return {Number} scale\n */\nfunction getScale(start, end) {\n return getDistance(end[0], end[1], PROPS_CLIENT_XY) / getDistance(start[0], start[1], PROPS_CLIENT_XY);\n}\n\nvar MOUSE_INPUT_MAP = {\n mousedown: INPUT_START,\n mousemove: INPUT_MOVE,\n mouseup: INPUT_END\n};\n\nvar MOUSE_ELEMENT_EVENTS = 'mousedown';\nvar MOUSE_WINDOW_EVENTS = 'mousemove mouseup';\n\n/**\n * Mouse events input\n * @constructor\n * @extends Input\n */\nfunction MouseInput() {\n this.evEl = MOUSE_ELEMENT_EVENTS;\n this.evWin = MOUSE_WINDOW_EVENTS;\n\n this.pressed = false; // mousedown state\n\n Input.apply(this, arguments);\n}\n\ninherit(MouseInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function MEhandler(ev) {\n var eventType = MOUSE_INPUT_MAP[ev.type];\n\n // on start we want to have the left mouse button down\n if (eventType & INPUT_START && ev.button === 0) {\n this.pressed = true;\n }\n\n if (eventType & INPUT_MOVE && ev.which !== 1) {\n eventType = INPUT_END;\n }\n\n // mouse must be down\n if (!this.pressed) {\n return;\n }\n\n if (eventType & INPUT_END) {\n this.pressed = false;\n }\n\n this.callback(this.manager, eventType, {\n pointers: [ev],\n changedPointers: [ev],\n pointerType: INPUT_TYPE_MOUSE,\n srcEvent: ev\n });\n }\n});\n\nvar POINTER_INPUT_MAP = {\n pointerdown: INPUT_START,\n pointermove: INPUT_MOVE,\n pointerup: INPUT_END,\n pointercancel: INPUT_CANCEL,\n pointerout: INPUT_CANCEL\n};\n\n// in IE10 the pointer types is defined as an enum\nvar IE10_POINTER_TYPE_ENUM = {\n 2: INPUT_TYPE_TOUCH,\n 3: INPUT_TYPE_PEN,\n 4: INPUT_TYPE_MOUSE,\n 5: INPUT_TYPE_KINECT // see https://twitter.com/jacobrossi/status/480596438489890816\n};\n\nvar POINTER_ELEMENT_EVENTS = 'pointerdown';\nvar POINTER_WINDOW_EVENTS = 'pointermove pointerup pointercancel';\n\n// IE10 has prefixed support, and case-sensitive\nif (window.MSPointerEvent && !window.PointerEvent) {\n POINTER_ELEMENT_EVENTS = 'MSPointerDown';\n POINTER_WINDOW_EVENTS = 'MSPointerMove MSPointerUp MSPointerCancel';\n}\n\n/**\n * Pointer events input\n * @constructor\n * @extends Input\n */\nfunction PointerEventInput() {\n this.evEl = POINTER_ELEMENT_EVENTS;\n this.evWin = POINTER_WINDOW_EVENTS;\n\n Input.apply(this, arguments);\n\n this.store = (this.manager.session.pointerEvents = []);\n}\n\ninherit(PointerEventInput, Input, {\n /**\n * handle mouse events\n * @param {Object} ev\n */\n handler: function PEhandler(ev) {\n var store = this.store;\n var removePointer = false;\n\n var eventTypeNormalized = ev.type.toLowerCase().replace('ms', '');\n var eventType = POINTER_INPUT_MAP[eventTypeNormalized];\n var pointerType = IE10_POINTER_TYPE_ENUM[ev.pointerType] || ev.pointerType;\n\n var isTouch = (pointerType == INPUT_TYPE_TOUCH);\n\n // get index of the event in the store\n var storeIndex = inArray(store, ev.pointerId, 'pointerId');\n\n // start and mouse must be down\n if (eventType & INPUT_START && (ev.button === 0 || isTouch)) {\n if (storeIndex < 0) {\n store.push(ev);\n storeIndex = store.length - 1;\n }\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n removePointer = true;\n }\n\n // it not found, so the pointer hasn't been down (so it's probably a hover)\n if (storeIndex < 0) {\n return;\n }\n\n // update the event in the store\n store[storeIndex] = ev;\n\n this.callback(this.manager, eventType, {\n pointers: store,\n changedPointers: [ev],\n pointerType: pointerType,\n srcEvent: ev\n });\n\n if (removePointer) {\n // remove from the store\n store.splice(storeIndex, 1);\n }\n }\n});\n\nvar SINGLE_TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar SINGLE_TOUCH_TARGET_EVENTS = 'touchstart';\nvar SINGLE_TOUCH_WINDOW_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Touch events input\n * @constructor\n * @extends Input\n */\nfunction SingleTouchInput() {\n this.evTarget = SINGLE_TOUCH_TARGET_EVENTS;\n this.evWin = SINGLE_TOUCH_WINDOW_EVENTS;\n this.started = false;\n\n Input.apply(this, arguments);\n}\n\ninherit(SingleTouchInput, Input, {\n handler: function TEhandler(ev) {\n var type = SINGLE_TOUCH_INPUT_MAP[ev.type];\n\n // should we handle the touch events?\n if (type === INPUT_START) {\n this.started = true;\n }\n\n if (!this.started) {\n return;\n }\n\n var touches = normalizeSingleTouches.call(this, ev, type);\n\n // when done, reset the started state\n if (type & (INPUT_END | INPUT_CANCEL) && touches[0].length - touches[1].length === 0) {\n this.started = false;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction normalizeSingleTouches(ev, type) {\n var all = toArray(ev.touches);\n var changed = toArray(ev.changedTouches);\n\n if (type & (INPUT_END | INPUT_CANCEL)) {\n all = uniqueArray(all.concat(changed), 'identifier', true);\n }\n\n return [all, changed];\n}\n\nvar TOUCH_INPUT_MAP = {\n touchstart: INPUT_START,\n touchmove: INPUT_MOVE,\n touchend: INPUT_END,\n touchcancel: INPUT_CANCEL\n};\n\nvar TOUCH_TARGET_EVENTS = 'touchstart touchmove touchend touchcancel';\n\n/**\n * Multi-user touch events input\n * @constructor\n * @extends Input\n */\nfunction TouchInput() {\n this.evTarget = TOUCH_TARGET_EVENTS;\n this.targetIds = {};\n\n Input.apply(this, arguments);\n}\n\ninherit(TouchInput, Input, {\n handler: function MTEhandler(ev) {\n var type = TOUCH_INPUT_MAP[ev.type];\n var touches = getTouches.call(this, ev, type);\n if (!touches) {\n return;\n }\n\n this.callback(this.manager, type, {\n pointers: touches[0],\n changedPointers: touches[1],\n pointerType: INPUT_TYPE_TOUCH,\n srcEvent: ev\n });\n }\n});\n\n/**\n * @this {TouchInput}\n * @param {Object} ev\n * @param {Number} type flag\n * @returns {undefined|Array} [all, changed]\n */\nfunction getTouches(ev, type) {\n var allTouches = toArray(ev.touches);\n var targetIds = this.targetIds;\n\n // when there is only one touch, the process can be simplified\n if (type & (INPUT_START | INPUT_MOVE) && allTouches.length === 1) {\n targetIds[allTouches[0].identifier] = true;\n return [allTouches, allTouches];\n }\n\n var i,\n targetTouches,\n changedTouches = toArray(ev.changedTouches),\n changedTargetTouches = [],\n target = this.target;\n\n // get target touches from touches\n targetTouches = allTouches.filter(function(touch) {\n return hasParent(touch.target, target);\n });\n\n // collect touches\n if (type === INPUT_START) {\n i = 0;\n while (i < targetTouches.length) {\n targetIds[targetTouches[i].identifier] = true;\n i++;\n }\n }\n\n // filter changed touches to only contain touches that exist in the collected target ids\n i = 0;\n while (i < changedTouches.length) {\n if (targetIds[changedTouches[i].identifier]) {\n changedTargetTouches.push(changedTouches[i]);\n }\n\n // cleanup removed touches\n if (type & (INPUT_END | INPUT_CANCEL)) {\n delete targetIds[changedTouches[i].identifier];\n }\n i++;\n }\n\n if (!changedTargetTouches.length) {\n return;\n }\n\n return [\n // merge targetTouches with changedTargetTouches so it contains ALL touches, including 'end' and 'cancel'\n uniqueArray(targetTouches.concat(changedTargetTouches), 'identifier', true),\n changedTargetTouches\n ];\n}\n\n/**\n * Combined touch and mouse input\n *\n * Touch has a higher priority then mouse, and while touching no mouse events are allowed.\n * This because touch devices also emit mouse events while doing a touch.\n *\n * @constructor\n * @extends Input\n */\n\nvar DEDUP_TIMEOUT = 2500;\nvar DEDUP_DISTANCE = 25;\n\nfunction TouchMouseInput() {\n Input.apply(this, arguments);\n\n var handler = bindFn(this.handler, this);\n this.touch = new TouchInput(this.manager, handler);\n this.mouse = new MouseInput(this.manager, handler);\n\n this.primaryTouch = null;\n this.lastTouches = [];\n}\n\ninherit(TouchMouseInput, Input, {\n /**\n * handle mouse and touch events\n * @param {Hammer} manager\n * @param {String} inputEvent\n * @param {Object} inputData\n */\n handler: function TMEhandler(manager, inputEvent, inputData) {\n var isTouch = (inputData.pointerType == INPUT_TYPE_TOUCH),\n isMouse = (inputData.pointerType == INPUT_TYPE_MOUSE);\n\n if (isMouse && inputData.sourceCapabilities && inputData.sourceCapabilities.firesTouchEvents) {\n return;\n }\n\n // when we're in a touch event, record touches to de-dupe synthetic mouse event\n if (isTouch) {\n recordTouches.call(this, inputEvent, inputData);\n } else if (isMouse && isSyntheticEvent.call(this, inputData)) {\n return;\n }\n\n this.callback(manager, inputEvent, inputData);\n },\n\n /**\n * remove the event listeners\n */\n destroy: function destroy() {\n this.touch.destroy();\n this.mouse.destroy();\n }\n});\n\nfunction recordTouches(eventType, eventData) {\n if (eventType & INPUT_START) {\n this.primaryTouch = eventData.changedPointers[0].identifier;\n setLastTouch.call(this, eventData);\n } else if (eventType & (INPUT_END | INPUT_CANCEL)) {\n setLastTouch.call(this, eventData);\n }\n}\n\nfunction setLastTouch(eventData) {\n var touch = eventData.changedPointers[0];\n\n if (touch.identifier === this.primaryTouch) {\n var lastTouch = {x: touch.clientX, y: touch.clientY};\n this.lastTouches.push(lastTouch);\n var lts = this.lastTouches;\n var removeLastTouch = function() {\n var i = lts.indexOf(lastTouch);\n if (i > -1) {\n lts.splice(i, 1);\n }\n };\n setTimeout(removeLastTouch, DEDUP_TIMEOUT);\n }\n}\n\nfunction isSyntheticEvent(eventData) {\n var x = eventData.srcEvent.clientX, y = eventData.srcEvent.clientY;\n for (var i = 0; i < this.lastTouches.length; i++) {\n var t = this.lastTouches[i];\n var dx = Math.abs(x - t.x), dy = Math.abs(y - t.y);\n if (dx <= DEDUP_DISTANCE && dy <= DEDUP_DISTANCE) {\n return true;\n }\n }\n return false;\n}\n\nvar PREFIXED_TOUCH_ACTION = prefixed(TEST_ELEMENT.style, 'touchAction');\nvar NATIVE_TOUCH_ACTION = PREFIXED_TOUCH_ACTION !== undefined;\n\n// magical touchAction value\nvar TOUCH_ACTION_COMPUTE = 'compute';\nvar TOUCH_ACTION_AUTO = 'auto';\nvar TOUCH_ACTION_MANIPULATION = 'manipulation'; // not implemented\nvar TOUCH_ACTION_NONE = 'none';\nvar TOUCH_ACTION_PAN_X = 'pan-x';\nvar TOUCH_ACTION_PAN_Y = 'pan-y';\nvar TOUCH_ACTION_MAP = getTouchActionProps();\n\n/**\n * Touch Action\n * sets the touchAction property or uses the js alternative\n * @param {Manager} manager\n * @param {String} value\n * @constructor\n */\nfunction TouchAction(manager, value) {\n this.manager = manager;\n this.set(value);\n}\n\nTouchAction.prototype = {\n /**\n * set the touchAction value on the element or enable the polyfill\n * @param {String} value\n */\n set: function(value) {\n // find out the touch-action by the event handlers\n if (value == TOUCH_ACTION_COMPUTE) {\n value = this.compute();\n }\n\n if (NATIVE_TOUCH_ACTION && this.manager.element.style && TOUCH_ACTION_MAP[value]) {\n this.manager.element.style[PREFIXED_TOUCH_ACTION] = value;\n }\n this.actions = value.toLowerCase().trim();\n },\n\n /**\n * just re-set the touchAction value\n */\n update: function() {\n this.set(this.manager.options.touchAction);\n },\n\n /**\n * compute the value for the touchAction property based on the recognizer's settings\n * @returns {String} value\n */\n compute: function() {\n var actions = [];\n each(this.manager.recognizers, function(recognizer) {\n if (boolOrFn(recognizer.options.enable, [recognizer])) {\n actions = actions.concat(recognizer.getTouchAction());\n }\n });\n return cleanTouchActions(actions.join(' '));\n },\n\n /**\n * this method is called on each input cycle and provides the preventing of the browser behavior\n * @param {Object} input\n */\n preventDefaults: function(input) {\n var srcEvent = input.srcEvent;\n var direction = input.offsetDirection;\n\n // if the touch action did prevented once this session\n if (this.manager.session.prevented) {\n srcEvent.preventDefault();\n return;\n }\n\n var actions = this.actions;\n var hasNone = inStr(actions, TOUCH_ACTION_NONE) && !TOUCH_ACTION_MAP[TOUCH_ACTION_NONE];\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_Y];\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X) && !TOUCH_ACTION_MAP[TOUCH_ACTION_PAN_X];\n\n if (hasNone) {\n //do not prevent defaults if this is a tap gesture\n\n var isTapPointer = input.pointers.length === 1;\n var isTapMovement = input.distance < 2;\n var isTapTouchTime = input.deltaTime < 250;\n\n if (isTapPointer && isTapMovement && isTapTouchTime) {\n return;\n }\n }\n\n if (hasPanX && hasPanY) {\n // `pan-x pan-y` means browser handles all scrolling/panning, do not prevent\n return;\n }\n\n if (hasNone ||\n (hasPanY && direction & DIRECTION_HORIZONTAL) ||\n (hasPanX && direction & DIRECTION_VERTICAL)) {\n return this.preventSrc(srcEvent);\n }\n },\n\n /**\n * call preventDefault to prevent the browser's default behavior (scrolling in most cases)\n * @param {Object} srcEvent\n */\n preventSrc: function(srcEvent) {\n this.manager.session.prevented = true;\n srcEvent.preventDefault();\n }\n};\n\n/**\n * when the touchActions are collected they are not a valid value, so we need to clean things up. *\n * @param {String} actions\n * @returns {*}\n */\nfunction cleanTouchActions(actions) {\n // none\n if (inStr(actions, TOUCH_ACTION_NONE)) {\n return TOUCH_ACTION_NONE;\n }\n\n var hasPanX = inStr(actions, TOUCH_ACTION_PAN_X);\n var hasPanY = inStr(actions, TOUCH_ACTION_PAN_Y);\n\n // if both pan-x and pan-y are set (different recognizers\n // for different directions, e.g. horizontal pan but vertical swipe?)\n // we need none (as otherwise with pan-x pan-y combined none of these\n // recognizers will work, since the browser would handle all panning\n if (hasPanX && hasPanY) {\n return TOUCH_ACTION_NONE;\n }\n\n // pan-x OR pan-y\n if (hasPanX || hasPanY) {\n return hasPanX ? TOUCH_ACTION_PAN_X : TOUCH_ACTION_PAN_Y;\n }\n\n // manipulation\n if (inStr(actions, TOUCH_ACTION_MANIPULATION)) {\n return TOUCH_ACTION_MANIPULATION;\n }\n\n return TOUCH_ACTION_AUTO;\n}\n\nfunction getTouchActionProps() {\n if (!NATIVE_TOUCH_ACTION) {\n return false;\n }\n var touchMap = {};\n var cssSupports = window.CSS && window.CSS.supports;\n ['auto', 'manipulation', 'pan-y', 'pan-x', 'pan-x pan-y', 'none'].forEach(function(val) {\n\n // If css.supports is not supported but there is native touch-action assume it supports\n // all values. This is the case for IE 10 and 11.\n touchMap[val] = cssSupports ? window.CSS.supports('touch-action', val) : true;\n });\n return touchMap;\n}\n\n/**\n * Recognizer flow explained; *\n * All recognizers have the initial state of POSSIBLE when a input session starts.\n * The definition of a input session is from the first input until the last input, with all it's movement in it. *\n * Example session for mouse-input: mousedown -> mousemove -> mouseup\n *\n * On each recognizing cycle (see Manager.recognize) the .recognize() method is executed\n * which determines with state it should be.\n *\n * If the recognizer has the state FAILED, CANCELLED or RECOGNIZED (equals ENDED), it is reset to\n * POSSIBLE to give it another change on the next cycle.\n *\n * Possible\n * |\n * +-----+---------------+\n * | |\n * +-----+-----+ |\n * | | |\n * Failed Cancelled |\n * +-------+------+\n * | |\n * Recognized Began\n * |\n * Changed\n * |\n * Ended/Recognized\n */\nvar STATE_POSSIBLE = 1;\nvar STATE_BEGAN = 2;\nvar STATE_CHANGED = 4;\nvar STATE_ENDED = 8;\nvar STATE_RECOGNIZED = STATE_ENDED;\nvar STATE_CANCELLED = 16;\nvar STATE_FAILED = 32;\n\n/**\n * Recognizer\n * Every recognizer needs to extend from this class.\n * @constructor\n * @param {Object} options\n */\nfunction Recognizer(options) {\n this.options = assign({}, this.defaults, options || {});\n\n this.id = uniqueId();\n\n this.manager = null;\n\n // default is enable true\n this.options.enable = ifUndefined(this.options.enable, true);\n\n this.state = STATE_POSSIBLE;\n\n this.simultaneous = {};\n this.requireFail = [];\n}\n\nRecognizer.prototype = {\n /**\n * @virtual\n * @type {Object}\n */\n defaults: {},\n\n /**\n * set options\n * @param {Object} options\n * @return {Recognizer}\n */\n set: function(options) {\n assign(this.options, options);\n\n // also update the touchAction, in case something changed about the directions/enabled state\n this.manager && this.manager.touchAction.update();\n return this;\n },\n\n /**\n * recognize simultaneous with an other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n recognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'recognizeWith', this)) {\n return this;\n }\n\n var simultaneous = this.simultaneous;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (!simultaneous[otherRecognizer.id]) {\n simultaneous[otherRecognizer.id] = otherRecognizer;\n otherRecognizer.recognizeWith(this);\n }\n return this;\n },\n\n /**\n * drop the simultaneous link. it doesnt remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRecognizeWith: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRecognizeWith', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n delete this.simultaneous[otherRecognizer.id];\n return this;\n },\n\n /**\n * recognizer can only run when an other is failing\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n requireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'requireFailure', this)) {\n return this;\n }\n\n var requireFail = this.requireFail;\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n if (inArray(requireFail, otherRecognizer) === -1) {\n requireFail.push(otherRecognizer);\n otherRecognizer.requireFailure(this);\n }\n return this;\n },\n\n /**\n * drop the requireFailure link. it does not remove the link on the other recognizer.\n * @param {Recognizer} otherRecognizer\n * @returns {Recognizer} this\n */\n dropRequireFailure: function(otherRecognizer) {\n if (invokeArrayArg(otherRecognizer, 'dropRequireFailure', this)) {\n return this;\n }\n\n otherRecognizer = getRecognizerByNameIfManager(otherRecognizer, this);\n var index = inArray(this.requireFail, otherRecognizer);\n if (index > -1) {\n this.requireFail.splice(index, 1);\n }\n return this;\n },\n\n /**\n * has require failures boolean\n * @returns {boolean}\n */\n hasRequireFailures: function() {\n return this.requireFail.length > 0;\n },\n\n /**\n * if the recognizer can recognize simultaneous with an other recognizer\n * @param {Recognizer} otherRecognizer\n * @returns {Boolean}\n */\n canRecognizeWith: function(otherRecognizer) {\n return !!this.simultaneous[otherRecognizer.id];\n },\n\n /**\n * You should use `tryEmit` instead of `emit` directly to check\n * that all the needed recognizers has failed before emitting.\n * @param {Object} input\n */\n emit: function(input) {\n var self = this;\n var state = this.state;\n\n function emit(event) {\n self.manager.emit(event, input);\n }\n\n // 'panstart' and 'panmove'\n if (state < STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n\n emit(self.options.event); // simple 'eventName' events\n\n if (input.additionalEvent) { // additional event(panleft, panright, pinchin, pinchout...)\n emit(input.additionalEvent);\n }\n\n // panend and pancancel\n if (state >= STATE_ENDED) {\n emit(self.options.event + stateStr(state));\n }\n },\n\n /**\n * Check that all the require failure recognizers has failed,\n * if true, it emits a gesture event,\n * otherwise, setup the state to FAILED.\n * @param {Object} input\n */\n tryEmit: function(input) {\n if (this.canEmit()) {\n return this.emit(input);\n }\n // it's failing anyway\n this.state = STATE_FAILED;\n },\n\n /**\n * can we emit?\n * @returns {boolean}\n */\n canEmit: function() {\n var i = 0;\n while (i < this.requireFail.length) {\n if (!(this.requireFail[i].state & (STATE_FAILED | STATE_POSSIBLE))) {\n return false;\n }\n i++;\n }\n return true;\n },\n\n /**\n * update the recognizer\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n // make a new copy of the inputData\n // so we can change the inputData without messing up the other recognizers\n var inputDataClone = assign({}, inputData);\n\n // is is enabled and allow recognizing?\n if (!boolOrFn(this.options.enable, [this, inputDataClone])) {\n this.reset();\n this.state = STATE_FAILED;\n return;\n }\n\n // reset when we've reached the end\n if (this.state & (STATE_RECOGNIZED | STATE_CANCELLED | STATE_FAILED)) {\n this.state = STATE_POSSIBLE;\n }\n\n this.state = this.process(inputDataClone);\n\n // the recognizer has recognized a gesture\n // so trigger an event\n if (this.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED | STATE_CANCELLED)) {\n this.tryEmit(inputDataClone);\n }\n },\n\n /**\n * return the state of the recognizer\n * the actual recognizing happens in this method\n * @virtual\n * @param {Object} inputData\n * @returns {Const} STATE\n */\n process: function(inputData) { }, // jshint ignore:line\n\n /**\n * return the preferred touch-action\n * @virtual\n * @returns {Array}\n */\n getTouchAction: function() { },\n\n /**\n * called when the gesture isn't allowed to recognize\n * like when another is being recognized or it is disabled\n * @virtual\n */\n reset: function() { }\n};\n\n/**\n * get a usable string, used as event postfix\n * @param {Const} state\n * @returns {String} state\n */\nfunction stateStr(state) {\n if (state & STATE_CANCELLED) {\n return 'cancel';\n } else if (state & STATE_ENDED) {\n return 'end';\n } else if (state & STATE_CHANGED) {\n return 'move';\n } else if (state & STATE_BEGAN) {\n return 'start';\n }\n return '';\n}\n\n/**\n * direction cons to string\n * @param {Const} direction\n * @returns {String}\n */\nfunction directionStr(direction) {\n if (direction == DIRECTION_DOWN) {\n return 'down';\n } else if (direction == DIRECTION_UP) {\n return 'up';\n } else if (direction == DIRECTION_LEFT) {\n return 'left';\n } else if (direction == DIRECTION_RIGHT) {\n return 'right';\n }\n return '';\n}\n\n/**\n * get a recognizer by name if it is bound to a manager\n * @param {Recognizer|String} otherRecognizer\n * @param {Recognizer} recognizer\n * @returns {Recognizer}\n */\nfunction getRecognizerByNameIfManager(otherRecognizer, recognizer) {\n var manager = recognizer.manager;\n if (manager) {\n return manager.get(otherRecognizer);\n }\n return otherRecognizer;\n}\n\n/**\n * This recognizer is just used as a base for the simple attribute recognizers.\n * @constructor\n * @extends Recognizer\n */\nfunction AttrRecognizer() {\n Recognizer.apply(this, arguments);\n}\n\ninherit(AttrRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof AttrRecognizer\n */\n defaults: {\n /**\n * @type {Number}\n * @default 1\n */\n pointers: 1\n },\n\n /**\n * Used to check if it the recognizer receives valid input, like input.distance > 10.\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {Boolean} recognized\n */\n attrTest: function(input) {\n var optionPointers = this.options.pointers;\n return optionPointers === 0 || input.pointers.length === optionPointers;\n },\n\n /**\n * Process the input and return the state for the recognizer\n * @memberof AttrRecognizer\n * @param {Object} input\n * @returns {*} State\n */\n process: function(input) {\n var state = this.state;\n var eventType = input.eventType;\n\n var isRecognized = state & (STATE_BEGAN | STATE_CHANGED);\n var isValid = this.attrTest(input);\n\n // on cancel input and we've recognized before, return STATE_CANCELLED\n if (isRecognized && (eventType & INPUT_CANCEL || !isValid)) {\n return state | STATE_CANCELLED;\n } else if (isRecognized || isValid) {\n if (eventType & INPUT_END) {\n return state | STATE_ENDED;\n } else if (!(state & STATE_BEGAN)) {\n return STATE_BEGAN;\n }\n return state | STATE_CHANGED;\n }\n return STATE_FAILED;\n }\n});\n\n/**\n * Pan\n * Recognized when the pointer is down and moved in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PanRecognizer() {\n AttrRecognizer.apply(this, arguments);\n\n this.pX = null;\n this.pY = null;\n}\n\ninherit(PanRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PanRecognizer\n */\n defaults: {\n event: 'pan',\n threshold: 10,\n pointers: 1,\n direction: DIRECTION_ALL\n },\n\n getTouchAction: function() {\n var direction = this.options.direction;\n var actions = [];\n if (direction & DIRECTION_HORIZONTAL) {\n actions.push(TOUCH_ACTION_PAN_Y);\n }\n if (direction & DIRECTION_VERTICAL) {\n actions.push(TOUCH_ACTION_PAN_X);\n }\n return actions;\n },\n\n directionTest: function(input) {\n var options = this.options;\n var hasMoved = true;\n var distance = input.distance;\n var direction = input.direction;\n var x = input.deltaX;\n var y = input.deltaY;\n\n // lock to axis?\n if (!(direction & options.direction)) {\n if (options.direction & DIRECTION_HORIZONTAL) {\n direction = (x === 0) ? DIRECTION_NONE : (x < 0) ? DIRECTION_LEFT : DIRECTION_RIGHT;\n hasMoved = x != this.pX;\n distance = Math.abs(input.deltaX);\n } else {\n direction = (y === 0) ? DIRECTION_NONE : (y < 0) ? DIRECTION_UP : DIRECTION_DOWN;\n hasMoved = y != this.pY;\n distance = Math.abs(input.deltaY);\n }\n }\n input.direction = direction;\n return hasMoved && distance > options.threshold && direction & options.direction;\n },\n\n attrTest: function(input) {\n return AttrRecognizer.prototype.attrTest.call(this, input) &&\n (this.state & STATE_BEGAN || (!(this.state & STATE_BEGAN) && this.directionTest(input)));\n },\n\n emit: function(input) {\n\n this.pX = input.deltaX;\n this.pY = input.deltaY;\n\n var direction = directionStr(input.direction);\n\n if (direction) {\n input.additionalEvent = this.options.event + direction;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Pinch\n * Recognized when two or more pointers are moving toward (zoom-in) or away from each other (zoom-out).\n * @constructor\n * @extends AttrRecognizer\n */\nfunction PinchRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(PinchRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'pinch',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.scale - 1) > this.options.threshold || this.state & STATE_BEGAN);\n },\n\n emit: function(input) {\n if (input.scale !== 1) {\n var inOut = input.scale < 1 ? 'in' : 'out';\n input.additionalEvent = this.options.event + inOut;\n }\n this._super.emit.call(this, input);\n }\n});\n\n/**\n * Press\n * Recognized when the pointer is down for x ms without any movement.\n * @constructor\n * @extends Recognizer\n */\nfunction PressRecognizer() {\n Recognizer.apply(this, arguments);\n\n this._timer = null;\n this._input = null;\n}\n\ninherit(PressRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PressRecognizer\n */\n defaults: {\n event: 'press',\n pointers: 1,\n time: 251, // minimal time of the pointer to be pressed\n threshold: 9 // a minimal movement is ok, but keep it low\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_AUTO];\n },\n\n process: function(input) {\n var options = this.options;\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTime = input.deltaTime > options.time;\n\n this._input = input;\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (!validMovement || !validPointers || (input.eventType & (INPUT_END | INPUT_CANCEL) && !validTime)) {\n this.reset();\n } else if (input.eventType & INPUT_START) {\n this.reset();\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.time, this);\n } else if (input.eventType & INPUT_END) {\n return STATE_RECOGNIZED;\n }\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function(input) {\n if (this.state !== STATE_RECOGNIZED) {\n return;\n }\n\n if (input && (input.eventType & INPUT_END)) {\n this.manager.emit(this.options.event + 'up', input);\n } else {\n this._input.timeStamp = now();\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Rotate\n * Recognized when two or more pointer are moving in a circular motion.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction RotateRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(RotateRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof RotateRecognizer\n */\n defaults: {\n event: 'rotate',\n threshold: 0,\n pointers: 2\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_NONE];\n },\n\n attrTest: function(input) {\n return this._super.attrTest.call(this, input) &&\n (Math.abs(input.rotation) > this.options.threshold || this.state & STATE_BEGAN);\n }\n});\n\n/**\n * Swipe\n * Recognized when the pointer is moving fast (velocity), with enough distance in the allowed direction.\n * @constructor\n * @extends AttrRecognizer\n */\nfunction SwipeRecognizer() {\n AttrRecognizer.apply(this, arguments);\n}\n\ninherit(SwipeRecognizer, AttrRecognizer, {\n /**\n * @namespace\n * @memberof SwipeRecognizer\n */\n defaults: {\n event: 'swipe',\n threshold: 10,\n velocity: 0.3,\n direction: DIRECTION_HORIZONTAL | DIRECTION_VERTICAL,\n pointers: 1\n },\n\n getTouchAction: function() {\n return PanRecognizer.prototype.getTouchAction.call(this);\n },\n\n attrTest: function(input) {\n var direction = this.options.direction;\n var velocity;\n\n if (direction & (DIRECTION_HORIZONTAL | DIRECTION_VERTICAL)) {\n velocity = input.overallVelocity;\n } else if (direction & DIRECTION_HORIZONTAL) {\n velocity = input.overallVelocityX;\n } else if (direction & DIRECTION_VERTICAL) {\n velocity = input.overallVelocityY;\n }\n\n return this._super.attrTest.call(this, input) &&\n direction & input.offsetDirection &&\n input.distance > this.options.threshold &&\n input.maxPointers == this.options.pointers &&\n abs(velocity) > this.options.velocity && input.eventType & INPUT_END;\n },\n\n emit: function(input) {\n var direction = directionStr(input.offsetDirection);\n if (direction) {\n this.manager.emit(this.options.event + direction, input);\n }\n\n this.manager.emit(this.options.event, input);\n }\n});\n\n/**\n * A tap is ecognized when the pointer is doing a small tap/click. Multiple taps are recognized if they occur\n * between the given interval and position. The delay option can be used to recognize multi-taps without firing\n * a single tap.\n *\n * The eventData from the emitted event contains the property `tapCount`, which contains the amount of\n * multi-taps being recognized.\n * @constructor\n * @extends Recognizer\n */\nfunction TapRecognizer() {\n Recognizer.apply(this, arguments);\n\n // previous time and center,\n // used for tap counting\n this.pTime = false;\n this.pCenter = false;\n\n this._timer = null;\n this._input = null;\n this.count = 0;\n}\n\ninherit(TapRecognizer, Recognizer, {\n /**\n * @namespace\n * @memberof PinchRecognizer\n */\n defaults: {\n event: 'tap',\n pointers: 1,\n taps: 1,\n interval: 300, // max time between the multi-tap taps\n time: 250, // max time of the pointer to be down (like finger on the screen)\n threshold: 9, // a minimal movement is ok, but keep it low\n posThreshold: 10 // a multi-tap can be a bit off the initial position\n },\n\n getTouchAction: function() {\n return [TOUCH_ACTION_MANIPULATION];\n },\n\n process: function(input) {\n var options = this.options;\n\n var validPointers = input.pointers.length === options.pointers;\n var validMovement = input.distance < options.threshold;\n var validTouchTime = input.deltaTime < options.time;\n\n this.reset();\n\n if ((input.eventType & INPUT_START) && (this.count === 0)) {\n return this.failTimeout();\n }\n\n // we only allow little movement\n // and we've reached an end event, so a tap is possible\n if (validMovement && validTouchTime && validPointers) {\n if (input.eventType != INPUT_END) {\n return this.failTimeout();\n }\n\n var validInterval = this.pTime ? (input.timeStamp - this.pTime < options.interval) : true;\n var validMultiTap = !this.pCenter || getDistance(this.pCenter, input.center) < options.posThreshold;\n\n this.pTime = input.timeStamp;\n this.pCenter = input.center;\n\n if (!validMultiTap || !validInterval) {\n this.count = 1;\n } else {\n this.count += 1;\n }\n\n this._input = input;\n\n // if tap count matches we have recognized it,\n // else it has began recognizing...\n var tapCount = this.count % options.taps;\n if (tapCount === 0) {\n // no failing requirements, immediately trigger the tap event\n // or wait as long as the multitap interval to trigger\n if (!this.hasRequireFailures()) {\n return STATE_RECOGNIZED;\n } else {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_RECOGNIZED;\n this.tryEmit();\n }, options.interval, this);\n return STATE_BEGAN;\n }\n }\n }\n return STATE_FAILED;\n },\n\n failTimeout: function() {\n this._timer = setTimeoutContext(function() {\n this.state = STATE_FAILED;\n }, this.options.interval, this);\n return STATE_FAILED;\n },\n\n reset: function() {\n clearTimeout(this._timer);\n },\n\n emit: function() {\n if (this.state == STATE_RECOGNIZED) {\n this._input.tapCount = this.count;\n this.manager.emit(this.options.event, this._input);\n }\n }\n});\n\n/**\n * Simple way to create a manager with a default set of recognizers.\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Hammer(element, options) {\n options = options || {};\n options.recognizers = ifUndefined(options.recognizers, Hammer.defaults.preset);\n return new Manager(element, options);\n}\n\n/**\n * @const {string}\n */\nHammer.VERSION = '2.0.7';\n\n/**\n * default settings\n * @namespace\n */\nHammer.defaults = {\n /**\n * set if DOM events are being triggered.\n * But this is slower and unused by simple implementations, so disabled by default.\n * @type {Boolean}\n * @default false\n */\n domEvents: false,\n\n /**\n * The value for the touchAction property/fallback.\n * When set to `compute` it will magically set the correct value based on the added recognizers.\n * @type {String}\n * @default compute\n */\n touchAction: TOUCH_ACTION_COMPUTE,\n\n /**\n * @type {Boolean}\n * @default true\n */\n enable: true,\n\n /**\n * EXPERIMENTAL FEATURE -- can be removed/changed\n * Change the parent input target element.\n * If Null, then it is being set the to main element.\n * @type {Null|EventTarget}\n * @default null\n */\n inputTarget: null,\n\n /**\n * force an input class\n * @type {Null|Function}\n * @default null\n */\n inputClass: null,\n\n /**\n * Default recognizer setup when calling `Hammer()`\n * When creating a new Manager these will be skipped.\n * @type {Array}\n */\n preset: [\n // RecognizerClass, options, [recognizeWith, ...], [requireFailure, ...]\n [RotateRecognizer, {enable: false}],\n [PinchRecognizer, {enable: false}, ['rotate']],\n [SwipeRecognizer, {direction: DIRECTION_HORIZONTAL}],\n [PanRecognizer, {direction: DIRECTION_HORIZONTAL}, ['swipe']],\n [TapRecognizer],\n [TapRecognizer, {event: 'doubletap', taps: 2}, ['tap']],\n [PressRecognizer]\n ],\n\n /**\n * Some CSS properties can be used to improve the working of Hammer.\n * Add them to this method and they will be set when creating a new Manager.\n * @namespace\n */\n cssProps: {\n /**\n * Disables text selection to improve the dragging gesture. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userSelect: 'none',\n\n /**\n * Disable the Windows Phone grippers when pressing an element.\n * @type {String}\n * @default 'none'\n */\n touchSelect: 'none',\n\n /**\n * Disables the default callout shown when you touch and hold a touch target.\n * On iOS, when you touch and hold a touch target such as a link, Safari displays\n * a callout containing information about the link. This property allows you to disable that callout.\n * @type {String}\n * @default 'none'\n */\n touchCallout: 'none',\n\n /**\n * Specifies whether zooming is enabled. Used by IE10>\n * @type {String}\n * @default 'none'\n */\n contentZooming: 'none',\n\n /**\n * Specifies that an entire element should be draggable instead of its contents. Mainly for desktop browsers.\n * @type {String}\n * @default 'none'\n */\n userDrag: 'none',\n\n /**\n * Overrides the highlight color shown when the user taps a link or a JavaScript\n * clickable element in iOS. This property obeys the alpha value, if specified.\n * @type {String}\n * @default 'rgba(0,0,0,0)'\n */\n tapHighlightColor: 'rgba(0,0,0,0)'\n }\n};\n\nvar STOP = 1;\nvar FORCED_STOP = 2;\n\n/**\n * Manager\n * @param {HTMLElement} element\n * @param {Object} [options]\n * @constructor\n */\nfunction Manager(element, options) {\n this.options = assign({}, Hammer.defaults, options || {});\n\n this.options.inputTarget = this.options.inputTarget || element;\n\n this.handlers = {};\n this.session = {};\n this.recognizers = [];\n this.oldCssProps = {};\n\n this.element = element;\n this.input = createInputInstance(this);\n this.touchAction = new TouchAction(this, this.options.touchAction);\n\n toggleCssProps(this, true);\n\n each(this.options.recognizers, function(item) {\n var recognizer = this.add(new (item[0])(item[1]));\n item[2] && recognizer.recognizeWith(item[2]);\n item[3] && recognizer.requireFailure(item[3]);\n }, this);\n}\n\nManager.prototype = {\n /**\n * set options\n * @param {Object} options\n * @returns {Manager}\n */\n set: function(options) {\n assign(this.options, options);\n\n // Options that need a little more setup\n if (options.touchAction) {\n this.touchAction.update();\n }\n if (options.inputTarget) {\n // Clean up existing event listeners and reinitialize\n this.input.destroy();\n this.input.target = options.inputTarget;\n this.input.init();\n }\n return this;\n },\n\n /**\n * stop recognizing for this session.\n * This session will be discarded, when a new [input]start event is fired.\n * When forced, the recognizer cycle is stopped immediately.\n * @param {Boolean} [force]\n */\n stop: function(force) {\n this.session.stopped = force ? FORCED_STOP : STOP;\n },\n\n /**\n * run the recognizers!\n * called by the inputHandler function on every movement of the pointers (touches)\n * it walks through all the recognizers and tries to detect the gesture that is being made\n * @param {Object} inputData\n */\n recognize: function(inputData) {\n var session = this.session;\n if (session.stopped) {\n return;\n }\n\n // run the touch-action polyfill\n this.touchAction.preventDefaults(inputData);\n\n var recognizer;\n var recognizers = this.recognizers;\n\n // this holds the recognizer that is being recognized.\n // so the recognizer's state needs to be BEGAN, CHANGED, ENDED or RECOGNIZED\n // if no recognizer is detecting a thing, it is set to `null`\n var curRecognizer = session.curRecognizer;\n\n // reset when the last recognizer is recognized\n // or when we're in a new session\n if (!curRecognizer || (curRecognizer && curRecognizer.state & STATE_RECOGNIZED)) {\n curRecognizer = session.curRecognizer = null;\n }\n\n var i = 0;\n while (i < recognizers.length) {\n recognizer = recognizers[i];\n\n // find out if we are allowed try to recognize the input for this one.\n // 1. allow if the session is NOT forced stopped (see the .stop() method)\n // 2. allow if we still haven't recognized a gesture in this session, or the this recognizer is the one\n // that is being recognized.\n // 3. allow if the recognizer is allowed to run simultaneous with the current recognized recognizer.\n // this can be setup with the `recognizeWith()` method on the recognizer.\n if (session.stopped !== FORCED_STOP && ( // 1\n !curRecognizer || recognizer == curRecognizer || // 2\n recognizer.canRecognizeWith(curRecognizer))) { // 3\n recognizer.recognize(inputData);\n } else {\n recognizer.reset();\n }\n\n // if the recognizer has been recognizing the input as a valid gesture, we want to store this one as the\n // current active recognizer. but only if we don't already have an active recognizer\n if (!curRecognizer && recognizer.state & (STATE_BEGAN | STATE_CHANGED | STATE_ENDED)) {\n curRecognizer = session.curRecognizer = recognizer;\n }\n i++;\n }\n },\n\n /**\n * get a recognizer by its event name.\n * @param {Recognizer|String} recognizer\n * @returns {Recognizer|Null}\n */\n get: function(recognizer) {\n if (recognizer instanceof Recognizer) {\n return recognizer;\n }\n\n var recognizers = this.recognizers;\n for (var i = 0; i < recognizers.length; i++) {\n if (recognizers[i].options.event == recognizer) {\n return recognizers[i];\n }\n }\n return null;\n },\n\n /**\n * add a recognizer to the manager\n * existing recognizers with the same event name will be removed\n * @param {Recognizer} recognizer\n * @returns {Recognizer|Manager}\n */\n add: function(recognizer) {\n if (invokeArrayArg(recognizer, 'add', this)) {\n return this;\n }\n\n // remove existing\n var existing = this.get(recognizer.options.event);\n if (existing) {\n this.remove(existing);\n }\n\n this.recognizers.push(recognizer);\n recognizer.manager = this;\n\n this.touchAction.update();\n return recognizer;\n },\n\n /**\n * remove a recognizer by name or instance\n * @param {Recognizer|String} recognizer\n * @returns {Manager}\n */\n remove: function(recognizer) {\n if (invokeArrayArg(recognizer, 'remove', this)) {\n return this;\n }\n\n recognizer = this.get(recognizer);\n\n // let's make sure this recognizer exists\n if (recognizer) {\n var recognizers = this.recognizers;\n var index = inArray(recognizers, recognizer);\n\n if (index !== -1) {\n recognizers.splice(index, 1);\n this.touchAction.update();\n }\n }\n\n return this;\n },\n\n /**\n * bind event\n * @param {String} events\n * @param {Function} handler\n * @returns {EventEmitter} this\n */\n on: function(events, handler) {\n if (events === undefined) {\n return;\n }\n if (handler === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n handlers[event] = handlers[event] || [];\n handlers[event].push(handler);\n });\n return this;\n },\n\n /**\n * unbind event, leave emit blank to remove all handlers\n * @param {String} events\n * @param {Function} [handler]\n * @returns {EventEmitter} this\n */\n off: function(events, handler) {\n if (events === undefined) {\n return;\n }\n\n var handlers = this.handlers;\n each(splitStr(events), function(event) {\n if (!handler) {\n delete handlers[event];\n } else {\n handlers[event] && handlers[event].splice(inArray(handlers[event], handler), 1);\n }\n });\n return this;\n },\n\n /**\n * emit event to the listeners\n * @param {String} event\n * @param {Object} data\n */\n emit: function(event, data) {\n // we also want to trigger dom events\n if (this.options.domEvents) {\n triggerDomEvent(event, data);\n }\n\n // no handlers, so skip it all\n var handlers = this.handlers[event] && this.handlers[event].slice();\n if (!handlers || !handlers.length) {\n return;\n }\n\n data.type = event;\n data.preventDefault = function() {\n data.srcEvent.preventDefault();\n };\n\n var i = 0;\n while (i < handlers.length) {\n handlers[i](data);\n i++;\n }\n },\n\n /**\n * destroy the manager and unbinds all events\n * it doesn't unbind dom events, that is the user own responsibility\n */\n destroy: function() {\n this.element && toggleCssProps(this, false);\n\n this.handlers = {};\n this.session = {};\n this.input.destroy();\n this.element = null;\n }\n};\n\n/**\n * add/remove the css properties as defined in manager.options.cssProps\n * @param {Manager} manager\n * @param {Boolean} add\n */\nfunction toggleCssProps(manager, add) {\n var element = manager.element;\n if (!element.style) {\n return;\n }\n var prop;\n each(manager.options.cssProps, function(value, name) {\n prop = prefixed(element.style, name);\n if (add) {\n manager.oldCssProps[prop] = element.style[prop];\n element.style[prop] = value;\n } else {\n element.style[prop] = manager.oldCssProps[prop] || '';\n }\n });\n if (!add) {\n manager.oldCssProps = {};\n }\n}\n\n/**\n * trigger dom event\n * @param {String} event\n * @param {Object} data\n */\nfunction triggerDomEvent(event, data) {\n var gestureEvent = document.createEvent('Event');\n gestureEvent.initEvent(event, true, true);\n gestureEvent.gesture = data;\n data.target.dispatchEvent(gestureEvent);\n}\n\nassign(Hammer, {\n INPUT_START: INPUT_START,\n INPUT_MOVE: INPUT_MOVE,\n INPUT_END: INPUT_END,\n INPUT_CANCEL: INPUT_CANCEL,\n\n STATE_POSSIBLE: STATE_POSSIBLE,\n STATE_BEGAN: STATE_BEGAN,\n STATE_CHANGED: STATE_CHANGED,\n STATE_ENDED: STATE_ENDED,\n STATE_RECOGNIZED: STATE_RECOGNIZED,\n STATE_CANCELLED: STATE_CANCELLED,\n STATE_FAILED: STATE_FAILED,\n\n DIRECTION_NONE: DIRECTION_NONE,\n DIRECTION_LEFT: DIRECTION_LEFT,\n DIRECTION_RIGHT: DIRECTION_RIGHT,\n DIRECTION_UP: DIRECTION_UP,\n DIRECTION_DOWN: DIRECTION_DOWN,\n DIRECTION_HORIZONTAL: DIRECTION_HORIZONTAL,\n DIRECTION_VERTICAL: DIRECTION_VERTICAL,\n DIRECTION_ALL: DIRECTION_ALL,\n\n Manager: Manager,\n Input: Input,\n TouchAction: TouchAction,\n\n TouchInput: TouchInput,\n MouseInput: MouseInput,\n PointerEventInput: PointerEventInput,\n TouchMouseInput: TouchMouseInput,\n SingleTouchInput: SingleTouchInput,\n\n Recognizer: Recognizer,\n AttrRecognizer: AttrRecognizer,\n Tap: TapRecognizer,\n Pan: PanRecognizer,\n Swipe: SwipeRecognizer,\n Pinch: PinchRecognizer,\n Rotate: RotateRecognizer,\n Press: PressRecognizer,\n\n on: addEventListeners,\n off: removeEventListeners,\n each: each,\n merge: merge,\n extend: extend,\n assign: assign,\n inherit: inherit,\n bindFn: bindFn,\n prefixed: prefixed\n});\n\n// this prevents errors when Hammer is loaded in the presence of an AMD\n// style loader but by script tag, not by the loader.\nvar freeGlobal = (typeof window !== 'undefined' ? window : (typeof self !== 'undefined' ? self : {})); // jshint ignore:line\nfreeGlobal.Hammer = Hammer;\n\nif (typeof define === 'function' && define.amd) {\n define(function() {\n return Hammer;\n });\n} else if (typeof module != 'undefined' && module.exports) {\n module.exports = Hammer;\n} else {\n window[exportName] = Hammer;\n}\n\n})(window, document, 'Hammer');\n","import { createElementVNode as _createElementVNode, vModelText as _vModelText, normalizeClass as _normalizeClass, withDirectives as _withDirectives, toDisplayString as _toDisplayString, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createVNode as _createVNode, createTextVNode as _createTextVNode, withModifiers as _withModifiers, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/arrow-right-landing.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-4a15740e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n class: \"wrapper\",\n id: \"contact-us-form\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"text-wrapper\" }, [\n /*#__PURE__*/_createElementVNode(\"p\", { class: \"title\" }, \"Contact us\"),\n /*#__PURE__*/_createElementVNode(\"p\", { class: \"sub-title\" }, \"Got a question? Send us a message and our team will get back to you!\")\n], -1))\nconst _hoisted_3 = { class: \"input-row\" }\nconst _hoisted_4 = { class: \"input-wr\" }\nconst _hoisted_5 = {\n key: 0,\n class: \"error-hint\"\n}\nconst _hoisted_6 = { class: \"input-wr\" }\nconst _hoisted_7 = {\n key: 0,\n class: \"error-hint\"\n}\nconst _hoisted_8 = { class: \"input-row\" }\nconst _hoisted_9 = { class: \"input-wr\" }\nconst _hoisted_10 = {\n key: 0,\n class: \"error-hint\"\n}\nconst _hoisted_11 = { class: \"input-wr\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"error-hint\"\n}\nconst _hoisted_13 = { class: \"input-row\" }\nconst _hoisted_14 = { class: \"input-wr textarea-wr\" }\nconst _hoisted_15 = { class: \"error-hint-wr\" }\nconst _hoisted_16 = {\n key: 0,\n class: \"error-hint\"\n}\nconst _hoisted_17 = [\"disabled\"]\nconst _hoisted_18 = {\n key: 0,\n class: \"submit--icon\",\n src: _imports_0\n}\nconst _hoisted_19 = {\n key: 1,\n class: \"spinner spinner-small\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _hoisted_2,\n _createElementVNode(\"form\", {\n class: \"default-form\",\n onSubmit: _cache[5] || (_cache[5] = _withModifiers(\n//@ts-ignore\n(...args) => (_ctx.onSubmit && _ctx.onSubmit(...args)), [\"prevent\"]))\n }, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input\", { error: $setup.v$.fullName.$error }]),\n \"onUpdate:modelValue\": _cache[0] || (_cache[0] = ($event: any) => (($setup.form.fullName) = $event)),\n type: \"text\",\n placeholder: \"Full Name\"\n }, null, 2), [\n [_vModelText, $setup.form.fullName]\n ]),\n ($setup.v$.fullName.$error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_5, _toDisplayString($setup.v$.fullName.$errors[0].$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_6, [\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input\", { error: $setup.v$.email.$error }]),\n \"onUpdate:modelValue\": _cache[1] || (_cache[1] = ($event: any) => (($setup.form.email) = $event)),\n type: \"text\",\n placeholder: \"Email Address\"\n }, null, 2), [\n [_vModelText, $setup.form.email]\n ]),\n ($setup.v$.email.$error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_7, _toDisplayString($setup.v$.email.$errors[0].$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createVNode($setup[\"Cleave\"], {\n class: _normalizeClass([\"input\", { error: $setup.v$.phone.$error }]),\n modelValue: $setup.form.phone,\n \"onUpdate:modelValue\": _cache[2] || (_cache[2] = ($event: any) => (($setup.form.phone) = $event)),\n placeholder: \"Phone Number\",\n options: $setup.phoneNumberOption($setup.form.phone)\n }, null, 8, [\"modelValue\", \"class\", \"options\"]),\n ($setup.v$.phone.$error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, _toDisplayString($setup.v$.phone.$errors[0].$message), 1))\n : _createCommentVNode(\"\", true)\n ]),\n _createElementVNode(\"div\", _hoisted_11, [\n _withDirectives(_createElementVNode(\"input\", {\n class: _normalizeClass([\"input\", { error: $setup.v$.company.$error }]),\n \"onUpdate:modelValue\": _cache[3] || (_cache[3] = ($event: any) => (($setup.form.company) = $event)),\n type: \"text\",\n placeholder: \"Company\"\n }, null, 2), [\n [_vModelText, $setup.form.company]\n ]),\n ($setup.v$.company.$error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, _toDisplayString($setup.v$.company.$errors[0].$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_13, [\n _createElementVNode(\"div\", _hoisted_14, [\n _withDirectives(_createElementVNode(\"textarea\", {\n class: \"textarea\",\n placeholder: \"Message\",\n \"onUpdate:modelValue\": _cache[4] || (_cache[4] = ($event: any) => (($setup.form.message) = $event))\n }, null, 512), [\n [_vModelText, $setup.form.message]\n ]),\n _createElementVNode(\"div\", _hoisted_15, [\n ($setup.v$.message.$error)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_16, _toDisplayString($setup.v$.message.$errors[0].$message), 1))\n : _createCommentVNode(\"\", true)\n ])\n ])\n ]),\n _createElementVNode(\"button\", {\n class: \"button default submit\",\n onClick: $setup.submit,\n disabled: $setup.isSubmitting\n }, [\n _createTextVNode(_toDisplayString($setup.isSubmitting ? \"Sending\" : \"Send Message\"), 1),\n (!$setup.isSubmitting)\n ? (_openBlock(), _createElementBlock(\"img\", _hoisted_18))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_19))\n ], 8, _hoisted_17)\n ], 32)\n ]))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { reactive, ref } from \"vue\";\nimport { required, email, helpers, minLength } from \"@vuelidate/validators\";\nimport useVuelidate from \"@vuelidate/core\";\nimport store from \"@/store\";\nimport Cleave from \"vue-cleave-component\";\nimport { phoneNumberOption } from \"@/helpers/cleavePlugin\";\nimport { validPhoneNumber } from \"@/helpers/validation\";\nimport { useToast } from \"vue-toastification\";\n\nconst VALID_PHONE_NUMBER_ERROR_TEXT = \"Value must be valid phone number\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'ContactUsForm',\n setup(__props, { expose: __expose }) {\n __expose();\n\nconst toast = useToast();\nconst isSubmitting = ref(false);\nconst form = reactive({\n fullName: \"\",\n company: \"\",\n email: \"\",\n message: \"\",\n phone: \"\",\n});\nconst rules = {\n fullName: { required, $autoDirty: true },\n company: { required, $autoDirty: true },\n email: { required, email, $autoDirty: true },\n phone: {\n validPhoneNumber: helpers.withMessage(\n VALID_PHONE_NUMBER_ERROR_TEXT,\n validPhoneNumber\n ),\n },\n message: { minLength: minLength(10), $autoDirty: true },\n};\nconst v$ = useVuelidate(rules, form, { $scope: false });\nconst resetForm = () => {\n Object.keys(form).forEach((index) => {\n form[index] = \"\";\n });\n v$.value.$reset();\n};\nconst submit = async () => {\n v$.value.$touch();\n const isFormCorrect = await v$.value.$validate();\n if (!isFormCorrect || isSubmitting.value) return;\n isSubmitting.value = true;\n store\n .dispatch(\"user/contactEmail\", form)\n .then(() => {\n resetForm();\n toast.success(\"Message sent successfully\");\n })\n .finally(() => {\n isSubmitting.value = false;\n });\n};\n\nconst __returned__ = { toast, isSubmitting, VALID_PHONE_NUMBER_ERROR_TEXT, form, rules, v$, resetForm, submit, reactive, ref, get required() { return required }, get email() { return email }, get helpers() { return helpers }, get minLength() { return minLength }, get useVuelidate() { return useVuelidate }, get store() { return store }, get Cleave() { return Cleave }, get phoneNumberOption() { return phoneNumberOption }, get validPhoneNumber() { return validPhoneNumber }, get useToast() { return useToast } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./ContactUsForm.vue?vue&type=template&id=4a15740e&scoped=true&ts=true&lang=pug\"\nimport script from \"./ContactUsForm.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./ContactUsForm.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./ContactUsForm.vue?vue&type=style&index=0&id=4a15740e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-4a15740e\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ContactUsForm.vue?vue&type=style&index=0&id=4a15740e&lang=scss&scoped=true\"","export * from \"-!../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./StageNavMobile.vue?vue&type=style&index=0&id=0d2e86fe&lang=scss&scoped=true\"","import { createElementVNode as _createElementVNode, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, resolveDirective as _resolveDirective, withDirectives as _withDirectives, normalizeStyle as _normalizeStyle, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-57fc788e\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"viewBox\"]\nconst _hoisted_2 = [\"xlink:href\"]\nconst _hoisted_3 = [\"x\", \"y\", \"onMouseover\"]\nconst _hoisted_4 = { class: \"scale\" }\nconst _hoisted_5 = [\"onClick\", \"d\"]\nconst _hoisted_6 = [\"d\"]\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _directive_tippy = _resolveDirective(\"tippy\")!\n\n return ($props.map)\n ? (_openBlock(), _createElementBlock(\"svg\", {\n key: 0,\n class: \"svg-map-scale\",\n version: \"1.1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n viewBox: `0 0 ${$setup.props.map.size.width} ${$setup.props.map.size.height}`,\n style: _normalizeStyle({ transform: 'scale(' + $setup.props.zoom + ')' })\n }, [\n _createElementVNode(\"image\", {\n \"xlink:href\": $setup.props.map.mapImage.url\n }, null, 8, _hoisted_2),\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.props.lots, (lot) => {\n return (_openBlock(), _createElementBlock(\"svg\", {\n class: _normalizeClass([\"item-wr\", $setup.props.getItemWrClasses(lot)]),\n xmlns: \"http://www.w3.org/2000/svg\",\n \"xmlns:xlink\": \"http://www.w3.org/1999/xlink\",\n version: \"1.1\",\n x: lot.binding.x,\n y: lot.binding.y,\n onMouseover: ($event: any) => ($setup.onLotHover(lot?.lotId?._id)),\n onMouseleave: $setup.onLotLeave\n }, [\n _createElementVNode(\"g\", _hoisted_4, [\n _withDirectives(_createElementVNode(\"path\", {\n class: _normalizeClass([\"item-path\", $setup.props.getItemPathClasses(lot)]),\n onClick: ($event: any) => ($setup.onLotClick(lot)),\n d: lot.path\n }, null, 10, _hoisted_5), [\n [_directive_tippy, { content: $setup.props.getTooltipText(lot), allowHTML: 'true', theme: 'map-tippy', appendtTo: 'element', arrow: false }]\n ]),\n _createElementVNode(\"path\", {\n class: _normalizeClass([\"item-status-path\", $setup.props.getItemStatusPathClasses(lot)]),\n d: lot.statusPath\n }, null, 10, _hoisted_6)\n ])\n ], 42, _hoisted_3))\n }), 256))\n ], 12, _hoisted_1))\n : _createCommentVNode(\"\", true)\n}","import { defineComponent as _defineComponent } from 'vue'\n\n import { EstateMapInterface } from \"@/types/EstateMapInterface\";\n import { getStageStatusClass } from \"@/helpers/status\";\n import { StageStatus } from \"@/enums/StageStatus\";\n import { UserRoles } from \"@/enums/UserRoles\";\n import { LotMapInterface } from \"@/types/LotMapInterface\";\n import { LotStatus } from \"@/enums/LotStatus\";\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StageSvgMap',\n props: {\n map: {},\n lots: {},\n zoom: {},\n getTooltipText: { type: Function },\n getItemWrClasses: { type: Function },\n getItemPathClasses: { type: Function },\n getItemStatusPathClasses: { type: Function }\n },\n emits: [\"onLotHover\", \"onLotLeave\", \"onLotClick\"],\n setup(__props: any, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n \n\n \n\n const onLotHover = (id: string) => {\n emits(\"onLotHover\", id);\n };\n\n const onLotLeave = () => {\n emits(\"onLotLeave\");\n };\n\n const onLotClick = (stage: LotMapInterface) => {\n emits(\"onLotClick\", stage);\n };\n\nconst __returned__ = { props, emits, onLotHover, onLotLeave, onLotClick, get EstateMapInterface() { return EstateMapInterface }, get getStageStatusClass() { return getStageStatusClass }, get StageStatus() { return StageStatus }, get UserRoles() { return UserRoles }, get LotMapInterface() { return LotMapInterface }, get LotStatus() { return LotStatus } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./StageSvgMap.vue?vue&type=template&id=57fc788e&scoped=true&ts=true&lang=pug\"\nimport script from \"./StageSvgMap.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./StageSvgMap.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./StageSvgMap.vue?vue&type=style&index=0&id=57fc788e&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-57fc788e\"]])\n\nexport default __exports__","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, normalizeClass as _normalizeClass, createBlock as _createBlock, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-977b7182\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"title\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"title title-builder\"\n}\nconst _hoisted_3 = { class: \"row-wr\" }\nconst _hoisted_4 = {\n key: 0,\n class: \"row\"\n}\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Stage\", -1))\nconst _hoisted_6 = { class: \"row-value\" }\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Frontage\", -1))\nconst _hoisted_8 = {\n key: 0,\n class: \"row-value\"\n}\nconst _hoisted_9 = {\n key: 1,\n class: \"row-value\"\n}\nconst _hoisted_10 = {\n key: 2,\n class: \"row\"\n}\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Size\", -1))\nconst _hoisted_12 = {\n key: 0,\n class: \"row-value\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"row-value\"\n}\nconst _hoisted_14 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Size\", -1))\nconst _hoisted_15 = {\n key: 0,\n class: \"row-value\"\n}\nconst _hoisted_16 = {\n key: 1,\n class: \"row-value\"\n}\nconst _hoisted_17 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Frontage\", -1))\nconst _hoisted_18 = {\n key: 0,\n class: \"row-value\"\n}\nconst _hoisted_19 = {\n key: 1,\n class: \"row-value\"\n}\nconst _hoisted_20 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Price\", -1))\nconst _hoisted_21 = {\n key: 1,\n class: \"row-value\"\n}\nconst _hoisted_22 = {\n key: 2,\n class: \"row-value\"\n}\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Est. Registration\", -1))\nconst _hoisted_24 = {\n key: 0,\n class: \"row-value\"\n}\nconst _hoisted_25 = {\n key: 1,\n class: \"row-value\"\n}\nconst _hoisted_26 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"row-label\" }, \"Status\", -1))\nconst _hoisted_27 = {\n key: 0,\n class: \"content-documents\"\n}\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"blocks-wr\", { 'block-width': $props.isBuilderView }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"block\", { 'block-hidden': $props.isBuilderView }])\n }, [\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, \"Lot Details\"))\n : _createCommentVNode(\"\", true),\n ($setup.isDesktop && $props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_2, \"Lot \" + _toDisplayString($props.lot?.title), 1))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", _hoisted_3, [\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_4, [\n _hoisted_5,\n _createElementVNode(\"div\", _hoisted_6, _toDisplayString($props.lot.stageId.title), 1)\n ]))\n : _createCommentVNode(\"\", true),\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"row\", { secondary: !$props.isBuilderView }])\n }, [\n _hoisted_7,\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_8, _toDisplayString($props.lot.lotId.blockWidth ? `${$setup.formatPrice($props.lot.lotId.blockWidth, false)} m` : \"Irregular\"), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_9, _toDisplayString($props.lot.blockWidth ? `${$setup.formatPrice($props.lot.blockWidth, false)} m` : \"Irregular\"), 1))\n ], 2))\n : _createCommentVNode(\"\", true),\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_10, [\n _hoisted_11,\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_12, _toDisplayString($setup.formatPrice($props.lot.lotId.size, false)) + \" sqm\", 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_13, _toDisplayString($setup.formatPrice($props.lot.size, false)) + \" sqm\", 1))\n ]))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 3,\n class: _normalizeClass([\"row\", { secondary: !$props.isBuilderView }])\n }, [\n _hoisted_14,\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_15, _toDisplayString($setup.formatPrice($props.lot.lotId.size, false)) + \" sqm\", 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_16, _toDisplayString($setup.formatPrice($props.lot.size, false)) + \" sqm\", 1))\n ], 2)),\n ($props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 4,\n class: _normalizeClass([\"row\", { secondary: $props.isBuilderView }])\n }, [\n _hoisted_17,\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_18, _toDisplayString($props.lot.lotId.blockWidth ? `${$setup.formatPrice($props.lot.lotId.blockWidth, false)} m` : \"Irregular\"), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_19, _toDisplayString($props.lot.blockWidth ? `${$setup.formatPrice($props.lot.blockWidth, false)} m` : \"Irregular\"), 1))\n ], 2))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"row\", { secondary: !$props.isBuilderView }])\n }, [\n _hoisted_20,\n ($props.estate.hidePrice)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: \"row-value highlighted\",\n onClick: $setup.toContact\n }, \"Request pricing\"))\n : (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, _toDisplayString($setup.formatPrice($props.lot.lotId.price)), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_22, _toDisplayString($setup.formatPrice($props.lot.price)), 1))\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"row\", { secondary: $props.isBuilderView }])\n }, [\n _hoisted_23,\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_24, _toDisplayString($setup.formatDate($props.lot.lotId.registrationDate, \"MMM YYYY\")), 1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_25, _toDisplayString($setup.formatDate($props.lot.registrationDate, \"MMM YYYY\")), 1))\n ], 2),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"row\", { secondary: !$props.isBuilderView }])\n }, [\n _hoisted_26,\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", {\n key: 0,\n class: _normalizeClass([\"badge\", $setup.getLotStatusClass($props.lot.lotId.status)])\n }, _toDisplayString($props.lot.lotId.status), 3))\n : (_openBlock(), _createElementBlock(\"div\", {\n key: 1,\n class: _normalizeClass([\"badge\", $setup.getLotStatusClass($props.lot.status)])\n }, _toDisplayString($props.lot.status), 3))\n ], 2)\n ])\n ], 2),\n (!$props.isBuilderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_27, [\n ($props.lot.lotId.documents && $props.lot.lotId.documents.length)\n ? (_openBlock(), _createBlock($setup[\"BuilderLotDocuments\"], {\n key: 0,\n documents: $props.lot.lotId.documents\n }, null, 8, [\"documents\"]))\n : _createCommentVNode(\"\", true)\n ]))\n : _createCommentVNode(\"\", true)\n ], 2))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, ref, onMounted } from \"vue\";\nimport Modal from \"@/components/ui/Modal.vue\";\nimport router from \"@/router\";\nimport { formatDate } from \"@/helpers/date\";\nimport { formatPrice } from \"@/helpers/transformation/price\";\nimport { LotStatus } from \"@/enums/LotStatus\";\nimport { getDocumentName } from \"@/helpers/documents\";\nimport { getLotStatusClass } from \"@/helpers/status\";\nimport BuilderLotDocuments from \"./BuilderLotDocuments.vue\";\nimport { useIsDesktop } from \"@/features/useIsDesktop\";\n\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'BuilderLotDetails',\n props: {\n lot: {\n type: Object,\n required: true,\n },\n estate: {\n type: Object,\n required: true,\n },\n isBuilderView: {\n type: Boolean,\n required: false,\n },\n},\n emits: [\"close\", \"toContact\"],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\nconst { isDesktop } = useIsDesktop(990);\n\n\nconst toContact = () => {\n emits(\"toContact\");\n};\n\nconst __returned__ = { isDesktop, emits, props, toContact, computed, ref, onMounted, Modal, get router() { return router }, get formatDate() { return formatDate }, get formatPrice() { return formatPrice }, get LotStatus() { return LotStatus }, get getDocumentName() { return getDocumentName }, get getLotStatusClass() { return getLotStatusClass }, BuilderLotDocuments, get useIsDesktop() { return useIsDesktop } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./BuilderLotDetails.vue?vue&type=template&id=977b7182&scoped=true&ts=true&lang=pug\"\nimport script from \"./BuilderLotDetails.vue?vue&type=script&setup=true&lang=ts\"\nexport * from \"./BuilderLotDetails.vue?vue&type=script&setup=true&lang=ts\"\n\nimport \"./BuilderLotDetails.vue?vue&type=style&index=0&id=977b7182&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-977b7182\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ProjectSalesAndMarketing.vue?vue&type=style&index=0&id=505a7cd7&lang=scss&scoped=true\"","import { toDisplayString as _toDisplayString, createElementVNode as _createElementVNode, openBlock as _openBlock, createBlock as _createBlock, createCommentVNode as _createCommentVNode, createElementBlock as _createElementBlock, createTextVNode as _createTextVNode, resolveComponent as _resolveComponent, withCtx as _withCtx, createVNode as _createVNode, normalizeClass as _normalizeClass, createStaticVNode as _createStaticVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/landing-facebook.svg'\nimport _imports_1 from '@/assets/icons/landing-in.svg'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-9890b344\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"banner-backdrop\"\n}\nconst _hoisted_2 = { class: \"banner-container\" }\nconst _hoisted_3 = { class: \"banner\" }\nconst _hoisted_4 = { class: \"banner--title\" }\nconst _hoisted_5 = { class: \"banner--text\" }\nconst _hoisted_6 = { class: \"footer-container\" }\nconst _hoisted_7 = { class: \"info-container\" }\nconst _hoisted_8 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"logo-white\" }, null, -1))\nconst _hoisted_9 = { class: \"after-logo\" }\nconst _hoisted_10 = { class: \"privacy-container\" }\nconst _hoisted_11 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"location\" }, \"Level 2/11 York St, Sydney NSW 2000\", -1))\nconst _hoisted_12 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"divider\" }, \"|\", -1))\nconst _hoisted_13 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", { class: \"divider\" }, \"|\", -1))\nconst _hoisted_14 = /*#__PURE__*/_createStaticVNode(\"

|

\", 2)\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n const _component_router_link = _resolveComponent(\"router-link\")!\n\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"footer-wr\", { 'with-banner': $setup.props.showBanner }])\n }, [\n ($setup.props.showBanner)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, _toDisplayString($props.isPlansView ? \"Got questions?\" : \"Partner with us\"), 1),\n _createElementVNode(\"div\", _hoisted_5, _toDisplayString($props.isPlansView ? \"Talk with sales\" : \"Boost your land sales projects\"), 1),\n ($props.isPlansView)\n ? (_openBlock(), _createBlock($setup[\"ContactUsLink\"], {\n key: 0,\n \"data-aos\": \"fade-down\",\n text: 'Book a call',\n toContactUsForm: false,\n isButtonCallBackModal: true,\n linkCalendly: $setup.CALENDLY_DEMO_LINK\n }, null, 8, [\"linkCalendly\"]))\n : (_openBlock(), _createBlock($setup[\"ContactUsLink\"], {\n key: 1,\n animationName: '',\n text: $setup.bannerButtonText\n }, null, 8, [\"text\"]))\n ])\n ])\n ]))\n : _createCommentVNode(\"\", true),\n ($setup.props.showContactUsForm)\n ? (_openBlock(), _createBlock($setup[\"ContactUsForm\"], { key: 1 }))\n : _createCommentVNode(\"\", true),\n _createElementVNode(\"footer\", null, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createElementVNode(\"div\", _hoisted_7, [\n _hoisted_8,\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"div\", _hoisted_10, [\n _hoisted_11,\n _hoisted_12,\n _createVNode(_component_router_link, {\n class: \"link\",\n to: { name: 'Terms' },\n target: \"_blank\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Terms & Conditions\")\n ]),\n _: 1\n }),\n _hoisted_13,\n _createVNode(_component_router_link, {\n class: \"link\",\n to: { name: 'PrivacyPolicy' },\n target: \"_blank\"\n }, {\n default: _withCtx(() => [\n _createTextVNode(\"Privacy Policy\")\n ]),\n _: 1\n }),\n _hoisted_14\n ])\n ])\n ])\n ])\n ])\n ], 2))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport ContactUsForm from \"./ContactUsForm.vue\";\n import ContactUsLink from \"./ContactUsLink.vue\";\n import { computed, watch } from \"vue\";\n import { useIsDesktop } from \"@/features/useIsDesktop\";\n import { CALENDLY_DEMO_LINK } from \"@/constants/calendlyLinks\";\n\n const IS_DESKTOP_BREAK_POINT = 990;\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'LandingFooter',\n props: {\n showBanner: {\n type: Boolean,\n default: true,\n },\n showContactUsForm: {\n type: Boolean,\n default: true,\n },\n isPlansView: {\n type: Boolean,\n default: false,\n },\n },\n setup(__props, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n const { isDesktop } = useIsDesktop(IS_DESKTOP_BREAK_POINT);\n \n const bannerButtonText = computed(() => {\n if (isDesktop.value) {\n return \"Get Started\";\n }\n return \"Partner with us\";\n });\n\nconst __returned__ = { IS_DESKTOP_BREAK_POINT, isDesktop, props, bannerButtonText, ContactUsForm, ContactUsLink, computed, watch, get useIsDesktop() { return useIsDesktop }, get CALENDLY_DEMO_LINK() { return CALENDLY_DEMO_LINK } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./LandingFooter.vue?vue&type=template&id=9890b344&scoped=true&ts=true&lang=pug\"\nimport script from \"./LandingFooter.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./LandingFooter.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./LandingFooter.vue?vue&type=style&index=0&id=9890b344&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-9890b344\"]])\n\nexport default __exports__","import { createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, renderList as _renderList, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-dfa00086\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = [\"src\"]\nconst _hoisted_2 = { class: \"title\" }\nconst _hoisted_3 = { class: \"price-content\" }\nconst _hoisted_4 = { class: \"price\" }\nconst _hoisted_5 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"span\", { class: \"month\" }, \"/ Month\", -1))\nconst _hoisted_6 = { class: \"subtitle\" }\nconst _hoisted_7 = { class: \"subtitle-features\" }\nconst _hoisted_8 = { class: \"features\" }\nconst _hoisted_9 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"content-checkmark\" }, [\n /*#__PURE__*/_createElementVNode(\"div\", { class: \"checkmark\" })\n], -1))\nconst _hoisted_10 = { class: \"feature-name\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"card-subscription\", $props.type]),\n onMouseover: _cache[0] || (_cache[0] = ($event: any) => ($setup.hover = true)),\n onMouseleave: _cache[1] || (_cache[1] = ($event: any) => ($setup.hover = false))\n }, [\n _createElementVNode(\"img\", {\n class: \"icon\",\n src: $props.icon,\n alt: \"Icon\"\n }, null, 8, _hoisted_1),\n _createElementVNode(\"h2\", _hoisted_2, _toDisplayString($props.title), 1),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"p\", _hoisted_4, _toDisplayString($props.price), 1),\n _hoisted_5\n ]),\n _createElementVNode(\"p\", _hoisted_6, _toDisplayString($props.subtitle), 1),\n _createElementVNode(\"button\", {\n class: \"action-button\",\n onClick: $setup.onRedirectForm\n }, _toDisplayString($props.buttonText), 1),\n _createElementVNode(\"p\", _hoisted_7, _toDisplayString($props.subtitleFeatures), 1),\n _createElementVNode(\"ul\", _hoisted_8, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($props.features, (feature) => {\n return (_openBlock(), _createElementBlock(\"li\", { key: feature }, [\n _hoisted_9,\n _createElementVNode(\"span\", _hoisted_10, _toDisplayString(feature), 1)\n ]))\n }), 128))\n ])\n ], 34))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { ref } from \"vue\";\n import { useRouter } from \"vue-router\";\n import { PlansButtonFormEnum } from \"@/enums/PlansFormEnum\";\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'CardSubscription',\n props: {\n icon: {},\n title: {},\n price: {},\n subtitle: {},\n buttonText: {},\n subtitleFeatures: {},\n features: {},\n type: {}\n },\n setup(__props: any, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n \n\n const hover = ref(false);\n\n const router = useRouter();\n\n const onRedirectForm = () => {\n if (props.buttonText === PlansButtonFormEnum.JOIN_WAITLIST) {\n router.push({ name: \"WaitlistForm\" });\n } else {\n router.push({ name: \"SignUpForm\" });\n }\n };\n\nconst __returned__ = { props, hover, router, onRedirectForm, ref, get useRouter() { return useRouter }, get PlansButtonFormEnum() { return PlansButtonFormEnum } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./CardSubscription.vue?vue&type=template&id=dfa00086&scoped=true&ts=true&lang=pug\"\nimport script from \"./CardSubscription.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./CardSubscription.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./CardSubscription.vue?vue&type=style&index=0&id=dfa00086&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-dfa00086\"]])\n\nexport default __exports__","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./LottrackrPoweredIcon.vue?vue&type=style&index=0&id=353aed0c&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./HouseFeatures.vue?vue&type=style&index=0&id=52add2f8&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./BuilderSliderButtons.vue?vue&type=style&index=0&id=0e610576&lang=scss&scoped=true\"","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\nimport _imports_0 from '@/assets/icons/chevron-right-gray.svg'\n\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"stage-btn-link-container\", { 'stage-btn-link-container-hover': $setup.props.hoverStageId === $setup.props.stage.id }]),\n onMouseover: $setup.onHover,\n onMouseleave: $setup.onMouseLeave,\n onClick: $setup.onClick\n }, [\n _createElementVNode(\"p\", {\n class: _normalizeClass([\"stage-btn-title stage\", { 'title-hover': $setup.hover }])\n }, \"Stage \" + _toDisplayString($setup.props.stage.title), 3),\n _createElementVNode(\"p\", {\n class: _normalizeClass([\"stage-btn-title available-lots\", { 'title-hover': $setup.hover }])\n }, _toDisplayString($setup.props.lotsAvailableAmount) + \" Available Lots\", 3),\n _createElementVNode(\"img\", {\n class: _normalizeClass([\"stage-btn-chevron\", { 'title-hover': $setup.hover }]),\n src: _imports_0\n }, null, 2)\n ], 34))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { ref, watch } from \"vue\";\n import { UiBasicStageInterface } from \"@/types/StageInterface\";\n\n type propsType = {\n stage: UiBasicStageInterface;\n lotsAvailableAmount: string | number;\n hoverStageId: string;\n };\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'StageButtonLink',\n props: {\n stage: {},\n lotsAvailableAmount: {},\n hoverStageId: {}\n },\n emits: [\"onStageHover\", \"onClick\"],\n setup(__props: any, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n const hover = ref(false);\n\n \n\n \n\n const onHover = () => {\n hover.value = true;\n emits(\"onStageHover\", true, props.stage.id);\n };\n\n const onMouseLeave = () => {\n hover.value = false;\n emits(\"onStageHover\", false, props.stage.id);\n };\n\n const onClick = () => {\n emits(\"onClick\", props.stage.id);\n };\n\n watch(\n () => props.hoverStageId,\n () => {\n if (props.hoverStageId === props.stage.id) {\n hover.value = true;\n } else {\n hover.value = false;\n }\n }\n );\n\nconst __returned__ = { hover, props, emits, onHover, onMouseLeave, onClick, ref, watch, get UiBasicStageInterface() { return UiBasicStageInterface } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./StageButtonLink.vue?vue&type=template&id=be393694&scoped=true&ts=true&lang=pug\"\nimport script from \"./StageButtonLink.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./StageButtonLink.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./StageButtonLink.vue?vue&type=style&index=0&id=be393694&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-be393694\"]])\n\nexport default __exports__","module.exports = __webpack_public_path__ + \"img/facade-hamptons-double.e30b0d93.jpeg\";","export function formatPrice(\n price: number | string = 0,\n showCurrency = true\n): string {\n const priceArray = `${price}`.split(\".\");\n return (\n (showCurrency ? \"$\" : \"\") +\n priceArray[0]\n .toString()\n .match(/.{1,3}(?=(.{3})*$)/g)\n ?.join(\",\") +\n (priceArray[1] ? \".\" + priceArray[1] : \"\")\n );\n}\n\nexport const formatStripePrice = (value = 0, showCurrency = true): string => {\n let string = String(value);\n string = string.slice(0, -2) + \".\" + string.slice(-2);\n const lastTwo = string.substr(string.length - 2);\n const firstCharacter = string.substr(0, 1);\n if (firstCharacter === \".\") {\n string = \"0\" + string;\n }\n if (lastTwo === \"00\") {\n return formatPrice(string.slice(0, -3), showCurrency);\n }\n return formatPrice(string, showCurrency);\n};\n\nexport const formatPriceToNumber = (price: string): number => {\n return parseFloat(price.replace(/,/g, '').replace(/\\$/g, ''));\n}\n\n\nexport const formatPriceTrim = (price: number | string = 0,) : string => {\n const trimText = price ? price.toString()\n .replace(/[^\\d.]/g, '')\n : undefined;\n if(!trimText || trimText === '$') {\n return '$0';\n }\n return formatPrice(trimText);\n};\n\nexport const formatPorcentageTrim = (porcentage: number | string = 0, max ?: number) : string => {\n let integerValue = porcentage;\n let decimalValue = '';\n if(typeof porcentage === 'string' && porcentage.includes('.')) {\n const porcentageParts = porcentage.split('.');\n integerValue = porcentageParts[0];\n decimalValue = '.' + porcentageParts[1];\n }\n const trimPorcentage = formatPriceTrim(integerValue).replace(/\\$/g, '');\n if(!trimPorcentage) {\n return '0.0';\n }\n if(max && trimPorcentage.replace(/,/g, '') as unknown as number >= max) {\n return max.toString();\n }\n return integerValue + decimalValue;\n};\n\nexport const updatePriceInput = (e : Event, form: Record, priceField: string) => {\n e.preventDefault();\n const target = e.target as HTMLInputElement;\n const value = formatPriceTrim(target.value);\n form[priceField] = formatPriceToNumber(value);\n}\n","import { openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, createElementVNode as _createElementVNode, toDisplayString as _toDisplayString, Fragment as _Fragment, renderList as _renderList, createBlock as _createBlock, normalizeClass as _normalizeClass, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/builder-icon.svg'\nimport _imports_1 from '@/assets/icons/iframe-lots-icon.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-5ce7c444\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"spinner\"\n}\nconst _hoisted_2 = {\n key: 1,\n class: \"side-panel-content\"\n}\nconst _hoisted_3 = {\n key: 0,\n class: \"stage-panel-header\"\n}\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h5\", { class: \"side-panel-title bold\" }, \"Masterplan\", -1))\nconst _hoisted_5 = {\n key: 0,\n class: \"side-panel-title mt\"\n}\nconst _hoisted_6 = {\n key: 0,\n class: \"side-panel-title mt\"\n}\nconst _hoisted_7 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"divider stages\" }, null, -1))\nconst _hoisted_8 = {\n key: 1,\n class: \"lots-panel-header\"\n}\nconst _hoisted_9 = { class: \"lots-panel-back\" }\nconst _hoisted_10 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"h6\", { class: \"lots-panel-back__title\" }, \"Masterplan\", -1))\nconst _hoisted_11 = { class: \"side-panel-title bold stage\" }\nconst _hoisted_12 = {\n key: 0,\n class: \"side-panel-title available-lots\"\n}\nconst _hoisted_13 = {\n key: 1,\n class: \"side-panel-title available-lots\"\n}\nconst _hoisted_14 = {\n key: 2,\n class: \"lots-builder-info\"\n}\nconst _hoisted_15 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"builder-info-icon\",\n src: _imports_0\n}, null, -1))\nconst _hoisted_16 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"p\", null, \"Create your home and land package\", -1))\nconst _hoisted_17 = [\n _hoisted_15,\n _hoisted_16\n]\nconst _hoisted_18 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"divider\" }, null, -1))\nconst _hoisted_19 = { class: \"content-container\" }\nconst _hoisted_20 = {\n key: 0,\n class: \"stages-container\"\n}\nconst _hoisted_21 = {\n key: 0,\n class: \"no-stages-info-wr\"\n}\nconst _hoisted_22 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"img\", {\n class: \"no-stages-icon\",\n src: _imports_1\n}, null, -1))\nconst _hoisted_23 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"no-stages-info\" }, \"Currently, there is no land available. Join our waitlist to get notified about the next release.\", -1))\nconst _hoisted_24 = [\n _hoisted_22,\n _hoisted_23\n]\nconst _hoisted_25 = {\n key: 1,\n class: \"lots-container\"\n}\nconst _hoisted_26 = {\n key: 2,\n class: \"estate-map-blocks-side-panel\"\n}\nconst _hoisted_27 = { class: \"estate-map-block\" }\nconst _hoisted_28 = { class: \"estate-map-block\" }\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return (_openBlock(), _createElementBlock(\"div\", {\n class: _normalizeClass([\"map-side-panel-container\", { builderView: $setup.props.builderView }])\n }, [\n ($setup.loading)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_2, [\n (!$setup.props.isStageMap)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_3, [\n _hoisted_4,\n (!$setup.props.builderView)\n ? (_openBlock(), _createElementBlock(\"h5\", _hoisted_5, \"Land for sale\"))\n : (_openBlock(), _createElementBlock(_Fragment, { key: 1 }, [\n ($setup.props.lotsByHouseDesigns)\n ? (_openBlock(), _createElementBlock(\"h5\", _hoisted_6, _toDisplayString($setup.props.lotsByHouseDesigns.length) + \" Suitable lots\", 1))\n : _createCommentVNode(\"\", true)\n ], 64)),\n _hoisted_7\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_8, [\n _createElementVNode(\"div\", _hoisted_9, [\n _createElementVNode(\"button\", {\n class: \"button-with-icon back no-text\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_ctx.$emit('toMasterplan')))\n }),\n _hoisted_10\n ]),\n _createElementVNode(\"h5\", _hoisted_11, \"Stage \" + _toDisplayString($setup.actualStage[0]?.stage?.title), 1),\n (!$setup.props.builderView)\n ? (_openBlock(), _createElementBlock(\"h5\", _hoisted_12, _toDisplayString($setup.actualStage[0]?.lotData?.length) + \" Available lots\", 1))\n : (_openBlock(), _createElementBlock(\"h5\", _hoisted_13, _toDisplayString($setup.props.lotsByHouseDesigns?.length) + \" Suitable lots\", 1)),\n (!$setup.props.builderView)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_14, _hoisted_17))\n : _createCommentVNode(\"\", true),\n _hoisted_18\n ])),\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"side-panel-wrapper scroll-wrapper\", { 'lots-side-panel': $setup.props.isStageMap }])\n }, [\n _createElementVNode(\"div\", _hoisted_19, [\n (!$setup.props.isStageMap)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_20, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.lotsList, (stage) => {\n return (_openBlock(), _createBlock($setup[\"StageButtonLink\"], {\n key: stage.stage.id,\n stage: stage.stage,\n lotsAvailableAmount: stage.lotData.length,\n hoverStageId: $setup.props.hoverStageId,\n onOnStageHover: $setup.onStageHover,\n onOnClick: $setup.onStageClick\n }, null, 8, [\"stage\", \"lotsAvailableAmount\", \"hoverStageId\"]))\n }), 128)),\n ($setup.lotsList.length === 0)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_21, _hoisted_24))\n : _createCommentVNode(\"\", true)\n ]))\n : (_openBlock(), _createElementBlock(\"div\", _hoisted_25, [\n (_openBlock(true), _createElementBlock(_Fragment, null, _renderList($setup.actualStage[0]?.lotData, (lot) => {\n return (_openBlock(), _createBlock($setup[\"LotButtonLink\"], {\n lot: lot,\n hoverLotId: $setup.props.hoverLotId,\n builderView: $setup.props.builderView,\n onOnLotHover: $setup.onLotHover,\n onOnLotBuilderHover: $setup.onLotBuilderHover,\n onOnClick: $setup.onLotClick\n }, null, 8, [\"lot\", \"hoverLotId\", \"builderView\"]))\n }), 256))\n ]))\n ])\n ], 2),\n (!$setup.props.builderView && !$setup.props.hideOptions)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_26, [\n _createElementVNode(\"div\", _hoisted_27, [\n _createElementVNode(\"button\", {\n class: \"button primary w-100\",\n onClick: _cache[1] || (_cache[1] = ($event: any) => (_ctx.$emit('onRegister')))\n }, \"Join Waitlist\")\n ]),\n _createElementVNode(\"div\", _hoisted_28, [\n _createElementVNode(\"button\", {\n class: \"button primary w-100\",\n onClick: _cache[2] || (_cache[2] = ($event: any) => (_ctx.$emit('onMessage')))\n }, \"Message\")\n ])\n ]))\n : _createCommentVNode(\"\", true)\n ]))\n ], 2))\n}","import { defineComponent as _defineComponent } from 'vue'\nimport { computed, onMounted, ref } from \"vue\";\n import LotMapsWithStageInterface from \"@/types/LotMapsWithStageInterface\";\n import { useStore } from \"vuex\";\n import StageButtonLink from \"@/components/stage/StageButtonLink.vue\";\n import LotButtonLink from \"./Lot/LotButtonLink.vue\";\n import { LotInterface } from \"@/types/LotInterface\";\n import { LotMapInterface } from \"@/types/LotMapInterface\";\n\n \nexport default /*#__PURE__*/_defineComponent({\n __name: 'MapSidePanel',\n props: {\n estateId: { type: String, required: true, default: \"\" },\n isStageMap: { type: Boolean, required: false, default: false },\n stageId: { type: String, required: false, default: \"\" },\n hoverStageId: { type: String, required: false, default: \"\" },\n hoverLotId: { type: String, required: false, default: \"\" },\n lotsByHouseDesigns: { type: Array, required: false, default: undefined },\n builderView: { type: Boolean, required: false },\n hideOptions: { type: Boolean, required: false },\n },\n emits: [\n \"onMessage\",\n \"onStageHover\",\n \"onStageClick\",\n \"onLotHover\",\n \"onLotClick\",\n \"onRegister\",\n \"onMessage\",\n \"toMasterplan\",\n \"onLotBuilderHover\",\n ],\n setup(__props, { expose: __expose, emit: emits }) {\n __expose();\n\nconst props = __props;\n\n const loading = ref(true);\n const store = useStore();\n const lotsList = ref([]);\n\n \n\n \n\n const actualStage = computed(() =>\n lotsList.value.filter((l) => l.stage.id === props.stageId)\n );\n\n const onStageClick = (id: string) => {\n emits(\"onStageClick\", id);\n };\n\n const onStageHover = (value: boolean, id: string) => {\n emits(\"onStageHover\", value, id);\n };\n\n const onLotClick = (lot: LotMapInterface) => {\n emits(\"onLotClick\", lot);\n };\n\n const onLotHover = (value: boolean, id: string) => {\n emits(\"onLotHover\", value, id);\n };\n\n const onLotBuilderHover = (value: boolean, id: string) => {\n emits(\"onLotBuilderHover\", value, id);\n };\n\n const getLotsList = () => {\n store\n .dispatch(\"lot/getLotsList\", {\n estateId: props.estateId,\n isCustomer: true,\n })\n .then(async (res) => {\n lotsList.value = res.data;\n await getLotsListFiltered();\n })\n .finally(() => {\n loading.value = false;\n });\n };\n\n const getLotsListFiltered = async () => {\n if (props.lotsByHouseDesigns) {\n let houseDesignIds: string[] = props.lotsByHouseDesigns.map(\n (design) => design._id\n );\n\n lotsList.value = lotsList.value.map((lot) => {\n const matchingLotData = lot.lotData.filter((lotData) =>\n houseDesignIds.includes(lotData.lotId._id)\n );\n return { ...lot, lotData: matchingLotData };\n });\n }\n };\n\n onMounted(() => {\n getLotsList();\n });\n\nconst __returned__ = { loading, store, lotsList, props, emits, actualStage, onStageClick, onStageHover, onLotClick, onLotHover, onLotBuilderHover, getLotsList, getLotsListFiltered, computed, onMounted, ref, get LotMapsWithStageInterface() { return LotMapsWithStageInterface }, get useStore() { return useStore }, StageButtonLink, LotButtonLink, get LotInterface() { return LotInterface }, get LotMapInterface() { return LotMapInterface } }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./MapSidePanel.vue?vue&type=template&id=5ce7c444&scoped=true&ts=true&lang=pug\"\nimport script from \"./MapSidePanel.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./MapSidePanel.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./MapSidePanel.vue?vue&type=style&index=0&id=5ce7c444&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-5ce7c444\"]])\n\nexport default __exports__","var makeBuiltIn = require('../internals/make-built-in');\nvar defineProperty = require('../internals/object-define-property');\n\nmodule.exports = function (target, name, descriptor) {\n if (descriptor.get) makeBuiltIn(descriptor.get, name, { getter: true });\n if (descriptor.set) makeBuiltIn(descriptor.set, name, { setter: true });\n return defineProperty.f(target, name, descriptor);\n};\n","export const CALENDLY_DEMO_LINK = process.env.VUE_APP_CALENDLY_DEMO_LINK;\nexport const CALENDLY_BUILD_LINK =\n process.env.VUE_APP_CALENDLY_BUILD_CONSULTATION_LINK;\nexport const CALENDLY_PROJECT_SALES_MARKETING_LINK =\n process.env.VUE_APP_CALENDLY_PROJECT_SALES_MARKETING_LINK;\n","export enum RouteLandingNames {\n LANDING = \"Landing\",\n LANDING_BUILDERS = \"LandingBuilders\",\n LANDING_PLANS = \"PlansLanding\",\n}\n","type Target = \"_blank\" | \"_self\";\nexport const redirectWithoutRouter = (url: string, target: Target): void => {\n window.open(url, target);\n};\n","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./LandingMobileHeader.vue?vue&type=style&index=0&id=2b8d01ce&lang=scss&scoped=true\"","export * from \"-!../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ContactUsLink.vue?vue&type=style&index=0&id=764c9914&lang=scss&scoped=true\"","import { toDisplayString as _toDisplayString, normalizeClass as _normalizeClass, createElementVNode as _createElementVNode, renderSlot as _renderSlot, openBlock as _openBlock, createElementBlock as _createElementBlock, createCommentVNode as _createCommentVNode, pushScopeId as _pushScopeId, popScopeId as _popScopeId } from \"vue\"\nimport _imports_0 from '@/assets/icons/bed-icon-black.png'\nimport _imports_1 from '@/assets/icons/bathtub-icon-black.png'\nimport _imports_2 from '@/assets/icons/car-icon-black.png'\nimport _imports_3 from '@/assets/icons/sofa-icon-black.png'\n\n\nconst _withScopeId = n => (_pushScopeId(\"data-v-52add2f8\"),n=n(),_popScopeId(),n)\nconst _hoisted_1 = {\n key: 0,\n class: \"house-features-wr\"\n}\nconst _hoisted_2 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"line\" }, null, -1))\nconst _hoisted_3 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"line\" }, null, -1))\nconst _hoisted_4 = /*#__PURE__*/ _withScopeId(() => /*#__PURE__*/_createElementVNode(\"div\", { class: \"line\" }, null, -1))\n\nexport function render(_ctx: any,_cache: any,$props: any,$setup: any,$data: any,$options: any) {\n return ($setup.props.features)\n ? (_openBlock(), _createElementBlock(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icons\", { 'reverse-icons': $setup.props.directionLogo, 'reverse-icons-center': $setup.props.directionLogoCalculator, 'reverse-icons-start': $setup.props.directionLogoLandPackage }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-wr\", { reverse: $setup.props.directionLogo || $setup.props.directionLogoCalculator || $setup.props.directionLogoLandPackage }])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-text\", { 'tiny-min': $setup.props.iconSize === 'tiny-min' }])\n }, _toDisplayString($setup.props.features.bedroom), 3),\n _createElementVNode(\"img\", {\n class: _normalizeClass($setup.props.iconSize),\n src: _imports_0\n }, null, 2)\n ], 2),\n _hoisted_2,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-wr\", { reverse: $setup.props.directionLogo || $setup.props.directionLogoCalculator || $setup.props.directionLogoLandPackage}])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-text\", { 'tiny-min': $setup.props.iconSize === 'tiny-min' }])\n }, _toDisplayString($setup.props.features.bathroom.quantity), 3),\n _createElementVNode(\"img\", {\n class: _normalizeClass($setup.props.iconSize),\n src: _imports_1\n }, null, 2)\n ], 2),\n _hoisted_3,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-wr\", { reverse: $setup.props.directionLogo || $setup.props.directionLogoCalculator || $setup.props.directionLogoLandPackage}])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-text\", { 'tiny-min': $setup.props.iconSize === 'tiny-min' }])\n }, _toDisplayString($setup.props.features.garage), 3),\n _createElementVNode(\"img\", {\n class: _normalizeClass($setup.props.iconSize),\n src: _imports_2\n }, null, 2)\n ], 2),\n _hoisted_4,\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-wr\", { reverse: $setup.props.directionLogo || $setup.props.directionLogoCalculator || $setup.props.directionLogoLandPackage}])\n }, [\n _createElementVNode(\"div\", {\n class: _normalizeClass([\"icon-text\", { 'tiny-min': $setup.props.iconSize === 'tiny-min' }])\n }, _toDisplayString($setup.props.features.loungeRoom.quantity), 3),\n _createElementVNode(\"img\", {\n class: _normalizeClass($setup.props.iconSize),\n src: _imports_3\n }, null, 2)\n ], 2)\n ], 2),\n _renderSlot(_ctx.$slots, \"button\", {}, undefined, true)\n ]))\n : _createCommentVNode(\"\", true)\n}","import { defineComponent as _defineComponent } from 'vue'\n\nexport default /*#__PURE__*/_defineComponent({\n __name: 'HouseFeatures',\n props: {\n features: {\n type: Object,\n required: true,\n },\n iconSize: {\n type: String,\n default: \"small\",\n },\n directionLogo: {\n type: Boolean,\n default: false,\n },\n directionLogoCalculator: {\n type: Boolean,\n default: false,\n },\n directionLogoLandPackage: {\n type: Boolean,\n default: false,\n },\n},\n setup(__props, { expose: __expose }) {\n __expose();\n\nconst props = __props;\n\n\n\nconst __returned__ = { props }\nObject.defineProperty(__returned__, '__isScriptSetup', { enumerable: false, value: true })\nreturn __returned__\n}\n\n})","import { render } from \"./HouseFeatures.vue?vue&type=template&id=52add2f8&scoped=true&ts=true&lang=pug\"\nimport script from \"./HouseFeatures.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./HouseFeatures.vue?vue&type=script&lang=ts&setup=true\"\n\nimport \"./HouseFeatures.vue?vue&type=style&index=0&id=52add2f8&lang=scss&scoped=true\"\n\nimport exportComponent from \"/codebuild/output/src264950160/src/lottrackr-front/node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/exportHelper.js\"\nconst __exports__ = /*#__PURE__*/exportComponent(script, [['render',render],['__scopeId',\"data-v-52add2f8\"]])\n\nexport default __exports__","export * from \"-!../../../../node_modules/@vue/cli-service/node_modules/mini-css-extract-plugin/dist/loader.js??ref--9-oneOf-1-0!../../../../node_modules/@vue/cli-service/node_modules/css-loader/dist/cjs.js??ref--9-oneOf-1-1!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/stylePostLoader.js!../../../../node_modules/postcss-loader/src/index.js??ref--9-oneOf-1-2!../../../../node_modules/sass-loader/dist/cjs.js??ref--9-oneOf-1-3!../../../../node_modules/@vue/cli-service/node_modules/cache-loader/dist/cjs.js??ref--1-0!../../../../node_modules/@vue/cli-service/node_modules/vue-loader-v16/dist/index.js??ref--1-1!./ResetPasswordModal.vue?vue&type=style&index=0&id=27f37551&lang=scss\""],"sourceRoot":""}