{"version":3,"sources":["webpack://@verndale/toolkit/./node_modules/@coveo/headless/dist/browser/ sync","webpack://@verndale/toolkit/./src/js/coveo/engine/Engine.js","webpack://@verndale/toolkit/./src/js/coveo/helpers/index.js","webpack://@verndale/toolkit/./src/js/components/react/Dropdown.jsx","webpack://@verndale/toolkit/./src/js/coveo/modules/LocationSelector/index.jsx","webpack://@verndale/toolkit/./src/js/helpers/index.js","webpack://@verndale/toolkit/./src/js/hooks/useEventBus.jsx"],"names":["webpackEmptyContext","req","module","postprocessSearchResponse","response","result","postprocessFacetSearchResponse","postprocessQuerySuggestSearchResponse","preprocessRequest","request","clientOrigin","body","buildEngine","organizationId","accessToken","searchHub","pipeline","buildSearchEngine","commonConfigurator","coveoCommonConfig","commonEngine","nearbyColumnHeadless","nearbyColumnEngineConfig","nearbyColumnEngine","locationDataStorage","getLocationCookie","locationCookieName","locationCookie","setLocationCookie","args","key","prevCookieData","cookieData","unitConversion","distance","unit","getGoogleMapsInfoWindowContentString","linkToAnchor","linkWholeCard","showDistance","imageDomain","unitLabelCard","underlineTitle","imgString","titleString","setCurrentCommunityCookie","ssl_latitude_d","ssl_longitude_d","ssl_communityname","ssl_thumbnailimage","ssl_pricingandavailabilityphone","ssl_residentsandfamilyphone","ssl_communityid","uri","ssl_mainimagedesktop","currentCommunityData","currentCommunityString","Cookies","filterProtocol","isAbsolute","isRelative","getQueryFunctionsLatitudeLongitude","latitude","longitude","setLatitudeLongitudePreprocessRequest","global","newBody","getAdvancedGeolocationQuery","source","radiusInMiles","careType","state","contextLanguage","hiddenCommunitiesArray","el","getCoveoFindACommunityFieldsToInclude","sendCoveoInterfaceLoad","engine","logInterfaceLoad","loadSearchAnalyticsActions","executeSearch","loadSearchActions","sendCoveoGeolocationInterfaceLoad","advancedUrlQuery","language","previousLoad","registerSortCriterion","loadSortCriteriaActions","setPipeline","loadPipelineActions","logSearchFromLink","advancedQuerySearchActionCreator","loadAdvancedSearchQueryActions","advancedQuery","buildFieldSortCriterion","sendCoveoGeolocationQuery","logSearchboxSubmit","checkForAdvancedQueryInHash","hash","checkForHiddenQueryInHash","clearAllFacets","newHash","item","getModuleStorageCacheData","localStorageData","localStorageDataParsed","setModuleStorageCacheData","value","locationInfo","compareLocationInfo","locationInfo1","locationInfo2","sortResultsByDistance","results","a","b","label","placeholder","selectedOption","options","onChange","disabled","compareAttr","innerLabel","addPlaceholderOption","style","open","toggle","useState","cursor","setCursor","guid","useRef","uuidv4","listboxGuid","nativeEl","dropdownEl","triggerEl","listingEl","useEffect","handleClickOutside","e","container","index","option","handleTriggerClick","isDevice","handleOptionClick","handleOptionChange","handleKeyDown","getDisplayLabel","React","i","API_KEY","props","coveoOrganizationId","coveoAccessToken","coveoSearchHub","coveoPipeline","coveoAutocompleteFields","coveoEngine","countryOptions","careTypeOptions","distanceOptions","searchWithInfoRedirect","searchNoInfoRedirect","urlUsa","urlCanada","careTypePlaceholder","distancePlaceholder","searchButtonLabel","searchBoxPlaceholder","externalSubmitHandler","onCountryChange","onCareTypeChange","onDistanceChange","allowEmptySearch","setGeolocationData","searchInputValue","setSearchInputValue","setSelectedPlace","selectedCountry","setSelectedCountry","x","selectedCareType","setSelectedCareType","selectedDistance","setSelectedDistance","useMemo","PlaceAutocomplete","onPlaceSelect","placeAutocomplete","setPlaceAutocomplete","inputRef","places","useMapsLibrary","handleChange","handleBlur","suggestionsControllersArray","field","suggestionsController","buildFieldSuggestions","useEventBus","payload","countryRedirect","queryString","url","handleLocationQuery","dispatch","data","handleSubmit","submitGoogleEvent","handleCountryChange","eventOption","handleCareTypeChange","handleDistanceChange","searchTerm","eventData","Dropdown","APIProvider","Map","MapControl","ControlPosition","userAgent","isEmpty","element","isInViewport","rect","checkTrustarc","cookie","permit","getFakeLocation","getCurrentPathnameWithoutLanguage","pathname","subscribers","subscribe","filter","callback","subscriber","event","type","deps"],"mappings":"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","file":"Areas/SunriseSeniorLiving/Scripts/7400.14462e48dee0f04721e8.bundle.js","sourcesContent":["function webpackEmptyContext(req) {\n\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\te.code = 'MODULE_NOT_FOUND';\n\tthrow e;\n}\nwebpackEmptyContext.keys = function() { return []; };\nwebpackEmptyContext.resolve = webpackEmptyContext;\nwebpackEmptyContext.id = 73373;\nmodule.exports = webpackEmptyContext;","import { buildSearchEngine } from '@coveo/headless';\n\nconst postprocessSearchResponse = response => {\n response.body?.results.forEach(result => result);\n return response;\n};\n\nconst postprocessFacetSearchResponse = response => {\n return response;\n};\n\nconst postprocessQuerySuggestSearchResponse = response => {\n return response;\n};\n\nconst preprocessRequest = (request, clientOrigin) => {\n if (global.preProcessRequest) {\n if (clientOrigin === 'searchApiFetch' && request.body) {\n const body = global.preProcessRequest(request.body.toString());\n request.body = body;\n }\n }\n\n if (clientOrigin === 'analyticsFetch') {\n // E.g., send data to a third party\n }\n\n return request;\n};\n\nconst buildEngine = ({ organizationId, accessToken, searchHub, pipeline }) => {\n const headlessEngine = buildSearchEngine({\n configuration: {\n organizationId: organizationId,\n accessToken: accessToken,\n search: {\n searchHub: searchHub,\n pipeline: pipeline,\n preprocessSearchResponseMiddleware: postprocessSearchResponse,\n preprocessFacetSearchResponseMiddleware: postprocessFacetSearchResponse,\n preprocessQuerySuggestResponseMiddleware:\n postprocessQuerySuggestSearchResponse\n },\n analytics: {\n originLevel3: document.referrer ? document.referrer : 'no-referrer'\n },\n preprocessRequest\n }\n });\n\n return headlessEngine;\n};\n\nconst commonConfigurator = document.querySelector(\n '.coveo-common-engine-configurator'\n);\n\nconst coveoCommonConfig = {};\nlet commonEngine = null;\n\nif (commonConfigurator) {\n coveoCommonConfig.organizationId =\n commonConfigurator.dataset.coveoOrganizationId;\n coveoCommonConfig.accessToken = commonConfigurator.dataset.coveoAccessToken;\n coveoCommonConfig.searchHub = commonConfigurator.dataset.coveoSearchHub;\n coveoCommonConfig.pipeline = commonConfigurator.dataset.coveoPipeline;\n\n commonEngine = buildSearchEngine({\n configuration: {\n organizationId: coveoCommonConfig.organizationId,\n accessToken: coveoCommonConfig.accessToken,\n search: {\n searchHub: coveoCommonConfig.searchHub,\n pipeline: coveoCommonConfig.pipeline,\n preprocessSearchResponseMiddleware: postprocessSearchResponse,\n preprocessFacetSearchResponseMiddleware: postprocessFacetSearchResponse,\n preprocessQuerySuggestResponseMiddleware:\n postprocessQuerySuggestSearchResponse\n },\n analytics: {\n originLevel3: document.referrer ? document.referrer : 'no-referrer'\n },\n preprocessRequest\n }\n });\n}\n\nconst nearbyColumnHeadless = document.querySelector(\n '.nearby-communities-supporting-column-headless > div'\n);\n\nconst nearbyColumnEngineConfig = {};\nlet nearbyColumnEngine = null;\n\nif (nearbyColumnHeadless) {\n nearbyColumnEngineConfig.organizationId =\n nearbyColumnHeadless.dataset.coveoOrganizationId;\n nearbyColumnEngineConfig.accessToken =\n nearbyColumnHeadless.dataset.coveoAccessToken;\n nearbyColumnEngineConfig.searchHub =\n nearbyColumnHeadless.dataset.coveoSearchHub;\n nearbyColumnEngineConfig.pipeline =\n nearbyColumnHeadless.dataset.coveoPipeline;\n\n nearbyColumnEngine = buildSearchEngine({\n configuration: {\n organizationId: nearbyColumnEngineConfig.organizationId,\n accessToken: nearbyColumnEngineConfig.accessToken,\n search: {\n searchHub: nearbyColumnEngineConfig.searchHub,\n pipeline: nearbyColumnEngineConfig.pipeline,\n preprocessSearchResponseMiddleware: postprocessSearchResponse,\n preprocessFacetSearchResponseMiddleware: postprocessFacetSearchResponse,\n preprocessQuerySuggestResponseMiddleware:\n postprocessQuerySuggestSearchResponse\n },\n analytics: {\n originLevel3: document.referrer ? document.referrer : 'no-referrer'\n },\n preprocessRequest\n }\n });\n}\n\nexport { buildEngine, commonEngine, nearbyColumnEngine };\n","import Cookies from 'js-cookie';\nimport {\n loadPipelineActions,\n loadSearchAnalyticsActions,\n loadSearchActions,\n loadSortCriteriaActions,\n loadAdvancedSearchQueryActions,\n buildFieldSortCriterion\n} from '@coveo/headless';\n\nconst locationDataStorage = 'ssl-location-data'\n//hijacking this method and moving data to local storage\nconst getLocationCookie = locationCookieName => {\n const locationCookie = localStorage.getItem(locationDataStorage);\n return locationCookie ? JSON.parse(locationCookie) : null;\n};\n\nconst setLocationCookie = (args) => {\n Object.keys(args).forEach((key) => {\n if (args[key] == 'null') {\n args[key] = null;\n }\n });\n\n const prevCookieData = getLocationCookie() || {};\n\n Object.keys(prevCookieData).forEach((key) => {\n if (prevCookieData[key] == 'null') {\n prevCookieData[key] = null;\n }\n });\n\n const cookieData = {\n ...prevCookieData,\n ...args\n };\n\n localStorage.setItem(locationDataStorage, JSON.stringify(cookieData));\n}\n\nconst unitConversion = (distance, unit) => {\n const miles = 0.000621371;\n const kilometers = 0.001;\n\n if (unit === 'mi') {\n return (distance * miles).toFixed(2);\n }\n return (distance * kilometers).toFixed(2);\n};\n\nconst getGoogleMapsInfoWindowContentString = ({\n linkToAnchor = null,\n linkWholeCard = true,\n result,\n showDistance = true,\n imageDomain = '',\n unit = 'mi',\n unitLabelCard = 'mi',\n underlineTitle = false\n}) => {\n const imgString =\n result.raw.ssl_thumbnailimage || result.raw.ssl_mainimagedesktop\n ? ``\n : '';\n const titleString = result.raw.ssl_communityname\n ? `

${\n result.raw.ssl_communityname\n ? result.raw.ssl_communityname\n : result.raw.title\n }

`\n : '';\n const contentString = `${\n linkWholeCard\n ? ``\n : ''\n }
\n
\n ${imgString}\n
\n
\n ${titleString} ${\n showDistance\n ? `
${result.raw.distance_search} ${unitLabelCard}
`\n : ''\n }\n
\n
${linkWholeCard ? '
' : ''}`;\n\n return contentString;\n};\n\nconst setCurrentCommunityCookie = result => {\n const {\n module,\n distance,\n ssl_latitude_d,\n ssl_longitude_d,\n ssl_communityname,\n ssl_thumbnailimage,\n ssl_pricingandavailabilityphone,\n ssl_residentsandfamilyphone,\n ssl_communityid,\n uri,\n ssl_mainimagedesktop\n } = result.raw;\n const currentCommunityData = {\n ssl_latitude: ssl_latitude_d,\n ssl_longitude: ssl_longitude_d,\n ssl_communityname,\n ssl_thumbnailimage: ssl_thumbnailimage\n ? ssl_thumbnailimage\n : ssl_mainimagedesktop,\n ssl_pricingandavailabilityphone,\n ssl_residentsandfamilyphone,\n ssl_communityid,\n ssl_communitylink: uri,\n ssl_distance: distance\n };\n const currentCommunityString = JSON.stringify(currentCommunityData);\n Cookies.set('current_community', currentCommunityString);\n};\n\nconst filterProtocol = uri => {\n const isAbsolute = /^(https?|ftp|file|mailto|tel|sip):/i.test(uri);\n const isRelative = /^(\\/|\\.\\/|\\.\\.\\/)/.test(uri);\n\n return isAbsolute || isRelative ? uri : '';\n};\n\nconst getQueryFunctionsLatitudeLongitude = (latitude, longitude) => {\n return [\n {\n fieldName: `@distance`,\n function: `dist(@ssl_latitude_d,@ssl_longitude_d, ${parseFloat(\n latitude\n )}, ${parseFloat(longitude)})`\n },\n {\n fieldName: `@distanceInMiles`,\n function: `@distance*0.000621371`\n }\n ];\n};\n\nconst setLatitudeLongitudePreprocessRequest = (latitude, longitude) => {\n const global = window;\n global.preProcessRequest = body => {\n const newBody = JSON.parse(body.toString());\n newBody.queryFunctions = getQueryFunctionsLatitudeLongitude(\n latitude,\n longitude\n );\n return JSON.stringify(newBody);\n };\n};\n\nconst getAdvancedGeolocationQuery = ({\n source,\n radiusInMiles = 50,\n careType = null,\n state = null,\n contextLanguage = 'en',\n hiddenCommunitiesArray = []\n}) => {\n return {\n aq: `(@source==\"${source}\") ${\n state === null && radiusInMiles\n ? `(@distanceInMiles<=${radiusInMiles})`\n : ''\n } ${\n careType ? `(@ssl_levelsofcare==\"${careType}\")` : ''\n } (@ssl_contextlanguage==${contextLanguage}) ${\n state ? `(@ssl_stateabbreviation==\"${state}\")` : ''\n } (@ssl_pagetype=='community_pagetype') ${\n hiddenCommunitiesArray.length > 0\n ? hiddenCommunitiesArray\n .map(el => `(NOT @ssl_communityid==\"${el}\")`)\n .join(' ')\n : ''\n }`\n };\n};\n\nconst getCoveoFindACommunityFieldsToInclude = () => {\n return [\n 'distance',\n 'uri',\n 'ssl_latitude_d',\n 'ssl_longitude_d',\n 'ssl_thumbnailimage',\n 'ssl_mainimagedesktop',\n 'ssl_communityid',\n 'ssl_communityname',\n 'ssl_heading',\n 'ssl_contextlanguage',\n 'ssl_state',\n 'ssl_city',\n 'ssl_zipcode',\n 'ssl_stateabbreviation',\n 'ssl_levelsofcare',\n 'ssl_pricingandavailabilityphone',\n 'ssl_residentsandfamilyphone',\n 'ssl_communityprice',\n 'ssl_commnunitystatus',\n 'ssl_mainimagedesktop_405x548'\n ];\n};\n\nconst sendCoveoInterfaceLoad = ({ engine, pipeline = 'default' }) => {\n const { logInterfaceLoad } = loadSearchAnalyticsActions(engine);\n const { executeSearch } = loadSearchActions(engine);\n engine.dispatch(executeSearch(logInterfaceLoad()));\n};\n\nconst sendCoveoGeolocationInterfaceLoad = ({\n engine,\n latitude,\n longitude,\n source,\n advancedUrlQuery = null,\n radiusInMiles,\n state = null,\n language,\n pipeline = 'default',\n hiddenCommunitiesArray = [],\n previousLoad = false\n}) => {\n if (previousLoad) {\n return;\n }\n\n const { registerSortCriterion } = loadSortCriteriaActions(engine);\n const { setPipeline } = loadPipelineActions(engine);\n const { logInterfaceLoad, logSearchFromLink } =\n loadSearchAnalyticsActions(engine);\n const { executeSearch } = loadSearchActions(engine);\n setLatitudeLongitudePreprocessRequest(latitude, longitude);\n const advancedQuerySearchActionCreator =\n loadAdvancedSearchQueryActions(engine);\n let advancedQuery;\n if (advancedUrlQuery) {\n advancedQuery = {\n aq: `(@source==\"${source}\") (@ssl_contextlanguage==${language}) (@ssl_pagetype=='community_pagetype') ${advancedUrlQuery}`\n };\n } else {\n advancedQuery = getAdvancedGeolocationQuery({\n source: source,\n state: state,\n radiusInMiles: radiusInMiles ? parseFloat(radiusInMiles) : null,\n contextLanguage: language,\n hiddenCommunitiesArray: hiddenCommunitiesArray\n });\n }\n\n engine.dispatch(\n registerSortCriterion(buildFieldSortCriterion('distance', 'ascending'))\n );\n engine.dispatch(setPipeline(pipeline));\n engine.dispatch(\n advancedQuerySearchActionCreator.registerAdvancedSearchQueries(\n advancedQuery\n )\n );\n if (advancedUrlQuery) engine.dispatch(executeSearch(logSearchFromLink()));\n else engine.dispatch(executeSearch(logInterfaceLoad()));\n};\n\nconst sendCoveoGeolocationQuery = ({\n engine,\n latitude,\n longitude,\n advancedUrlQuery,\n source = 'Production US - English',\n radiusInMiles = 50,\n careType = null,\n state = null,\n language = 'en',\n pipeline = 'default',\n hiddenCommunitiesArray = []\n}) => {\n const { registerSortCriterion } = loadSortCriteriaActions(engine);\n const { setPipeline } = loadPipelineActions(engine);\n const { logSearchboxSubmit } = loadSearchAnalyticsActions(engine);\n const { executeSearch } = loadSearchActions(engine);\n setLatitudeLongitudePreprocessRequest(latitude, longitude);\n const advancedQuerySearchActionCreator =\n loadAdvancedSearchQueryActions(engine);\n let advancedQuery;\n if (advancedUrlQuery) {\n advancedQuery = {\n hq: `(@source==\"${source}\") (@ssl_contextlanguage==${language}) (@ssl_pagetype=='community_pagetype') ${advancedUrlQuery}`\n };\n } else {\n advancedQuery = getAdvancedGeolocationQuery({\n source: source,\n state: state,\n careType: careType,\n radiusInMiles: radiusInMiles ? parseFloat(radiusInMiles) : null,\n contextLanguage: language,\n hiddenCommunitiesArray: hiddenCommunitiesArray\n });\n }\n engine.dispatch(\n registerSortCriterion(buildFieldSortCriterion('distance', 'ascending'))\n );\n engine.dispatch(setPipeline(pipeline));\n engine.dispatch(\n advancedQuerySearchActionCreator.registerAdvancedSearchQueries(\n advancedQuery\n )\n );\n engine.dispatch(executeSearch(logSearchboxSubmit()));\n};\n\nconst checkForAdvancedQueryInHash = () => {\n const hash = window.location.hash.slice(1);\n const params = new URLSearchParams(hash);\n const advancedQuery = params.get('aq');\n if (advancedQuery) return advancedQuery;\n return null;\n};\n\nconst checkForHiddenQueryInHash = () => {\n const hash = window.location.hash.slice(1);\n const params = new URLSearchParams(hash);\n const hiddenQuery = params.get('hq');\n if (hiddenQuery) return hiddenQuery;\n return null;\n};\n\nconst clearAllFacets = () => {\n const hash = window.location.hash;\n const hashArray = hash.split('&');\n const newHashArray = hashArray.filter(item => !item.includes('f'));\n const newHash = newHashArray.join('&');\n window.location.hash = newHash;\n};\n\nconst getModuleStorageCacheData = module => {\n const localStorageData = localStorage.getItem('ssl-modules-cache');\n const localStorageDataParsed = localStorageData\n ? JSON.parse(localStorageData)\n : null;\n if (module) {\n return localStorageDataParsed ? localStorageDataParsed[module] : null;\n }\n return localStorageDataParsed;\n};\n\nconst setModuleStorageCacheData = (module, value, locationInfo) => {\n const prevLocaStorageData = getModuleStorageCacheData() || {};\n const localStorageData = {\n ...prevLocaStorageData,\n [module]: {\n value: value,\n locationInfo: locationInfo\n }\n };\n localStorage.setItem('ssl-modules-cache', JSON.stringify(localStorageData));\n};\n\nconst compareLocationInfo = (locationInfo1, locationInfo2) => {\n if (!locationInfo1 || !locationInfo2) return false;\n if (\n locationInfo1.Latitude === locationInfo2.Latitude &&\n locationInfo1.Longitude === locationInfo2.Longitude\n ) {\n return true;\n }\n return false;\n};\n\nconst sortResultsByDistance = results => {\n //sort array objects by distance\n if (!results) return [];\n const sortedResults = results.sort((a, b) => {\n // console.log(a.raw.distance, b.raw.distance);\n if (a.raw.distance === b.raw.distance) return 0;\n if (a.raw.distance > b.raw.distance) return 1;\n if (a.raw.distance < b.raw.distance) return -1;\n });\n return sortedResults;\n};\n\nexport {\n sortResultsByDistance,\n clearAllFacets,\n checkForHiddenQueryInHash,\n checkForAdvancedQueryInHash,\n sendCoveoInterfaceLoad,\n sendCoveoGeolocationQuery,\n sendCoveoGeolocationInterfaceLoad,\n setLatitudeLongitudePreprocessRequest,\n getCoveoFindACommunityFieldsToInclude,\n getAdvancedGeolocationQuery,\n getQueryFunctionsLatitudeLongitude,\n getLocationCookie,\n setLocationCookie,\n filterProtocol,\n getGoogleMapsInfoWindowContentString,\n unitConversion,\n setCurrentCommunityCookie,\n setModuleStorageCacheData,\n getModuleStorageCacheData,\n compareLocationInfo\n};\n","import React, { useState, useEffect, useRef, useMemo } from 'react';\nimport { isDevice } from '../../helpers';\nimport { v4 as uuidv4 } from 'uuid';\n\nconst Dropdown = ({\n label,\n placeholder = 'Dropdown',\n selectedOption = null,\n options = [\n {\n value: 'us',\n label: 'US',\n placeholder: 'Enter City, State or Zip',\n source: 'Production US - English'\n },\n {\n value: 'ca',\n label: 'CA',\n default: 'true',\n placeholder: 'Enter City, Province or Postal Code',\n source: 'Production CA'\n }\n ],\n onChange = () => {},\n disabled = false,\n compareAttr = 'value',\n innerLabel,\n addPlaceholderOption = false,\n style\n}) => {\n const [open, toggle] = useState(false);\n const [cursor, setCursor] = useState(null);\n const guid = useRef(uuidv4());\n const listboxGuid = useRef(uuidv4());\n const nativeEl = useRef(null);\n const dropdownEl = useRef(null);\n const triggerEl = useRef(null);\n const listingEl = useRef(null);\n\n useEffect(() => {\n const handleClickOutside = e => {\n const container = dropdownEl.current;\n\n if (container) {\n if (container !== e.target && !container.contains(e.target)) {\n toggle(false);\n }\n }\n };\n\n document.addEventListener('click', handleClickOutside);\n\n return () => {\n document.removeEventListener('click', handleClickOutside);\n };\n }, []);\n\n useEffect(() => {\n if (open) {\n listingEl.current.focus();\n }\n }, [open]);\n\n useEffect(() => {\n if (selectedOption) {\n const index = options.findIndex(\n option => option[compareAttr] === selectedOption[compareAttr]\n );\n setCursor(index);\n } else {\n setCursor(null);\n }\n }, [compareAttr, options, selectedOption]);\n\n const handleTriggerClick = e => {\n if (isDevice()) {\n return;\n }\n\n toggle(!open);\n };\n\n const handleOptionClick = option => {\n if (option === null) {\n setCursor(null);\n onChange(null);\n toggle(false);\n return;\n }\n onChange(option);\n toggle(false);\n };\n\n const handleOptionChange = e => {\n const option = options.find(option => option.value === e.target.value);\n onChange(option);\n toggle(false);\n };\n\n const handleKeyDown = e => {\n /* eslint-disable indent */\n switch (e.keyCode) {\n case 38: // up\n e.preventDefault();\n if (cursor) {\n setCursor(cursor - 1);\n } else {\n setCursor(options.length - 1);\n }\n break;\n case 40: // down\n e.preventDefault();\n if (cursor !== null && cursor < options.length - 1) {\n setCursor(cursor + 1);\n } else {\n setCursor(0);\n }\n break;\n case 27: // esc\n e.preventDefault();\n toggle(false);\n triggerEl.current.focus();\n break;\n case 13: // enter\n e.preventDefault();\n if (cursor !== null) {\n onChange(options[cursor]);\n }\n toggle(false);\n triggerEl.current.focus();\n break;\n case 9: // tab\n toggle(false);\n break;\n }\n /* eslint-enable indent */\n };\n\n const getDisplayLabel = () => {\n if (selectedOption) {\n if (innerLabel) {\n return `${\n selectedOption.image\n ? ``\n : ''\n }${innerLabel} ${selectedOption.label}`;\n }\n return `${\n selectedOption.image\n ? ``\n : ''\n }${selectedOption.label}`;\n }\n return placeholder || null;\n };\n\n return (\n
\n \n \n \n {cursor !== null && addPlaceholderOption && (\n \n )}\n {options.map((option, i) => {\n return (\n \n );\n })}\n \n \n
\n \n \n {cursor !== null && addPlaceholderOption && (\n handleOptionClick(null)}\n >\n {placeholder}\n \n )}\n {options.map((option, i) => (\n handleOptionClick(option)}\n className=\"dropdown__item field__select\"\n aria-selected={cursor === i}\n >\n {option.image && (\n \n )}\n {typeof option === 'object' ? option.label : option}\n \n ))}\n \n \n \n );\n};\n\nexport default Dropdown;\n","import React, { useState, useMemo, useEffect, useRef } from 'react';\nimport { buildEngine } from '../../engine/Engine';\nimport { buildFieldSuggestions } from '@coveo/headless';\nimport Dropdown from '../../../components/react/Dropdown';\nimport useEventBus, { dispatch } from '../../../hooks/useEventBus';\nimport { getLocationCookie, setLocationCookie } from '../../helpers';\nimport { APIProvider, ControlPosition, MapControl, Map, useMapsLibrary } from \"@vis.gl/react-google-maps\";\n\nconst API_KEY = 'AIzaSyBSYmfUjKpOk-N4c6V__k0tEs5yq5F42BU';\n\nconst LocationSelector = props => {\n const {\n locationCookieName,\n coveoOrganizationId,\n coveoAccessToken,\n coveoSearchHub,\n coveoPipeline,\n coveoAutocompleteFields,\n coveoEngine = null,\n countryOptions = [],\n careTypeOptions = [],\n distanceOptions = [],\n searchWithInfoRedirect,\n searchNoInfoRedirect,\n urlUsa = 'https://www.sunriseseniorliving.com',\n urlCanada = 'https://www.sunriseseniorliving.ca',\n careTypePlaceholder,\n distancePlaceholder,\n searchButtonLabel,\n searchBoxPlaceholder = 'Enter a zip code',\n externalSubmitHandler = null,\n onCountryChange = null,\n onCareTypeChange = null,\n onDistanceChange = null,\n allowEmptySearch = false,\n module\n } = props;\n\n const [, setGeolocationData] = useState(null);\n const [searchInputValue, setSearchInputValue] = useState('');\n const [, setSelectedPlace] = useState(null);\n const [selectedCountry, setSelectedCountry] = useState(countryOptions.length > 0 ? JSON.parse(countryOptions).find(x => x.defaultValue === 'true') : null);\n const [selectedCareType, setSelectedCareType] = useState(careTypeOptions.length > 0 ? JSON.parse(careTypeOptions).find(x => x.defaultValue === 'true') : null);\n const [selectedDistance, setSelectedDistance] = useState(distanceOptions.length > 0 ? JSON.parse(distanceOptions).find(x => x.defaultValue === 'true') : null);\n\n let engine;\n if (coveoEngine === null && coveoOrganizationId && coveoAccessToken) {\n engine = useMemo(() => {\n return buildEngine({\n organizationId: coveoOrganizationId,\n accessToken: coveoAccessToken,\n searchHub: coveoSearchHub,\n pipeline: coveoPipeline\n });\n }, []);\n } else if (coveoEngine !== null) {\n engine = useMemo(() => coveoEngine, [coveoEngine]);\n }\n\n const PlaceAutocomplete = ({ onPlaceSelect }) => {\n const [placeAutocomplete, setPlaceAutocomplete] = useState(null);\n const inputRef = useRef(null);\n const places = useMapsLibrary(\"places\");\n \n useEffect(() => {\n if (!places || !inputRef.current) {\n return;\n }\n\n const options = {\n fields: [\"geometry\", \"name\", \"formatted_address\"],\n types: ['(regions)'],\n componentRestrictions: {country: [selectedCountry.value]}\n };\n \n setPlaceAutocomplete(new places.Autocomplete(inputRef.current, options));\n }, [places]);\n\n useEffect(() => {\n if (!placeAutocomplete) {\n return;\n }\n \n placeAutocomplete.addListener(\"place_changed\", () => {\n onPlaceSelect(placeAutocomplete.getPlace()); \n setSearchInputValue(placeAutocomplete.getPlace().formatted_address);\n });\n }, [onPlaceSelect, placeAutocomplete]);\n\n const handleChange = (e) => {\n if (e) {\n setSearchInputValue('')\n }\n }\n\n const handleBlur = () => {\n inputRef.current.value = '';\n setSearchInputValue('');\n }\n\n return (\n
\n handleChange(e)}\n onBlur={e => handleBlur()}\n ref={inputRef} \n placeholder={selectedCountry?.placeholder || searchBoxPlaceholder}\n />\n
\n );\n };\n\n let suggestionsControllersArray = [];\n if (coveoAutocompleteFields) {\n const autocompleteFieldsArray = coveoAutocompleteFields.split('|');\n\n autocompleteFieldsArray.forEach(field => {\n const suggestionsController = buildFieldSuggestions(engine, {\n options: {\n facet: {\n field: field,\n facetId: `${field}-facet`,\n facetSearch: {\n numberOfValues: 1\n }\n }\n }\n });\n suggestionsControllersArray.push(suggestionsController);\n });\n }\n\n useEventBus(\n 'geolocation-received',\n ({ payload }) => {\n if (payload.Module != module) {\n return;\n }\n\n if (externalSubmitHandler !== null && searchWithInfoRedirect === null && searchNoInfoRedirect === null) {\n return;\n }\n\n let cookieData = getLocationCookie(locationCookieName);\n if (cookieData) {\n setGeolocationData(cookieData);\n }\n \n const countryRedirect = cookieData.Country === 'USA' ? urlUsa : urlCanada;\n const queryString = `?value=${cookieData.value}&country=${cookieData.country}&State=${cookieData.State}&LastSearchValue=${cookieData.LastSearchValue}&ssl_levelsofcare_01=${cookieData.ssl_levelsofcare_01}&Longitude=${cookieData.Longitude}&Latitude=${cookieData.Latitude}#f-ssl_levelsofcare_01=${cookieData.ssl_levelsofcare_01}`;\n\n let url = ''\n if (cookieData.State) {\n url = `${countryRedirect}${searchWithInfoRedirect}/${cookieData.State.toLowerCase()}${queryString}`;\n } else if (cookieData.Latitude && cookieData.Longitude && cookieData.LastSearchValue.length > 0) {\n url = `${countryRedirect}${searchWithInfoRedirect}${queryString}`;\n } else {\n url = `${countryRedirect}${searchNoInfoRedirect}`;\n }\n \n window.location.href = url;\n },\n []\n );\n\n const handleLocationQuery = (searchInputValue, selectedCountry, selectedCareType, selectedDistance) => {\n dispatch({\n type: 'get-zip-geolocation',\n payload: {\n value: searchInputValue,\n country: `${selectedCountry.value === 'us' ? 'USA' : 'CANADA'}`,\n moduleName: module\n }\n });\n\n const data = {\n value: searchInputValue,\n country: selectedCountry ? selectedCountry.value : null,\n ssl_levelsofcare_01: selectedCareType ? selectedCareType.value : null,\n distance: selectedDistance ? selectedDistance.value : null\n };\n\n setLocationCookie(data);\n\n return null;\n };\n\n const handleSubmit = () => {\n if (searchInputValue) {\n const selectedOption = selectedCareType ? selectedCareType.label : '';\n submitGoogleEvent(searchInputValue, selectedOption);\n\n if (externalSubmitHandler !== null) {\n externalSubmitHandler(searchInputValue, selectedCountry, selectedCareType, selectedDistance);\n } else {\n handleLocationQuery(searchInputValue, selectedCountry, selectedCareType, selectedDistance);\n }\n }\n };\n\n const handleCountryChange = (eventOption) => {\n let selectedOption;\n if (eventOption !== null) {\n selectedOption = JSON.parse(countryOptions).find(option => option.value === eventOption.value);\n }\n\n if (onCountryChange) {\n onCountryChange(selectedOption);\n }\n\n setSelectedCountry(selectedOption);\n setSearchInputValue('');\n };\n\n const handleCareTypeChange = (eventOption) => {\n let selectedOption = null;\n if (eventOption !== null) {\n selectedOption = JSON.parse(careTypeOptions).find(option => option.value === eventOption.value);\n }\n\n setSelectedCareType(selectedOption);\n setLocationCookie(JSON.parse('{\"ssl_levelsofcare_01\": \"' + selectedOption.value + '\"}'));\n \n if (onCareTypeChange) {\n onCareTypeChange(selectedOption);\n }\n };\n\n const handleDistanceChange = (eventOption) => {\n let selectedOption = null;\n if (eventOption !== null) {\n selectedOption = JSON.parse(distanceOptions).find( option => option.value === eventOption.value);\n }\n\n setSelectedDistance(selectedOption);\n\n if (onDistanceChange) onDistanceChange(selectedOption);\n };\n\n const submitGoogleEvent = (searchTerm, selectedOption) => {\n const eventData = {\n event: \"search\",\n detailed_event: \"Search\",\n event_data: {\n identifier: \"community_search\",\n name: \"community_search\",\n corrected_term: searchTerm,\n search_term: searchTerm,\n search_type: selectedOption\n }\n };\n\n window.dataLayer = window.dataLayer || [];\n window.dataLayer.push({ event_data: null });\n window.dataLayer.push(eventData);\n };\n\n return (\n <>\n
0 && distanceOptions.length > 0 ? 'location-selector-headless__container--three-dropdowns' : 'location-selector-headless__container--two-dropdowns'}`}>\n
\n {countryOptions.length > 0 && (\n
\n
\n
\n \n \n \n \n
\n
\n
\n )}\n
\n \n \n \n
\n \n
\n
\n
\n
\n
\n {careTypeOptions.length > 0 && (\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n )}\n {distanceOptions.length > 0 && (\n
\n
\n
\n
\n \n \n \n \n
\n
\n
\n
\n )}\n \n {searchButtonLabel}\n \n \n \n \n
\n \n );\n};\n\nexport default LocationSelector;\n","// /**\n// * Checks browser is running on a native mobile device\n// */\nexport const isDevice = () => {\n const userAgent = navigator.userAgent || navigator.vendor || window.opera;\n\n if (\n /windows phone/i.test(userAgent) ||\n /android/i.test(userAgent) ||\n (/iPad|iPhone|iPod/.test(userAgent) && !window.MSStream)\n ) {\n return true;\n }\n\n return false;\n};\n\nexport const isEmpty = element => {\n if (element.textContent.trim() === '') {\n return true;\n }\n};\n\nexport const isInViewport = element => {\n const rect = element.getBoundingClientRect();\n return (\n rect.top >= 0 &&\n rect.left >= 0 &&\n rect.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&\n rect.right <= (window.innerWidth || document.documentElement.clientWidth)\n );\n};\n\nexport const checkTrustarc = (cookie, permit) => {\n if (cookie) {\n if (!(String(cookie)).includes(permit)) {\n return true;\n }\n\n return false;\n }\n};\n\n// for local development purposes\nexport const getFakeLocation = () => {\n if (window.location.hostname === 'localhost') {\n return {\n lat: 42.3612,\n lng: -71.0519,\n countryState: 'MA',\n zipCode: '02108'\n }\n }\n return {};\n};\n\nexport const getCurrentPathnameWithoutLanguage = () => {\n const pathname = window.location.pathname;\n const language = pathname.split('/')[1];\n\n if (language === 'en' || language === 'fr') {\n return pathname.replace(`/${language}`, '');\n }\n\n return pathname;\n}\n","import React, { useEffect } from 'react';\n\nlet subscribers = [];\n\nconst subscribe = (filter, callback) => {\n if (filter === undefined || filter === null) return undefined;\n if (callback === undefined || callback === null) return undefined;\n\n subscribers = [...subscribers, [filter, callback]];\n\n return () => {\n subscribers = subscribers.filter(subscriber => subscriber[1] !== callback);\n };\n};\n\nexport const dispatch = event => {\n let { type } = event;\n if (typeof event === 'string') type = event;\n\n const args = [];\n if (typeof event === 'string') args.push({ type });\n else args.push(event);\n\n subscribers.forEach(([filter, callback]) => {\n if (typeof filter === 'string' && filter !== type) return;\n if (Array.isArray(filter) && !filter.includes(type)) return;\n if (filter instanceof RegExp && !filter.test(type)) return;\n if (typeof filter === 'function' && !filter(...args)) return;\n\n callback(...args);\n });\n};\n\nconst useEventBus = (type, callback, deps = []) => {\n useEffect(() => subscribe(type, callback), deps);\n\n return dispatch;\n};\n\nexport default useEventBus;\n"],"sourceRoot":""}