{"version":3,"file":"index-9814532e.js","sources":["../../../../src/scripts/react-components/territory-manager-listing/card.tsx","../../../../src/scripts/react-components/territory-manager-listing/index.tsx"],"sourcesContent":["import React from 'react';\nimport { formatPhoneNumber } from '../../helpers/transform';\n\ntype TerritoryManagerCardProps = {\n name: string;\n title: string;\n email: string;\n phone: string;\n image: string;\n};\n\nfunction TerritoryManagerCard({\n name,\n title,\n email,\n phone,\n image\n}: TerritoryManagerCardProps) {\n return (\n <article className=\"territory-manager-card\">\n <picture className=\"territory-manager-card__picture\">\n <img src={`${image}?width=150`} alt={name} />\n </picture>\n <div className=\"territory-manager-card__content\">\n <h3 className=\"territory-manager-card__name\">{name}</h3>\n {title && <p className=\"territory-manager-card__title\">{title}</p>}\n {email && (\n <a href={`mailto:${email}`} className=\"link--inline link--icon-left\">\n <span className=\"sr-only\">Email:</span>\n {email}\n <svg role=\"presentation\">\n <use xlinkHref=\"#red-email-icon\"></use>\n </svg>\n </a>\n )}\n {phone && (\n <a href={`tel:${phone}`} className=\"link--inline link--icon-left\">\n <span className=\"sr-only\">Phone Number:</span>\n {formatPhoneNumber(phone)}\n <svg role=\"presentation\">\n <use xlinkHref=\"#red-phone-icon\"></use>\n </svg>\n </a>\n )}\n </div>\n </article>\n );\n}\n\nexport default TerritoryManagerCard;\n","import React, { Fragment, useEffect, useRef, useState } from 'react';\nimport ToggleSwitch from '../toggle-switch';\nimport ZipForm from '../zip-form';\nimport TerritoryManagerCard from './card';\nimport Loader from '../listing-states/loader';\nimport { GeolocationType } from '../../helpers/global-storage';\nimport {\n getUrlParamValue,\n setUrlParamValue,\n setUrlParams,\n updateEndpointWithQueryString\n} from '../../helpers/queryString';\nimport {\n getLocationByIpAddress,\n getZipAndCountryFromUrl,\n getGeolocationDataFromBrowserAndGoogle,\n updateGeolocationDataProperties,\n getStoredGeolocationCountryAndZip\n} from '../../helpers/geolocation';\nimport { useFetch } from '../../hooks/useFetch';\nimport { TerritoryManagersResponse } from './response';\nimport { ExtendedWindowType } from '../../helpers/global-types';\n\ntype SwitchProps = {\n field: string;\n values: Array<{ value: string; label: string; default: boolean }>;\n};\n\ntype CommercialArrayType = {\n heading: string;\n copy: string;\n titles: string;\n noResultsMessage: string;\n}[];\n\ntype TerritoryManagerLookupProps = {\n heading: string;\n introText: string;\n country: string;\n zipPlaceholders: string | { [key: string]: string };\n zipRegex: string | { [key: string]: string };\n switchData: string | SwitchProps;\n zipInvalidMessage: string;\n redirectUrl: string;\n tenant: string;\n sharedKey: string;\n endpoint: string;\n token: string;\n defaultImages: string | { [key: string]: string };\n loadingText: string;\n commercialArray: string;\n residentialArray: string;\n};\n\nconst RESIDENTIAL_VALUE = 'R';\nconst COMMERCIAL_VALUE = 'C';\n\nfunction TerritoryManagerListing({\n heading,\n switchData,\n country,\n zipInvalidMessage,\n zipPlaceholders,\n zipRegex,\n tenant,\n endpoint,\n defaultImages,\n loadingText,\n commercialArray,\n residentialArray\n}: TerritoryManagerLookupProps) {\n //Define constants from props\n const switchDataObj: SwitchProps =\n typeof switchData === 'string' ? JSON.parse(switchData) : switchData;\n\n const [switchDefaultValue, setSwitchDefaultValue] = useState(\n switchDataObj.values.find(val => val.default)?.value || ''\n );\n const defaultImagesObj =\n typeof defaultImages === 'string'\n ? JSON.parse(defaultImages)\n : defaultImages;\n const typeFromUrl = getUrlParamValue('BusinessAreas');\n\n const regex = typeof zipRegex === 'string' ? JSON.parse(zipRegex) : zipRegex;\n const placeholders =\n typeof zipPlaceholders === 'string'\n ? JSON.parse(zipPlaceholders)\n : zipPlaceholders;\n\n const commercialArrayObj = JSON.parse(commercialArray) as CommercialArrayType;\n const residentialArrayObj = JSON.parse(\n residentialArray\n ) as CommercialArrayType;\n\n //Define states\n const defaultCardsRef = useRef<\n TerritoryManagersResponse['territoryManagers']\n >([]);\n const [type, setType] = useState(typeFromUrl || switchDefaultValue);\n const [locationData, setLocationData] = useState<GeolocationType | null>(\n null\n );\n const [endpointUrl, setEndpointUrl] = useState('');\n const [cards, setCards] = useState<\n TerritoryManagersResponse['territoryManagers']\n >([]);\n const [showLoader, setShowLoader] = useState(false);\n\n //get data from endpoint\n const { data, error } = useFetch<TerritoryManagersResponse>(endpointUrl);\n\n //Define functions\n\n const parseCountry = (country: string) => {\n if (country.toUpperCase() === 'US') {\n return 'USA';\n }\n\n if (country.toUpperCase() === 'CA') {\n return 'CAN';\n }\n\n return country;\n };\n\n const countryToCode = (country: string) => {\n if (country.toUpperCase() === 'USA') {\n return 'US';\n }\n\n if (country.toUpperCase() === 'CAN') {\n return 'CA';\n }\n\n return country;\n };\n\n const getTerritoryManagerLocationData = async () => {\n const dataFromUrl = getZipAndCountryFromUrl();\n\n if (dataFromUrl) {\n return dataFromUrl;\n }\n\n const storedData = getStoredGeolocationCountryAndZip();\n\n if (storedData) {\n return storedData;\n }\n\n const maxmindData = await getLocationByIpAddress();\n\n if (maxmindData) {\n return maxmindData;\n }\n\n const browserData = await getGeolocationDataFromBrowserAndGoogle();\n\n if (browserData) {\n return browserData;\n }\n\n return null;\n };\n\n const initListing = async () => {\n const location: GeolocationType | null =\n await getTerritoryManagerLocationData();\n\n if (location) {\n const newCountry = parseCountry(location.country);\n setLocationData({\n zip: location.zip,\n country: newCountry\n });\n (window as ExtendedWindowType).dataLayer.push({\n event: 'zip_code',\n event_action: 'zip code automatically detected',\n event_category: 'geo info',\n event_attributes: {\n zip_code: location.zip,\n zip_code_country: location.country.toLowerCase()\n }\n });\n } else {\n const newCountry = parseCountry(country);\n\n setLocationData({\n zip: '',\n country: newCountry\n });\n }\n };\n\n const updateEndpoint = () => {\n let queryUrl = updateEndpointWithQueryString(endpoint);\n queryUrl = `${queryUrl}&Tenant=${tenant}`;\n setEndpointUrl(queryUrl);\n };\n\n const updateToCommercial = (e: CustomEvent) => {\n if (e.detail) {\n setSwitchDefaultValue(switchDataObj.values[1].value);\n setType(switchDataObj.values[1].value);\n } else {\n setSwitchDefaultValue(switchDataObj.values[0].value);\n setType(switchDataObj.values[0].value);\n }\n };\n\n //Define effects\n\n useEffect(() => {\n window.addEventListener('territoryChange', e =>\n updateToCommercial(e as CustomEvent)\n );\n initListing();\n\n return () => {\n window.removeEventListener('territoryChange', e =>\n updateToCommercial(e as CustomEvent)\n );\n };\n }, []);\n\n useEffect(() => {\n setCards([]);\n\n if (data) {\n data.territoryManagers.sort((a, b) => {\n const nameA = a.name.toUpperCase();\n const nameB = b.name.toUpperCase();\n\n if (nameA < nameB) {\n return -1;\n }\n\n if (nameA > nameB) {\n return 1;\n }\n\n return 0;\n });\n\n setCards(data.territoryManagers);\n }\n\n if (!data && !error && endpointUrl) {\n setShowLoader(true);\n } else {\n setShowLoader(false);\n }\n }, [data, error]);\n\n useEffect(() => {\n if (locationData) {\n setUrlParams({\n PostalCode: locationData.zip.replace(/\\s/g, ''),\n CountryCode: locationData.country,\n BusinessAreas: type\n });\n }\n\n if (locationData?.zip && locationData.country && type) {\n updateEndpoint();\n }\n }, [locationData]);\n\n //Define listeners\n const handleSwitchValueChange = (value: string) => {\n setCards([]);\n setType(value);\n\n if (locationData?.zip && locationData.country && value) {\n setUrlParams({\n PostalCode: locationData.zip.replace(/\\s/g, ''),\n CountryCode: locationData.country,\n BusinessAreas: value\n });\n\n updateEndpoint();\n } else {\n setUrlParamValue('BusinessAreas', value);\n }\n };\n\n const handleClear = () => {\n setLocationData({\n zip: '',\n country: parseCountry(country)\n });\n };\n\n const handleSubmit = (zip: string, country: string) => {\n if (zip && country) {\n setUrlParams({\n PostalCode: zip.replace(/\\s/g, ''),\n CountryCode: parseCountry(country)\n });\n\n updateGeolocationDataProperties({\n zip,\n country: countryToCode(country).toLowerCase()\n });\n }\n\n setLocationData({\n zip,\n country: parseCountry(country)\n });\n\n updateEndpoint();\n };\n\n const renderCardsSections = (arrayObj: CommercialArrayType) => {\n defaultCardsRef.current = cards;\n\n let filteredCards = cards,\n isDefault = false;\n const sectionsLength = arrayObj.length;\n\n return arrayObj.map((item, index) => {\n if (index === sectionsLength - 1 && !item.titles) {\n isDefault = true;\n filteredCards = defaultCardsRef.current;\n } else {\n const titles = item.titles.split('|');\n filteredCards = cards.filter(card => {\n if (titles.includes(card.title)) {\n defaultCardsRef.current = defaultCardsRef.current.filter(\n defaultCard => defaultCard !== card\n );\n\n return true;\n }\n\n return false;\n });\n }\n\n if (filteredCards.length < 1 && isDefault && sectionsLength > 1) {\n return null;\n }\n\n return (\n <Fragment key={`${item.heading}-${index}`}>\n {item.heading && (\n <h3 className=\"territory-manager-listing__subheading\">\n {item.heading}\n </h3>\n )}\n {item.copy && (\n <div\n className=\"territory-manager-listing__description rtf\"\n dangerouslySetInnerHTML={{\n __html: item.copy\n }}\n />\n )}\n {filteredCards.length > 0 ? (\n <ul className=\"territory-manager-listing__list\">\n {filteredCards.map((card, index) => (\n <li key={index} className=\"territory-manager-list-item\">\n <TerritoryManagerCard\n name={card.name}\n title={card.title}\n email={card.email}\n phone={card.mobilePhoneNumber || card.businessPhoneNumber}\n image={card.profilePhotoUrl || defaultImagesObj[type]}\n />\n </li>\n ))}\n </ul>\n ) : (\n <>\n {item.noResultsMessage && (\n <div className=\"row territory-manager-listing__validation-error-wrapper\">\n <div className=\"zip-form__error-message territory-manager-listing__error-message\">\n <p className=\"error-message__error \">\n {item.noResultsMessage}\n </p>\n </div>\n </div>\n )}\n </>\n )}\n </Fragment>\n );\n });\n };\n\n return (\n <div className=\"territory-manager-listing container\">\n <h2 className=\"territory-manager-listing__heading\">{heading}</h2>\n <div className=\"territory-manager-listing__wrapper row\">\n <div className=\"territory-manager-listing__switch\">\n <ToggleSwitch\n values={switchDataObj.values}\n onValueChange={handleSwitchValueChange}\n defaultValue={type || switchDefaultValue}\n />\n </div>\n <div className=\"territory-manager-listing__form\">\n {locationData && (\n <ZipForm\n defaultCountryValue={\n locationData?.country.toLowerCase() || country || 'us'\n }\n invalidZipMessage={zipInvalidMessage}\n onSubmit={handleSubmit}\n zipPlaceholders={placeholders}\n zipRegex={regex}\n whiteBox={true}\n onClear={handleClear}\n defaultZipValue={locationData.zip}\n alternativeOptions={true}\n />\n )}\n </div>\n </div>\n {showLoader && <Loader loaderText={loadingText} />}\n {type === RESIDENTIAL_VALUE && (\n <div className=\"territory-manager-listing__wrapper--commercial\">\n {renderCardsSections(residentialArrayObj)}\n </div>\n )}\n {type === COMMERCIAL_VALUE && (\n <div className=\"territory-manager-listing__wrapper--commercial\">\n {renderCardsSections(commercialArrayObj)}\n </div>\n )}\n </div>\n );\n}\n\nexport default TerritoryManagerListing;\n"],"names":["TerritoryManagerCard","name","title","email","phone","image","React","formatPhoneNumber","RESIDENTIAL_VALUE","COMMERCIAL_VALUE","TerritoryManagerListing","heading","switchData","country","zipInvalidMessage","zipPlaceholders","zipRegex","tenant","endpoint","defaultImages","loadingText","commercialArray","residentialArray","switchDataObj","switchDefaultValue","setSwitchDefaultValue","useState","_a","val","defaultImagesObj","typeFromUrl","getUrlParamValue","regex","placeholders","commercialArrayObj","residentialArrayObj","defaultCardsRef","useRef","type","setType","locationData","setLocationData","endpointUrl","setEndpointUrl","cards","setCards","showLoader","setShowLoader","data","error","useFetch","parseCountry","countryToCode","getTerritoryManagerLocationData","dataFromUrl","getZipAndCountryFromUrl","storedData","getStoredGeolocationCountryAndZip","maxmindData","getLocationByIpAddress","browserData","getGeolocationDataFromBrowserAndGoogle","initListing","location","newCountry","updateEndpoint","queryUrl","updateEndpointWithQueryString","updateToCommercial","useEffect","a","b","nameA","nameB","setUrlParams","handleSwitchValueChange","value","setUrlParamValue","handleClear","handleSubmit","zip","updateGeolocationDataProperties","renderCardsSections","arrayObj","filteredCards","isDefault","sectionsLength","item","index","titles","card","defaultCard","Fragment","ToggleSwitch","ZipForm","Loader"],"mappings":"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"}