{"version":3,"file":"search-DWHslel5.js","sources":["../../../app/frontend/images/placeholder-image.png","../../../app/frontend/images/logo/otto_icon_indicator.png","../../../app/frontend/javascript/search/components/OttoBanner.tsx","../../../app/frontend/javascript/search/components/OtherBanner.tsx","../../../app/frontend/javascript/search/components/FsboBanner.tsx","../../../app/frontend/javascript/search/components/PriceCard.tsx","../../../app/frontend/javascript/search/components/Listing.tsx","../../../app/frontend/javascript/search/components/Listings.tsx","../../../app/frontend/javascript/components/Button.tsx","../../../node_modules/react-dom/cjs/react-dom-server-legacy.browser.production.min.js","../../../node_modules/react-dom/cjs/react-dom-server.browser.production.min.js","../../../node_modules/react-dom/server.browser.js","../../../app/frontend/javascript/components/icons/Bed.tsx","../../../app/frontend/javascript/components/icons/Bath.tsx","../../../app/frontend/javascript/components/icons/SquareFeet.tsx","../../../app/frontend/javascript/search/components/Map.tsx","../../../app/frontend/javascript/components/CheckBoxColumns.tsx","../../../app/frontend/javascript/components/horizontal-radio.tsx","../../../app/frontend/javascript/components/range-input.tsx","../../../app/frontend/javascript/search/components/Filters.tsx","../../../app/frontend/javascript/components/icons/Adjustments.tsx","../../../app/frontend/javascript/components/icons/Map.tsx","../../../app/frontend/javascript/components/icons/List.tsx","../../../app/frontend/javascript/search/components/MobileControls.tsx","../../../app/frontend/javascript/search/SearchPage.tsx","../../../node_modules/clsx/dist/clsx.mjs","../../../node_modules/react-toastify/dist/index.mjs","../../../node_modules/@tanstack/query-core/build/modern/subscribable.js","../../../node_modules/@tanstack/query-core/build/modern/utils.js","../../../node_modules/@tanstack/query-core/build/modern/focusManager.js","../../../node_modules/@tanstack/query-core/build/modern/onlineManager.js","../../../node_modules/@tanstack/query-core/build/modern/thenable.js","../../../node_modules/@tanstack/query-core/build/modern/retryer.js","../../../node_modules/@tanstack/query-core/build/modern/notifyManager.js","../../../node_modules/@tanstack/query-core/build/modern/removable.js","../../../node_modules/@tanstack/query-core/build/modern/query.js","../../../node_modules/@tanstack/query-core/build/modern/queryCache.js","../../../node_modules/@tanstack/query-core/build/modern/mutation.js","../../../node_modules/@tanstack/query-core/build/modern/mutationCache.js","../../../node_modules/@tanstack/query-core/build/modern/infiniteQueryBehavior.js","../../../node_modules/@tanstack/query-core/build/modern/queryClient.js","../../../node_modules/@tanstack/query-core/build/modern/queryObserver.js","../../../node_modules/react/cjs/react-jsx-runtime.production.min.js","../../../node_modules/react/jsx-runtime.js","../../../node_modules/@tanstack/react-query/build/modern/QueryClientProvider.js","../../../node_modules/@tanstack/react-query/build/modern/isRestoring.js","../../../node_modules/@tanstack/react-query/build/modern/QueryErrorResetBoundary.js","../../../node_modules/@tanstack/react-query/build/modern/utils.js","../../../node_modules/@tanstack/react-query/build/modern/errorBoundaryUtils.js","../../../node_modules/@tanstack/react-query/build/modern/suspense.js","../../../node_modules/@tanstack/react-query/build/modern/useBaseQuery.js","../../../node_modules/@tanstack/react-query/build/modern/useQuery.js","../../../app/frontend/javascript/hooks/useProperties.tsx","../../../app/frontend/javascript/search/context/property-context-v2.tsx","../../../app/frontend/javascript/components/icons/SearchIcon.jsx","../../../app/frontend/javascript/components/icons/CloseIcon.jsx","../../../app/frontend/javascript/components/icons/FilterIcon.jsx","../../../app/frontend/javascript/hooks/useDebounce.tsx","../../../app/frontend/javascript/hooks/usePlaceSearch.tsx","../../../app/frontend/javascript/place-search/place-search-v2.tsx","../../../app/frontend/javascript/components/icons/House.tsx","../../../app/frontend/javascript/components/icons/ForSale.tsx","../../../app/frontend/javascript/search/components/PreFilters.tsx","../../../app/frontend/javascript/search/components/Filters-v2.tsx","../../../app/frontend/javascript/search/components/MobileControlsV2.tsx","../../../app/frontend/javascript/hooks/useSession.tsx","../../../app/frontend/javascript/search/components/SearchBar.tsx","../../../app/frontend/javascript/search/components/OttoBannerV2.tsx","../../../app/frontend/javascript/search/components/OtherBannerV2.tsx","../../../app/frontend/javascript/search/components/FsboBannerV2.tsx","../../../app/frontend/javascript/search/components/PriceCardV2.tsx","../../../app/frontend/javascript/components/icons/BedNew.tsx","../../../app/frontend/javascript/components/icons/BathNew.tsx","../../../app/frontend/javascript/components/icons/SquareFeetNew.tsx","../../../app/frontend/javascript/search/components/ListingV2.tsx","../../../app/frontend/javascript/search/components/PropertyList.tsx","../../../app/frontend/javascript/search/components/Listings-v2.tsx","../../../app/frontend/javascript/search/components/PopupContent.tsx","../../../app/frontend/javascript/components/icons/OvalMarker.tsx","../../../app/frontend/javascript/hooks/useSetupMap.tsx","../../../app/frontend/javascript/search/components/Map-v2.tsx","../../../app/frontend/javascript/search/components/BottomBar.tsx","../../../app/frontend/javascript/search/components/HomeTitle.tsx","../../../app/frontend/javascript/search/components/SearchPageV2.tsx","../../../app/frontend/entrypoints/search.jsx"],"sourcesContent":["export default \"__VITE_ASSET__qApmhrdC__\"","export default \"__VITE_ASSET__BF6eeJcS__\"","import React from 'react';\nimport logo from '../../../images/logo/otto_icon_indicator.png'\n\nconst OttoBanner = () => (\n
\n \"otto\n

OTTO Exclusive

\n
\n)\n\nexport default OttoBanner;\n","import React from 'react';\n\nconst OtherBanner = () => (\n
\n

Listed by Agent

\n
\n)\n\nexport default OtherBanner;\n","import React from 'react';\n\nconst OtherBanner = () => (\n
\n

For Sale By Owner

\n
\n)\n\nexport default OtherBanner;\n","import React, { useMemo } from 'react'\nimport { type Property } from \"../../types/types\";\nimport DollarSign from '../../../icons/dollar_sign';\n\ninterface Props {\n property: Property\n}\n\nconst PriceCard:React.FunctionComponent = ({ property }) => {\n const label = useMemo(() => {\n if (property.listing_source == 'otto' && property.suggested_bid) {\n return `Suggested Bid`\n } else {\n return 'List Price'\n }\n }, [property])\n\n const price = useMemo(() => {\n if (property.listing_source == 'otto' && property.suggested_bid) {\n return property.suggested_bid\n } else {\n return property.selling_price\n }\n }, [property])\n\n return (\n
\n

{label}: {price}

\n
\n )\n}\n\nexport default PriceCard;\n","import React, { useMemo, useEffect, useRef, useState } from \"react\";\nimport placeholderImage from \"../../../images/placeholder-image.png\";\nimport { type Property } from \"../../types/types\";\nimport OttoBanner from \"./OttoBanner\";\nimport OtherBanner from \"./OtherBanner\";\nimport FsboBanner from \"./FsboBanner\";\nimport PriceCard from \"./PriceCard\";\n\ninterface Props {\n property: Property;\n}\n\nconst Listing: React.FunctionComponent = ({ property }) => {\n const [inView, setInView] = useState(false);\n const listingRef = useRef(null)\n // lazy load images\n useEffect(() => {\n const observer = new IntersectionObserver((entries, obs) => {\n for (const entry of entries) {\n if (entry.isIntersecting) {\n setInView(true);\n obs.disconnect();\n }\n }\n }, {});\n observer.observe(listingRef.current!);\n return () => {\n observer.disconnect();\n }\n }, [])\n const defaultBg = `url(${placeholderImage})`;\n const background = property.cover_photo\n ? `url(${property.cover_photo})`\n : defaultBg;\n const currentBackgound = inView ? background : defaultBg;\n const detailsString = `${property.bedrooms} bedrooms, ${property.bathrooms} bathrooms, ${property.square_feet} sq feet`;\n const addressHTML = useMemo(() => {\n if (property.street_address !== \"\") {\n return (\n
\n
\n

{`${property.street_address}`}

\n

{`${property.city}, ${property.state}, ${property.zip_code}`}

\n
\n
\n );\n } else {\n return (\n
\n
\n

{`Home for sale in ${property.city}, ${property.state}, ${property.zip_code}`}

\n
\n
\n );\n }\n }, [property.street_address]);\n\n const banner = property.listing_source === 'otto' ? :\n property.listing_source === 'fsbo' ? : \n\n return (\n \n
\n {addressHTML}\n

{detailsString}

\n
\n
\n
\n \n
\n
\n
\n \n );\n};\n\nexport default Listing;","import React, { useContext } from 'react'\nimport { type Property } from '../../types/types';\nimport { PropertyContext } from '../context/property-context';\nimport Listing from './Listing';\n\ninterface Props {\n visible: boolean,\n}\n\nconst Listings: React.FunctionComponent = ({ visible }) => {\n const actualVH = `${window.innerHeight - 200}px`;\n\n const { properties }: { properties: Property[]} = useContext(PropertyContext)\n const listings = properties.map((property) => )\n const visibility = visible ? 'mobile:visible' : 'mobile:invisible mobile:absolute'\n const mobileClasses = `${visibility} mobile:w-full mobile:pt-12`\n\n return (\n
\n { \n properties.length ? \n listings \n :\n

No matching properties found in this area

\n }\n
\n )\n}\n\nexport default Listings;\n","import React from 'react'\n\ninterface ButtonProps {\n onClick?: () => any\n children?: any\n classNames?: string\n forwardRef?: React.MutableRefObject\n}\n\nconst Button: React.FunctionComponent = ({ onClick, children, classNames, forwardRef }) => (\n \n)\n\nexport default Button;\n","/**\n * @license React\n * react-dom-server-legacy.browser.production.min.js\n *\n * Copyright (c) Facebook, Inc. and its affiliates.\n *\n * This source code is licensed under the MIT license found in the\n * LICENSE file in the root directory of this source tree.\n */\n'use strict';var aa=require(\"react\");function l(a){for(var b=\"https://reactjs.org/docs/error-decoder.html?invariant=\"+a,c=1;c