{"version":3,"file":"static/chunks/app/[locale]/lp/[slug]/page-70e55f9e728fbac2.js","mappings":"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","sources":["webpack://_N_E/?988a","webpack://_N_E/./app/[locale]/lp/_components/LandingPage.tsx","webpack://_N_E/./components/modules/types.ts","webpack://_N_E/./public/icons/alertIcon.svg","webpack://_N_E/./components/ToastError.tsx","webpack://_N_E/./hooks/useToastError.tsx","webpack://_N_E/./lib/forms/types.ts","webpack://_N_E/./lib/leads/leads.ts","webpack://_N_E/./lib/locations/dto/location.dto.ts","webpack://_N_E/./lib/locations/dto/location-price.dto.ts","webpack://_N_E/./lib/locations/dto/sort-filter.enum.ts","webpack://_N_E/./lib/locations/dto/index.ts","webpack://_N_E/./lib/locations/dto/location-phases.enum.ts","webpack://_N_E/./lib/locations/dto/manager-roles.enum.ts","webpack://_N_E/./lib/locations/location-api.tsx","webpack://_N_E/./utils/calendly.ts","webpack://_N_E/./utils/object-utils.ts"],"sourcesContent":["import(/* webpackMode: \"eager\", webpackExports: [\"LandingPage\"] */ \"/codebuild/output/src4237242273/src/website/app/[locale]/lp/_components/LandingPage.tsx\");\n","'use client';\n\nimport { useLocale } from 'next-intl';\nimport dynamic from 'next/dynamic';\nimport { useEffect, useState } from 'react';\n\nimport { LocationLeadResponse } from '@/app/api/leads/locations/types';\nimport { Header } from '@/components/Header/Header';\nimport ModuleFactory from '@/components/modules/ModuleFactory';\nimport {\n ApplicationFormData,\n BrokerFormData,\n FormWithBackgroundData,\n FormWithBackgroundType,\n RegularFormData,\n} from '@/components/modules/types';\nimport { useRouter } from '@/hooks/useRouter';\nimport { useToastError } from '@/hooks/useToastError';\nimport { FormTypes } from '@/lib/forms/types';\nimport { getTracking, isCalendlyPreLoadable } from '@/lib/leads/leads';\nimport {\n LocationPhases,\n SimpleIndustriousLocationSearchDto,\n} from '@/lib/locations/dto';\nimport { fetchAllIndustriousLocations } from '@/lib/locations/location-api';\nimport { MarketingPageDto } from '@/lib/marketing-page/dto';\nimport { PageActions } from '@/lib/types';\nimport { getAppropiateCalendlyLink } from '@/utils/calendly';\nimport * as gtm from '@/utils/gtm';\nimport { HttpMethods, tryFetchToJson } from '@/utils/http-request';\nimport { shallowEqual } from '@/utils/object-utils';\nimport { stringifyUrl } from '@/utils/stringify-url';\n\nimport { LandingSuccessPageProps } from '../../(leads-forms)/lp/thank-you/_components/LandingSuccessPage';\n\nimport clsx from 'clsx';\n\nconst CalendlyModal = dynamic(() => import('@/components/CalendlyModal'), {\n ssr: false,\n});\n\nexport type LandingPageProps = {\n model: MarketingPageDto;\n mapboxAccessToken: string;\n};\n\nexport function LandingPage({\n model: { modules, ...pageProps },\n mapboxAccessToken,\n}: LandingPageProps) {\n const router = useRouter();\n const locale = useLocale();\n const { showToast, hideToast } = useToastError();\n const [locations, setLocations] = useState<\n SimpleIndustriousLocationSearchDto[]\n >([]);\n const [form, setForm] = useState();\n const [formType, setFormType] = useState();\n const calendlyLink = form && getAppropiateCalendlyLink(form.location);\n const [showCalendly, setShowCalendly] = useState(false);\n\n useEffect(() => {\n fetchAllIndustriousLocations({\n locale,\n phases: pageProps.phases,\n slugs: pageProps.locationSlugs,\n isWaitlisting: false,\n }).then((x) => setLocations(x));\n }, []);\n\n const handleSubmit = async (\n form: FormWithBackgroundData,\n formType: FormWithBackgroundType\n ) => {\n setFormType(formType);\n\n const location =\n formType === FormWithBackgroundType.Regular\n ? (form as RegularFormData).location\n : null;\n\n await tryFetchToJson({\n fetchParams: {\n input: '/api/leads/locations',\n init: {\n method: HttpMethods.Post,\n body: JSON.stringify(\n createLeadDto({\n form,\n formType,\n campaignId: pageProps.campaignId,\n promoCode: pageProps.promoCode,\n location,\n })\n ),\n },\n },\n onSuccess: (response) => {\n hideToast();\n gtm.pushEvent('formSubmissionSuccess');\n if (\n response.isFlaggedAsBot ||\n location?.phase === LocationPhases.Signed ||\n formType === FormWithBackgroundType.Broker ||\n (location && !getAppropiateCalendlyLink(location))\n ) {\n redirectToThankYouPage(form, formType);\n return;\n }\n\n setShowCalendly(true);\n },\n onFunctionalError: () => showToast(),\n onTechnicalError: () => showToast(),\n });\n };\n\n const handleCTAClicked = (action: PageActions) => {\n if (action === PageActions.CHECKOUT) {\n const url = stringifyUrl('/checkout', {\n promoCode: pageProps.promoCode,\n });\n router.push(url);\n }\n };\n\n const redirectToThankYouPage = (\n form: FormWithBackgroundData,\n formType: FormWithBackgroundType\n ) => {\n const { email, firstName, lastName } = form;\n\n const successPageProps: LandingSuccessPageProps = {\n email,\n firstName,\n formType,\n ...(formType === FormWithBackgroundType.Regular && {\n locationCountry: (form as RegularFormData).location.country,\n locationPhase: (form as RegularFormData).location.phase,\n locationPhone: (form as RegularFormData).location.phone || undefined,\n }),\n };\n\n gtm.pushEvent('form_process_complete', {\n form_type: FormTypes.MARKETING_LANDING_PAGE,\n customer_email: email,\n customer_first_name: firstName,\n customer_last_name: lastName,\n });\n\n const url = stringifyUrl('/lp/thank-you', successPageProps);\n\n router.push(url);\n };\n\n const handleCalendlyModalSubmitted = (\n form: RegularFormData,\n formType: FormWithBackgroundType\n ) => {\n redirectToThankYouPage(form, formType);\n };\n\n const handleFormChange = (\n formChanged: ApplicationFormData | RegularFormData\n ) => {\n if (\n isCalendlyPreLoadable(formChanged) &&\n (!form || !shallowEqual(form, formChanged))\n ) {\n setForm(formChanged);\n }\n };\n\n const moduleComponents = modules.map((module, index) => {\n const id = `${module.name}-${index}`;\n\n return (\n
\n \n
\n );\n });\n\n return (\n <>\n
\n
\n {moduleComponents}\n {form && calendlyLink && (\n handleCalendlyModalSubmitted(form, formType!)}\n onSubmit={() => handleCalendlyModalSubmitted(form, formType!)}\n />\n )}\n
\n \n );\n}\n\ntype CreateLeadDtoProps = {\n form: FormWithBackgroundData;\n formType: FormWithBackgroundType;\n promoCode?: string;\n campaignId?: string;\n location: SimpleIndustriousLocationSearchDto | null;\n};\n\nfunction createLeadDto({\n form,\n formType,\n promoCode,\n campaignId,\n location,\n}: CreateLeadDtoProps) {\n const { firstName, lastName, email, phone, company } = form;\n\n const comments =\n formType === FormWithBackgroundType.Broker\n ? (form as BrokerFormData).comments\n : undefined;\n\n const industry =\n formType === FormWithBackgroundType.Application ||\n formType === FormWithBackgroundType.Regular\n ? (form as RegularFormData).industry\n : undefined;\n\n const textMessageOptIn =\n formType === FormWithBackgroundType.Application ||\n formType === FormWithBackgroundType.Regular\n ? (form as RegularFormData).textMessageOptIn\n : undefined;\n\n return {\n firstName,\n lastName,\n email,\n telephone: phone,\n company,\n referenceCode: promoCode,\n marketocampaignID: campaignId,\n location: location?.sfId,\n industry,\n textMessageOptIn,\n comments,\n ...getTracking(),\n };\n}\n","import { SimpleIndustriousLocationSearchDto } from '@/lib/locations/dto';\n\nimport { ApplicationFormType } from './FormWithBackgroundModule/ApplicationForm/form-schema';\nimport { BrokerFormType } from './FormWithBackgroundModule/BrokerForm/form-schema';\nimport { RegularFormType } from './FormWithBackgroundModule/RegularForm/form-schema';\nimport { ModuleTypes } from './module-types.enum';\n\nexport type BaseModuleProps = {\n name: ModuleTypes;\n background?:\n | BackgroundColorProps\n | BackgroundImageProps\n | BackgroundVideoProps;\n isHidden?: boolean;\n};\n\nexport type LinkProps = {\n url: string;\n label: string;\n};\n\n/* Medias */\nexport type ImageProps = {\n src: string;\n alt: string;\n caption?: string;\n priority?: boolean;\n sizes?: string;\n className?: string;\n};\n\nexport type VideoProps = {\n src: string;\n type: 'video/mp4' | 'video/webm' | 'video/ogg';\n};\n\n/* Backgrounds */\nexport enum BackgroundType {\n Image = 'image',\n Video = 'video',\n Color = 'color',\n}\n\nexport enum BackgroundColors {\n ALMOND = 'almond',\n WHITE = 'white',\n}\n\nexport type BackgroundImageProps = {\n type: BackgroundType.Image;\n image: ImageProps;\n};\n\nexport type BackgroundVideoProps = {\n type: BackgroundType.Video;\n video: VideoProps;\n};\n\nexport type BackgroundColorProps = {\n type: BackgroundType.Color;\n color: BackgroundColors;\n};\n\n/* Eyebrow */\nexport enum EyebrowType {\n Text = 'text',\n Image = 'image',\n}\n\nexport type TextEyebrowProps = {\n type: EyebrowType.Text;\n text: string;\n};\n\nexport type ImageEyebrowProps = ImageProps & {\n type: EyebrowType.Image;\n};\n\n/* Forms */\nexport enum FormWithBackgroundType {\n Regular = 'regular',\n Broker = 'broker',\n Application = 'application',\n}\n\nexport type RegularFormData = Omit & {\n location: SimpleIndustriousLocationSearchDto;\n};\n\nexport type ApplicationFormData = Omit & {\n location: SimpleIndustriousLocationSearchDto;\n};\n\nexport type BrokerFormData = BrokerFormType;\n\nexport type FormWithBackgroundData =\n | ApplicationFormData\n | RegularFormData\n | BrokerFormData;\n","export default {\"src\":\"/_next/static/media/alertIcon.11bdd267.svg\",\"height\":28,\"width\":28,\"blurWidth\":0,\"blurHeight\":0};","import { useTranslations } from 'next-intl';\nimport Image from 'next/image';\n\nimport alertIcon from '@/public/icons/alertIcon.svg';\n\nexport default function ToastError({ msg }: { msg?: string }) {\n const t = useTranslations('toast-error');\n\n return (\n \n
\n \n {msg || t('description')}\n
\n\n {!msg && (\n window.location.reload()}\n >\n {t('refresh')}\n \n )}\n \n );\n}\n","'use client';\n\nimport React, {\n useCallback,\n useContext,\n useEffect,\n useMemo,\n useState,\n} from 'react';\nimport ReactDOM from 'react-dom';\n\nimport ToastError from '@/components/ToastError';\nimport { usePathname } from '@/i18n/navigation';\nimport { SECOND_IN_MS } from '@/utils/date-utils';\n\nconst TOAST_DISPLAY_DURATION_IN_MS = 5 * SECOND_IN_MS;\n\nconst ToastContainer = ({ msg }: { msg?: string }) => {\n const [mounted, setMounted] = useState(false);\n\n useEffect(() => {\n setMounted(true);\n return () => setMounted(false);\n }, []);\n\n return mounted\n ? ReactDOM.createPortal(, document.body)\n : null;\n};\n\ntype ToastContextType = {\n showToast: (msg?: string) => void;\n showToastTemporary: (msg?: string) => void;\n hideToast: () => void;\n};\n\nconst ToastContext = React.createContext({\n showToast: () => null,\n showToastTemporary: () => null,\n hideToast: () => null,\n});\n\nconst ToastProvider = ({ children }: { children: React.ReactNode }) => {\n const [isDisplayed, setIsDisplayed] = useState(false);\n const [msg, setMsg] = useState();\n const pathname = usePathname();\n\n useEffect(() => {\n hideToast();\n }, [pathname]);\n\n const showToast = useCallback(\n (msg?: string) => {\n setIsDisplayed(true);\n setMsg(msg);\n },\n [setIsDisplayed]\n );\n\n const showToastTemporary = useCallback(\n (msg?: string) => {\n showToast(msg);\n setTimeout(() => {\n hideToast();\n }, TOAST_DISPLAY_DURATION_IN_MS);\n },\n [setIsDisplayed]\n );\n\n const hideToast = useCallback(() => {\n setIsDisplayed(false);\n setMsg(undefined);\n }, [setIsDisplayed]);\n\n const contextValue = useMemo(\n () => ({\n showToast,\n hideToast,\n showToastTemporary,\n }),\n [showToast, hideToast]\n );\n\n return (\n \n {isDisplayed && }\n {children}\n \n );\n};\n\nconst useToastError = (): ToastContextType => {\n return useContext(ToastContext);\n};\n\nexport { ToastContext, useToastError };\nexport default ToastProvider;\n","export enum formNames {\n LOCATION_APPLICATION = 'location_application',\n NEWSLETTER_FOOTER = 'newsletter_footer',\n MEETING_SPACE_REQUEST = 'meeting_space_request',\n MARKETING_LANDING_PAGE = 'marketing_landing_page',\n ENTERPRISE = 'enterprise_inquiry',\n BROKER = 'broker_request',\n LANDLORD = 'landlord_request',\n MARKETING = 'marketing_inquiry',\n GENERAL = 'general_inquiry',\n PR_AND_MEDIA = 'pr_media_inquiry',\n}\n\nexport enum otherFormNames {\n CHECKOUT = 'checkout',\n}\n\nexport const FormTypes = { ...formNames, ...otherFormNames };\nexport type FormTypes = typeof FormTypes;\n","import { BrokerFormData } from '@/app/[locale]/(leads-forms)/brokers/inquiry/_components/types';\nimport { LandlordFormData } from '@/app/[locale]/(leads-forms)/landlords/inquiry/_components/types';\nimport { ApplicationFormData } from '@/app/[locale]/(leads-forms)/location-form/_components/types';\nimport { MeetingEventSpaceInquiryFormData } from '@/app/[locale]/(leads-forms)/meeting-event-space-inquiry/_components/types';\nimport {\n COOKIE_KEY_MKTO_REFERRER,\n getCookieByKey,\n getTrackingCookies,\n} from '@/utils/cookies';\nimport { getLastIndustriousUrl } from '@/utils/routes';\n\nimport { formNames } from '../forms/types';\nimport { SimpleIndustriousLocationSearchDto } from '../locations/dto/simple-location-search.dto';\nimport {\n BrokerApplicationLeadDto,\n LandlordApplicationLeadDto,\n LocationApplicationLeadDto,\n MeetingEventSpaceInquiryLeadDto,\n} from './dto';\nimport { WithTrackingDto } from './dto/withTracking.dto';\n\nexport const LANDLORD_INQUIRY_CAMPAIGN_ID = '18580';\nexport const BROKER_INQUIRY_CAMPAIGN_ID = '18573';\n\nexport function createLandlordLeadDto({\n address,\n ...otherFields\n}: LandlordFormData): WithTrackingDto {\n return {\n formName: formNames.LANDLORD,\n marketocampaignID: LANDLORD_INQUIRY_CAMPAIGN_ID,\n buildingAddress: address,\n ...otherFields,\n ...getTracking(),\n };\n}\n\nexport function createMeetingLeadDto(\n form: MeetingEventSpaceInquiryFormData\n): WithTrackingDto {\n return {\n formName: formNames.MEETING_SPACE_REQUEST,\n ...form,\n ...getTracking(),\n };\n}\n\nexport function createLocationApplicationLeadDto({\n phone,\n ...otherFields\n}: ApplicationFormData): WithTrackingDto {\n return {\n formName: formNames.LOCATION_APPLICATION,\n telephone: phone,\n ...otherFields,\n ...getTracking(),\n };\n}\n\nexport function createBrokerLeadDto({\n phone,\n ...otherFields\n}: BrokerFormData): WithTrackingDto {\n return {\n formName: formNames.BROKER,\n marketocampaignID: BROKER_INQUIRY_CAMPAIGN_ID,\n telephone: phone,\n ...otherFields,\n ...getTracking(),\n };\n}\n\nexport function getTracking(): WithTrackingDto {\n const {\n marketoCookie,\n hubspotutk,\n utmCampaign,\n utmContent,\n utmMedium,\n utmSource,\n utmTerm,\n indChannel,\n indKpi,\n indAdGroup,\n indAdCampaign,\n indLs,\n indAud,\n gclid,\n } = getTrackingCookies();\n\n return {\n lastIndustriousUrl: getLastIndustriousUrl(),\n lastExternalUrl: getCookieByKey(COOKIE_KEY_MKTO_REFERRER) ?? null, // to remove after marketo is removed\n gclid: gclid ?? null,\n utms: {\n campaign: utmCampaign ?? null,\n source: utmSource ?? null,\n medium: utmMedium ?? null,\n content: utmContent ?? null,\n term: utmTerm ?? null,\n },\n marketoCookie: marketoCookie ?? null,\n hubspotutk: hubspotutk ?? null,\n channel: indChannel ?? null,\n kpi: indKpi ?? null,\n adGroup: indAdGroup ?? null,\n adCampaign: indAdCampaign ?? null,\n ls: indLs ?? null,\n aud: indAud ?? null,\n };\n}\n\nexport function isCalendlyPreLoadable(form: {\n firstName: string;\n lastName: string;\n email: string;\n company: string;\n phone: string;\n location?: SimpleIndustriousLocationSearchDto | string;\n}): boolean {\n return !!(\n form.company &&\n form.email &&\n form.firstName &&\n form.lastName &&\n form.location &&\n form.phone\n );\n}\n","import { ImageDto } from '@/lib/image.dto';\nimport { BlackoutDateDto } from '@/lib/shared/dto/blackout-date.dto';\nimport { Countries } from '@/models/Countries.enum';\n\nimport { GeolocalizationDto } from './geolocalization.dto';\nimport { LocationAmenityDto } from './location-amenity.dto';\nimport { LocationCalendlyLinksDto } from './location-calendly-links.dto';\nimport { LocationManagerDto } from './location-manager.dto';\nimport { LocationMeetingSpacesDto } from './location-meeting-spaces.dto';\nimport { LocationOpeningHoursDto } from './location-opening-hours.dto';\nimport { LocationPhases } from './location-phases.enum';\nimport { LocationProductsDto } from './location-products.dto';\n\nexport type LocationDto = {\n id: string;\n sfId: string;\n slug: string;\n name: string;\n address: string;\n address2: string;\n zipCode: string;\n city: string;\n state: string;\n country: Countries;\n geolocalization: GeolocalizationDto;\n phase: LocationPhases;\n calendlyLinks: LocationCalendlyLinksDto;\n currencyIsoCode: string | null;\n brochureLink: string;\n locationManagers: LocationManagerDto[];\n images: ImageDto[];\n matterportImageLink: string | null;\n summary: string | null;\n products: LocationProductsDto;\n parkingInfos: string | null;\n parkingAlt: string | null;\n parkingGuest: string | null;\n bikeRacks: string | null;\n buildingCheckInInstructions: string | null;\n transitInfos: TransitInfo[];\n lodgingAndDining: string[];\n attractions: string[];\n embedSocialId: string | null;\n meetingSpaces: LocationMeetingSpacesDto;\n salesHighlightBanner: string | null;\n firstDayOfBusinessISO: string | null;\n email: string;\n phone: string | null;\n timezone: string;\n brandName: string | null;\n amenities: {\n standard: LocationAmenityDto[];\n unique: LocationAmenityDto[];\n };\n metroSfId: string;\n metroName: string;\n metaDescription?: string;\n isEarlyInPersonTourEnabled: boolean;\n hideOpeningDate: boolean;\n salesOfficeAddress: string | null;\n isWaitlisting: boolean;\n openingHours: LocationOpeningHoursDto;\n blackoutDates: BlackoutDateDto[];\n contractType: string | undefined;\n landlord: string | undefined;\n licensor: string | undefined | null;\n isCrawlable: boolean;\n};\n\nexport enum TransitCategoryType {\n Airport = 'Airport',\n Bike = 'Bike',\n Bus = 'Bus',\n Driving = 'Driving',\n Parking = 'Parking',\n Subway = 'Subway',\n Train = 'Train',\n TransitHub = 'TransitHub',\n Other = 'Other',\n}\n\nexport type TransitInfo = {\n description: string;\n category: TransitCategoryType;\n};\n","export enum LocationPriceFormat {\n CheapestPerSeat = 'Cheapest Per Seat',\n CheapestOffice = 'Cheapest Office',\n}\n\nexport type LocationPricesDto = {\n currencyIsoCode: string;\n priceFormat: LocationPriceFormat;\n lowestPrices: {\n dedicatedOffice: LocationPriceItemDto | undefined | null;\n suites: LocationPriceItemDto | undefined | null;\n access: LocationPriceItemDto | undefined | null;\n virtual: LocationPriceItemDto | undefined | null;\n meetingRoom: LocationMeetingRoomPriceItemDto;\n coworkingDayPass: LocationCoworkingDayPassPriceItemDto | undefined | null;\n coworking: LocationCoworkingPriceItemDto;\n office: LocationOfficePriceItemDto;\n };\n};\n\nexport type LocationMeetingRoomPriceItemDto = {\n price: number;\n perHour?: number;\n perDay?: number;\n};\n\nexport type LocationCoworkingDayPassPriceItemDto = {\n price: number;\n};\n\nexport type LocationOfficePriceItemDto = {\n perMonth?: number;\n};\n\nexport type LocationCoworkingPriceItemDto = {\n perDay?: number;\n perMonth?: number;\n};\n\nexport type LocationPriceItemDto = {\n family: string;\n price: number;\n productSquareFootage: number | null | undefined;\n seatCount: number | null | undefined;\n};\n","export enum SortFilter {\n PHASE = 'phase',\n}\n","export * from './geolocalization.dto';\nexport * from './location-manager.dto';\nexport * from './location.dto';\nexport * from './location-price.dto';\nexport * from './location-products.dto';\nexport * from './location-meeting-spaces.dto';\nexport * from './micro-location.dto';\nexport * from './simple-location.dto';\nexport * from './simple-location-search.dto';\nexport * from './location-and-near-locations.dto';\nexport * from './location-phases.enum';\nexport * from './manager-roles.enum';\nexport * from './metro.dto';\nexport * from './sort-filter.enum';\n","export enum LocationPhases {\n Signed = 'Signed',\n Launch = 'Launch',\n Open = 'Open',\n Closed = 'Closed',\n Draft = 'Draft',\n Greenlight = 'Greenlight',\n HardCommit = 'Hard Commit',\n}\n","export enum ManagerRoles {\n ConferenceServicesManager = 'Conference Services Manager',\n TechnicalAudioVisualManager = 'Technical Audio Visual Manager',\n // New roles - Revisit above roles during LCR refactor\n MemberExperienceAssociate = 'Member Experience Associate',\n MemberExperienceManager = 'Member Experience Manager',\n AssistantGeneralManager = 'Assistant General Manager',\n GeneralManager = 'General Manager',\n RegionalDirector = 'Regional Director',\n AreaSalesLead = 'Area Sales Lead',\n EnterpriseSales = 'Enterprise Sales',\n AccountManager = 'Account Manager',\n FacilitiesManager = 'Facilities Manager',\n FacilitiesAssociate = 'Facilities Associate',\n}\n","import { getServerConfig } from '@/utils/config';\nimport { tryFetchToJson } from '@/utils/http-request';\n\nimport {\n MicroLocationDto,\n SimpleIndustriousLocationSearchDto,\n SimpleLocationSearchDto,\n} from './dto';\nimport { LocationAndNearLocationsDto } from './dto/location-and-near-locations.dto';\nimport { LocationFilterDto } from './dto/location-filter.dto';\nimport { LocationHierarchies } from './dto/location-hierarchies.dto';\n\nexport enum GetAllLocationsResponseTypes {\n Full = 'full',\n Micro = 'micro',\n}\n\nexport async function fetchLocationBySlug(\n slug: string,\n locale: string\n): Promise {\n const url = `${\n getServerConfig().NEXT_PUBLIC_INVENTORY_API_URL\n }/discovery/locations/${slug}`;\n\n return tryFetchToJson({\n fetchParams: {\n input: url,\n init: {\n headers: { 'Accept-Language': locale },\n cache: 'no-cache',\n },\n },\n });\n}\n\nexport async function fetchLocationMeetingRoomCount(\n slug: string\n): Promise {\n const url = `${\n getServerConfig().NEXT_PUBLIC_INVENTORY_API_URL\n }/discovery/locations/${slug}/meeting-room-count?isOpenToAll=true`;\n\n const result = await tryFetchToJson<{ count: number }>({\n fetchParams: {\n input: url,\n },\n });\n\n return result?.count ?? undefined;\n}\n\nexport type FetchAllLocationsProps = {\n locale: string;\n responseType?: GetAllLocationsResponseTypes;\n withPrivateOffice?: boolean;\n withCoworkingDayPassOnly?: boolean;\n withOnlineMeetingRoomReservation?: boolean;\n onlyCrawlable?: boolean;\n} & LocationFilterDto;\n\nexport async function fetchIndustriousMicroLocations(\n locale: string\n): Promise {\n return fetchAllIndustriousLocations({\n locale,\n responseType: GetAllLocationsResponseTypes.Micro,\n }) as Promise;\n}\n\nexport async function fetchAllLocations(\n params: FetchAllLocationsProps\n): Promise {\n const { locale, responseType, ...filters } = params;\n\n const host = getServerConfig().NEXT_PUBLIC_INVENTORY_API_URL;\n\n const url = `${host}/discovery/locations/all?responseType=${\n responseType || GetAllLocationsResponseTypes.Full\n }`;\n\n const locations = await tryFetchToJson({\n fetchParams: {\n input: url,\n init: {\n headers: {\n 'Accept-Language': locale,\n 'Content-Type': 'application/json',\n },\n method: 'POST',\n body: JSON.stringify(filters),\n },\n },\n skipFetchError: true,\n });\n\n return locations ?? [];\n}\n\nexport async function fetchAllIndustriousLocations(\n props: FetchAllLocationsProps\n): Promise {\n return fetchAllLocations({\n ...props,\n onlyInternal: true,\n }) as Promise;\n}\n\nexport async function fetchLocationHierarchies(props: {\n locale: string;\n}): Promise {\n const { locale } = props;\n\n const url = `${\n getServerConfig().NEXT_PUBLIC_INVENTORY_API_URL\n }/discovery/locations/hierarchies`;\n\n return tryFetchToJson({\n fetchParams: {\n input: url,\n init: { headers: { 'Accept-Language': locale } },\n },\n });\n}\n","import { LocationCalendlyLinksDto } from '@/lib/locations/dto/location-calendly-links.dto';\nimport { LocationPhases } from '@/lib/locations/dto/location-phases.enum';\n\nimport { getTrackingCookies } from './cookies';\n\nexport function createUtmCalendly(\n utms: Pick<\n ReturnType,\n 'utmCampaign' | 'utmContent' | 'utmMedium' | 'utmSource' | 'utmTerm'\n >\n) {\n const { utmCampaign, utmContent, utmMedium, utmSource, utmTerm } = utms;\n\n return {\n utmCampaign,\n utmContent,\n utmMedium,\n utmSource,\n utmTerm,\n };\n}\n\nexport function createPrefillCalendly(props: {\n company?: string;\n firstName?: string;\n email?: string;\n lastName?: string;\n phone?: string;\n}) {\n const { email, firstName, lastName, company, phone } = props;\n\n return {\n email,\n firstName,\n lastName,\n customAnswers: {\n a1: company,\n a2: phone,\n },\n };\n}\n\nexport function getAppropiateCalendlyLink(props: {\n calendlyLinks: LocationCalendlyLinksDto;\n phase: LocationPhases;\n}) {\n const { calendlyLinks, phase } = props;\n\n if (phase === LocationPhases.Open) {\n return adaptCalendlyLink(calendlyLinks.inPersonTour);\n }\n\n return adaptCalendlyLink(calendlyLinks.phoneCall);\n}\n\nexport function adaptCalendlyLink(link: string | null) {\n if (!isUrlValid(link)) {\n return null;\n }\n if (link.includes('https://')) {\n return link;\n }\n return `https://${link}`;\n}\n\nfunction isUrlValid(str: string | null): str is string {\n if (str == null) return false;\n const pattern = new RegExp(\n '^(https?:\\\\/\\\\/)?' + // protocol\n '((([a-z\\\\d]([a-z\\\\d-]*[a-z\\\\d])*)\\\\.)+[a-z]{2,}|' + // domain name\n '((\\\\d{1,3}\\\\.){3}\\\\d{1,3}))' + // OR IP (v4) address\n '(\\\\:\\\\d+)?(\\\\/[-a-z\\\\d%_.~+]*)*' + // port and path\n '(\\\\?[;&a-z\\\\d%_.~+=-]*)?' + // query string\n '(\\\\#[-a-z\\\\d_]*)?$', // fragment locator\n 'i'\n );\n return pattern.test(str);\n}\n","// eslint-disable-next-line @typescript-eslint/no-explicit-any\nexport function shallowEqual(object1: any, object2: any) {\n const keys1 = Object.keys(object1);\n const keys2 = Object.keys(object2);\n\n if (keys1.length !== keys2.length) {\n return false;\n }\n\n for (const key of keys1) {\n if (object1[key] !== object2[key]) {\n return false;\n }\n }\n\n return true;\n}\n"],"names":["Promise","resolve","then","__webpack_require__","bind","CalendlyModal","dynamic","all","e","ssr","LandingPage","param","model","modules","pageProps","mapboxAccessToken","router","useRouter","locale","useLocale","showToast","hideToast","useToastError","locations","setLocations","useState","form","setForm","formType","setFormType","calendlyLink","getAppropiateCalendlyLink","location","showCalendly","setShowCalendly","useEffect","fetchAllIndustriousLocations","phases","slugs","locationSlugs","isWaitlisting","x","handleSubmit","FormWithBackgroundType","Regular","tryFetchToJson","fetchParams","input","init","method","HttpMethods","Post","body","JSON","stringify","createLeadDto","promoCode","campaignId","firstName","lastName","email","phone","company","comments","Broker","undefined","industry","Application","textMessageOptIn","telephone","referenceCode","marketocampaignID","sfId","getTracking","onSuccess","gtm","response","isFlaggedAsBot","phase","LocationPhases","Signed","redirectToThankYouPage","onFunctionalError","onTechnicalError","handleCTAClicked","action","PageActions","CHECKOUT","url","stringifyUrl","push","successPageProps","locationCountry","country","locationPhase","locationPhone","form_type","FormTypes","MARKETING_LANDING_PAGE","customer_email","customer_first_name","customer_last_name","handleCalendlyModalSubmitted","handleFormChange","isCalendlyPreLoadable","formChanged","shallowEqual","moduleComponents","map","module","index","id","name","concat","react_jsx_runtime__WEBPACK_IMPORTED_MODULE_0__","jsx","div","className","clsx","isHidden","ModuleFactory","onSubmit","onCTAClicked","onFormChange","jsxs","Fragment","Header","isNavigationTransparent","main","link","opened","onClose","BackgroundType","BackgroundColors","EyebrowType","alertIcon","ToastError","msg","t","useTranslations","jsx_runtime","data-testid","Image","src","alt","aria-hidden","button","onClick","window","reload","TOAST_DISPLAY_DURATION_IN_MS","SECOND_IN_MS","ToastContainer","mounted","setMounted","ReactDOM","document","ToastContext","React","showToastTemporary","useContext","hooks_useToastError","children","isDisplayed","setIsDisplayed","setMsg","pathname","usePathname","useCallback","setTimeout","contextValue","useMemo","Provider","value","formNames","otherFormNames","createLandlordLeadDto","address","otherFields","formName","LANDLORD","buildingAddress","createMeetingLeadDto","MEETING_SPACE_REQUEST","createLocationApplicationLeadDto","LOCATION_APPLICATION","createBrokerLeadDto","BROKER","getCookieByKey","marketoCookie","hubspotutk","utmCampaign","utmContent","utmMedium","utmSource","utmTerm","indChannel","indKpi","indAdGroup","indAdCampaign","indLs","indAud","gclid","getTrackingCookies","lastIndustriousUrl","getLastIndustriousUrl","lastExternalUrl","COOKIE_KEY_MKTO_REFERRER","utms","campaign","source","medium","content","term","channel","kpi","adGroup","adCampaign","ls","aud","TransitCategoryType","LocationPriceFormat","SortFilter","ManagerRoles","GetAllLocationsResponseTypes","fetchIndustriousMicroLocations","responseType","fetchAllLocations","params","filters","host","getServerConfig","NEXT_PUBLIC_INVENTORY_API_URL","headers","skipFetchError","props","onlyInternal","createUtmCalendly","createPrefillCalendly","customAnswers","a1","a2","calendlyLinks","Open","adaptCalendlyLink","inPersonTour","phoneCall","pattern","test","includes","object1","object2","keys1","Object","keys","keys2","length","key"],"sourceRoot":""}