{"mappings":"A,S,E,C,E,O,G,E,U,C,E,O,C,C,C,S,E,C,C,C,C,C,C,C,E,O,c,C,E,E,C,I,E,I,E,W,C,E,a,C,C,E,C,I,E,A,C,A,a,O,W,W,A,a,O,K,K,A,a,O,O,O,A,a,O,O,O,C,C,E,iB,C,E,E,Q,C,E,Q,S,C,C,C,E,O,c,C,E,O,C,a,C,M,C,E,a,C,C,G,E,E,O,C,U,W,O,C,GCAA,IAAA,EAAA,EAAA,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,S,I,E,E,S,E,E,S,E,E,S,E,E,S,E,E,S,E,E,SA0BA,IAAMoc,EAAMX,AAAAA,EAAAA,GAAMrY,IAAI,CAAC,IAAvB,EAAA,UAEMiZ,EAAYd,AAAAA,CAAAA,EAAAA,EAAAA,OAAAA,AAAAA,EAAYjY,AAAAA,GAAW,CAAA,CACvCC,OAAQ,CACNC,UAAW,GACXC,QAAS,OACTC,WAAY,SACZC,eAAgB,SAChBC,UAAW,SACXC,QAAS,GACTC,aAAc,gBAChB,EAEAC,OAAQ,CACNC,UAAW,SACXP,QAAS,OACTQ,SAAU,EACVC,cAAe,QACjB,EAEAC,QAAS,CACPC,OAAQ,OACRC,SAAU,SACVZ,QAAS,OACTS,cAAe,SACfD,SAAU,CACZ,EAEAK,YAAa,CACXL,SAAU,EACVM,SAAU,UACZ,EAEAC,mBAAoB,CAClBJ,OAAQ,OACRC,SAAU,QACZ,EAEAI,mBAAoB,CAClBC,QAAS,GACTC,cAAe,MACjB,EAEAC,aAAc,CACZnB,QAAS,OACTc,SAAU,WAEV,CAACjB,EAAMuB,WAAW,CAACC,IAAI,CAAC,MAAK,CAAG,CAC9BV,OAAQ,GACV,CACF,EAEAW,WAAY,CACVC,OAAQ,EACRT,SAAU,WACVU,IAAK,GACLC,MAAO,GACPC,MAAO,SACT,EAEAC,gBAAiB,CACfC,YAAa,CACf,EAEAC,KAAM,CACJf,SAAU,WACVS,OAAQ,EACRO,UAAW,uCACXlB,SAAU,OACVmB,eAAgB,QAClB,EAEAC,aAAc,CACZ3B,aAAc,iBACd4B,gBAAiB,yBACjB7B,QAAS,SACT0B,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","sources":["","src/containers/ClinicForm.js","node_modules/@material-ui/icons/MyLocation.js","src/components/ClickableListItem/ClickableListItem.js","node_modules/@material-ui/core/esm/ListItem/ListItem.js","node_modules/@material-ui/core/esm/utils/isMuiElement.js","node_modules/@material-ui/core/esm/List/ListContext.js","src/helpers/calculateMapSiteList.js","src/hooks/useListEntries.js","node_modules/@parcel/runtime-js/lib/runtime-606b4e9864642252.js","node_modules/@material-ui/core/node_modules/@babel/runtime/helpers/esm/classCallCheck.js","node_modules/@material-ui/core/node_modules/@babel/runtime/helpers/esm/createClass.js"],"sourcesContent":["\nfunction $parcel$interopDefault(a) {\n return a && a.__esModule ? a.default : a;\n}\n\nfunction $parcel$defineInteropFlag(a) {\n Object.defineProperty(a, '__esModule', {value: true, configurable: true});\n}\n\nfunction $parcel$export(e, n, v, s) {\n Object.defineProperty(e, n, {get: v, set: s, enumerable: true, configurable: true});\n}\n\n var $parcel$global =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {};\n var parcelRequire = $parcel$global[\"parcelRequire3c7f\"];\nvar parcelRegister = parcelRequire.register;\nparcelRegister(\"fSdGL\", function(module, exports) {\n\n$parcel$defineInteropFlag(module.exports);\n\n$parcel$export(module.exports, \"default\", function () { return $b8e68476c140cb87$export$2e2bcd8739ae039; });\n/* eslint-disable react/require-default-props */ \nvar $7YYXE = parcelRequire(\"7YYXE\");\n\nvar $aJjY6 = parcelRequire(\"aJjY6\");\n\nvar $6DNr3 = parcelRequire(\"6DNr3\");\n\nvar $ki4tF = parcelRequire(\"ki4tF\");\n\nvar $fpN3t = parcelRequire(\"fpN3t\");\n\nvar $3kres = parcelRequire(\"3kres\");\n\nvar $7b1Lp = parcelRequire(\"7b1Lp\");\n\nvar $1GRlU = parcelRequire(\"1GRlU\");\n\nvar $cQNHH = parcelRequire(\"cQNHH\");\n\nvar $kV13H = parcelRequire(\"kV13H\");\nvar $szrnD = parcelRequire(\"szrnD\");\n\nvar $kCgBv = parcelRequire(\"kCgBv\");\n\nvar $k4Dr6 = parcelRequire(\"k4Dr6\");\n\nvar $8p3P7 = parcelRequire(\"8p3P7\");\n\nvar $kvHhM = parcelRequire(\"kvHhM\");\n\nvar $ieVrd = parcelRequire(\"ieVrd\");\n\nvar $5it5R = parcelRequire(\"5it5R\");\n\nvar $2Hhgv = parcelRequire(\"2Hhgv\");\nparcelRequire(\"8u8eZ\");\n\nvar $aeuny = parcelRequire(\"aeuny\");\n\nvar $hgf0k = parcelRequire(\"hgf0k\");\n\nvar $7lOcN = parcelRequire(\"7lOcN\");\n\nvar $bgJ4c = parcelRequire(\"bgJ4c\");\n\nvar $1YSJM = parcelRequire(\"1YSJM\");\n\nvar $jge0r = parcelRequire(\"jge0r\");\n\nconst $b8e68476c140cb87$var$Map = /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).lazy(()=>(parcelRequire(\"9D06u\")));\nconst $b8e68476c140cb87$var$useStyles = (0, $7b1Lp.default)((theme)=>({\n header: {\n minHeight: 72,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n padding: 10,\n borderBottom: \"1px solid #ccc\"\n },\n scroll: {\n overflowY: \"scroll\",\n display: \"flex\",\n flexGrow: 1,\n flexDirection: \"column\"\n },\n withMap: {\n height: \"100%\",\n overflow: \"hidden\",\n display: \"flex\",\n flexDirection: \"column\",\n flexGrow: 1\n },\n mainContent: {\n flexGrow: 1,\n position: \"relative\"\n },\n mainContentWithMap: {\n height: \"100%\",\n overflow: \"hidden\"\n },\n mainContentLoading: {\n opacity: 0.5,\n pointerEvents: \"none\"\n },\n mapContainer: {\n display: \"flex\",\n position: \"relative\",\n [theme.breakpoints.down(\"xs\")]: {\n height: 150\n }\n },\n mapControl: {\n zIndex: 9,\n position: \"absolute\",\n top: 10,\n right: 10,\n color: \"#6b6b6b\"\n },\n findNearestIcon: {\n marginRight: 4\n },\n list: {\n position: \"relative\",\n zIndex: 1,\n boxShadow: \"-2px 0px 4px 0px rgba(0, 0, 0, 0.16)\",\n overflow: \"auto\",\n scrollBehavior: \"smooth\"\n },\n countryTitle: {\n borderBottom: \"1px solid #ccc\",\n backgroundColor: \"rgba(247, 248, 248, 1)\",\n padding: \"13px 0\",\n boxShadow: \"0 1px 2px 0 rgba(0, 0, 0, 0.16)\",\n zIndex: 1,\n position: \"relative\"\n },\n countryTitleFlag: {\n height: 22\n },\n opaque: {\n opacity: 0.5\n },\n btnContainer: {\n minHeight: 72,\n display: \"flex\",\n alignItems: \"center\",\n justifyContent: \"center\",\n textAlign: \"center\",\n padding: 10,\n border: \"1px solid #ccc\"\n },\n btnNearLocationFind: {\n cursor: \"pointer\",\n height: 35,\n display: \"absolute\",\n lineHeight: 35,\n padding: \"0 1.5rem\",\n color: \"#FFFFFF\",\n backgroundColor: \"#005B86\",\n fontWeight: 600,\n letterSpacing: 0.8,\n textAlign: \"center\",\n textDecoration: \"none\",\n textTransform: \"uppercase\",\n verticalAlign: \"middle\",\n whiteSpace: \"nowrap\",\n outline: \"none\",\n border: \"none\",\n borderRadius: 2,\n transition: \"all .3s ease-out\",\n boxShadow: \"0 2 5 0 rgba(0,0,0,0.225)\",\n \"&:hover\": {\n color: \"#000\"\n }\n }\n }));\nfunction $b8e68476c140cb87$var$ClinicForm({ sites: sites, navigateModal: navigateModal, api: { submitSite: submitSite }, googleApiKey: googleApiKey, country: country, intl: { formatMessage: formatMessage }, pageName: pageName, nextPageName: nextPageName, prevPageName: prevPageName, contentId: contentId }) {\n const classes = $b8e68476c140cb87$var$useStyles();\n const aria = (0, $1YSJM.default)();\n const descriptionId = (0, $7lOcN.default)();\n const theme = (0, $ki4tF.default)();\n const showMap = (0, $fpN3t.default)(theme.breakpoints.up(\"sm\"));\n (0, $aeuny.useCloseConfirmation)();\n const useGlobal = (0, $hgf0k.useGlobalScope)(pageName);\n const [selectedSite, setSelectedSite] = useGlobal(\"selectedSite\");\n const [listHoverId, setListHoverId] = (0, $cQNHH.useState)(null);\n const [mapHoverId, setMapHoverId] = (0, $cQNHH.useState)(null);\n const [findNearestClinicButtonEnable, setFindNearestClinicButtonEnable] = (0, $cQNHH.useState)();\n const [loading, setLoading] = (0, $cQNHH.useState)(showMap);\n (0, $cQNHH.useEffect)(()=>{\n (0, $jge0r.userMetrics).track(\"Site selector screen loaded\");\n }, []);\n const listRef = (0, $cQNHH.useRef)(null);\n const listItemRefs = (0, $bgJ4c.default)(sites, ()=>/*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createRef(), (i)=>sites[i].id);\n const { siteMap: siteMap, countryOrder: countryOrder, sortedSiteList: sortedSiteList } = (0, $cQNHH.useMemo)(()=>(0, $ieVrd.calculateMapSiteList)(sites, country), [\n sites,\n country\n ]);\n const setSiteId = (id)=>{\n setSelectedSite(id ? sites.find((site)=>site.id === id) : null);\n };\n const scrollToSite = (id, retry = 0)=>{\n if (!id) return;\n const listItemRef = listItemRefs[id];\n if (!listItemRef || !listItemRef.current || !listRef || !listRef.current) {\n if (retry < 5) setTimeout(()=>scrollToSite(id, retry + 1), 100);\n return;\n }\n const scrollToEl = listItemRef.current;\n listRef.current.scrollTop = scrollToEl.offsetTop - (listRef.current.offsetHeight - scrollToEl.offsetHeight) / 2;\n };\n const handleItemClick = (siteId)=>{\n setSiteId(siteId === (selectedSite === null || selectedSite === void 0 ? void 0 : selectedSite.id) ? null : siteId);\n (0, $2Hhgv.submitMetric)(\"siteSelected\");\n };\n const handleMapClick = (siteId)=>{\n scrollToSite(siteId);\n handleItemClick(siteId);\n };\n const handleItemHover = (isHovering, itemId)=>{\n if (!isHovering && listHoverId === itemId) setListHoverId(null);\n else setListHoverId(itemId);\n };\n const handleMapLoad = ()=>{\n setLoading(false);\n };\n const handleFindNearestSite = ()=>{\n var _navigator_permissions, _navigator;\n return (_navigator = navigator) === null || _navigator === void 0 ? void 0 : (_navigator_permissions = _navigator.permissions) === null || _navigator_permissions === void 0 ? void 0 : _navigator_permissions.query({\n name: \"geolocation\"\n }).then((permission)=>{\n // Checking if the user has declined permission ref https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query\n setFindNearestClinicButtonEnable(permission.state !== \"denied\");\n navigator.geolocation.getCurrentPosition((position)=>{\n const coords = {\n latitude: position.coords.latitude,\n longitude: position.coords.longitude\n };\n const { closestSiteId: closestSiteId } = (0, $ieVrd.calculateMapSiteList)(sites, country, coords);\n setSiteId(closestSiteId);\n });\n });\n };\n const handleMapHover = (isHovering, siteId)=>{\n if (!isHovering && mapHoverId === siteId) setMapHoverId(null);\n else setMapHoverId(siteId);\n };\n const handleBackClick = ()=>{\n navigateModal({\n forward: false\n });\n };\n const handleContinueClick = async ()=>{\n setLoading(true);\n await submitSite(selectedSite);\n setLoading(false);\n navigateModal({\n forward: true\n });\n };\n (0, $cQNHH.useEffect)(()=>{\n if (selectedSite === null || selectedSite === void 0 ? void 0 : selectedSite.id) scrollToSite(selectedSite === null || selectedSite === void 0 ? void 0 : selectedSite.id);\n else handleFindNearestSite();\n }, [\n selectedSite\n ]);\n // Only way to make the button hide at the same time as location is denied\n // consult the documentation https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API/Using_the_Permissions_API#querying_permission_state\n const locationPermissions = async ()=>{\n var _navigator_permissions, _navigator;\n const permission = await ((_navigator = navigator) === null || _navigator === void 0 ? void 0 : (_navigator_permissions = _navigator.permissions) === null || _navigator_permissions === void 0 ? void 0 : _navigator_permissions.query({\n name: \"geolocation\"\n }));\n if ((permission === null || permission === void 0 ? void 0 : permission.state) === \"granted\") setFindNearestClinicButtonEnable(true);\n else if ((permission === null || permission === void 0 ? void 0 : permission.state) === \"prompt\") navigator.geolocation.getCurrentPosition((position)=>{\n const coords = {\n latitude: position.coords.latitude,\n longitude: position.coords.longitude\n };\n const { closestSiteId: closestSiteId } = (0, $ieVrd.calculateMapSiteList)(sites, country, coords);\n setSiteId(closestSiteId);\n setFindNearestClinicButtonEnable(true);\n }, ()=>{\n setFindNearestClinicButtonEnable(false);\n });\n else if ((permission === null || permission === void 0 ? void 0 : permission.state) === \"denied\") setFindNearestClinicButtonEnable(false);\n return null;\n };\n (0, $cQNHH.useEffect)(()=>{\n locationPermissions();\n }, []);\n const siteIsChosen = Boolean(selectedSite === null || selectedSite === void 0 ? void 0 : selectedSite.id);\n const renderSiteList = ()=>{\n return countryOrder.map((countryCode)=>/*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $cQNHH.Fragment), {\n key: countryCode\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $aJjY6.default), {\n alignItems: \"center\",\n \"aria-hidden\": \"true\",\n className: classes.countryTitle,\n container: true,\n direction: \"row\",\n wrap: \"nowrap\"\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $aJjY6.default), {\n alignItems: \"center\",\n container: true,\n item: true,\n justifyContent: \"center\",\n xs: 3\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"img\", {\n alt: \"\",\n \"aria-hidden\": \"true\",\n className: classes.countryTitleFlag,\n src: `https://public.trialbee.com/flags/${countryCode.toLowerCase()}.svg`\n })), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $aJjY6.default), {\n item: true,\n xs: 12\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kvHhM.SectionHeading), null, formatMessage((0, $5it5R.countryMessages)[countryCode.toUpperCase()])))), siteMap[countryCode].map((site)=>/*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $6DNr3.default), {\n key: site.id,\n rootRef: listItemRefs[site.id]\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kCgBv.default), {\n desribedBy: descriptionId,\n disabled: loading,\n highlight: site.id === mapHoverId,\n onClick: handleItemClick,\n onHover: handleItemHover,\n selected: site.id === (selectedSite === null || selectedSite === void 0 ? void 0 : selectedSite.id),\n showLookupLink: !showMap,\n site: site\n })))));\n };\n return /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).Fragment, null, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"div\", {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($1GRlU)))({\n [classes.scroll]: !showMap,\n [classes.withMap]: showMap\n }),\n ...aria\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"div\", {\n className: classes.header\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kvHhM.MainHeadingSmaller), {\n align: \"center\",\n id: descriptionId\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"b\", null, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kV13H.default), {\n defaultMessage: \"Select a preferred clinic you would like to visit if you were to take part in the study\",\n id: \"ClinicForm.SelectClinic\"\n })))), !showMap && findNearestClinicButtonEnable && /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"div\", {\n className: classes.btnContainer\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $7YYXE.default), {\n className: classes.btnNearLocationFind,\n onClick: handleFindNearestSite,\n size: \"medium\",\n variant: \"contained\"\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, (/*@__PURE__*/$parcel$interopDefault($3kres))), {\n className: classes.findNearestIcon\n }), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kV13H.default), {\n defaultMessage: \"Find nearest clinic\",\n id: \"ClinicForm.FindNearestClinic\"\n }))), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $aJjY6.default), {\n className: (0, (/*@__PURE__*/$parcel$interopDefault($1GRlU)))(classes.mainContent, {\n [classes.mainContentWithMap]: showMap,\n [classes.mainContentLoading]: loading\n }),\n container: true,\n spacing: 0,\n wrap: \"nowrap\"\n }, showMap && /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $aJjY6.default), {\n \"aria-hidden\": \"true\",\n className: classes.mapContainer,\n item: true,\n sm: 8,\n tabIndex: \"-1\",\n xs: 12\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $8p3P7.default), null, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement($b8e68476c140cb87$var$Map, {\n country: country,\n googleApiKey: googleApiKey,\n hoveredSiteId: listHoverId,\n onMapLoad: handleMapLoad,\n onSiteHover: handleMapHover,\n onSiteSelect: handleMapClick,\n selectedSite: selectedSite,\n sites: sortedSiteList\n })), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"div\", {\n className: classes.mapControl\n }, findNearestClinicButtonEnable && /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $7YYXE.default), {\n onClick: handleFindNearestSite,\n size: \"small\",\n variant: \"contained\"\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, (/*@__PURE__*/$parcel$interopDefault($3kres))), {\n className: classes.findNearestIcon\n }), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kV13H.default), {\n defaultMessage: \"Find nearest clinic\",\n id: \"ClinicForm.FindNearestClinic\"\n })))), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $6DNr3.default), {\n rootRef: listRef\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $aJjY6.default), {\n \"aria-labelledby\": descriptionId,\n className: (0, (/*@__PURE__*/$parcel$interopDefault($1GRlU)))({\n [classes.list]: showMap,\n [classes.opaque]: loading\n }),\n item: true,\n role: \"radiogroup\",\n sm: 4,\n xs: 12\n }, renderSiteList())))), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $k4Dr6.default), {\n footerText: !siteIsChosen && /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kV13H.default), {\n defaultMessage: \"No clinic selected\",\n id: \"Footer.FooterNoClinicSelected\"\n }),\n formIsComplete: siteIsChosen && !loading,\n liveRegionId: contentId,\n loading: loading,\n nextPageName: nextPageName,\n onBackClick: handleBackClick,\n onContinueClick: handleContinueClick,\n prevPageName: prevPageName\n }));\n}\nvar $b8e68476c140cb87$export$2e2bcd8739ae039 = (0, $szrnD.default)($b8e68476c140cb87$var$ClinicForm);\n\n});\nparcelRegister(\"3kres\", function(module, exports) {\n\"use strict\";\n\nvar $kFrsj = parcelRequire(\"kFrsj\");\n\nvar $8jEx7 = parcelRequire(\"8jEx7\");\nObject.defineProperty(module.exports, \"__esModule\", {\n value: true\n});\nmodule.exports.default = void 0;\n\nvar $26c85d14fc97e8b7$var$React = $8jEx7((parcelRequire(\"cQNHH\")));\n\nvar $26c85d14fc97e8b7$var$_createSvgIcon = $kFrsj((parcelRequire(\"bXzXC\")));\nvar $26c85d14fc97e8b7$var$_default = (0, $26c85d14fc97e8b7$var$_createSvgIcon.default)(/*#__PURE__*/ $26c85d14fc97e8b7$var$React.createElement(\"path\", {\n d: \"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z\"\n}), \"MyLocation\");\nmodule.exports.default = $26c85d14fc97e8b7$var$_default;\n\n});\n\nparcelRegister(\"kCgBv\", function(module, exports) {\n\n$parcel$export(module.exports, \"default\", function () { return $f0243c75ca5032b5$export$2e2bcd8739ae039; });\n\nvar $ikATC = parcelRequire(\"ikATC\");\n\nvar $7yw4T = parcelRequire(\"7yw4T\");\n\nvar $fpN3t = parcelRequire(\"fpN3t\");\n\nvar $7b1Lp = parcelRequire(\"7b1Lp\");\n\nvar $1GRlU = parcelRequire(\"1GRlU\");\n\nvar $cQNHH = parcelRequire(\"cQNHH\");\n\nvar $kV13H = parcelRequire(\"kV13H\");\nvar $szrnD = parcelRequire(\"szrnD\");\n\nvar $5it5R = parcelRequire(\"5it5R\");\nparcelRequire(\"8u8eZ\");\n\nvar $kvHhM = parcelRequire(\"kvHhM\");\nconst $f0243c75ca5032b5$var$useStyles = (0, $7b1Lp.default)((theme)=>({\n root: {\n padding: \"12px 16px\",\n position: \"relative\",\n \"&:hover\": {\n backgroundColor: theme.palette.primary.extraLight\n }\n },\n highlight: {\n backgroundColor: theme.palette.primary.extraLight,\n color: \"rgb(0, 0, 0)\"\n },\n selected: {\n \"&:before\": {\n content: '\"\"',\n display: \"block\",\n position: \"absolute\",\n top: 0,\n bottom: 0,\n left: 0,\n width: 4,\n height: \"100%\",\n backgroundColor: theme.palette.primary.main\n }\n },\n contentContainer: {\n position: \"relative\",\n width: \"100%\"\n },\n typography: {\n lineHeight: \"24px\",\n marginBottom: 0\n },\n heading: {\n fontWeight: 600,\n color: theme.palette.grey[800]\n },\n subText: {\n marginTop: theme.spacing(1)\n }\n }));\nfunction $f0243c75ca5032b5$var$ClickableListItem({ intl: { formatMessage: formatMessage }, site: { id: id, name: name, address: address, city: city, state: state, countryCode: countryCode }, onClick: onClick, onHover: onHover, selected: selected, highlight: highlight, showLookupLink: showLookupLink, disabled: disabled, desribedBy: desribedBy }) {\n const canHover = (0, $fpN3t.default)(\"(any-hover: hover)\");\n const hoverAttributes = canHover ? {\n onMouseEnter: ()=>onHover(true, id),\n onMouseLeave: ()=>onHover(false, id)\n } : {};\n const addressLine1 = state ? `${city}, ${state}` : city;\n const country = formatMessage((0, $5it5R.countryMessages)[countryCode.toUpperCase()]);\n const classes = $f0243c75ca5032b5$var$useStyles();\n return /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $7yw4T.default), {\n key: id,\n \"aria-checked\": selected.toString(),\n \"aria-describedby\": desribedBy,\n \"aria-label\": `${name} - ${address}, ${country}`,\n button: true,\n classes: {\n selected: classes.selected\n },\n className: (0, (/*@__PURE__*/$parcel$interopDefault($1GRlU)))(classes.root, {\n [classes.highlight]: selected || highlight\n }),\n disabled: disabled,\n divider: true,\n onClick: ()=>onClick(id),\n role: \"radio\",\n selected: selected,\n ...hoverAttributes\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"div\", {\n className: classes.contentContainer\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement(\"div\", null, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kvHhM.NormalText), {\n \"aria-hidden\": \"true\",\n className: (0, (/*@__PURE__*/$parcel$interopDefault($1GRlU)))(classes.typography, classes.heading),\n color: \"inherit\",\n variant: \"h4\"\n }, name), /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kvHhM.NormalText), {\n \"aria-hidden\": \"true\",\n className: classes.typography,\n color: \"inherit\"\n }, addressLine1), selected && /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).Fragment, null, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kvHhM.SubtleText), {\n \"aria-hidden\": \"true\",\n className: classes.subText\n }, address), showLookupLink && /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $ikATC.default), {\n className: classes.subText,\n href: `https://google.com/maps/search/?api=1&query=${encodeURIComponent(`${name}, ${address}`)}`,\n onClick: (e)=>e.stopPropagation(),\n rel: \"noopener noreferrer\",\n target: \"_blank\",\n variant: \"subtitle1\"\n }, /*#__PURE__*/ (0, (/*@__PURE__*/$parcel$interopDefault($cQNHH))).createElement((0, $kV13H.default), {\n defaultMessage: \"Look up on Google maps\",\n id: \"ClinicForm.mapsLookup\"\n }))))));\n}\n$f0243c75ca5032b5$var$ClickableListItem.defaultProps = {\n highlight: false,\n selected: false,\n showLookupLink: false\n};\nvar $f0243c75ca5032b5$export$2e2bcd8739ae039 = (0, $szrnD.default)($f0243c75ca5032b5$var$ClickableListItem);\n\n});\nparcelRegister(\"7yw4T\", function(module, exports) {\n\n$parcel$export(module.exports, \"default\", function () { return $580497621dffad21$export$2e2bcd8739ae039; });\n\nvar $gtn2B = parcelRequire(\"gtn2B\");\n\nvar $fsWgf = parcelRequire(\"fsWgf\");\n\nvar $cQNHH = parcelRequire(\"cQNHH\");\n\nvar $1xEYC = parcelRequire(\"1xEYC\");\n\nvar $bKF6r = parcelRequire(\"bKF6r\");\n\nvar $dcECW = parcelRequire(\"dcECW\");\n\nvar $eyd6T = parcelRequire(\"eyd6T\");\n\nvar $6apHB = parcelRequire(\"6apHB\");\n\nvar $aVtrN = parcelRequire(\"aVtrN\");\n\nvar $ge6Tz = parcelRequire(\"ge6Tz\");\n\nvar $32oIY = parcelRequire(\"32oIY\");\n\nvar $dLwnG = parcelRequire(\"dLwnG\");\nvar $580497621dffad21$export$9dd6ff9ea0189349 = function styles(theme) {\n return {\n /* Styles applied to the (normally root) `component` element. May be wrapped by a `container`. */ root: {\n display: \"flex\",\n justifyContent: \"flex-start\",\n alignItems: \"center\",\n position: \"relative\",\n textDecoration: \"none\",\n width: \"100%\",\n boxSizing: \"border-box\",\n textAlign: \"left\",\n paddingTop: 8,\n paddingBottom: 8,\n \"&$focusVisible\": {\n backgroundColor: theme.palette.action.selected\n },\n \"&$selected, &$selected:hover\": {\n backgroundColor: theme.palette.action.selected\n },\n \"&$disabled\": {\n opacity: 0.5\n }\n },\n /* Styles applied to the `container` element if `children` includes `ListItemSecondaryAction`. */ container: {\n position: \"relative\"\n },\n /* Pseudo-class applied to the `component`'s `focusVisibleClassName` prop if `button={true}`. */ focusVisible: {},\n /* Styles applied to the `component` element if dense. */ dense: {\n paddingTop: 4,\n paddingBottom: 4\n },\n /* Styles applied to the `component` element if `alignItems=\"flex-start\"`. */ alignItemsFlexStart: {\n alignItems: \"flex-start\"\n },\n /* Pseudo-class applied to the inner `component` element if `disabled={true}`. */ disabled: {},\n /* Styles applied to the inner `component` element if `divider={true}`. */ divider: {\n borderBottom: \"1px solid \".concat(theme.palette.divider),\n backgroundClip: \"padding-box\"\n },\n /* Styles applied to the inner `component` element if `disableGutters={false}`. */ gutters: {\n paddingLeft: 16,\n paddingRight: 16\n },\n /* Styles applied to the inner `component` element if `button={true}`. */ button: {\n transition: theme.transitions.create(\"background-color\", {\n duration: theme.transitions.duration.shortest\n }),\n \"&:hover\": {\n textDecoration: \"none\",\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n \"@media (hover: none)\": {\n backgroundColor: \"transparent\"\n }\n }\n },\n /* Styles applied to the `component` element if `children` includes `ListItemSecondaryAction`. */ secondaryAction: {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n },\n /* Pseudo-class applied to the root element if `selected={true}`. */ selected: {}\n };\n};\nvar $580497621dffad21$var$useEnhancedEffect = typeof window === \"undefined\" ? $cQNHH.useEffect : $cQNHH.useLayoutEffect;\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */ var $580497621dffad21$var$ListItem = /*#__PURE__*/ $cQNHH.forwardRef(function ListItem(props, ref) {\n var _props$alignItems = props.alignItems, alignItems = _props$alignItems === void 0 ? \"center\" : _props$alignItems, _props$autoFocus = props.autoFocus, autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus, _props$button = props.button, button = _props$button === void 0 ? false : _props$button, childrenProp = props.children, classes = props.classes, className = props.className, componentProp = props.component, _props$ContainerCompo = props.ContainerComponent, ContainerComponent = _props$ContainerCompo === void 0 ? \"li\" : _props$ContainerCompo, _props$ContainerProps = props.ContainerProps;\n _props$ContainerProps = _props$ContainerProps === void 0 ? {} : _props$ContainerProps;\n var ContainerClassName = _props$ContainerProps.className, ContainerProps = (0, $fsWgf.default)(_props$ContainerProps, [\n \"className\"\n ]), _props$dense = props.dense, dense = _props$dense === void 0 ? false : _props$dense, _props$disabled = props.disabled, disabled = _props$disabled === void 0 ? false : _props$disabled, _props$disableGutters = props.disableGutters, disableGutters = _props$disableGutters === void 0 ? false : _props$disableGutters, _props$divider = props.divider, divider = _props$divider === void 0 ? false : _props$divider, focusVisibleClassName = props.focusVisibleClassName, _props$selected = props.selected, selected = _props$selected === void 0 ? false : _props$selected, other = (0, $fsWgf.default)(props, [\n \"alignItems\",\n \"autoFocus\",\n \"button\",\n \"children\",\n \"classes\",\n \"className\",\n \"component\",\n \"ContainerComponent\",\n \"ContainerProps\",\n \"dense\",\n \"disabled\",\n \"disableGutters\",\n \"divider\",\n \"focusVisibleClassName\",\n \"selected\"\n ]);\n var context = $cQNHH.useContext((0, $32oIY.default));\n var childContext = {\n dense: dense || context.dense || false,\n alignItems: alignItems\n };\n var listItemRef = $cQNHH.useRef(null);\n $580497621dffad21$var$useEnhancedEffect(function() {\n if (autoFocus) {\n if (listItemRef.current) listItemRef.current.focus();\n else console.error(\"Material-UI: Unable to set focus to a ListItem whose component has not been rendered.\");\n }\n }, [\n autoFocus\n ]);\n var children = $cQNHH.Children.toArray(childrenProp);\n var hasSecondaryAction = children.length && (0, $aVtrN.default)(children[children.length - 1], [\n \"ListItemSecondaryAction\"\n ]);\n var handleOwnRef = $cQNHH.useCallback(function(instance) {\n // #StrictMode ready\n listItemRef.current = $dLwnG.findDOMNode(instance);\n }, []);\n var handleRef = (0, $ge6Tz.default)(handleOwnRef, ref);\n var componentProps = (0, $gtn2B.default)({\n className: (0, $bKF6r.default)(classes.root, className, childContext.dense && classes.dense, !disableGutters && classes.gutters, divider && classes.divider, disabled && classes.disabled, button && classes.button, alignItems !== \"center\" && classes.alignItemsFlexStart, hasSecondaryAction && classes.secondaryAction, selected && classes.selected),\n disabled: disabled\n }, other);\n var Component = componentProp || \"li\";\n if (button) {\n componentProps.component = componentProp || \"div\";\n componentProps.focusVisibleClassName = (0, $bKF6r.default)(classes.focusVisible, focusVisibleClassName);\n Component = (0, $6apHB.default);\n }\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? \"div\" : Component; // Avoid nesting of li > li.\n if (ContainerComponent === \"li\") {\n if (Component === \"li\") Component = \"div\";\n else if (componentProps.component === \"li\") componentProps.component = \"div\";\n }\n return /*#__PURE__*/ $cQNHH.createElement((0, $32oIY.default).Provider, {\n value: childContext\n }, /*#__PURE__*/ $cQNHH.createElement(ContainerComponent, (0, $gtn2B.default)({\n className: (0, $bKF6r.default)(classes.container, ContainerClassName),\n ref: handleRef\n }, ContainerProps), /*#__PURE__*/ $cQNHH.createElement(Component, componentProps, children), children.pop()));\n }\n return /*#__PURE__*/ $cQNHH.createElement((0, $32oIY.default).Provider, {\n value: childContext\n }, /*#__PURE__*/ $cQNHH.createElement(Component, (0, $gtn2B.default)({\n ref: handleRef\n }, componentProps), children));\n});\n$580497621dffad21$var$ListItem.propTypes = {\n /**\n * Defines the `align-items` style property.\n */ alignItems: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).oneOf([\n \"flex-start\",\n \"center\"\n ]),\n /**\n * If `true`, the list item will be focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n */ autoFocus: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).bool,\n /**\n * If `true`, the list item will be a button (using `ButtonBase`). Props intended\n * for `ButtonBase` can then be applied to `ListItem`.\n */ button: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).bool,\n /**\n * The content of the component. If a `ListItemSecondaryAction` is used it must\n * be the last child.\n */ children: (0, $dcECW.default)((0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).node, function(props) {\n var children = $cQNHH.Children.toArray(props.children); // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n var secondaryActionIndex = -1;\n for(var i = children.length - 1; i >= 0; i -= 1){\n var child = children[i];\n if ((0, $aVtrN.default)(child, [\n \"ListItemSecondaryAction\"\n ])) {\n secondaryActionIndex = i;\n break;\n }\n } // is ListItemSecondaryAction the last child of ListItem\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) return new Error(\"Material-UI: You used an element after ListItemSecondaryAction. For ListItem to detect that it has a secondary action you must pass it as the last child to ListItem.\");\n return null;\n }),\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */ classes: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).object.isRequired,\n /**\n * @ignore\n */ className: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).string,\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * By default, it's a `li` when `button` is `false` and a `div` when `button` is `true`.\n */ component: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC)))/* @typescript-to-proptypes-ignore */ .elementType,\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n */ ContainerComponent: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).elementType,\n /**\n * Props applied to the container component if used.\n */ ContainerProps: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).object,\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used.\n */ dense: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).bool,\n /**\n * If `true`, the list item will be disabled.\n */ disabled: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).bool,\n /**\n * If `true`, the left and right padding is removed.\n */ disableGutters: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).bool,\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n */ divider: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).bool,\n /**\n * @ignore\n */ focusVisibleClassName: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).string,\n /**\n * Use to apply selected styling.\n */ selected: (0, (/*@__PURE__*/$parcel$interopDefault($1xEYC))).bool\n};\nvar $580497621dffad21$export$2e2bcd8739ae039 = (0, $eyd6T.default)($580497621dffad21$export$9dd6ff9ea0189349, {\n name: \"MuiListItem\"\n})($580497621dffad21$var$ListItem);\n\n});\nparcelRegister(\"aVtrN\", function(module, exports) {\n\n$parcel$export(module.exports, \"default\", function () { return $7f4611e3490ddb8a$export$2e2bcd8739ae039; });\n\nvar $cQNHH = parcelRequire(\"cQNHH\");\nfunction $7f4611e3490ddb8a$export$2e2bcd8739ae039(element, muiNames) {\n return /*#__PURE__*/ $cQNHH.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}\n\n});\n\nparcelRegister(\"32oIY\", function(module, exports) {\n\n$parcel$export(module.exports, \"default\", function () { return $2364bcbfab9cd1f8$export$2e2bcd8739ae039; });\n\nvar $cQNHH = parcelRequire(\"cQNHH\");\n/**\n * @ignore - internal component.\n */ var $2364bcbfab9cd1f8$var$ListContext = $cQNHH.createContext({});\n$2364bcbfab9cd1f8$var$ListContext.displayName = \"ListContext\";\nvar $2364bcbfab9cd1f8$export$2e2bcd8739ae039 = $2364bcbfab9cd1f8$var$ListContext;\n\n});\n\n\n\nparcelRegister(\"ieVrd\", function(module, exports) {\n\n$parcel$export(module.exports, \"calculateMapSiteList\", function () { return $d47616c6058b7828$export$fccf30316ea38180; });\n/* eslint-disable no-use-before-define */ /* eslint-disable import/prefer-default-export */ /**\n * @typedef Coordinates\n * @property {number} latitude\n * @property {number} longitude\n *\n * @typedef Site\n * @property {string} name\n * @property {string} city\n * @property {string} countryCode\n * @property {object[]?} languages\n * @property {Coordinates} geopos\n */ /**\n * @param {Site[]} sites\n * @param {string} country\n * @param {Coordinates} coords\n */ const $d47616c6058b7828$export$fccf30316ea38180 = (sites, country, coords)=>{\n var _sortedSiteList_;\n const sortedSiteList = sites.filter((site)=>{\n var _site_languages;\n return site === null || site === void 0 ? void 0 : (_site_languages = site.languages) === null || _site_languages === void 0 ? void 0 : _site_languages.some($d47616c6058b7828$var$isCountryInLocale(country));\n }).map((s)=>({\n ...s,\n distance: $d47616c6058b7828$var$calculateDistance(coords, s.geopos)\n })).sort((a, b)=>a.distance - b.distance);\n const hasCountry = sites.some((s)=>s.countryCode === country);\n return {\n closestSiteId: (_sortedSiteList_ = sortedSiteList[0]) === null || _sortedSiteList_ === void 0 ? void 0 : _sortedSiteList_.id,\n sortedSiteList: sortedSiteList,\n siteMap: $d47616c6058b7828$var$groupBy(sortedSiteList, \"countryCode\"),\n countryOrder: sortedSiteList.length === 0 ? [] : [\n ...new Set([\n hasCountry ? country : sortedSiteList[0].countryCode,\n ...sortedSiteList.map((s)=>s.countryCode)\n ])\n ]\n };\n};\nconst $d47616c6058b7828$var$groupBy = (arr, fn)=>arr.map(typeof fn === \"function\" ? fn : (val)=>val[fn]).reduce((acc, val, i)=>{\n acc[val] = (acc[val] || []).concat(arr[i]);\n return acc;\n }, {});\nconst $d47616c6058b7828$var$isCountryInLocale = (country)=>({ locale: locale })=>{\n return locale.toLowerCase().includes(country.toLowerCase());\n };\nconst $d47616c6058b7828$var$R = 6371; // earth's radius\n/**\n * @returns {number} distance in kilometers\n */ const $d47616c6058b7828$var$calculateDistance = (pos1 = {}, pos2 = {})=>{\n const lat = pos1.latitude || 0;\n const lng = pos1.longitude || 0;\n const mlat = pos2.latitude;\n const mlng = pos2.longitude;\n const dLat = $d47616c6058b7828$var$rad(mlat - lat);\n const dLong = $d47616c6058b7828$var$rad(mlng - lng);\n const a = Math.sin(dLat / 2) * Math.sin(dLat / 2) + Math.cos($d47616c6058b7828$var$rad(lat)) * Math.cos($d47616c6058b7828$var$rad(lat)) * Math.sin(dLong / 2) * Math.sin(dLong / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = $d47616c6058b7828$var$R * c;\n return distance;\n};\nconst $d47616c6058b7828$var$rad = (x)=>x * Math.PI / 180;\n\n});\n\nparcelRegister(\"bgJ4c\", function(module, exports) {\n\n$parcel$export(module.exports, \"default\", function () { return $834425a5b4e7b4d7$export$2e2bcd8739ae039; });\n\nvar $cQNHH = parcelRequire(\"cQNHH\");\nfunction $834425a5b4e7b4d7$export$2e2bcd8739ae039(list, createListEntry, indexer = (i)=>i) {\n const entries = (0, $cQNHH.useRef)(null);\n const listLength = (0, $cQNHH.useRef)(null);\n if (listLength.current !== list.length) {\n const refs = {};\n for(let i = 0; i < list.length; i += 1)refs[indexer(i)] = createListEntry(i);\n entries.current = refs;\n listLength.current = list.length;\n }\n return entries.current;\n}\n\n});\n\nparcelRegister(\"9D06u\", function(module, exports) {\n\nvar $iWqN5 = parcelRequire(\"iWqN5\");\nmodule.exports = $iWqN5(\"b5IgQ\").then(()=>parcelRequire(\"3OpdT\"));\n\n});\n\n\nparcelRegister(\"fczoz\", function(module, exports) {\n\n$parcel$export(module.exports, \"default\", function () { return $b1136ecc231e5861$export$2e2bcd8739ae039; });\nfunction $b1136ecc231e5861$export$2e2bcd8739ae039(instance, Constructor) {\n if (!(instance instanceof Constructor)) throw new TypeError(\"Cannot call a class as a function\");\n}\n\n});\n\nparcelRegister(\"6FxfJ\", function(module, exports) {\n\n$parcel$export(module.exports, \"default\", function () { return $4db05dbc6e75829d$export$2e2bcd8739ae039; });\nfunction $4db05dbc6e75829d$var$_defineProperties(target, props) {\n for(var i = 0; i < props.length; i++){\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\nfunction $4db05dbc6e75829d$export$2e2bcd8739ae039(Constructor, protoProps, staticProps) {\n if (protoProps) $4db05dbc6e75829d$var$_defineProperties(Constructor.prototype, protoProps);\n if (staticProps) $4db05dbc6e75829d$var$_defineProperties(Constructor, staticProps);\n return Constructor;\n}\n\n});\n\n\n//# sourceMappingURL=ClinicForm.d65e4467.js.map\n","/* eslint-disable react/require-default-props */\nimport Button from '@material-ui/core/Button';\nimport Grid from '@material-ui/core/Grid';\nimport RootRef from '@material-ui/core/RootRef';\nimport { useTheme } from '@material-ui/core/styles';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport MyLocation from '@material-ui/icons/MyLocation';\nimport { makeStyles } from '@material-ui/styles';\nimport classNames from 'classnames';\nimport React, { Fragment, useEffect, useMemo, useRef, useState } from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport ClickableListItem from '../components/ClickableListItem/ClickableListItem';\nimport Footer from '../components/Footer/Footer';\nimport LazyLoading from '../components/LazyLoading/LazyLoading';\nimport { MainHeadingSmaller, SectionHeading } from '../components/typography';\nimport { calculateMapSiteList } from '../helpers/calculateMapSiteList';\nimport { countryMessages } from '../helpers/countries';\nimport { submitMetric } from '../helpers/metrics';\nimport PropTypes, { intlPropType } from '../helpers/propTypes';\nimport { useCloseConfirmation } from '../hooks/useCloseConfirmation';\nimport { useGlobalScope } from '../hooks/useGlobalState';\nimport useId from '../hooks/useId';\nimport useListEntires from '../hooks/useListEntries';\nimport usePageAria from '../hooks/usePageAria';\nimport { userMetrics } from '../userMetrics';\n\nconst Map = React.lazy(() => import('../components/Map/Map'));\n\nconst useStyles = makeStyles((theme) => ({\n header: {\n minHeight: 72,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n padding: 10,\n borderBottom: '1px solid #ccc',\n },\n\n scroll: {\n overflowY: 'scroll',\n display: 'flex',\n flexGrow: 1,\n flexDirection: 'column',\n },\n\n withMap: {\n height: '100%',\n overflow: 'hidden',\n display: 'flex',\n flexDirection: 'column',\n flexGrow: 1,\n },\n\n mainContent: {\n flexGrow: 1,\n position: 'relative',\n },\n\n mainContentWithMap: {\n height: '100%',\n overflow: 'hidden',\n },\n\n mainContentLoading: {\n opacity: 0.5,\n pointerEvents: 'none',\n },\n\n mapContainer: {\n display: 'flex',\n position: 'relative',\n\n [theme.breakpoints.down('xs')]: {\n height: 150,\n },\n },\n\n mapControl: {\n zIndex: 9,\n position: 'absolute',\n top: 10,\n right: 10,\n color: '#6b6b6b',\n },\n\n findNearestIcon: {\n marginRight: 4,\n },\n\n list: {\n position: 'relative',\n zIndex: 1,\n boxShadow: '-2px 0px 4px 0px rgba(0, 0, 0, 0.16)',\n overflow: 'auto',\n scrollBehavior: 'smooth',\n },\n\n countryTitle: {\n borderBottom: '1px solid #ccc',\n backgroundColor: 'rgba(247, 248, 248, 1)',\n padding: '13px 0',\n boxShadow: '0 1px 2px 0 rgba(0, 0, 0, 0.16)',\n zIndex: 1,\n position: 'relative',\n },\n\n countryTitleFlag: {\n height: 22,\n },\n\n opaque: {\n opacity: 0.5,\n },\n\n btnContainer: {\n minHeight: 72,\n display: 'flex',\n alignItems: 'center',\n justifyContent: 'center',\n textAlign: 'center',\n padding: 10,\n border: '1px solid #ccc',\n },\n\n btnNearLocationFind: {\n cursor: 'pointer',\n height: 35,\n display: 'absolute',\n lineHeight: 35,\n padding: '0 1.5rem',\n color: '#FFFFFF',\n backgroundColor: '#005B86',\n fontWeight: 600,\n letterSpacing: 0.8,\n textAlign: 'center',\n textDecoration: 'none',\n textTransform: 'uppercase',\n verticalAlign: 'middle',\n whiteSpace: 'nowrap',\n outline: 'none',\n border: 'none',\n borderRadius: 2,\n transition: 'all .3s ease-out',\n boxShadow: '0 2 5 0 rgba(0,0,0,0.225)',\n\n '&:hover': {\n color: '#000',\n },\n },\n}));\n\nfunction ClinicForm({\n sites,\n navigateModal,\n api: { submitSite },\n googleApiKey,\n country,\n intl: { formatMessage },\n pageName,\n nextPageName = undefined,\n prevPageName = undefined,\n contentId,\n}) {\n const classes = useStyles();\n const aria = usePageAria();\n const descriptionId = useId();\n const theme = useTheme();\n const showMap = useMediaQuery(theme.breakpoints.up('sm'));\n\n useCloseConfirmation();\n\n const useGlobal = useGlobalScope(pageName);\n\n const [selectedSite, setSelectedSite] = useGlobal('selectedSite');\n const [listHoverId, setListHoverId] = useState(null);\n const [mapHoverId, setMapHoverId] = useState(null);\n const [findNearestClinicButtonEnable, setFindNearestClinicButtonEnable] =\n useState();\n\n const [loading, setLoading] = useState(showMap);\n\n useEffect(() => {\n userMetrics.track('Site selector screen loaded');\n }, []);\n\n const listRef = useRef(null);\n const listItemRefs = useListEntires(\n sites,\n () => React.createRef(),\n (i) => sites[i].id,\n );\n\n const { siteMap, countryOrder, sortedSiteList } = useMemo(\n () => calculateMapSiteList(sites, country),\n [sites, country],\n );\n\n const setSiteId = (id) => {\n setSelectedSite(id ? sites.find((site) => site.id === id) : null);\n };\n\n const scrollToSite = (id, retry = 0) => {\n if (!id) return;\n const listItemRef = listItemRefs[id];\n if (!listItemRef || !listItemRef.current || !listRef || !listRef.current) {\n if (retry < 5) setTimeout(() => scrollToSite(id, retry + 1), 100);\n return;\n }\n\n const scrollToEl = listItemRef.current;\n listRef.current.scrollTop =\n scrollToEl.offsetTop -\n (listRef.current.offsetHeight - scrollToEl.offsetHeight) / 2;\n };\n\n const handleItemClick = (siteId) => {\n setSiteId(siteId === selectedSite?.id ? null : siteId);\n submitMetric('siteSelected');\n };\n\n const handleMapClick = (siteId) => {\n scrollToSite(siteId);\n handleItemClick(siteId);\n };\n\n const handleItemHover = (isHovering, itemId) => {\n if (!isHovering && listHoverId === itemId) {\n setListHoverId(null);\n } else {\n setListHoverId(itemId);\n }\n };\n\n const handleMapLoad = () => {\n setLoading(false);\n };\n\n const handleFindNearestSite = () =>\n navigator?.permissions\n ?.query({ name: 'geolocation' })\n .then((permission) => {\n // Checking if the user has declined permission ref https://developer.mozilla.org/en-US/docs/Web/API/Permissions/query\n setFindNearestClinicButtonEnable(permission.state !== 'denied');\n\n navigator.geolocation.getCurrentPosition((position) => {\n const coords = {\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n };\n const { closestSiteId } = calculateMapSiteList(\n sites,\n country,\n coords,\n );\n\n setSiteId(closestSiteId);\n });\n });\n\n const handleMapHover = (isHovering, siteId) => {\n if (!isHovering && mapHoverId === siteId) {\n setMapHoverId(null);\n } else {\n setMapHoverId(siteId);\n }\n };\n\n const handleBackClick = () => {\n navigateModal({ forward: false });\n };\n\n const handleContinueClick = async () => {\n setLoading(true);\n\n await submitSite(selectedSite);\n\n setLoading(false);\n navigateModal({ forward: true });\n };\n\n useEffect(() => {\n if (selectedSite?.id) {\n scrollToSite(selectedSite?.id);\n } else {\n handleFindNearestSite();\n }\n }, [selectedSite]);\n\n // Only way to make the button hide at the same time as location is denied\n // consult the documentation https://developer.mozilla.org/en-US/docs/Web/API/Permissions_API/Using_the_Permissions_API#querying_permission_state\n const locationPermissions = async () => {\n const permission = await navigator?.permissions?.query({\n name: 'geolocation',\n });\n\n if (permission?.state === 'granted') {\n setFindNearestClinicButtonEnable(true);\n } else if (permission?.state === 'prompt') {\n navigator.geolocation.getCurrentPosition(\n (position) => {\n const coords = {\n latitude: position.coords.latitude,\n longitude: position.coords.longitude,\n };\n const { closestSiteId } = calculateMapSiteList(\n sites,\n country,\n coords,\n );\n\n setSiteId(closestSiteId);\n setFindNearestClinicButtonEnable(true);\n },\n () => {\n setFindNearestClinicButtonEnable(false);\n },\n );\n } else if (permission?.state === 'denied') {\n setFindNearestClinicButtonEnable(false);\n }\n return null;\n };\n\n useEffect(() => {\n locationPermissions();\n }, []);\n\n const siteIsChosen = Boolean(selectedSite?.id);\n\n const renderSiteList = () => {\n return countryOrder.map((countryCode) => (\n \n \n \n \n \n \n \n {formatMessage(countryMessages[countryCode.toUpperCase()])}\n \n \n \n {siteMap[countryCode].map((site) => (\n \n \n \n ))}\n \n ));\n };\n\n return (\n <>\n \n
\n \n \n \n \n \n
\n {!showMap && findNearestClinicButtonEnable && (\n
\n \n \n \n \n
\n )}\n\n \n {showMap && (\n \n \n \n \n\n
\n {findNearestClinicButtonEnable && (\n \n \n \n \n )}\n
\n \n )}\n \n \n {renderSiteList()}\n \n \n \n \n \n )\n }\n formIsComplete={siteIsChosen && !loading}\n liveRegionId={contentId}\n loading={loading}\n nextPageName={nextPageName}\n onBackClick={handleBackClick}\n onContinueClick={handleContinueClick}\n prevPageName={prevPageName}\n />\n \n );\n}\n\nClinicForm.propTypes = {\n api: PropTypes.shape({ submitSite: PropTypes.func.isRequired }).isRequired,\n contentId: PropTypes.string.isRequired,\n country: PropTypes.string.isRequired,\n googleApiKey: PropTypes.string.isRequired,\n intl: intlPropType.isRequired,\n navigateModal: PropTypes.func.isRequired,\n nextPageName: PropTypes.string,\n pageName: PropTypes.string.isRequired,\n prevPageName: PropTypes.string,\n sites: PropTypes.arrayOf(\n PropTypes.shape({\n city: PropTypes.string,\n countryCode: PropTypes.string,\n geopos: PropTypes.shape({}),\n id: PropTypes.string.isRequired,\n name: PropTypes.string,\n street: PropTypes.string,\n zipCode: PropTypes.string,\n }),\n ).isRequired,\n};\n\nexport default injectIntl(ClinicForm);\n","\"use strict\";\n\nvar _interopRequireDefault = require(\"@babel/runtime/helpers/interopRequireDefault\");\n\nvar _interopRequireWildcard = require(\"@babel/runtime/helpers/interopRequireWildcard\");\n\nObject.defineProperty(exports, \"__esModule\", {\n value: true\n});\nexports.default = void 0;\n\nvar React = _interopRequireWildcard(require(\"react\"));\n\nvar _createSvgIcon = _interopRequireDefault(require(\"./utils/createSvgIcon\"));\n\nvar _default = (0, _createSvgIcon.default)( /*#__PURE__*/React.createElement(\"path\", {\n d: \"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4zm8.94 3c-.46-4.17-3.77-7.48-7.94-7.94V1h-2v2.06C6.83 3.52 3.52 6.83 3.06 11H1v2h2.06c.46 4.17 3.77 7.48 7.94 7.94V23h2v-2.06c4.17-.46 7.48-3.77 7.94-7.94H23v-2h-2.06zM12 19c-3.87 0-7-3.13-7-7s3.13-7 7-7 7 3.13 7 7-3.13 7-7 7z\"\n}), 'MyLocation');\n\nexports.default = _default;","import Link from '@material-ui/core/Link';\nimport ListItem from '@material-ui/core/ListItem';\nimport useMediaQuery from '@material-ui/core/useMediaQuery';\nimport { makeStyles } from '@material-ui/styles';\nimport classNames from 'classnames';\nimport React from 'react';\nimport { FormattedMessage, injectIntl } from 'react-intl';\nimport { countryMessages } from '../../helpers/countries';\nimport PropTypes, { intlPropType } from '../../helpers/propTypes';\nimport { NormalText, SubtleText } from '../typography';\n\nconst useStyles = makeStyles((theme) => ({\n root: {\n padding: '12px 16px',\n position: 'relative',\n '&:hover': {\n backgroundColor: theme.palette.primary.extraLight,\n },\n },\n\n highlight: {\n backgroundColor: theme.palette.primary.extraLight,\n color: 'rgb(0, 0, 0)',\n },\n\n selected: {\n '&:before': {\n content: '\"\"',\n display: 'block',\n position: 'absolute',\n top: 0,\n bottom: 0,\n left: 0,\n width: 4,\n height: '100%',\n backgroundColor: theme.palette.primary.main,\n },\n },\n\n contentContainer: {\n position: 'relative',\n width: '100%',\n },\n\n typography: {\n lineHeight: '24px',\n marginBottom: 0,\n },\n\n heading: {\n fontWeight: 600,\n color: theme.palette.grey[800],\n },\n\n subText: {\n marginTop: theme.spacing(1),\n },\n}));\n\nfunction ClickableListItem({\n intl: { formatMessage },\n site: { id, name, address, city, state, countryCode },\n onClick,\n onHover,\n selected,\n highlight,\n showLookupLink,\n disabled,\n desribedBy,\n}) {\n const canHover = useMediaQuery('(any-hover: hover)');\n const hoverAttributes = canHover\n ? {\n onMouseEnter: () => onHover(true, id),\n onMouseLeave: () => onHover(false, id),\n }\n : {};\n\n const addressLine1 = state ? `${city}, ${state}` : city;\n const country = formatMessage(countryMessages[countryCode.toUpperCase()]);\n\n const classes = useStyles();\n\n return (\n onClick(id)}\n role=\"radio\"\n selected={selected}\n {...hoverAttributes}\n >\n
\n
\n \n {name}\n \n \n {addressLine1}\n \n {selected && (\n <>\n \n {address}\n \n {showLookupLink && (\n e.stopPropagation()}\n rel=\"noopener noreferrer\"\n target=\"_blank\"\n variant=\"subtitle1\"\n >\n \n \n )}\n \n )}\n
\n
\n \n );\n}\n\nClickableListItem.propTypes = {\n desribedBy: PropTypes.string.isRequired,\n disabled: PropTypes.bool.isRequired,\n highlight: PropTypes.bool,\n intl: intlPropType.isRequired,\n onClick: PropTypes.func.isRequired,\n onHover: PropTypes.func.isRequired,\n selected: PropTypes.bool,\n showLookupLink: PropTypes.bool,\n site: PropTypes.shape({\n address: PropTypes.string,\n city: PropTypes.string,\n countryCode: PropTypes.string,\n id: PropTypes.string,\n name: PropTypes.string,\n state: PropTypes.string,\n zipCode: PropTypes.string,\n }).isRequired,\n};\n\nClickableListItem.defaultProps = {\n highlight: false,\n selected: false,\n showLookupLink: false,\n};\n\nexport default injectIntl(ClickableListItem);\n","import _extends from \"@babel/runtime/helpers/esm/extends\";\nimport _objectWithoutProperties from \"@babel/runtime/helpers/esm/objectWithoutProperties\";\nimport * as React from 'react';\nimport PropTypes from 'prop-types';\nimport clsx from 'clsx';\nimport { chainPropTypes } from '@material-ui/utils';\nimport withStyles from '../styles/withStyles';\nimport ButtonBase from '../ButtonBase';\nimport isMuiElement from '../utils/isMuiElement';\nimport useForkRef from '../utils/useForkRef';\nimport ListContext from '../List/ListContext';\nimport * as ReactDOM from 'react-dom';\nexport var styles = function styles(theme) {\n return {\n /* Styles applied to the (normally root) `component` element. May be wrapped by a `container`. */\n root: {\n display: 'flex',\n justifyContent: 'flex-start',\n alignItems: 'center',\n position: 'relative',\n textDecoration: 'none',\n width: '100%',\n boxSizing: 'border-box',\n textAlign: 'left',\n paddingTop: 8,\n paddingBottom: 8,\n '&$focusVisible': {\n backgroundColor: theme.palette.action.selected\n },\n '&$selected, &$selected:hover': {\n backgroundColor: theme.palette.action.selected\n },\n '&$disabled': {\n opacity: 0.5\n }\n },\n\n /* Styles applied to the `container` element if `children` includes `ListItemSecondaryAction`. */\n container: {\n position: 'relative'\n },\n\n /* Pseudo-class applied to the `component`'s `focusVisibleClassName` prop if `button={true}`. */\n focusVisible: {},\n\n /* Styles applied to the `component` element if dense. */\n dense: {\n paddingTop: 4,\n paddingBottom: 4\n },\n\n /* Styles applied to the `component` element if `alignItems=\"flex-start\"`. */\n alignItemsFlexStart: {\n alignItems: 'flex-start'\n },\n\n /* Pseudo-class applied to the inner `component` element if `disabled={true}`. */\n disabled: {},\n\n /* Styles applied to the inner `component` element if `divider={true}`. */\n divider: {\n borderBottom: \"1px solid \".concat(theme.palette.divider),\n backgroundClip: 'padding-box'\n },\n\n /* Styles applied to the inner `component` element if `disableGutters={false}`. */\n gutters: {\n paddingLeft: 16,\n paddingRight: 16\n },\n\n /* Styles applied to the inner `component` element if `button={true}`. */\n button: {\n transition: theme.transitions.create('background-color', {\n duration: theme.transitions.duration.shortest\n }),\n '&:hover': {\n textDecoration: 'none',\n backgroundColor: theme.palette.action.hover,\n // Reset on touch devices, it doesn't add specificity\n '@media (hover: none)': {\n backgroundColor: 'transparent'\n }\n }\n },\n\n /* Styles applied to the `component` element if `children` includes `ListItemSecondaryAction`. */\n secondaryAction: {\n // Add some space to avoid collision as `ListItemSecondaryAction`\n // is absolutely positioned.\n paddingRight: 48\n },\n\n /* Pseudo-class applied to the root element if `selected={true}`. */\n selected: {}\n };\n};\nvar useEnhancedEffect = typeof window === 'undefined' ? React.useEffect : React.useLayoutEffect;\n/**\n * Uses an additional container component if `ListItemSecondaryAction` is the last child.\n */\n\nvar ListItem = /*#__PURE__*/React.forwardRef(function ListItem(props, ref) {\n var _props$alignItems = props.alignItems,\n alignItems = _props$alignItems === void 0 ? 'center' : _props$alignItems,\n _props$autoFocus = props.autoFocus,\n autoFocus = _props$autoFocus === void 0 ? false : _props$autoFocus,\n _props$button = props.button,\n button = _props$button === void 0 ? false : _props$button,\n childrenProp = props.children,\n classes = props.classes,\n className = props.className,\n componentProp = props.component,\n _props$ContainerCompo = props.ContainerComponent,\n ContainerComponent = _props$ContainerCompo === void 0 ? 'li' : _props$ContainerCompo,\n _props$ContainerProps = props.ContainerProps;\n _props$ContainerProps = _props$ContainerProps === void 0 ? {} : _props$ContainerProps;\n\n var ContainerClassName = _props$ContainerProps.className,\n ContainerProps = _objectWithoutProperties(_props$ContainerProps, [\"className\"]),\n _props$dense = props.dense,\n dense = _props$dense === void 0 ? false : _props$dense,\n _props$disabled = props.disabled,\n disabled = _props$disabled === void 0 ? false : _props$disabled,\n _props$disableGutters = props.disableGutters,\n disableGutters = _props$disableGutters === void 0 ? false : _props$disableGutters,\n _props$divider = props.divider,\n divider = _props$divider === void 0 ? false : _props$divider,\n focusVisibleClassName = props.focusVisibleClassName,\n _props$selected = props.selected,\n selected = _props$selected === void 0 ? false : _props$selected,\n other = _objectWithoutProperties(props, [\"alignItems\", \"autoFocus\", \"button\", \"children\", \"classes\", \"className\", \"component\", \"ContainerComponent\", \"ContainerProps\", \"dense\", \"disabled\", \"disableGutters\", \"divider\", \"focusVisibleClassName\", \"selected\"]);\n\n var context = React.useContext(ListContext);\n var childContext = {\n dense: dense || context.dense || false,\n alignItems: alignItems\n };\n var listItemRef = React.useRef(null);\n useEnhancedEffect(function () {\n if (autoFocus) {\n if (listItemRef.current) {\n listItemRef.current.focus();\n } else if (process.env.NODE_ENV !== 'production') {\n console.error('Material-UI: Unable to set focus to a ListItem whose component has not been rendered.');\n }\n }\n }, [autoFocus]);\n var children = React.Children.toArray(childrenProp);\n var hasSecondaryAction = children.length && isMuiElement(children[children.length - 1], ['ListItemSecondaryAction']);\n var handleOwnRef = React.useCallback(function (instance) {\n // #StrictMode ready\n listItemRef.current = ReactDOM.findDOMNode(instance);\n }, []);\n var handleRef = useForkRef(handleOwnRef, ref);\n\n var componentProps = _extends({\n className: clsx(classes.root, className, childContext.dense && classes.dense, !disableGutters && classes.gutters, divider && classes.divider, disabled && classes.disabled, button && classes.button, alignItems !== \"center\" && classes.alignItemsFlexStart, hasSecondaryAction && classes.secondaryAction, selected && classes.selected),\n disabled: disabled\n }, other);\n\n var Component = componentProp || 'li';\n\n if (button) {\n componentProps.component = componentProp || 'div';\n componentProps.focusVisibleClassName = clsx(classes.focusVisible, focusVisibleClassName);\n Component = ButtonBase;\n }\n\n if (hasSecondaryAction) {\n // Use div by default.\n Component = !componentProps.component && !componentProp ? 'div' : Component; // Avoid nesting of li > li.\n\n if (ContainerComponent === 'li') {\n if (Component === 'li') {\n Component = 'div';\n } else if (componentProps.component === 'li') {\n componentProps.component = 'div';\n }\n }\n\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: childContext\n }, /*#__PURE__*/React.createElement(ContainerComponent, _extends({\n className: clsx(classes.container, ContainerClassName),\n ref: handleRef\n }, ContainerProps), /*#__PURE__*/React.createElement(Component, componentProps, children), children.pop()));\n }\n\n return /*#__PURE__*/React.createElement(ListContext.Provider, {\n value: childContext\n }, /*#__PURE__*/React.createElement(Component, _extends({\n ref: handleRef\n }, componentProps), children));\n});\nprocess.env.NODE_ENV !== \"production\" ? ListItem.propTypes = {\n /**\n * Defines the `align-items` style property.\n */\n alignItems: PropTypes.oneOf(['flex-start', 'center']),\n\n /**\n * If `true`, the list item will be focused during the first mount.\n * Focus will also be triggered if the value changes from false to true.\n */\n autoFocus: PropTypes.bool,\n\n /**\n * If `true`, the list item will be a button (using `ButtonBase`). Props intended\n * for `ButtonBase` can then be applied to `ListItem`.\n */\n button: PropTypes.bool,\n\n /**\n * The content of the component. If a `ListItemSecondaryAction` is used it must\n * be the last child.\n */\n children: chainPropTypes(PropTypes.node, function (props) {\n var children = React.Children.toArray(props.children); // React.Children.toArray(props.children).findLastIndex(isListItemSecondaryAction)\n\n var secondaryActionIndex = -1;\n\n for (var i = children.length - 1; i >= 0; i -= 1) {\n var child = children[i];\n\n if (isMuiElement(child, ['ListItemSecondaryAction'])) {\n secondaryActionIndex = i;\n break;\n }\n } // is ListItemSecondaryAction the last child of ListItem\n\n\n if (secondaryActionIndex !== -1 && secondaryActionIndex !== children.length - 1) {\n return new Error('Material-UI: You used an element after ListItemSecondaryAction. ' + 'For ListItem to detect that it has a secondary action ' + 'you must pass it as the last child to ListItem.');\n }\n\n return null;\n }),\n\n /**\n * Override or extend the styles applied to the component.\n * See [CSS API](#css) below for more details.\n */\n classes: PropTypes.object.isRequired,\n\n /**\n * @ignore\n */\n className: PropTypes.string,\n\n /**\n * The component used for the root node.\n * Either a string to use a HTML element or a component.\n * By default, it's a `li` when `button` is `false` and a `div` when `button` is `true`.\n */\n component: PropTypes\n /* @typescript-to-proptypes-ignore */\n .elementType,\n\n /**\n * The container component used when a `ListItemSecondaryAction` is the last child.\n */\n ContainerComponent: PropTypes.elementType,\n\n /**\n * Props applied to the container component if used.\n */\n ContainerProps: PropTypes.object,\n\n /**\n * If `true`, compact vertical padding designed for keyboard and mouse input will be used.\n */\n dense: PropTypes.bool,\n\n /**\n * If `true`, the list item will be disabled.\n */\n disabled: PropTypes.bool,\n\n /**\n * If `true`, the left and right padding is removed.\n */\n disableGutters: PropTypes.bool,\n\n /**\n * If `true`, a 1px light border is added to the bottom of the list item.\n */\n divider: PropTypes.bool,\n\n /**\n * @ignore\n */\n focusVisibleClassName: PropTypes.string,\n\n /**\n * Use to apply selected styling.\n */\n selected: PropTypes.bool\n} : void 0;\nexport default withStyles(styles, {\n name: 'MuiListItem'\n})(ListItem);","import * as React from 'react';\nexport default function isMuiElement(element, muiNames) {\n return /*#__PURE__*/React.isValidElement(element) && muiNames.indexOf(element.type.muiName) !== -1;\n}","import * as React from 'react';\n/**\n * @ignore - internal component.\n */\n\nvar ListContext = React.createContext({});\n\nif (process.env.NODE_ENV !== 'production') {\n ListContext.displayName = 'ListContext';\n}\n\nexport default ListContext;","/* eslint-disable no-use-before-define */\n/* eslint-disable import/prefer-default-export */\n\n/**\n * @typedef Coordinates\n * @property {number} latitude\n * @property {number} longitude\n *\n * @typedef Site\n * @property {string} name\n * @property {string} city\n * @property {string} countryCode\n * @property {object[]?} languages\n * @property {Coordinates} geopos\n */\n\n/**\n * @param {Site[]} sites\n * @param {string} country\n * @param {Coordinates} coords\n */\nexport const calculateMapSiteList = (sites, country, coords) => {\n const sortedSiteList = sites\n .filter((site) => site?.languages?.some(isCountryInLocale(country)))\n .map((s) => ({ ...s, distance: calculateDistance(coords, s.geopos) }))\n .sort((a, b) => a.distance - b.distance);\n\n const hasCountry = sites.some((s) => s.countryCode === country);\n\n return {\n closestSiteId: sortedSiteList[0]?.id,\n sortedSiteList,\n siteMap: groupBy(sortedSiteList, 'countryCode'),\n countryOrder:\n sortedSiteList.length === 0\n ? []\n : [\n ...new Set([\n hasCountry ? country : sortedSiteList[0].countryCode,\n ...sortedSiteList.map((s) => s.countryCode),\n ]),\n ],\n };\n};\n\nconst groupBy = (arr, fn) =>\n arr\n .map(typeof fn === 'function' ? fn : (val) => val[fn])\n .reduce((acc, val, i) => {\n acc[val] = (acc[val] || []).concat(arr[i]);\n return acc;\n }, {});\n\nconst isCountryInLocale =\n (country) =>\n ({ locale }) => {\n return locale.toLowerCase().includes(country.toLowerCase());\n };\n\nconst R = 6371; // earth's radius\n/**\n * @returns {number} distance in kilometers\n */\nconst calculateDistance = (pos1 = {}, pos2 = {}) => {\n const lat = pos1.latitude || 0;\n const lng = pos1.longitude || 0;\n\n const mlat = pos2.latitude;\n const mlng = pos2.longitude;\n\n const dLat = rad(mlat - lat);\n const dLong = rad(mlng - lng);\n const a =\n Math.sin(dLat / 2) * Math.sin(dLat / 2) +\n Math.cos(rad(lat)) *\n Math.cos(rad(lat)) *\n Math.sin(dLong / 2) *\n Math.sin(dLong / 2);\n const c = 2 * Math.atan2(Math.sqrt(a), Math.sqrt(1 - a));\n const distance = R * c;\n\n return distance;\n};\n\nconst rad = (x) => (x * Math.PI) / 180;\n","import { useRef } from 'react';\n\nexport default function useListEntries(\n list,\n createListEntry,\n indexer = (i) => i,\n) {\n const entries = useRef(null);\n const listLength = useRef(null);\n\n if (listLength.current !== list.length) {\n const refs = {};\n\n for (let i = 0; i < list.length; i += 1) {\n refs[indexer(i)] = createListEntry(i);\n }\n\n entries.current = refs;\n listLength.current = list.length;\n }\n\n return entries.current;\n}\n","let load = require('./helpers/browser/esm-js-loader');\nmodule.exports = (load(\"b5IgQ\")).then(() => parcelRequire('3OpdT'));","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","function _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, descriptor.key, descriptor);\n }\n}\n\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n return Constructor;\n}"],"names":["$parcel$interopDefault","a","__esModule","default","$parcel$export","e","n","v","s","Object","defineProperty","get","set","enumerable","configurable","parcelRequire","$parcel$global","globalThis","self","window","global","parcelRegister","register","module","exports","value","$b8e68476c140cb87$export$2e2bcd8739ae039","$7YYXE","$aJjY6","$6DNr3","$ki4tF","$fpN3t","$3kres","$7b1Lp","$1GRlU","$cQNHH","$kV13H","$szrnD","$kCgBv","$k4Dr6","$8p3P7","$kvHhM","$ieVrd","$5it5R","$2Hhgv","$aeuny","$hgf0k","$7lOcN","$bgJ4c","$1YSJM","$jge0r","$b8e68476c140cb87$var$Map","lazy","$b8e68476c140cb87$var$useStyles","theme","header","minHeight","display","alignItems","justifyContent","textAlign","padding","borderBottom","scroll","overflowY","flexGrow","flexDirection","withMap","height","overflow","mainContent","position","mainContentWithMap","mainContentLoading","opacity","pointerEvents","mapContainer","breakpoints","down","mapControl","zIndex","top","right","color","findNearestIcon","marginRight","list","boxShadow","scrollBehavior","countryTitle","backgroundColor","countryTitleFlag","opaque","btnContainer","border","btnNearLocationFind","cursor","lineHeight","fontWeight","letterSpacing","textDecoration","textTransform","verticalAlign","whiteSpace","outline","borderRadius","transition","sites","navigateModal","api","submitSite","googleApiKey","country","intl","formatMessage","pageName","nextPageName","prevPageName","contentId","classes","aria","descriptionId","showMap","up","useCloseConfirmation","selectedSite","setSelectedSite","useGlobal","useGlobalScope","listHoverId","setListHoverId","useState","mapHoverId","setMapHoverId","findNearestClinicButtonEnable","setFindNearestClinicButtonEnable","loading","setLoading","useEffect","userMetrics","track","listRef","useRef","listItemRefs","createRef","i","id","siteMap","countryOrder","sortedSiteList","useMemo","calculateMapSiteList","setSiteId","find","site","scrollToSite","retry","listItemRef","current","setTimeout","scrollToEl","scrollTop","offsetTop","offsetHeight","handleItemClick","siteId","submitMetric","handleItemHover","isHovering","itemId","handleFindNearestSite","_navigator_permissions","_navigator","navigator","permissions","query","name","then","permission","state","geolocation","getCurrentPosition","coords","latitude","longitude","closestSiteId","handleContinueClick","forward","locationPermissions","siteIsChosen","Boolean","createElement","Fragment","className","MainHeadingSmaller","align","defaultMessage","onClick","size","variant","container","spacing","wrap","item","sm","tabIndex","xs","hoveredSiteId","onMapLoad","onSiteHover","onSiteSelect","rootRef","role","map","countryCode","key","direction","alt","src","toLowerCase","SectionHeading","countryMessages","toUpperCase","desribedBy","disabled","highlight","onHover","selected","showLookupLink","footerText","formIsComplete","liveRegionId","onBackClick","onContinueClick","$kFrsj","$8jEx7","$26c85d14fc97e8b7$var$React","$26c85d14fc97e8b7$var$_default","$26c85d14fc97e8b7$var$_createSvgIcon","d","$f0243c75ca5032b5$export$2e2bcd8739ae039","$ikATC","$7yw4T","$f0243c75ca5032b5$var$useStyles","root","palette","primary","extraLight","content","bottom","left","width","main","contentContainer","typography","marginBottom","heading","grey","subText","marginTop","$f0243c75ca5032b5$var$ClickableListItem","address","city","hoverAttributes","canHover","onMouseEnter","onMouseLeave","addressLine1","toString","button","divider","NormalText","SubtleText","href","encodeURIComponent","stopPropagation","rel","target","defaultProps","$580497621dffad21$export$2e2bcd8739ae039","$gtn2B","$fsWgf","$1xEYC","$bKF6r","$dcECW","$eyd6T","$6apHB","$aVtrN","$ge6Tz","$32oIY","$dLwnG","$580497621dffad21$var$useEnhancedEffect","useLayoutEffect","$580497621dffad21$var$ListItem","forwardRef","props","ref","_props$alignItems","_props$autoFocus","autoFocus","_props$button","childrenProp","children","componentProp","component","_props$ContainerCompo","ContainerComponent","_props$ContainerProps","ContainerProps","ContainerClassName","_props$dense","dense","_props$disabled","_props$disableGutters","disableGutters","_props$divider","focusVisibleClassName","_props$selected","other","context","useContext","childContext","focus","console","error","Children","toArray","hasSecondaryAction","length","handleOwnRef","useCallback","instance","findDOMNode","handleRef","componentProps","gutters","alignItemsFlexStart","secondaryAction","Component","focusVisible","Provider","pop","propTypes","oneOf","bool","node","secondaryActionIndex","child","Error","object","isRequired","string","elementType","boxSizing","paddingTop","paddingBottom","action","concat","backgroundClip","paddingLeft","paddingRight","transitions","create","duration","shortest","hover","$7f4611e3490ddb8a$export$2e2bcd8739ae039","element","muiNames","isValidElement","indexOf","type","muiName","$2364bcbfab9cd1f8$export$2e2bcd8739ae039","$2364bcbfab9cd1f8$var$ListContext","createContext","displayName","$d47616c6058b7828$export$fccf30316ea38180","_sortedSiteList_","filter","_site_languages","languages","some","$d47616c6058b7828$var$isCountryInLocale","distance","$d47616c6058b7828$var$calculateDistance","geopos","sort","b","hasCountry","$d47616c6058b7828$var$groupBy","Set","arr","fn","val","reduce","acc","locale","includes","pos1","pos2","lat","lng","mlat","mlng","dLat","$d47616c6058b7828$var$rad","dLong","Math","sin","cos","$d47616c6058b7828$var$R","atan2","sqrt","x","PI","$834425a5b4e7b4d7$export$2e2bcd8739ae039","createListEntry","indexer","entries","listLength","refs","$iWqN5","$b1136ecc231e5861$export$2e2bcd8739ae039","Constructor","TypeError","$4db05dbc6e75829d$var$_defineProperties","descriptor","writable","$4db05dbc6e75829d$export$2e2bcd8739ae039","protoProps","staticProps","prototype","Button","Grid","RootRef","useTheme","useMediaQuery","MyLocation","makeStyles","classNames","React","FormattedMessage","injectIntl","ClickableListItem","Footer","LazyLoading","PropTypes","intlPropType","useId","useListEntires","usePageAria","Map","useStyles","ClinicForm","undefined","handleMapClick","handleMapLoad","handleMapHover","handleBackClick","renderSiteList","Link","ListItem","isCountryInLocale","calculateDistance","groupBy","R","rad","c","useListEntries"],"version":3,"file":"ClinicForm.d65e4467.js.map"}