{"version":3,"sources":["../../nmqf-common-ui/dist/storeduivalue/index.js","../../nmqf-common-ui/dist/filterbar/useeffectfiltercount.js","serviceWorker.ts","components/filterdialog/index.tsx","components/map/index.tsx","components/indexdashboard/index.tsx","index.tsx","../../nmqf-common-ui/dist/trendline/usetrendlinedata.js","../../nmqf-common-ui/dist/utils/index.js","../../nmqf-common-ui/dist/hooks/usetoggle.js","../../nmqf-common-ui/dist/hooks/useform.js","../../nmqf-common-ui/dist/hooks/usedebounce.js","../../nmqf-common-ui/dist/hooks/usegeojson.js","../../nmqf-common-ui/dist/hooks/index.js","../../nmqf-common-ui/dist/map/geoselectedinfo/index.js","../../nmqf-common-ui/dist/demographicchart/usechartdata.js","../../nmqf-common-ui/dist/filterbar/geosearch.js","../../nmqf-common-ui/dist/filterbar/displayoption.js","../../nmqf-common-ui/dist/filterbar/downloadbutton.js","../../nmqf-common-ui/dist/filterbar/index.js","../../nmqf-common-ui/dist/filterbar/sharelinkbutton.js","../../nmqf-common-ui/dist/export/index.js","../../nmqf-common-ui/dist/hostnameindexinfo/index.js","../../nmqf-common-ui/dist/configs/filtersidebar.js","../../nmqf-common-ui/dist/map/overlays/styled.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/dataforgeo.js","../../nmqf-common-ui/dist/common/icontooltip.js","../../nmqf-common-ui/dist/hooks/useconfig.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/legend.js","../../nmqf-common-ui/dist/trendline/index.js","../../nmqf-common-ui/dist/common/pin.js","../../nmqf-common-ui/dist/demographicchart/pie.js","../../nmqf-common-ui/dist/state/filterediting/index.js","../../nmqf-common-ui/dist/state/filtersettings/reducer.js","../../nmqf-common-ui/dist/state/filterediting/reducer.js","../../nmqf-common-ui/dist/state/viewsetting/reducer.js","../../nmqf-common-ui/dist/tableview/index.js","../../nmqf-common-ui/dist/userprofile/index.js","../../nmqf-common-ui/dist/userchangepassword/index.js","../../nmqf-common-ui/dist/aboutmodal/licenseagreementmodal.js","../../nmqf-common-ui/dist/enums/geolevelenum.js","../../nmqf-common-ui/dist/enums/statistictypeenum.js","../../nmqf-common-ui/dist/enums/datasourceenum.js","../../nmqf-common-ui/dist/enums/displayoptionenum.js","../../nmqf-common-ui/dist/enums/demographictypeenum.js","../../nmqf-common-ui/dist/enums/roleenum.js","../../nmqf-common-ui/dist/enums/racemethodologyenum.js","../../nmqf-common-ui/dist/enums/clinicaltrialoptionenum.js","../../nmqf-common-ui/dist/enums/conditionssorttypeenum.js","../../nmqf-common-ui/dist/enums/rightpaneltypeenum.js","../../nmqf-common-ui/dist/enums/userlogintypeenum.js","../../nmqf-common-ui/dist/enums/chronicconditionsourceenum.js","../../nmqf-common-ui/dist/reportsdialogextension/reportsdialogprovider.js","../../nmqf-common-ui/dist/index.js","../../nmqf-common-ui/dist/state/api/reducer.js","../../nmqf-common-ui/dist/state/message/reducer.js","../../nmqf-common-ui/dist/state/api/index.js","../../nmqf-common-ui/dist/state/message/index.js","../../nmqf-common-ui/dist/state/index.js","../../nmqf-common-ui/dist/configs/filteroptions.js","../../nmqf-common-ui/dist/configs/viewoptions.js","../../nmqf-common-ui/dist/map/mapprovider.js","../../nmqf-common-ui/dist/common/spinner.js","../../nmqf-common-ui/dist/common/button.js","../../nmqf-common-ui/dist/common/fallback.js","../../nmqf-common-ui/dist/common/select.js","../../nmqf-common-ui/dist/common/checkboxgroup.js","../../nmqf-common-ui/dist/common/dropdownmenu.js","../../nmqf-common-ui/dist/common/messagebox.js","../../nmqf-common-ui/dist/common/constants.js","../../nmqf-common-ui/dist/common/radiogroup.js","../../nmqf-common-ui/dist/common/input.js","../../nmqf-common-ui/dist/common/datatable/index.js","../../nmqf-common-ui/dist/common/mainview.js","../../nmqf-common-ui/dist/common/index.js","../../nmqf-common-ui/dist/common/phoneinput.js","../../nmqf-common-ui/dist/common/datatable/pager.js","../../nmqf-common-ui/dist/authentication/changepasswordrequired.js","../../nmqf-common-ui/dist/authentication/resetpasswordrequired.js","../../nmqf-common-ui/dist/authentication/login.js","../../nmqf-common-ui/dist/authentication/confirmforgotpassword.js","../../nmqf-common-ui/dist/authentication/forgotpassword.js","../../nmqf-common-ui/dist/authentication/signup.js","../../nmqf-common-ui/dist/authentication/index.js","../../nmqf-common-ui/dist/types/index.js","../../nmqf-common-ui/dist/filterresultdashboard/index.js","../../nmqf-common-ui/dist/aboutmodal/index.js","../../nmqf-common-ui/dist/reportsdialogextension/showbyzipcodetab.js","../../nmqf-common-ui/dist/methodologymodal/constants.js","../../nmqf-common-ui/dist/methodologymodal/index.js","../../nmqf-common-ui/dist/reportsdialogextension/datayearseasontab.js","../../nmqf-common-ui/dist/reportsdialogextension/fluvaccinetab.js","../../nmqf-common-ui/dist/header/usermenu.js","../../nmqf-common-ui/dist/header/index.js","../../nmqf-common-ui/dist/filtersidebar/filtertab.js","../../nmqf-common-ui/dist/map/overlays/transparencycontrol.js","../../nmqf-common-ui/dist/filtersidebar/legendsidebar.js","../../nmqf-common-ui/dist/filtersidebar/legendtransparencytab.js","../../nmqf-common-ui/dist/filtersidebar/index.js","../../nmqf-common-ui/dist/maplayermenu/locationmenu.js","../../nmqf-common-ui/dist/maplayermenu/providermenu.js","../../nmqf-common-ui/dist/maplayermenu/clinicaltrialmenu.js","../../nmqf-common-ui/dist/maplayermenu/index.js","../../nmqf-common-ui/dist/demographicchart/bar.js","../../nmqf-common-ui/dist/demographicchart/index.js","../../nmqf-common-ui/dist/selectors/providersetting.js","../../nmqf-common-ui/dist/selectors/clinicaltrialgov.js","../../nmqf-common-ui/dist/selectors/provider.js","../../nmqf-common-ui/dist/selectors/custommaplayer.js","../../nmqf-common-ui/dist/selectors/questdiagnosticslayer.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/usemapdata.js","../../nmqf-common-ui/dist/i18n.js","../../nmqf-common-ui/dist/fontawesome.js","../../nmqf-common-ui/dist/filterdialog/tabselector.js","../../nmqf-common-ui/dist/filterdialog/datayeartab.js","../../nmqf-common-ui/dist/filterdialog/datayearseasontab.js","../../nmqf-common-ui/dist/filterdialog/usefiltercount.js","../../nmqf-common-ui/dist/filterdialog/filtercountloading.js","../../nmqf-common-ui/dist/filterdialog/conditiontab.js","../../nmqf-common-ui/dist/filterdialog/statistictab.js","../../nmqf-common-ui/dist/filterdialog/sextab.js","../../nmqf-common-ui/dist/filterdialog/racetab.js","../../nmqf-common-ui/dist/filterdialog/agetab.js","../../nmqf-common-ui/dist/filterdialog/aggregateddemographictab.js","../../nmqf-common-ui/dist/filterdialog/geoleveltab.js","../../nmqf-common-ui/dist/filterdialog/consumptiongroup.js","../../nmqf-common-ui/dist/filterdialog/index.js","../../nmqf-common-ui/dist/enums/reporttypeenum.js","../../nmqf-common-ui/dist/lookupdata/lookupcondition.js","../../nmqf-common-ui/dist/lookupdata/lookupstatistic.js","../../nmqf-common-ui/dist/lookupdata/lookupstate.js","../../nmqf-common-ui/dist/lookupdata/lookupzipcodedistrict.js","../../nmqf-common-ui/dist/lookupdata/lookupcounty.js","../../nmqf-common-ui/dist/lookupdata/lookupmsa.js","../../nmqf-common-ui/dist/lookupdata/lookupsexcode.js","../../nmqf-common-ui/dist/lookupdata/lookupracecode.js","../../nmqf-common-ui/dist/lookupdata/lookupage.js","../../nmqf-common-ui/dist/lookupdata/lookupyear.js","../../nmqf-common-ui/dist/lookupdata/lookupconsumptiongroup.js","../../nmqf-common-ui/dist/lookupdata/lookupgeolevel.js","../../nmqf-common-ui/dist/lookupdata/lookupclaim.js","../../nmqf-common-ui/dist/lookupdata/lookupvaccine.js","../../nmqf-common-ui/dist/lookupdata/lookupfluvaccine.js","../../nmqf-common-ui/dist/state/viewsetting/index.js","../../nmqf-common-ui/dist/map/selectedgeographysource.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/infopopup.js","../../nmqf-common-ui/dist/map/locationlayer.js","../../nmqf-common-ui/dist/map/providerlayer/index.js","../../nmqf-common-ui/dist/map/countnotification.js","../../nmqf-common-ui/dist/map/drawpolygon.js","../../nmqf-common-ui/dist/map/sidebar.js","../../nmqf-common-ui/dist/map/importinglocationlayer/detail.js","../../nmqf-common-ui/dist/map/importinglocationlayer/index.js","../../nmqf-common-ui/dist/map/providerdetail/demographicchart.js","../../nmqf-common-ui/dist/map/providerdetail/index.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/statisticdataforcard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/prevalencedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/aggregateddatabannerdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/totalcountdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospitalizationratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/ervisitratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospencounterratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/deathratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/readmissionratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospitalcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/ervisitcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/patientoutofpocketpartbdrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/patientoutofpocketpartddrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/medicarepartbdrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/medicarepartddrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/totalcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/index.js","../../nmqf-common-ui/dist/map/regiondetail/trendline.js","../../nmqf-common-ui/dist/map/regiondetail/trendlineseason.js","../../nmqf-common-ui/dist/map/regiondetail/demographicchart.js","../../nmqf-common-ui/dist/map/regiondetail/statisticdetail.js","../../nmqf-common-ui/dist/map/regiondetail/representatives/representativedetail.js","../../nmqf-common-ui/dist/map/regiondetail/representatives/index.js","../../nmqf-common-ui/dist/map/regiondetail/index.js","../../nmqf-common-ui/dist/map/mapcontent.js","../../nmqf-common-ui/dist/map/clinicaltrialsitelayer/index.js","../../nmqf-common-ui/dist/map/clinicaltrialdetail.js","../../nmqf-common-ui/dist/map/questdiagnosticssitesdetail.js","../../nmqf-common-ui/dist/map/memo.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/index.js","../../nmqf-common-ui/dist/map/usecluster.js","../../nmqf-common-ui/dist/map/popup.js","../../nmqf-common-ui/dist/state/filtersettings/index.js","../../nmqf-common-ui/dist/filterdialog/aggregateddatasource.js","../../nmqf-common-ui/dist/env.js","../../nmqf-common-ui/dist/configs/reportoptions.js","../../nmqf-common-ui/dist/reportsdialogextension/reportstab.js","../../nmqf-common-ui/dist/reportsdialogextension/datayeartab.js","../../nmqf-common-ui/dist/reportsdialogextension/conditiontab.js","../../nmqf-common-ui/dist/reportsdialogextension/statistictab.js","../../nmqf-common-ui/dist/reportsdialogextension/sextab.js","../../nmqf-common-ui/dist/reportsdialogextension/racetab.js","../../nmqf-common-ui/dist/reportsdialogextension/agetab.js","../../nmqf-common-ui/dist/reportsdialogextension/showbytab.js","../../nmqf-common-ui/dist/reportsdialogextension/index.js"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","getSessionStorageItem","key","initialValue","item","window","sessionStorage","getItem","JSON","parse","error","setUIValueSessionStorage","value","picks","omits","_a","storedValue","santifiedValue","_","pick","omit","setItem","stringify","useShareableLink","useAPI","undefined","data","fetchData","clearData","location","useLocation","query","useMemo","qs","search","ignoreQueryPrefix","comma","href","split","id","title","_b","viewSetting","selectedRegion","longitude","latitude","isEmpty","viewport","e","useStoredUIValue","v","storedUIValueData","fetchStoredUIValueData","clearStoredUIValueData","sessionUIValue","session","shouldRequest","safeFetchData","useCallback","requesting","useUIValueSessionStorage","initialSessionValue","useState","setStoredValue","storedValueRef","useRef","current","picksString","valueToStore","Function","UIValueComponent","history","useHistory","useEffect","replace","pathname","hash","FallbackStoredUIValueComponent","props","React","createElement","Fragment","FallbackComponent","__spreadArrays","il","r","Array","k","a","j","jl","useEffectFilterCount","filterSetting","effect","addDeps","ignore","_c","indexConfig","useHostnameIndexInfo","year","dataYearSeason","dataYear","cmsDataSource","statistic","isAggregatedDataSource","primaryCoditions","primaryCoMorbidities","selectingConditions","comorbidities","sexCodes","demographics","raceCodes","raceMethodology","deps","claimNumber","claimDay","push","useDebounce","generalInformation","filterCount","payload","exportFilterSettingPayload","useEffectFilterEditingCount","useFilterEditing","useEffectFilterSettingCount","useFilterSetting","Boolean","hostname","match","validationSchema","Yup","shape","nullable","required","min","IndexFilterDialog","isOpen","toggle","defaultActiveTab","DataYearTab","defaultProps","tabId","IndexMapComponent","StyledDashboard","styled","div","StyledViewMode","IndexDashboard","setDefaultActiveTab","useToggle","showFilterDialog","toggleFilterDialog","handleToggleFilterDialog","combinedReducers","combineReducers","reducers","middlewares","thunk","promiseMiddleware","store","applyMiddleware","createStore","createStoreWithMiddleware","ReactDOM","render","Provider","indexName","URL","document","toString","searchParams","get","reportCondition","path","exact","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","console","message","getLinear","arr","xKey","yKey","xStart","xEnd","sumMult","xSum","ySum","sumXSq","forEach","x","y","m","b","useStatisticYearlyData","calculateStatisticAttachHostname","extractHostname","yearlyData","res","slice","useFilterValue","statisticOption","getStatisticOption","getDataByYear","mapStatisticResponsingData","numerator","denominator","isNA","StatisticTypeEnum","TotalCount","percentage","useAggregatedYearlyData","overall","useTrendLineData","statisticYearlyData","aggregatedYearlyData","filterSettings","from","useViewValue","to","fetchDataWrapper","forceUpdate","displayOption","displayOptionType","ViewModeEnum","Chart","mapView","type","GeoLevelEnum","Zip5","chartView","ChartViewEnum","Trends","combinedData","result","yearData","processStatisticValue","suffix","prefix","preUnit","linear","useTrendLineDataForSeason","fromSeasonYear","toSeasonYear","safeNumber","isEqualSeasonYear","putToSeasonYear","seasonYear","arg1","arg2","arg1Split","getYearsBySeason","arg2Split","map","arg","Number","join","DELIMITER_SEASON_YEAR","getDisplayText","src","parts","getUserInitials","firstName","lastName","trim","charAt","toUpperCase","getDisplayUserName","middleName","prependingHttpToUrlIfMissing","url","isObject","keys","cleanFormattingPhoneNumber","phoneFormated","formatPhoneNumber","phoneNumberString","separation","roundNumber","precision","parseFloat","EPSILON","toFixed","safeDivide","cookLegendBreaks","originPoints","gradeDelta","Math","pow","prevGrade","grade","idx","currGrade","getBreakIdx","breakPoints","MAX_SAFE_INTEGER","findIndex","compareFunc","order","separateGeoLevelId","components","shift","getValidationSchema","getErrors","values","validateSync","abortEarly","inner","reduce","errors","setIn","getFlattenErrors","validationError","filter","index","indexOf","getDirectionUrl","isFeatureInAState","state","properties","geoLevel","stateByZipCode5","stateCode","parseInt","zipCode","MSA","name","some","stateAbb","groupBy","items","substituteParams","str","params","isTouchEnabled","maxTouchPoints","msMaxTouchPoints","deviceType","ua","userAgent","test","String","setIsOpen","curr","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","__generator","body","f","g","label","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","castValues","cast","useForm","initialValues","setValues","_d","setErrors","_e","touched","setTouched","_f","isSubmitting","setIsSubmitting","_g","submitCount","setSubmitCount","isUnMount","initialValuesRef","validationSchemaRef","setInitialValues","setFieldValue","field","setFieldTouched","isTouched","handleChange","event","target","checked","handleBlur","handleReset","handleSubmit","submitFormHandler","preventDefault","setNestedObjectValues","getError","getIn","isFirstFieldError","isFirstError","firstErrorName","isArray","err","hasError","callback","depends","delay","mountedRef","unmountHandeler","handler","setTimeout","clearTimeout","useDebounceValue","setValue","handler_1","combineGeoJson","propertyMapping","forceClean","turf","features","useGeoJson","option","keyName","geoType","useCachedData","topology","object","objects","geometries","geo","featureCollection","feature","mapFeature","mapGeometry","topoJsonData","doRequest","resetStateAPI","combinedGeoJson","useMount","useSelectedGeoIdInfo","stateName","lookupStateData","useLookupState","lookupZipCode","useLookupZipCodeDistrict","lookupMsa","useLookupMSA","countyData","useLookupCounty","selectedId","RightPanelTypeEnum","RegionDetail","selectedGeoProperties","geoLevelLabel","getGeoLevelLabel","firstLevelLabel","secondLevelLabel","State","_h","firstLevelCode","secondLevelCode","endsWith","find","lookup","msaNumber","msaName","getNameByStateCode","padStart","getStateNameOfZipCode","County","ct","countyCode","countyName","Congressional","useChartData","statisticChartData","chartData","useLookupSexCode","lookupSexData","resLookupSex","useLookupRaceCode","lookupRaceData","resLookupRace","dataByDemographic","DemographicTypeEnum","Sex","mappedValues","Race","Age","mapAgeValues","ages","AGE_OPTIONS","combinedAgeKeyData","age","subGroups","acc","stringifyAgeValue","patientCount","aggregateValue","demographic","stringified","shortName","useStatisticData","aggregatedChartData","aggregatedDataCategoryList","dataValue","dataSourceColumnDefinition","category","toLowerCase","uiName","useAggregatedData","ageRanges","Demographic","ALL_AGE_VALUES","templateObject_1","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","templateObject_7","templateObject_8","__makeTemplateObject","cooked","raw","defineProperty","EXCLUDE_STATE_COUNT_INDEXES","StyledParentOption","StyledChildOption","usePatientCountForState","useFilterCount","countData","formatOptionLabel","showLabelCount","includes","transformLookupStateForGeoId","useCombineTwoGeoLevel","dataByStateCode","sortFn","transformFn","isCombineKey","lookupState","options","setOptions","singleState","flatMap","parent","children","sort","child","transformedChild","childValue","noSort","isLoading","Option","useZipCodeDistrictSelectProps","localeCompare","StyledOption","SingleValue","GeoSelectComponent","setSelectedRegion","setZoomId","resetViewport","useViewport","Select","isClearable","width","indicatorIcon","onChange","SEARCH_COMPONENT_BY_GEO","selectProps","placeholder","Zip3","optionsTransform","LookupCountyComponent","re","RegExp","LookupMSAComponent","StateUpper","StateLower","GeoSearchComponent","fetchPatientCountForState","SearchCoponent","DisplayOption","StyledViewModeOption","SearchLabel","StyledComponentWithScreen","MapViewOption","viewMode","setGeoLevel","aggregatedGeoLevelData","useAggregatedGeoLevel","availableGeography","useGeneralConfigByDataSource","Map","Table","minMenuHeight","maxMenuHeight","className","GEO_LEVELS","isOptionDisabled","StyledCheckIcon","FontAwesomeIcon","StyleSelectChartView","ChartViewSearchOption","isParent","icon","ChartViewDemographicValue","childrenName","ChartViewTrendValue","statisticName","getStatisticShortName","ChartViewOption","chartViewType","setChartViewType","setDemographics","selectingChildrenMap","CHART_VIEW_OPTIONS","childrenSelecting","childrenSelecting_1","setter","ViewModeComponent","setViewMode","selectingOption","VIEW_MODES","UncontrolledDropdown","DropdownToggleIcon","size","caret","placement","DropdownMenu","right","opt","DropdownItem","DisplayOptionComponent","ShareLinkButton","btnRef","isOpenNotify","setIsOpenNotify","shareableLinkData","fetchShareableLinkData","clearShareableLinkData","isUnmounted","clipboard","writeText","ref","IconButton","loading","onClick","Tooltip","hideArrow","useExport","viewSettings","useViewSetting","exportGeoData","mapData","useMapData","geoJsonData","useSelectedGeoJson","lookupGeo","extractTableData","useExtractTableData","mapRef","useMapRef","editorRef","useMapValue","intersectionIds","poly","getFeatures","bbox","minLng","minLat","maxLng","maxLat","getMap","selectedFeatures","queryRenderedFeatures","project","layers","intersect","columns","header","col","text","rows","row","dataField","displayText","useExportGeoData","exportDemographicChartData","demographicChartData","lookupSex","lookupRace","customAge","isCustom","targetLookup","getAgeLabel","useExportDemographicChartData","exportTrendYearlyData","dataSource","useCMSDataYear","trendData","useExportTrendYearlyData","fileName","lookupCondition","useLookupCondition","csvNameArr","selectedGeoInfo","dataSourceName","DATA_SOURCES","abbreviation","labeledValues","chronicConditionName","startingYear","endingYear","Date","toISOString","partName","useFileName","disabled","getExportData","processCell","cell","csvFile","blob","Blob","encodedUri","createObjectURL","link","download","click","StyledDropdownItem","BeneficiaryExportButton","handleExport","DownloadButton","Authenticated","roles","RoleEnum","SystemAdmin","GeneralUser","IndexManager","SingleIndexUserManager","SingleIndexDataManager","StyledFilterBar","Separator","LeftSide","RightSide","Navbar","show","HamburgerButton","ListIcon","FilterBar","setShow","tag","rel","host","useFetchIndexConfiguration","HostNameIndexInfoProvider","fetchIndexGeneralInfo","auth","useAuth","isCheckingToken","setIsCheckingToken","refreshToken","retry","useIndexName","useDefaultFilter","defaultFilter","available","filterOnload","singleStateCode","singleStateAbb","indexPrimaryCoMorbidities","primaryConditions","reportTypes","useMBSFChronicCondition","FilterSidebarConst","InfluenzaVaccine","Vaccine","PrimaryCondition","SecondaryCondition","AdditionalCondition","overlayRule","css","StyledPanel","StyledCloseButton","button","CloseButton","faTimes","createDataFieldObject","fieldName","fieldValue","originalValue","getDataFieldsForZip5Digit","dataFields","getDataFieldsForZip3Digit","zip3","getNameByStateAbb","getDataFieldsForStateLevel","getDataFieldsForCountyLevel","getDataFieldsForMSALevel","getDataFieldsForCongressionalLevel","cd","getDataFieldsForStateUpperLevel","sldu","getDataFieldsForStateLowerLevel","sldl","getDataFieldsForPrevalence","national","getDataFieldsForTotalCountStatistic","getDataFieldForHospitalRate","geographic","getDataFieldForERVisitRate","getDataFieldForHospitalEncounterRate","getDataFieldForDeathRate","getDataFieldForReadmissionRate","getDataFieldForHospitalCost","eventCount","getDataFieldForERCost","getDataFieldForPatientOutOfPocketPartBDrugCost","getDataFieldForPatientOutOfPocketPartDDrugCost","getDataFieldForMedicarePartBDrugCost","getDataFieldForMedicarePartDDrugCost","getDataFieldForTotalCost","getDataFieldsByMapViewLevel","mapViewType","targetFunctionMapping","getDataFieldByStatisticType","isAggregated","getDataFieldForAggregatedDataSource","Prevalence","HospitalizationRate","ERVisitsRate","HospitalEncounterRate","DeathRate","ReadmissionRate","HospitalizationCost","ERCost","OOPPartBDrugCost","OOPPartDDrugCost","MCRPartBDrugCost","MCRPartDDrugCost","TotalCost","__rest","getOwnPropertySymbols","propertyIsEnumerable","StyledIconTooltip","StyledUncontrolledTooltip","maxWidth","maxHeight","UncontrolledTooltip","IconTooltip","iconRef","setReady","faInfoCircle","fixedWidth","forwardedRef","fade","autohide","modifiers","preventOverflow","enabled","hide","flip","cmsDataSourceParam","dataYearSeasonParam","dataYearParam","dataYearFilter","useFilterEditingValue","dataYearSeasonFilter","cmsDataSourceFilter","DataSourceEnum","MedicareFFS","filtersConfig","filtersConfigByDataSource","configByDataSource","configByDataYear","config","configByDataYearSeason","valueByKey","configByAllYear","StyledLegendOverlay","StyledLegend","LegendTitle","LegendItem","Color","color","SelectedStatistic","Label","StatisticCategoryLabel","StatisticConfigLabel","LegendComponent","ENV_LEGEND_COLORS","LegendByFilter","extractGeneralFilterInfo","breakLegendInfo","LegendOverlay","statisticConfig","group","StyledTrendLineComponent","TrendLineTitle","TrendLineTitleText","h4","StyledTrendLineContainer","TrendLineContainer","keyValue","ResponsiveContainer","LineChart","CartesianGrid","vertical","XAxis","dataKey","padding","left","YAxis","allowDataOverflow","top","bottom","isAnimationActive","labelFormatter","formatter","entry","ReferenceLine","stroke","Line","dot","strokeWidth","activeDot","connectNulls","strokeDasharray","TrendLineComponent","fromYear","setFromYear","toYear","setToYear","trendLineData","fetchTrendLineData","lookupYearData","useMixedYear","isShow","newToYear","newFromYear","fromYearIdx","LookupYearComponent","inline","StyledPin","img","svg","pointer","selected","Pin","memo","height","viewBox","d","cx","cy","style","fill","imgPin","xlinkHref","dy","fontSize","textAnchor","alignmentBaseline","ClusterPin","COLORS_BY_DEMOGRAPHIC","sex","race","StyledPieComponent","ResponsiveContainerWrapper","NoDataMessage","PieComponent","useTranslation","myRef","meetMinimumThreshold","colors","total","tooltipFomatter","totalCount","percent","integerPortion","floor","numberOfDecimalPlaces","calculatePieSlicePercent","PieChart","onMouseMove","tooltipWrapper","getElementsByClassName","getBoundingClientRect","innerWidth","onMouseLeave","Pie","labelLine","startAngle","endAngle","minAngle","outerRadius","Cell","wrapperStyle","zIndex","Legend","position","legendFormatter","keyPath","_i","dispatch","useDispatch","stringifiedPath","SET_FILTER_EDITING_VALUE","getter","filterediting","useMappedState","useResetFilterEditing","RESET_FILTER_EDITING","toJSON","RESET_FILTERS","SET_FILTER_VALUE","initialState","actionHandlers","reducer","action","fn","updatedState","toObject","set","removeIn","RESET_VIEW_SETTING","SET_VIEW_VALUE","DEFAULT_VIEW_SETTING","StyledTableViewComponent","Title","Body","extractGeoData","useExtractGeoData","lookupGeoData","selectedFeatureId","isSelectedFirstLevel","filteredFetures","getStateCodeOfZipCode","startsWith","fieldsForMapViewLevel","fieldsForStatistic","sortFunc","getColumns","f1","f2","geoData","TableViewComponent","tableColumns","setTableColumns","tableData","setTableData","DataTable","hover","sizePerPage","keyField","pagination","NOTIFICATION_PREFERENCES","ModalWrapper","Modal","UserProfile","stateData","fetchStateData","editProfile","ModalHeader","UserProfileEditForm","principalUser","onCancel","onSave","organization","address1","address2","city","zipcode","phoneNumber","notificationPreference","stateList","matches","ZIP_CODE_PATTERN","excludeEmptyString","when","is","PHONE_NUMBER_PATTERN","_j","_k","_l","_m","_o","username","roleName","role","onSubmit","Form","ModalBody","Row","FormGroup","Input","onBlur","invalid","FormFeedback","PhoneInput","check","st","stateAbbreviation","menuPlacement","ModalFooter","Button","Description","currentPassword","newPassword","notOneOf","PASSWORD_PATTERN","PASSWORD_RULE_MSG","passwordConfirmation","oneOf","UserChangePassword","user","useUser","userChangePasswordData","userChangePassword","resetStore","password","new_password","MessageBox","PASSWORD_DESCRIPTION","hidden","LicenseAgreementModal","StatisticGroupEnum","RaceMethodologyEnum","ClinicalTrialOptionEnum","ClinicalTrialStatusEnum","PrimaryConditionsSortTypeEnum","SecondaryConditionsSortTypeEnum","UserLoginTypeEnum","ChronicConditionSource","KeyCombineConditionSource","REPORT_DATA_SOURCES","ReportsDialogContext","createContext","useReportsDialogValue","useContext","updateState","useReportSetting","updateData","ReportsDialogProvider","isSeasonStatistic","INITIAL_VALUE","conditions","secondaryCormorbidities","dataSourceType","report","firstLevel","reportType","defaultReportType","ReportTypeEnum","CongressionalDetailAnalysis","secondLevel","zipCodes","Standard","statistics","isRememberSettings","fluVaccineCptCodes","contextValue","method","timeout","abortController","statusCode","remove","failFetch","errorMessage","APIClient","authStrategy","getKey","getMethod","getUrl","abort","api","resetState","_this","getState","request","parseData","response","requestOptions","contentType","e_1","AbortController","startFetch","now","getRequestOptions","fetch","signal","status","onUnauthorized","onForbidden","headers","json","statusText","substitutions","parseDataRef","AuthContext","substitutedUrl","substitutedKey","client","force","ignoreRequest","useMessage","messageId","view","Medicaid","availableStatistic","supportConsumptionGroup","MedicareAdvantage","MedicareAll","MedicareFfsFluSeason","DEMOGRAPHIC_CHART_OPTIONS","ALL_DEMOGRAPHIC_CHART_OPTIONS","showLegend","showGeographyHoverDisplay","importingLocationTypes","mapLayerCountNotifications","provider","checkedQuestDiagnosticsStatus","INITIAL_VIEW_PORT","zoom","pitch","bearing","MapContext","ViewportContext","useMapFallback","fallback","v4","oldState","fallbackObj","MapFallback","updateViewport","singleStateBBox","shouldResetViewport","webMercatorViewport","WebMercatorViewport","fitBounds","minZoom","max","useZoomToFeature","setViewport","viewportRef","transparency","SingleStateViewportComponent","ViewportProvider","MapProvider","setState","MessageId","ROUTE_URL","USER","DATA_FILE","MAP_LAYER","StyledSpinner","StyledRSSpinner","RSSpinner","radius","Spinner","iconButtonRule","StyledIconButton","RSButton","StyledDropdownToggleIcon","DropdownToggle","StyledButton","resprops","buttonRef","innerRef","faSpinner","spin","tooltipRef","FallbackOverlay","StyledErrorMsg","StyledWarningIcon","ErrorTitle","ErrorBody","ErrorMsg","spinnerSize","overlay","loadingDotAnimations","keyframes","LoadingDot","span","isOffset","ThreeDotLoading","InputGroupWrapper","DropdownIndicator","MenuList","searchedOptionsSize","MenuListMemo","prev","menuOptionsPrev","selectRef","select","menuOptions","menuOptionsNext","IconOption","inputBoxValue","inputValue","setInputValue","setSearchedOptionsSize","flatedOptions","__disabled","isMulti","AsyncSelect","isDisabled","defaultOptions","loadOptions","input","filterIncludes","filterStartWith","noCheckFilter","filteredOptions","isFilterStartWith","focusedOption","indicatorProps","IndicatorSeparator","menuListProps","onSelectToRenderOptions","menuPosition","onInputChange","onInputBoxValueChange","newValue","closeMenuOnSelect","controlShouldRenderValue","styles","menu","provided","indeterminateStyle","StyledCheckbox","indeterminate","SimpleCheckbox","Checkbox","every","groupValue","gv","sortValue","CheckboxGroup","noAll","allText","Radio","RadioGroup","reverse","MIN_SAFE_INTEGER","RsInput","onKeyPress","fromCharCode","charCode","which","StyledDropdownItemIcon","StyledImageDropdownItem","checkMark","rest","RSDropdownItem","CheckIcon","partial","alt","DropdownItemCheck","DropdownItemCheckList","StyledMessageBox","Alert","messageBoxRef","scrollIntoView","behavior","msg","RSFormFeedback","AlertMessage","MessageWithState","setMessage","clearMessage","maxLength","currentTarget","selectionEnd","cleaned","newSelection_1","setSelectionRange","formatedValue","PaginationItem","active","first","previous","last","ellipsis","page","handleClick","content","RSPaginationItem","PaginationLink","Pagination","pages","onPageChange","hidePageListOnlyOnePage","totalPages","activePage","previousPageIsEllipsis","nextPageIsEllipsis","number","RSPagination","Pager","StyledDataTableComponent","minWidth","headerClasses","bordered","nameUnitItemTable","rowClasses","rowClassesProps","restProps","paginationSize","ceil","paginationOptions","paginationFactory","hideSizePerPage","showTotal","paginationTotalRenderer","pageListRenderer","propsPager","rowIndex","BootstrapTable","bootstrap4","classes","noDataIndication","sortCaret","NMQFGlobalStyle","createGlobalStyle","ChangePasswordContent","FormWrapper","H5Style","h5","ChangePasswordComponent","changePasswordData","changePassword","session_id","sessionId","plaintext","ConfirmResetPasswordContent","ButtonGroup","verificationCode","ConfirmResetPasswordComponent","requestData","confirmResetPassword","WrapperWithFlexGrow","Wrapper","form","LoginComponent","changePasswordRequired","toggleChangePasswordRequired","resetPasswordRequired","toggleResetPasswordRequired","authChallenge","getAuthChallenge","setErrorMessage","resetErrorAndChallenge","ChallengeName","code","authenticate","LoginPage","Link","Session","LinkWrapper","ConfirmText","ConfirmForgotPasswordContent","ConfirmForgotPassword","redirectToHomeURL","setRedirectToHomeURL","confirmForgotPasswordData","confirmForgotPassword","Redirect","ForgotPasswordWrapper","ForgotPasswordContent","ForgotPasswordComponent","usernameSubmitted","setUsernameSubmitted","forgotPasswordData","forgotPassword","resetData","Margin","recaptchaResponse","email","SignUpComponent","recaptchaSiteKey","fetchRecaptchaSiteKey","isOpenLicenseModal","setIsOpenLicenseModal","recaptchaRef","signUpData","signUp","reset","indexTitle","toggleLicenseAgreementModal","Col","sm","Recaptcha","sitekey","verifyCallback","expiredCallback","JWTStrategy","addEventListener","syncLogout","__jwt","subscribers","jwt","__user","jsonwebtoken","enumerable","configurable","localStorage","removeItem","reload","setError","setAuthChallenge","Authorization","FormData","referrer","refreshTokenPromise","credentials","authResponse","loginData","e_2","JWT","concat","exportToken","e_3","logout","clear","subscribe","unsubscribe","AuthProvider","strategy","useReducer","useLayoutEffect","isValid","checkPermission","Unuthenticated","Authenticate","Switch","Route","StyledFilterResultDashboard","StyledGetStartedButton","NoDefaultFilterComponent","outline","getStartedFilter","FilterResultDashboard","tagId","ConditionTab","LookupConditionComponent","LookupSexCodeComponent","LookupRaceCodeComponent","LookupStateComponent","LookupZipCodeDistrictComponent","templateObject_9","templateObject_10","templateObject_11","templateObject_12","templateObject_13","templateObject_14","CreditsTitle","CollapseSectionContainer","CollapseToggle","CollapseToggleTitle","LicensesText","StyledPaginate","ul","CollapseSection","expandedId","sectionId","setExpandedId","Collapse","PageButton","tabIndex","ariaLabel","Paginate","setSelected","handlePageClick","pageCount","createPageView","createBreakView","leftSide","pageRangeDisplayed","rightSide","adjustedRightSide","isPageStart","isPageEnd","isPageRange","isPageStartNoBreak","marginPagesDisplayed","isPageEndNoBreak","Licenses","offset","numberPerPage","currentData","setPagination","prevState","licenses","componentName","homePage","licenseText","CreditsPage","licensesData","fetchLicensesData","showCredits","toggleCredits","setLicenses","entries","repository","AboutModal","licenseModal","setLicenseModal","scrollable","moment","utc","METHODOLOGY_TYPE","PREVALENCE","pdfFileType","TOTAL_COUNTS","HOSPITALIZATIONS","COSTS","MethodologyModal","methodology","setMethodology","handleChangeMethodology","open","alert","HighlightExisted","StyledLabel","StyledBadgeZipCodes","StyledSelect","TabPaneContentWrapper","TabPaneContentLeft","TabPaneContentRight","TabPaneContentRightContent","StyledResetButton","FormGroupWrapper","StyledStartWithOption","ZipCodeMemoComponent","handleAdd","setInputBoxValue","zipCode5ByState","zipCode5GroupByState","states","chain","optionsOriginal","stateWithZipCode","stateAndZipCode","useOptionsZipCode","actionMeta","LABEL_BADGE_ZIP_CODE","BadgeZipCodes","isZipCodeExisted","handleRemove","preProps","nextProps","ShowByZipCodeReportsDialogTab","zipCodesSelected","setZipCodesSelected","zipCodesSelectedRef","existedZipCodesSelected","setExistedZipCodesSelected","setZipCodeReports","timeout_1","startWith","allInState","zipCodeItem","TabPane","zipCodeExisted","zipCodesSelectedRefCurrent","newZipCodes","faUndo","splice","removeZipCodeSelected","tabName","tabField","tabSelector","ListGroupItem","ZipCodeDetailAnalysis","DataYearSeasonReportsDialogTab","dataYearSeasonUi","setDataYearSeasonUi","setDataYearSeason","setDataSourceType","lookupSeasonYearData","setConditions","setPatientPopulationRefYear","patientPopulationRefYearFilter","patientPopulationReferenceYear","lateYear","earlyYear","fullYearSeason","valueOf","dataYearSeasonValueUi","yearSeasonInDataYear","handleChangeYearSeason","ignoreConditionsByYear","cc","FluVaccineReportsDialogTab","setFluVaccineCptCodes","useLookupFluVaccine","lookupVaccine","fetchLookupVaccine","hcpcsPctCodes","hcpcsDescription","UserInfo","AvatarCircle","Initials","PrincipalUser","UserMenuStyle","LogOutItem","StyledSpace","UserMenuToggle","DialogManager","ReportsDialogExtension","showReportDialog","toggleReportDialog","ReportsTab","DataYearReportsDialogTab","ConditionReportsDialogTab","condition","hasSecondaryCondition","StatisticReportsDialogTab","ShowByReportsDialogTab","SexReportsDialogTab","RaceReportsDialogTab","AgeReportsDialogTab","UserMenu","publicIndex","methodologyDocument","isOpenMethodologyModal","toggleMethodologyModal","isOpenUserProfileModal","toggleUserProfileModal","isOpenChangePasswordModal","toggleChangePasswordModal","isOpenAboutModal","toggleAboutModal","disabledReport","token","landscape","isPrintMap","appendChild","submit","removeChild","StyledHeader","IndexLogoAndNameLink","IndexLogo","IndexName","IndexNameH3","h3","IndexNameH5","Header","squareLogo","indexOwner","StyledFiltersHeader","FiltersValue","Result","FiltersHeader","isHidden","FilterTab","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","indexHostname","lookupPrimaryCondition","lookupConditionData","ageData","consumptionGroupClassesDefaultFilter","consumptionGroupClasses","consumptionGroups","getConsumptionGroups","shortTerm","primaryConditionName","otherContitionName","claimDayLabel","getClaimDayLabel","mainPrimaryConditionName","primaryConditionWithClaims","chronicConditionCode","textMainClaimNumber","otherPrimaryConditionNameWithClaim","claim","sexLabel","filteringCategoryType","filteringCategoryUiName","raceLabel","ageLabel","dataYearTabId","showFluVaccine","DataYearSeasonTab","showVaccine","VaccineFilterSidebar","InfluenzaVaccineFilterSidebar","ConsumptionGroupTab","AggregatedSexTab","SexTab","AggregatedRaceTab","RaceTab","AggregatedAgeTab","AgeTab","useLookupVaccine","vaccineCptCodes","selectingVaccineDiseaseName","cptCode","vaccineDiseaseName","allVaccinesInGroup","vaccineValue","vaccineBrandName","lookupFluVaccine","vaccine","StyledTransparencyControl","RangeInput","LabelLeft","LabelRight","TransparencyControl","setTransparency","StyledLegendHeader","StyledToggleBtn","isActive","StyledNode","ToggleButton","LegendSidebar","StatisticTab","StyledWrapper","StyledTransparency","StyledGeography","LegendTransparencyTab","StyledFilterSidebar","Sidebar","collapsed","PanelHeader","StyledTabsContainer","ListGroup","StyleTabSelector","TabSelector","setActiveTab","activeTab","FilterSidebar","toggleCollapsed","horizontal","TabContent","StyledSubMenuItem","useMapLayerListAPI","ImportingLocationSubType","setShowMapLayerMenu","selectingType","setSelectingType","ImportingLocationItem","TrialsRelated","displayIcon","direction","stopPropagation","AllTrials","ImportingLocationMenu","mapLayerData","ml","LocationMenu","CLINICAL_TRIAL_STATUS_DATA","NotYetRecruiting","Recruiting","EnrollingByInvitation","ActiveNotRecruiting","DropdownMenuStyle","MapLayerMenu","showMapLayerMenu","fetchMapLayerData","hasFixedChildren","Children","toArray","c","Dropdown","CHART_COMPONENT_BY_TYPE","pie","bar","tickFormatter","tooltipFormatter","ComposedChart","interval","angle","tickLine","Bar","maxBarSize","StyledDemographicChart","StyledChartContainer","ChartContainerTitle","StyledChartComponent","ChartControl","StyledSwitchTypeButton","ChartTypeButton","activeType","ChartContainer","chartType","setChartType","ChartComponent","faChartPie","faChartBar","DemographicChartComponent","fetchChartData","useProviderSetting","edittingFilterSetting","providerSetting","setProviderSetting","checkingSetting","doGetPrimaryCareProvider","doGetHospitalProvider","specialistProviders","clinicalTrialMapSelector","createSelector","clinicalTrials","keyBy","nctId","facilityName","useClinicalTrialGovApi","useClinicalTrialDetail","clinicalTrialGovData","createClinicalTrialSelector","clinicalTrialSelector","providerMapSelector","providers","useProviderData","useProviderDetail","providerData","providerNpiNumber","createProviderDetailSelector","providerDetailSelector","mapLayerLocationMapSelector","mapLayerLocations","useCustomMapLayerLocationData","mapLayerId","useCustomMapLayerDetail","customMapLayerLocationData","createMapLayerLocationSelector","questDiagnosticsMapSelector","questDiagnosticsSites","questDiagnostics","site_code","zip_code","useQuestDiagnosticsApi","useQuestDiagnosticsDetail","questDiagnosticsData","createQuestDiagnosticsSelector","questDiagnosticsSelector","apiUrl","fetchMapData","extractedData","getStatisticPrecision","fetchMapDataWrapped","_0","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","geographicNumerator","geographicDenominator","geographicEventCount","nationalDemographic","nationalDemographicNumerator","nationalDemographicDenominator","nationalDemographicEventCount","nationalAggregatedValue","patientPopulation","nationalPatientPopulation","_16","aggregatedId","preAggregatedPopulationStatisticData","populationStatisticData","mapPatientCount","rateOfAcuteEventsStatisticData","mapTotalRateOfAcuteEventSelectedDemographic","costOfAcuteEventsStatisticData","mapCostOfAcuteEventSelectedDemographic","mapPatientPopulationCount","mapPatientCountSelectedDemographic","mapCostOfAcuteEventHospitalizationVisit","mapCostOfAcuteEventHospitalizationVisitAllDemographic","mapTotalRateOfAcuteEventAllDemographic","mapCostOfAcuteEventAllDemographic","mapPatientCountAllDemographic","nationalDemographicSumUpHospVisit","nationalPatientCount","nationalDemographicSumUpRateOfAcuteEvent","nationalDemographicSumUpCostOfAcuteEvent","nationalPopulationCount","nationalDemographicPatientCount","breakIdx","nationalNumerator","nationalDenominator","nationalEventCount","resources","translation","enUS","i18n","use","LanguageDetector","initReactI18next","init","fallbackLng","debug","keySeparator","interpolation","escapeValue","library","add","fas","StyledTab","Dot","LeftTabSelectorItem","toggleTab","showRequiredDot","Component","CMSSourceTabSelector","AggregatedSourceTabSelector","agrregatedData","useAggregatedDataSourceName","setCmsDataSource","setStatisticYear","setAggregatedYear","setIsAggregatedDataSource","aggregatedDataSourceName","setAggregatedDataSourceName","fetchYearData","selectingPrimaryConditions","setSelectingPrimaryConditions","doSynchronized","useSynchronizedPrimaryCondition","ConditionType","Other","Primary","Secondary","handleChangeYear","allDataSourceOptions","dataSources","AggregatedDataSourceComponent","setAggregatedYearSeason","setDataYear","isYearSeasonReady","FilterCountTypeEnum","ConditionExclusionConfig","PRIMARY_CHRONIC_CONDITION","CHRONIC_CONDITION","filterType","useGeneralFilterCount","filterCountAttachHostname","filterCountApi","exclusionConfig","excludedConditionByDatasource","excludedConditions","excludedCcFromFilterCount","finalBody","FilterCountLoading","StyledPrimaryConditionSelect","StyledPrimaryConditionSection","StyledConditions","StyledPrimaryCondition","formatConditionLabel","count","showCount","showIndicator","useConditionCount","isPrimary","getLabelWithCount","showCmsSourceIndicator","PrioritizedConditionSection","settings","textSearch","lookupData","useLookupConditionSortByType","groupedCondition","keyConditions","Key","selectingPrimaryCondition","setSelectingConditions","combinedKeyConditions","useCheckboxesForPrimaryConditions","AdditionalConditionSection","isSingleSection","additionalConditions","setSelectingAdditionalConditions","overrideCondition","optionConditions","PrimaryConditionSection","primaryConditionOptions","primaryConditionCount","fetchPrimaryConditionCount","selectingPrimaryCoMorbidities","setSelectingPrimaryCoMorbidities","setSelectingPrimaryCondition","cond","setTextSearch","fetchLookupCondition","fetchConditionCountData","shouldCountOnConditionChange","filterCountEffectDeps","statisticType","setStatisticType","setStatisticGroup","setStatisticTypeAggregated","setStatisticGroupAggregated","staticsticGroup","useStatisticEditing","filterEditing","aggregatedData","useAggregatedStatistic","availableStatisticsConfig","availableStatistics","getStatisticOptions","GROUPED_STATISTIC_OPTIONS","lookupSexCodeData","fetchLookupSexCode","sexCodeCountData","fetchSexCodeCount","setSexCodes","METHODOLOGY_OPTIONS","RTI","StyledMethodologySelect","StyledDiv","BlueTitle","lookupRaceCodeData","fetchLookupRaceCode","raceCodeCountData","fetchRaceCodeCount","rtiRaceCodeCountData","fetchRTIRaceCodeCount","setRaceCodes","StyledCustomAgeInput","AGE_GROUP_CODE","AgeCountComponent","setAges","isCustomAge","setIsCustomAge","useAgeGroupCount","ageGroupCount","fetchAgeGroupCount","filterCountEnabled","handleFetchAgeGroupCount","handleChangeCustomAgeInput","minAge","maxAge","getAgeGroupCode","customMinAge","customMaxAge","renderAgeCount","agesUniq","uniqWith","other","val","StyledClearButton","AggregatedCategoryTab","categoryType","setCategoryType","categoryValue","setCategoryValue","setCategoryUiName","useAggregatedDemogaphic","selectingValue","AggregatedDemographicTab","AggregatedCategoryTabSelector","GeoLevelTab","filterEdditing","StyledFormGroup","StyledTabPane","useSupportConsumptionGroup","setConsumptionGroups","isSupportConsumptionGroup","availableConsumption","consumptionGroupCount","fetchConsumptionGroupCount","consumptionDefault","intersection","CONSUMPTION_GROUP_OPTIONS","StyledModal","StyledRestoreDefaultButton","StyledModalBody","HamburgerGroup","StyledTabSelectors","StyledTabContent","validationAgeSchema","of","RestoreDefaultButton","resetFilterEditing","FilterDialog","editingFilter","resetFilter","useResetFilter","resetViewSetting","useResetViewSetting","shouldDisabledProviderSelection","validationSchemaProps","toggleShow","filterValue","selectedConditions","toggleTabSelector","tabSelectors","unmountOnClose","Card","fetchLookup","getConditionsByDataSet","conditionByDataSet","conditionByDataSource","conditionByDataSourceSetAllYear","conditionByDataSourceAndDataYear","compareCondition","parameters","primaryConditionsSortType","secondaryConditionsConfig","secondaryConditions","secondaryConditionsSortType","primaryConditionByDataSourceAndYear","fullPrimaryCondition","fullSecondaryConditions","Specifically","toLocaleLowerCase","useSynchronizedConditionReport","conditionType","selectingSecondaryCormorbidities","setSelectingSecondaryCormorbidities","comorbiditiesDefaultFilter","conditionsValues","selectingComorbiditiesFilter","conditionTypes","selectingAdditionalConditions","selectingComorbidities","setSelectingComorbidities","selectingPrimaryConditionWithoutClaimsOptionals","setSelectingPrimaryConditionWithoutClaimsOptionals","primaryConditionsValues","primaryConditionsValues_1","selectingPrimaryConditionsFilter","selectingPrimaryCoMorbiditiesFilter","selectingPrimaryConditionWithoutClaimsOptionalsFilter","primaryConditionsValues_2","otherConditions","otherConditionsValues_1","selectingAdditionalConditionsFilter","ConditionCMSFilter","lessThan2019","CMS_27","CMS_OTHER","greaterOrEqual2019","CMS_30","ValueCombineCondition","hostednameIndexConfig","dataYearFilterEditing","dataYearSeasonEditing","primaryConditionWithoutClaims","primaryConditionsByChronicConditionSourceConfig","allConditionDefault","ccBySource","chronicConditionSource","union","prioritizedConditions","isPrimaryByCCSource","template","isPrimaryByPrimaryConditionWithoutClaims","isPrimaryByPrimaryConditionByDataSourceAndYear","isPrimaryByPrimaryCondition","isSecondaryBySecondaryConditionsConfig","isSecondaryBySecondaryConditions","isSecondary","isKey","source","isIgnoreConditions","ignoreConditions","combinedDataWithinReferenceYear","groupedDataByReferenceYear","cur","NMQF_CUSTOM","dataYearToFilter","splitKey","mapByValue","valueIsAbb","getStateByStateCode","getStateAbbOfZipCode","countyByStateCode","sexName","sexCode","raceCode","raceName","fetchRaceLookupStandard","fetchRaceLookupRTI","transformAgeOption","onlyNumber","sortedYear","isNaN","useCMSDataSeasonYear","indexConfiguration","rangeYear","cmsYearData","aggregatedYearData","useAggregatedYear","STATISTIC_GROUPS","Population","Rate","Cost","STATISTIC_OPTION_BY_TYPE","CLAIM_NUMBERS","CLAIM_DAYS","createDate","getTime","GEO_JSON_URL_BY_LEVEL","stateLayer","paint","ENV_STATE_BORDER_COLOR","highlightLayer","selectedLayer","SelectedGeographySource","mapDataRequesting","hoveringInfo","zoomToFeature","setSelectedGeoProperties","zipcodeData","zoomId","filterForState","stateGeoJsonData","fetchStateGeoJson","filterForGeo","fetchGeoJson","isCookingGeoJson","setIsCookingGeoJson","round","selectedFeature","hoveringId","highlightGeoJson","Source","Layer","MemoMarker","Marker","offsetLeft","offsetTop","useStyles","makeStyles","arrow","tooltip","backgroundColor","textAlign","boxShadow","StyledCard","CardTitle","CardText","StatisticValue","roundedValue","formatMetricValue","valueKey","metricValue","secondaryValues","GeoName","geoProps","getSecondaryValues","regionData","firstSecondaryValueTitle","getFirstSecondaryValueTitle","cohort","region","statePatientPopulation","stateNumerator","stateDenominator","stateEventCount","PopperProps","boundariesElement","InfoPopup","geoName","metricValues","stateValue","getMetricValues","disableFocusListener","disableHoverListener","disableTouchListener","card","PatientChoroplethLayer","patientChoroplethLayer","CLUSTER_OPTIONS","useCluster","indexRef","cookedclusters","setCookedClusters","recalculateClusters","getZoom","bounds","getBounds","clusters","getClusters","cluster","locations","point","points","isSameLocation","lng","lat","groupByLngLat","geometry","coordinates","point_count","point_count_abbreviated","cluster_id","on","off","Supercluster","load","clusterId","getClusterExpansionZoom","Popup","onClose","handleKeyDown_1","keyCode","removeEventListener","MapboxPopup","StyledMultiplePinMenu","StyledMultiplePinMenuItem","MultiplePinMenuItem","idFields","MultiplePinMenu","selectedMultiplePin","setSelectedMultiplePin","captureScroll","sortByDepth","closeButton","compareFn","menuItemComponent","SinglePinMarker","getIcon","MultiplePinMarker","pinPayload","ClusterPinMarker","updateViewPort","SimpleLocationLayer","lnglat","ClusterLocationLayer","clusterColor","LayerCount","setMapLayerCountNotification","displayingCount","LocationDetailComponent","isSelected","locationMap","l","detailInfo","LocationLayer","RowLocationName","MenuItem","providerFirstName","providerLastName","providerCredentialText","providerLocatorData","fetchProviderLocatorData","loadedUserActionsHistoryRef","lngLatBounds","fetchDataWrapped","userActionsHistory","ProviderDetail","providerParam","bottomLeftAndTopRightLngLatBound","providerBroadSpecialty","StyledAndText","getCountDisplay","layerItem","toLocaleString","CountNotification","firstItem","otherItems","getEditHandleStyle","RENDER_STATE","SELECTED","HOVERED","UNCOMMITTED","fillOpacity","getFeatureStyle","CLOSING","StyledWrapperTool","DrawControl","isOpenHelpDialog","toggleHelpDialog","isOnDrawMode","toggleDrawMode","faVectorSquare","onDelete","faTrash","faQuestion","HelpDialog","controls","StyledMapSidebar","MapSidebar","StyledLocationDetailPanel","ImportingLocationDetail","CustomMapLayer","maplayerLocationDetail","faTimesCircle","trialName","locationName","stateAbv","zip","recruitmentStatus","startDate","format","estimatedCompletionDate","contactName1","contactPhone1","contactEmail1","investigatorName1","investigatorCredentials1","investigatorOrganization1","StyledBriefTitle","StyledFacilityName","SingleImportingLocationLayer","mapLayer","mapLayerLocationData","fetchMapLayerLocationData","displayColor","ImportingLocationLayers","allMapLayers","StyledLegendFormatter","ProviderPieComponent","SexChart","RaceChart","AgeChart","StyledProviderDetail","ProviderName","ProviderInfo","ProviderAddress","PatientDemographics","selectedProviderInfo","CardWrapper","CardValue","DataRowForCard","StatisticDataForCard","geoId","geoValue","StatisticDataForNational","nationalValue","CardInfo","Space","PrevalenceDashBoard","nationalDemographicValue","NationalCard","AggregatedDataBannerDashBoard","TotalCountDashBoard","HospitalizationRateDashBoard","ERVisitRateDashBoard","HospEncounterRateDashBoard","DeathRateDashBoard","ReadmissionRateDashBoard","HospitalCostDashBoard","ERVisitCostDashBoard","PatientOutOfPocketPartBDrugCostDashBoard","PatientOutOfPocketPartDDrugCostDashBoard","MedicarePartBDrugCostDashBoard","MedicarePartDDrugCostDashBoard","TotalCostDashBoard","CardContent","CardColor","Text","makeSelection","StatisticCard","extractedGeoData","StatisticComponent","getStatisticComponent","StyledDropdownToggle","StyledTitle","StyledDropdownMenu","StyledSelectYearItem","TrendLine","trendlineData","fetchTrendlineData","selectYearItem","TrendLineSeason","firstFrom","firstTo","StyledNational","DemographicChart","TrendLineStatisticDetail","StatisticDetail","DataBody","RepresentativePhoto","RepresentativeInfo","DataRow","DataRowAddress","DataRowPhone","FederalRepresentativeDetail","frPhotoLink","onError","display","onErrorFunc","frAddress","frPhoneNumber","frWebSite","faExternalLinkAlt","StateRepresentativeDetail","srPhotoLink","srAddress","replaceAll","srPhoneNumber","srWebSite","StyledGroup","GroupTitle","GroupContent","StyledRow","expanded","StyledRowExpanded","StyledFullName","StyledIcon","isRepublican","FederalRepresentativeItem","expandedFederal","toggleExpandFederal","frFirstName","frLastName","frMiddleName","frParty","frDistrict","frStateAbbreviation","faDemocrat","faRepublican","faFlagUsa","StateRepresentativeItem","expandedState","toggleExpandState","srFirstName","srLastName","srMiddleName","srParty","srChamber","srDistrict","stState","DataGroup","rep","itemComponent","useRepresentativePanel","apiRes","district","apiData","LegislatorsComponent","senators","representatives","StateDelegatesComponent","isDisabledRepresentativesTab","closePanel","StyledMapContent","StyledNavigationControl","StyledRightOverlay","MapComponent","resetMapData","setHoveringInfo","fallbackData","setFallbackData","mode","setMode","setDrawMode","setEditorRef","DrawPolygonMode","editor","Editor","clickRadius","onUpdate","editType","EditingMode","editHandleShape","featureStyle","editHandleStyle","drawControl","deleteFeatures","useDrawPolygon","newViewport","maxZoom","handleHover","lngLat","handleMouseOut","hanldeClick","mapEvents","onHover","onMouseOut","ReactMapGL","mapboxApiAccessToken","mapboxToken","mapStyle","mapboxStyle","onViewportChange","interactiveLayerIds","doubleClickZoom","NavigationControl","showCompass","briefTitle","clinicalTrialLocatorData","fetchClinicalTrialLocatorData","clinicalTrialOption","filterRecruitmentStatuses","ClinicalTrialDetail","clinicalTrial","currentDate","date","month","statisticOptionType","filteringCategoryValue","Set","chronicCode","minClaimNumber","primaryConditionWithClaimsOptionals","useAggregatedDataSource","dataSourceGeos","geoLevelLookup","setData","dataTypeName","dataSourceColumnDefinitions","fetchAggregatedData","ENV_MIN_PATIENT_BUSINESS_RULE","process","REACT_APP_MIN_PATIENT_BUSINESS_RULE","REACT_APP_LEGEND_COLORS","REACT_APP_STATE_BORDER_COLOR","REPORT_TYPE_OPTIONS","setReportType","allReportTypeOptions","listYearData","yearDataLatest","conditionsClaimOption","setConditionsClaimOption","isExistedPrimaryConditionWithoutClaims","conditionSelected","conditionOption","doSyncSecondary","filterReports","setStatistics","statisticFilterAvalable","StlyledLabel","districtByStateData","setFirstLevel","setSecondLevel","secondLevelOptions","congressionalDistrictByState","StyledSimpleCheckbox","conditionClaimOptionals","PRIVATE_REPORT_EXTENSION","geolevel","requiredField","reportSetting","setReportSetting","setRequesting","setIsRememberSettings","rememberSettingData","fetchRememberSettingData","fetchRememberSettings","fileNameStateName","filename","shortToken","primaryCormorbidities","reporting"],"mappings":"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","file":"static/js/main.ee072e12.chunk.js","sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport qs from 'qs';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport _ from 'lodash';\nimport { useAPI } from '../state';\nimport { FallbackComponent } from '../common';\nimport { isEmpty } from '../utils';\nvar GET_SHAREABLE_UI_LINK = '/api/general/ui-setting';\nvar GET_STRORED_UI_VALUE = '/api/general/ui-setting/{id}';\nvar UI_VALUE_SESSION_ID = 'UI_VALUE_SESSION_ID';\nvar getSessionStorageItem = function (key, initialValue) {\n try {\n var item = window.sessionStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n }\n catch (error) {\n return initialValue;\n }\n};\nexport var setUIValueSessionStorage = function (key, value, picks, omits) {\n var _a;\n var storedValue = getSessionStorageItem(UI_VALUE_SESSION_ID);\n var santifiedValue = value;\n if (picks) {\n santifiedValue = _.pick(santifiedValue, picks);\n }\n if (omits) {\n santifiedValue = _.omit(santifiedValue, omits);\n }\n window.sessionStorage.setItem(UI_VALUE_SESSION_ID, JSON.stringify(__assign(__assign({}, storedValue), (_a = {}, _a[key] = santifiedValue, _a))));\n};\nexport var useShareableLink = function () {\n var _a = useAPI(GET_SHAREABLE_UI_LINK, undefined, 'POST'), data = _a[0], fetchData = _a[1], clearData = _a[2];\n var location = useLocation();\n var query = useMemo(function () { return qs.parse(location.search, { ignoreQueryPrefix: true, comma: true }); }, [location.search]);\n var getter = function () {\n var _a;\n try {\n var storedValue = getSessionStorageItem(UI_VALUE_SESSION_ID);\n var _b = ((_a = storedValue === null || storedValue === void 0 ? void 0 : storedValue.viewSetting) === null || _a === void 0 ? void 0 : _a.selectedRegion) || {}, longitude = _b.longitude, latitude = _b.latitude;\n if (!isEmpty(longitude) && !isEmpty(latitude)) {\n storedValue = __assign(__assign({}, storedValue), { viewport: __assign(__assign({}, storedValue.viewport), { longitude: longitude, latitude: latitude }) });\n }\n fetchData(storedValue);\n }\n catch (e) { }\n };\n return [\n __assign(__assign({}, data), { data: data.data && window.location.href.split('?')[0] + \"?v=\" + data.data.id + (query.title ? \"&title=\" + query.title : '') }),\n getter,\n clearData,\n ];\n};\nexport var useStoredUIValue = function () {\n var location = useLocation();\n var query = useMemo(function () { return qs.parse(location.search, { ignoreQueryPrefix: true, comma: true }); }, [location.search]);\n var _a = useAPI(GET_STRORED_UI_VALUE, {\n id: query.v,\n }), storedUIValueData = _a[0], fetchStoredUIValueData = _a[1], clearStoredUIValueData = _a[2];\n var sessionUIValue = useMemo(function () { return (query.session === 'true' ? getSessionStorageItem(UI_VALUE_SESSION_ID) : undefined); }, [query.session]);\n var shouldRequest = !!query.v && !sessionUIValue;\n var safeFetchData = useCallback(function () {\n if (shouldRequest) {\n fetchStoredUIValueData();\n return clearStoredUIValueData;\n }\n }, [clearStoredUIValueData, fetchStoredUIValueData, shouldRequest]);\n return [\n __assign(__assign({}, storedUIValueData), { requesting: storedUIValueData.requesting || (shouldRequest && storedUIValueData.requesting === undefined), session: query.session === 'true', data: sessionUIValue || storedUIValueData.data }),\n safeFetchData,\n clearStoredUIValueData,\n ];\n};\nexport var useUIValueSessionStorage = function (key, initialValue, picks) {\n var storedUIValueData = useStoredUIValue()[0];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var initialSessionValue = useMemo(function () { var _a; return (_a = storedUIValueData.data) === null || _a === void 0 ? void 0 : _a[key]; }, []);\n var _a = useState(function () { return initialSessionValue !== null && initialSessionValue !== void 0 ? initialSessionValue : initialValue; }), storedValue = _a[0], setStoredValue = _a[1];\n var storedValueRef = useRef();\n storedValueRef.current = storedValue;\n var picksString = JSON.stringify(picks);\n var setValue = useCallback(function (value) {\n try {\n var valueToStore = value instanceof Function ? value(storedValueRef.current) : value;\n setStoredValue(valueToStore);\n setUIValueSessionStorage(key, valueToStore, JSON.parse(picksString));\n }\n catch (error) { }\n }, [key, picksString]);\n return [storedValue, setValue, initialSessionValue];\n};\nvar UIValueComponent = function () {\n var _a = useStoredUIValue(), storedUIValueData = _a[0], fetchStoredUIValueData = _a[1];\n var history = useHistory();\n var location = useLocation();\n var query = useMemo(function () { return qs.parse(location.search, { ignoreQueryPrefix: true, comma: true }); }, [location.search]);\n useEffect(fetchStoredUIValueData, [fetchStoredUIValueData]);\n useEffect(function () {\n if (!storedUIValueData.requesting) {\n window.sessionStorage.setItem(UI_VALUE_SESSION_ID, JSON.stringify(storedUIValueData.data));\n var search = qs.stringify(__assign(__assign({}, query), { session: true }));\n history.replace(\"\" + location.pathname + (location.hash ? \"#\" + location.hash : '') + \"?\" + search);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [storedUIValueData.requesting]);\n return null;\n};\nexport var FallbackStoredUIValueComponent = function (props) {\n var storedUIValueData = useStoredUIValue()[0];\n return (React.createElement(React.Fragment, null,\n React.createElement(UIValueComponent, null),\n React.createElement(FallbackComponent, __assign({ requesting: storedUIValueData.requesting || !storedUIValueData.session }, props))));\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useFilterSetting, exportFilterSettingPayload } from '../state/filtersettings';\nimport { useFilterEditing } from '../state/filterediting';\nimport { useDebounce } from '../hooks';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar RECOUNT_FILTER_DELAY_TIME = 1500;\nvar useEffectFilterCount = function (filterSetting, effect, addDeps, ignore) {\n var _a, _b, _c;\n var indexConfig = useHostnameIndexInfo();\n var year = filterSetting.dataYearSeason || filterSetting.dataYear;\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var isAggregatedDataSource = filterSetting.isAggregatedDataSource;\n var primaryCoditions = filterSetting.primaryCoMorbidities;\n var selectingConditions = filterSetting.comorbidities;\n var sexCodes = (_b = filterSetting.demographics) === null || _b === void 0 ? void 0 : _b.sexCodes;\n var raceCodes = (_c = filterSetting.demographics) === null || _c === void 0 ? void 0 : _c.raceCodes;\n var raceMethodology = filterSetting.raceMethodology;\n var deps = __spreadArrays([year, cmsDataSource, isAggregatedDataSource, filterSetting.claimNumber, filterSetting.claimDay], (addDeps || []));\n if (ignore !== 'PRIMARY_CONDITION') {\n deps.push(primaryCoditions);\n }\n if (ignore !== 'PRIMARY_CONDITION' && ignore !== 'CONDITION') {\n deps.push(selectingConditions);\n }\n if (ignore !== 'SEX') {\n deps.push(sexCodes);\n }\n if (ignore !== 'RACE') {\n deps.push(raceCodes);\n deps.push(raceMethodology);\n }\n useDebounce(function () {\n if ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && year && cmsDataSource && !isAggregatedDataSource) {\n var payload = exportFilterSettingPayload(filterSetting);\n effect(payload, indexConfig);\n }\n }, [JSON.stringify(deps)], RECOUNT_FILTER_DELAY_TIME);\n};\nexport var useEffectFilterEditingCount = function (effect, addDeps, ignore) {\n return useEffectFilterCount(useFilterEditing(), effect, addDeps, ignore);\n};\nexport var useEffectFilterSettingCount = function (effect, addDeps, ignore) {\n return useEffectFilterCount(useFilterSetting(), effect, addDeps, ignore);\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport * as Yup from 'yup';\nimport {\n FilterDialog,\n DataYearTab,\n ConditionTab,\n PrimaryConditionSection,\n AdditionalConditionSection,\n StatisticTab,\n SexTab,\n RaceTab,\n AgeTab,\n AggregatedDemographicTab,\n AggregatedSexTab,\n AggregatedRaceTab,\n AggregatedAgeTab,\n GeoLevelTab,\n PrioritizedConditionSection,\n ConsumptionGroupTab,\n} from 'nmqf-common-ui';\n\ninterface IndexFilterDialogProps {\n isOpen: boolean;\n toggle: () => void;\n defaultActiveTab?: string;\n}\n\nconst validationSchema = Yup.object().shape({\n comorbidities: Yup.array().nullable().required('Please select at least one of the Conditions').min(1, 'Please select at least one of the Conditions'),\n});\n\nexport const IndexFilterDialog: React.FC = (props) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport { SelectedGeographySource, PatientChoroplethLayer, ImportingLocationLayers, MapComponent, InfoPopup } from 'nmqf-common-ui';\n\nexport const IndexMapComponent: React.FC = () => {\n return (\n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport {\n useToggle,\n FilterBar,\n FilterSidebar,\n FilterResultDashboard,\n DemographicChartComponent,\n TrendLineComponent,\n TableViewComponent,\n MapLayerMenu,\n MapProvider,\n LocationMenu,\n DownloadButton,\n} from 'nmqf-common-ui';\nimport { IndexFilterDialog } from '../filterdialog';\nimport { IndexMapComponent } from '../map';\n\nconst StyledDashboard = styled.div`\n position: relative;\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n`;\nconst StyledViewMode = styled.div`\n height: 100%;\n width: 100%;\n overflow: auto;\n`;\n\nexport const IndexDashboard: React.FC = () => {\n const [defaultActiveTab, setDefaultActiveTab] = useState();\n const [showFilterDialog, toggleFilterDialog] = useToggle();\n\n const handleToggleFilterDialog = (tabId?: string) => {\n setDefaultActiveTab(tabId);\n toggleFilterDialog();\n };\n\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport * as serviceWorker from './serviceWorker';\nimport { createStore, applyMiddleware, combineReducers } from 'redux';\nimport { BrowserRouter, Route } from 'react-router-dom';\nimport thunk from 'redux-thunk';\nimport promiseMiddleware from 'redux-promise';\nimport { StoreContext } from 'redux-react-hook';\n\nimport 'bootstrap/dist/css/bootstrap.css';\n\nimport { AuthProvider, Authenticate, Header, NMQFGlobalStyle, HostNameIndexInfoProvider, reducers, FallbackStoredUIValueComponent } from 'nmqf-common-ui';\n\nimport { IndexDashboard } from './components/indexdashboard';\n\nconst combinedReducers = combineReducers(reducers);\nconst middlewares = [thunk, promiseMiddleware];\nconst createStoreWithMiddleware = applyMiddleware(...middlewares)(createStore);\nconst store = createStoreWithMiddleware(combinedReducers);\nconst REPORT_CONDITION = '9';\n\nReactDOM.render(\n <>\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useCallback } from 'react';\nimport { useFilterSetting, useFilterValue, useViewValue, exportFilterSettingPayload } from '../state';\nimport { ViewModeEnum, ChartViewEnum, StatisticTypeEnum, GeoLevelEnum } from '../enums';\nimport { useAPI } from '../state';\nimport { getStatisticOption, processStatisticValue } from '../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nvar SAFE_SEASON_YEAR = 100;\nvar FETCH_AGGREGATED_DATA_API_URL = '/api/data-file/get-aggregated-data-for-yearly-linechart';\nvar FETCH_YEARLY_DATA_API_URL = '/api/stats/{hostname}/calculate-statistic-for-yearly-linechart';\nvar FETCH_YEARLY_DATA_API_URL_PROXY = '/api/{hostname}/calculate-statistic-for-yearly-linechart';\nvar getLinear = function (arr, xKey, yKey) {\n if (!arr.length)\n return [];\n var xStart = arr[0][xKey];\n var xEnd = arr[arr.length - 1][xKey];\n var n = xEnd - xStart + 1;\n var sumMult = 0;\n var xSum = 0;\n var ySum = 0;\n var sumXSq = 0;\n arr.forEach(function (i) {\n var x = i[xKey];\n var y = i[yKey];\n sumMult += y * x;\n xSum += x;\n ySum += y;\n sumXSq += x * x;\n });\n var x1 = n * sumMult;\n var x2 = xSum * ySum;\n var y1 = n * sumXSq;\n var y2 = xSum * xSum;\n // slope = m = (a - b) / (c - d)\n var m = (x1 - x2) / (y1 - y2);\n var e = ySum;\n var f = m * xSum;\n // y-intercept = b = (e - f) / n\n var b = (e - f) / n;\n // y = mx + b\n return [m * xStart + b, m * xEnd + b];\n};\nvar useStatisticYearlyData = function () {\n var _a;\n var indexConfig = useHostnameIndexInfo();\n var _b = useAPI((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname) ? FETCH_YEARLY_DATA_API_URL_PROXY\n : FETCH_YEARLY_DATA_API_URL, { hostname: extractHostname() }, 'POST'), yearlyData = _b[0], res = _b.slice(1);\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticOption = getStatisticOption(statistic);\n var getDataByYear = useCallback(function (year) {\n var _a;\n var _b = ((_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData[year]) || {}, numerator = _b.numerator, denominator = _b.denominator;\n var value = numerator || 0;\n var isNA = !numerator;\n if (!isNA && statistic !== StatisticTypeEnum.TotalCount) {\n isNA = !denominator;\n value = isNA ? 0 : value / (denominator || 1);\n }\n return {\n value: value,\n isNA: isNA,\n percentage: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.percentage,\n };\n }, [statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.percentage, (_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData]);\n return __spreadArrays([__assign(__assign({}, yearlyData), { getDataByYear: getDataByYear })], res);\n};\nvar useAggregatedYearlyData = function () {\n var _a = useAPI(FETCH_AGGREGATED_DATA_API_URL, undefined, 'POST'), yearlyData = _a[0], res = _a.slice(1);\n var getDataByYear = useCallback(function (year) {\n var _a;\n var _b = ((_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData[year]) || {}, percentage = _b.percentage, overall = _b.overall;\n var isNA = overall === undefined || overall === null || overall < 0;\n var value = (isNA ? 0 : overall);\n return {\n value: value,\n isNA: isNA,\n percentage: percentage,\n };\n }, [yearlyData.data]);\n return __spreadArrays([__assign(__assign({}, yearlyData), { getDataByYear: getDataByYear })], res);\n};\nexport var useTrendLineData = function () {\n var _a;\n var statisticYearlyData = useStatisticYearlyData();\n var aggregatedYearlyData = useAggregatedYearlyData();\n var filterSettings = useFilterSetting();\n var _b = filterSettings.isAggregatedDataSource ? aggregatedYearlyData : statisticYearlyData, data = _b[0], fetchData = _b[1], res = _b.slice(2);\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var from = useViewValue('chartView', 'startingYear')[0];\n var to = useViewValue('chartView', 'endingYear')[0];\n var fetchDataWrapper = useCallback(function () {\n if (filterSettings.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Trends,\n },\n } }));\n }\n }, [fetchData, filterSettings]);\n var combinedData = useMemo(function () {\n var result = [];\n if (from && to) {\n for (var year = from; year <= to; year += 1) {\n var yearData = data.getDataByYear(year);\n var value = processStatisticValue(yearData.value, yearData.percentage, statistic) || 0;\n result.push(__assign(__assign({}, yearData), { year: year,\n value: value, suffix: yearData.percentage ? '%' : '', prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit }));\n }\n var linear = getLinear(result, 'year', 'value');\n result[0].linear = linear[0];\n result[result.length - 1].linear = linear[1];\n }\n return result;\n }, [from, to, data, statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit]);\n return __spreadArrays([__assign(__assign({}, data), { data: combinedData }), fetchDataWrapper], res);\n};\nexport var useTrendLineDataForSeason = function () {\n var _a;\n var statisticYearlyData = useStatisticYearlyData();\n var filterSettings = useFilterSetting();\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var aggregatedYearlyData = useAggregatedYearlyData();\n var _b = filterSettings.isAggregatedDataSource ? aggregatedYearlyData : statisticYearlyData, data = _b[0], fetchData = _b[1], res = _b.slice(2);\n var fromSeasonYear = useViewValue('chartView', 'startingSeasonYear')[0];\n var toSeasonYear = useViewValue('chartView', 'endingSeasonYear')[0];\n var fetchDataWrapper = useCallback(function () {\n if (filterSettings.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Trends,\n },\n } }));\n }\n }, [fetchData, filterSettings]);\n var combinedData = useMemo(function () {\n var result = [];\n if (fromSeasonYear && toSeasonYear) {\n var year = fromSeasonYear;\n var safeNumber = 0;\n while (!isEqualSeasonYear(year, putToSeasonYear(toSeasonYear, 1)) && safeNumber < SAFE_SEASON_YEAR) {\n var yearData = data.getDataByYear(year);\n var value = processStatisticValue(yearData.value, yearData.percentage, statistic) || 0;\n result.push(__assign(__assign({}, yearData), { year: 0, seasonYear: year, value: value, suffix: yearData.percentage ? '%' : '', prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit }));\n year = putToSeasonYear(year, 1);\n safeNumber++;\n }\n var linear = getLinear(result, 'seasonYear', 'value');\n result[0].linear = linear[0];\n result[result.length - 1].linear = linear[1];\n }\n return result;\n }, [fromSeasonYear, toSeasonYear, data, statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit]);\n return __spreadArrays([__assign(__assign({}, data), { data: combinedData }), fetchDataWrapper], res);\n};\nvar isEqualSeasonYear = function (arg1, arg2) {\n var arg1Split = getYearsBySeason(arg1);\n var arg2Split = getYearsBySeason(arg2);\n return arg1Split[0] === arg2Split[0] && arg1Split[1] === arg2Split[1];\n};\nvar putToSeasonYear = function (seasonYear, year) {\n var arg1Split = getYearsBySeason(seasonYear);\n return arg1Split.map(function (arg) { return Number(arg) + year; }).join(DELIMITER_SEASON_YEAR);\n};\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { ENV_MIN_PATIENT_BUSINESS_RULE } from '../env';\nimport { setIn } from 'formik';\nimport { GeoLevelEnum } from '../enums';\nexport var applyMinBusinessRule = function (number) { return (number && number >= ENV_MIN_PATIENT_BUSINESS_RULE ? number : undefined); };\nexport var getDisplayText = function (src, suffix, prefix) {\n if (suffix === void 0) { suffix = ''; }\n if (prefix === void 0) { prefix = ''; }\n if (typeof src === 'string')\n return src;\n if (src === undefined || src === null)\n return 'N/A';\n var parts = src.toString().split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n return \"\" + prefix + parts.join('.') + suffix;\n};\nexport var getUserInitials = function (firstName, lastName) {\n if (firstName === void 0) { firstName = ''; }\n if (lastName === void 0) { lastName = ''; }\n return \"\" + firstName.trim().charAt(0).toUpperCase() + lastName.trim().charAt(0).toUpperCase();\n};\nexport var getDisplayUserName = function (firstName, lastName, middleName) {\n var arr = [];\n if (firstName) {\n arr.push(firstName);\n }\n if (middleName) {\n arr.push(middleName);\n }\n if (lastName) {\n arr.push(lastName);\n }\n return arr.join(' ');\n};\nexport var prependingHttpToUrlIfMissing = function (url) {\n if (!url || url.match(/^[a-zA-Z]+:\\/\\//)) {\n return url;\n }\n return \"http://\" + url;\n};\nexport var isObject = function (value) {\n var type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n};\nexport var isEmpty = function (value) {\n if (isObject(value)) {\n if (Object.keys(value).length === 0) {\n return true;\n }\n else {\n return false;\n }\n }\n return value === undefined || value === null || value === '';\n};\nexport function cleanFormattingPhoneNumber(phoneFormated) {\n return phoneFormated.replace(/\\D/g, '');\n}\nexport function formatPhoneNumber(phoneNumberString) {\n if (!phoneNumberString) {\n return phoneNumberString;\n }\n var cleaned = cleanFormattingPhoneNumber(phoneNumberString);\n var match = cleaned.match(/^(\\d{3}|\\d+)(\\d{3}|\\d+)?(\\d{4}|\\d+)?$/);\n var arr = [];\n if (match) {\n var separation = '';\n for (var i = 1; i < match.length; i += 1) {\n if (match[i]) {\n arr.push(separation);\n arr.push(match[i]);\n separation = '-';\n }\n }\n }\n return arr.join('');\n}\nexport function roundNumber(value, precision) {\n if (precision === void 0) { precision = 0; }\n if (value === undefined || value === null) {\n return undefined;\n }\n return parseFloat((value + Number.EPSILON).toFixed(precision));\n}\nexport function safeDivide(numerator, denominator, percentage, precision) {\n if (percentage === void 0) { percentage = false; }\n if (precision === void 0) { precision = 0; }\n if (numerator !== undefined && numerator !== null && denominator) {\n return roundNumber((numerator / denominator) * (percentage ? 100 : 1), precision);\n }\n return undefined;\n}\nexport var cookLegendBreaks = function (originPoints, percentage, precision) {\n if (originPoints === void 0) { originPoints = []; }\n if (percentage === void 0) { percentage = false; }\n if (precision === void 0) { precision = 0; }\n var gradeDelta = 1 / Math.pow(10, precision);\n var prevGrade = -1;\n return originPoints.map(function (grade, idx) {\n var currGrade = idx === 0 || idx % 2 === 1 ? grade * (percentage ? 100 : 1) : prevGrade + gradeDelta;\n currGrade = roundNumber(currGrade, precision);\n if (currGrade < prevGrade) {\n currGrade = prevGrade;\n }\n prevGrade = currGrade;\n return currGrade;\n });\n};\nexport var getBreakIdx = function (breakPoints, value) {\n return !value || !breakPoints ? 0 : (__spreadArrays(breakPoints, [Number.MAX_SAFE_INTEGER]).findIndex(function (grade, idx) { return idx % 2 === 1 && value <= grade; }) + 1) / 2;\n};\nexport var compareFunc = function (a, b, order) {\n if (a === void 0) { a = ''; }\n if (b === void 0) { b = ''; }\n if (order === void 0) { order = 'asc'; }\n return (a < b ? -1 : a > b ? 1 : 0) * (order === 'desc' ? -1 : 1);\n};\nexport var separateGeoLevelId = function (id) {\n var components = (id === null || id === void 0 ? void 0 : id.split('-')) || [];\n return [components.shift(), components.join('-')];\n};\nexport function getValidationSchema(validationSchema) {\n if (typeof validationSchema === 'function') {\n return validationSchema();\n }\n return validationSchema;\n}\nexport function getErrors(validationSchema, values) {\n var parseErrors = function (validationError) {\n return validationError.inner.reduce(function (errors, error) { return setIn(errors, error.path, error.errors[0]); }, Object.assign({}));\n };\n try {\n validationSchema && getValidationSchema(validationSchema).validateSync(values, { abortEarly: false });\n return Object.assign({});\n }\n catch (error) {\n return parseErrors(error);\n }\n}\nexport function getFlattenErrors(validationSchema, values) {\n var parseErrors = function (validationError) { return validationError.errors.filter(function (error, index) { return validationError.errors.indexOf(error) === index; }); };\n try {\n validationSchema && getValidationSchema(validationSchema).validateSync(values, { abortEarly: false });\n return Object.assign([]);\n }\n catch (error) {\n return parseErrors(error);\n }\n}\nexport var getDirectionUrl = function (url) {\n var title = new URL(window.document.location.toString()).searchParams.get('title');\n return \"\" + url + (title !== null ? \"?title=\" + title : '');\n};\nexport var isFeatureInAState = function (state, properties, geoLevel, stateByZipCode5) {\n var _a, _b;\n if (stateByZipCode5 === void 0) { stateByZipCode5 = {}; }\n if (geoLevel === GeoLevelEnum.Zip5) {\n return state.stateCode === parseInt(stateByZipCode5[properties === null || properties === void 0 ? void 0 : properties.zipCode], 10);\n }\n else if (geoLevel === GeoLevelEnum.MSA) {\n return (_b = (_a = properties === null || properties === void 0 ? void 0 : properties.name) === null || _a === void 0 ? void 0 : _a.split(', ')[1]) === null || _b === void 0 ? void 0 : _b.split('-').some(function (i) { return i === state.stateAbb; });\n }\n else {\n return state.stateCode === parseInt(properties === null || properties === void 0 ? void 0 : properties.stateCode, 10);\n }\n};\nexport var groupBy = function (items, key) { return items === null || items === void 0 ? void 0 : items.reduce(function (result, item) {\n var _a;\n var k = typeof key === 'string' ? item[key] : key(item);\n return __assign(__assign({}, result), (_a = {}, _a[k] = __spreadArrays((result[k] || []), [item]), _a));\n}, Object.assign({})); };\nexport var keyBy = function (array, key) { return (array || []).reduce(function (r, x) {\n var _a;\n return (__assign(__assign({}, r), (_a = {}, _a[key ? x[key] : x] = x, _a)));\n}, {}); };\nexport var substituteParams = function (str, params) {\n return params !== undefined ? Object.keys(params).reduce(function (current, key) { return current.replace(\"{\" + key + \"}\", \"\" + params[key]); }, str) : str;\n};\nexport var isTouchEnabled = function () {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n};\nexport var deviceType = function () {\n var ua = navigator.userAgent;\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\n return 'tablet';\n }\n else if (/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {\n return 'mobile';\n }\n return 'desktop';\n};\nexport var getYearsBySeason = function (seasonYear) {\n return String(seasonYear).match(/\\d+/g) || [];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useState, useCallback } from 'react';\nexport var useToggle = function (initialValue) {\n if (initialValue === void 0) { initialValue = false; }\n var _a = useState(initialValue), isOpen = _a[0], setIsOpen = _a[1];\n var toggle = useCallback(function () {\n setIsOpen(function (curr) { return !curr; });\n }, []);\n return [isOpen, toggle, setIsOpen];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport { useState, useCallback, useEffect, useRef } from 'react';\nimport { getIn, setIn, setNestedObjectValues } from 'formik';\nimport { isEmpty, getValidationSchema, getErrors } from '../utils';\nexport function castValues(values, validationSchema) {\n return !validationSchema ? values : getValidationSchema(validationSchema).cast(values);\n}\nvar isFirstError = function (errors, name, path) {\n if (path === void 0) { path = []; }\n if (isEmpty(errors)) {\n return false;\n }\n var firstErrorName = Array.isArray(errors) ? \"\" + errors.findIndex(function (err) { return !isEmpty(err); }) : Object.keys(errors)[0];\n path.push(firstErrorName);\n if (name === path.join('.')) {\n return true;\n }\n var nameDepth = name.split('.');\n if (nameDepth.length !== path.length) {\n return isFirstError(errors[firstErrorName], name, path);\n }\n return false;\n};\nexport var useForm = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, initialValues = _b.initialValues, validationSchema = _b.validationSchema;\n var _c = useState(Object.assign({}, initialValues)), values = _c[0], setValues = _c[1];\n var _d = useState(Object.assign({})), errors = _d[0], setErrors = _d[1];\n var _e = useState(Object.assign({})), touched = _e[0], setTouched = _e[1];\n var _f = useState(false), isSubmitting = _f[0], setIsSubmitting = _f[1];\n var _g = useState(0), submitCount = _g[0], setSubmitCount = _g[1];\n var isUnMount = useRef(false);\n var initialValuesRef = useRef(Object.assign({}, initialValues));\n var validationSchemaRef = useRef(validationSchema);\n useEffect(function () {\n return function () {\n isUnMount.current = true;\n };\n }, []);\n useEffect(function () {\n validationSchemaRef.current = validationSchema;\n if (typeof validationSchema === 'function') {\n setValues(function (values) { return (__assign({}, values)); });\n }\n }, [validationSchema]);\n useEffect(function () {\n setErrors(getErrors(validationSchemaRef.current, values));\n }, [values]);\n var setInitialValues = useCallback(function (initialValues) {\n initialValuesRef.current = initialValues;\n setValues(Object.assign({}, initialValues));\n setTouched(Object.assign({}));\n }, []);\n var setFieldValue = useCallback(function (value, field) {\n setValues(function (values) { return setIn(values, field, value); });\n }, []);\n var setFieldTouched = useCallback(function (isTouched, field) {\n setTouched(function (touched) { return setIn(touched, field, isTouched); });\n }, []);\n var handleChange = useCallback(function (event) {\n var name = event.target.name;\n var value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\n setFieldValue(value, name);\n }, [setFieldValue]);\n var handleBlur = useCallback(function (event) {\n var name = event.target.name;\n setFieldTouched(true, name);\n }, [setFieldTouched]);\n var handleSubmit = function (submitFormHandler) { return function (event) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n event === null || event === void 0 ? void 0 : event.preventDefault();\n if (isSubmitting) {\n return [2 /*return*/];\n }\n setSubmitCount(function (curr) { return curr + 1; });\n setIsSubmitting(true);\n setTouched(setNestedObjectValues(initialValuesRef.current, true));\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 4, 5]);\n if (!isEmpty(errors)) return [3 /*break*/, 3];\n return [4 /*yield*/, submitFormHandler(castValues(values, validationSchemaRef.current))];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [3 /*break*/, 5];\n case 4:\n if (!isUnMount.current) {\n setIsSubmitting(false);\n }\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n }); }; };\n var handleReset = useCallback(function () {\n setValues(initialValuesRef.current);\n setTouched(Object.assign({}));\n }, []);\n var getError = function (name) { return (getIn(touched, name) ? getIn(errors, name) : undefined); };\n var isFirstFieldError = function (name) { return isFirstError(errors, name); };\n return {\n setInitialValues: setInitialValues,\n values: values,\n handleChange: handleChange,\n handleBlur: handleBlur,\n setFieldValue: setFieldValue,\n setFieldTouched: setFieldTouched,\n handleSubmit: handleSubmit,\n isSubmitting: isSubmitting,\n handleReset: handleReset,\n getError: getError,\n isFirstFieldError: isFirstFieldError,\n submitCount: submitCount,\n hasError: !isEmpty(errors),\n };\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect, useRef, useState } from 'react';\nexport var useDebounce = function (callback, depends, delay) {\n if (delay === void 0) { delay = 0; }\n var mountedRef = useRef(false);\n useEffect(function () {\n var unmountHandeler;\n var handler = setTimeout(function () {\n unmountHandeler = callback();\n }, !mountedRef.current ? 0 : delay);\n mountedRef.current = true;\n return function () {\n clearTimeout(handler);\n unmountHandeler && unmountHandeler();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, __spreadArrays([delay], depends));\n};\nexport var useDebounceValue = function (callback, depends, delay) {\n if (delay === void 0) { delay = 0; }\n var _a = useState(callback), value = _a[0], setValue = _a[1];\n var mountedRef = useRef(false);\n useEffect(function () {\n if (mountedRef.current) {\n var handler_1 = setTimeout(function () {\n setValue(callback());\n }, delay);\n return function () {\n clearTimeout(handler_1);\n };\n }\n mountedRef.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, __spreadArrays([delay], depends));\n return value;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { feature } from 'topojson-client';\nimport * as turf from '@turf/helpers';\nimport * as _ from 'lodash';\nimport { useCachedData } from '../state';\nimport { useDebounceValue } from './usedebounce';\nexport var combineGeoJson = function (data, filter, propertyMapping, forceClean) {\n if (forceClean || !data) {\n return turf.featureCollection([]);\n }\n var features = data.features;\n features = filter ? features.filter(function (f) { return filter(f.properties); }) : features;\n features = propertyMapping ? features.map(function (f) { return (__assign(__assign({}, f), { properties: propertyMapping(f.properties) })); }) : features;\n return turf.featureCollection(features);\n};\nvar parseTopoJsonToGeoJson = function (keyName, geoType) {\n if (keyName === void 0) { keyName = 'id'; }\n if (geoType === void 0) { geoType = 'unknown'; }\n return function (topology) {\n if (topology) {\n var object = Object.values(topology.objects)[0];\n object.geometries = object.geometries.map(function (geo) { return (__assign(__assign({}, geo), { properties: __assign(__assign({}, geo.properties), { geoType: geoType }) })); });\n var featureCollection = feature(topology, object);\n var mapFeature = _.keyBy(featureCollection.features, \"properties.\" + keyName);\n var mapGeometry = _.keyBy(object.geometries, \"properties.\" + keyName);\n return { topology: topology, featureCollection: featureCollection, mapFeature: mapFeature, mapGeometry: mapGeometry };\n }\n };\n};\nexport var useGeoJson = function (url, option) {\n var _a, _b;\n var _c = useCachedData(url || '', undefined, undefined, undefined, parseTopoJsonToGeoJson(option === null || option === void 0 ? void 0 : option.keyName, option === null || option === void 0 ? void 0 : option.geoType)), topoJsonData = _c[0], doRequest = _c[1], resetStateAPI = _c[2];\n var _d = useDebounceValue(function () {\n var _a, _b;\n return ({\n featureCollection: (_a = topoJsonData.data) === null || _a === void 0 ? void 0 : _a.featureCollection,\n combinedGeoJson: combineGeoJson((_b = topoJsonData.data) === null || _b === void 0 ? void 0 : _b.featureCollection, option === null || option === void 0 ? void 0 : option.filter, option === null || option === void 0 ? void 0 : option.propertyMapping, option === null || option === void 0 ? void 0 : option.forceClean),\n });\n }, [option === null || option === void 0 ? void 0 : option.filter, option === null || option === void 0 ? void 0 : option.forceClean, option === null || option === void 0 ? void 0 : option.propertyMapping, (_a = topoJsonData.data) === null || _a === void 0 ? void 0 : _a.featureCollection]), featureCollection = _d.featureCollection, combinedGeoJson = _d.combinedGeoJson;\n return [\n __assign(__assign(__assign({}, topoJsonData), topoJsonData.data), { data: combinedGeoJson, requesting: topoJsonData.requesting || featureCollection !== ((_b = topoJsonData.data) === null || _b === void 0 ? void 0 : _b.featureCollection) }),\n doRequest,\n resetStateAPI,\n ];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect } from 'react';\nexport * from './usetoggle';\nexport * from './useform';\nexport * from './usedebounce';\nexport * from './usegeojson';\nexport * from './useconfig';\nexport var useMount = function (effect) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(effect, []);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\n// Common component use for both UI & Reports\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../enums';\nimport { useLookupState, useLookupZipCodeDistrict, useLookupMSA, useLookupCounty, getGeoLevelLabel } from '../../lookupdata';\nimport { separateGeoLevelId } from '../../utils';\nexport var useSelectedGeoIdInfo = function (viewSetting, stateName) {\n var _a, _b, _c, _d, _e, _f, _g;\n var lookupStateData = useLookupState()[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var lookupMsa = useLookupMSA()[0];\n var countyData = useLookupCounty()[0];\n var geoLevel = viewSetting.geoType;\n var selectedId = ((_a = viewSetting.selectedRegion) === null || _a === void 0 ? void 0 : _a.type) === RightPanelTypeEnum.RegionDetail ? viewSetting.selectedRegion.id : undefined;\n var selectedGeoProperties = (_b = viewSetting.mapView) === null || _b === void 0 ? void 0 : _b.selectedGeoProperties;\n var geoLevelLabel = getGeoLevelLabel(geoLevel);\n var firstLevelLabel = 'All';\n var secondLevelLabel = geoLevel !== GeoLevelEnum.State && geoLevel !== GeoLevelEnum.MSA ? 'All' : undefined;\n var _h = separateGeoLevelId(selectedId), firstLevelCode = _h[0], secondLevelCode = _h[1];\n if (firstLevelCode) {\n if (geoLevel === GeoLevelEnum.Zip5 && !(selectedId === null || selectedId === void 0 ? void 0 : selectedId.endsWith('-'))) {\n secondLevelLabel = firstLevelCode.padStart(5, '0');\n firstLevelLabel = stateName || lookupZipCode.getStateNameOfZipCode(secondLevelLabel);\n }\n else if (geoLevel === GeoLevelEnum.MSA) {\n firstLevelLabel = ((_d = (_c = lookupMsa.data) === null || _c === void 0 ? void 0 : _c.find(function (lookup) { return lookup.msaNumber === firstLevelCode; })) === null || _d === void 0 ? void 0 : _d.msaName) || (selectedGeoProperties === null || selectedGeoProperties === void 0 ? void 0 : selectedGeoProperties.name);\n }\n else {\n firstLevelLabel = lookupStateData.getNameByStateCode(firstLevelCode);\n }\n }\n if (firstLevelCode && secondLevelCode) {\n if (geoLevel === GeoLevelEnum.County) {\n secondLevelLabel = (_g = (_f = (_e = countyData.data) === null || _e === void 0 ? void 0 : _e[firstLevelCode.padStart(2, '0')]) === null || _f === void 0 ? void 0 : _f.find(function (ct) { return ct.countyCode === secondLevelCode; })) === null || _g === void 0 ? void 0 : _g.countyName;\n }\n else if (geoLevel === GeoLevelEnum.Congressional) {\n secondLevelLabel = secondLevelCode.padStart(2, '0');\n }\n else {\n // zip 3, upper district, lower district\n secondLevelLabel = secondLevelCode.padStart(3, '0');\n }\n }\n return [geoLevelLabel, firstLevelLabel, secondLevelLabel].filter(function (label) { return !!label; });\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useCallback, useMemo } from 'react';\nimport { useAPI, useFilterSetting, exportFilterSettingPayload } from '../state';\nimport { DemographicTypeEnum, ViewModeEnum, ChartViewEnum, GeoLevelEnum } from '../enums';\nimport { useLookupSexCode, useLookupRaceCode, mapAgeValues, stringifyAgeValue, AGE_OPTIONS, ALL_AGE_VALUES, getStatisticOption, processStatisticValue, } from '../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../hostnameindexinfo';\nvar FETCH_AGGREGATED_DATA_API_URL = '/api/data-file/get-aggregated-data-for-demographic-piechart';\nvar FETCH_CHART_DATA_API_URL = '/api/stats/{hostname}/calculate-statistic-for-demographic-piechart';\nvar FETCH_CHART_DATA_API_URL_PROXY = '/api/{hostname}/calculate-statistic-for-demographic-piechart';\nvar useStatisticData = function () {\n var _a;\n var _b, _c, _d, _e;\n var indexConfig = useHostnameIndexInfo();\n var _f = useAPI((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname) ? FETCH_CHART_DATA_API_URL_PROXY\n : FETCH_CHART_DATA_API_URL, {\n hostname: extractHostname()\n }, 'POST'), chartData = _f[0], res = _f.slice(1);\n var filterSettings = useFilterSetting();\n var statistic = (_b = filterSettings.statistic) === null || _b === void 0 ? void 0 : _b.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var _g = useLookupSexCode((_c = filterSettings.demographics) === null || _c === void 0 ? void 0 : _c.sexCodes), lookupSexData = _g[0], resLookupSex = _g.slice(1);\n var _h = useLookupRaceCode(filterSettings.raceMethodology, (_d = filterSettings.demographics) === null || _d === void 0 ? void 0 : _d.raceCodes), lookupRaceData = _h[0], resLookupRace = _h.slice(1);\n var dataByDemographic = (_a = {},\n _a[DemographicTypeEnum.Sex] = __spreadArrays([__assign(__assign({}, lookupSexData), { data: lookupSexData.mappedValues || lookupSexData.data })], resLookupSex),\n _a[DemographicTypeEnum.Race] = __spreadArrays([__assign(__assign({}, lookupRaceData), { data: lookupRaceData.mappedValues || lookupRaceData.data })], resLookupRace),\n _a[DemographicTypeEnum.Age] = [{ data: mapAgeValues((_e = filterSettings.demographics) === null || _e === void 0 ? void 0 : _e.ages) || AGE_OPTIONS }, function () { }, function () { }],\n _a);\n var data = useMemo(function () {\n var combinedAgeKeyData = chartData.data && __assign(__assign({}, chartData.data.mapStatisticResponsingData), { age: chartData.data.mapStatisticResponsingData.age.subGroups.reduce(function (acc, curr) {\n acc[stringifyAgeValue(curr)] = curr.patientCount || curr.aggregateValue;\n return acc;\n }, Object.assign({})) });\n return [DemographicTypeEnum.Sex, DemographicTypeEnum.Race, DemographicTypeEnum.Age].reduce(function (acc, demographic) {\n var _a;\n var _b = dataByDemographic[demographic], data = _b[0], res = _b.slice(1);\n acc[demographic] = __spreadArrays([\n __assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return ({\n id: i.stringified || i.value,\n name: i.shortName || i.label,\n value: processStatisticValue((combinedAgeKeyData === null || combinedAgeKeyData === void 0 ? void 0 : combinedAgeKeyData[demographic][i.stringified || i.value]) || 0, false, statistic),\n prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit,\n }); }).filter(function (i) { return !!i.value; }) })\n ], res);\n return acc;\n }, Object.assign({}));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [chartData.data, lookupSexData.data, lookupRaceData.data]);\n return __spreadArrays([\n __assign(__assign({}, chartData), { data: data })\n ], res);\n};\nvar useAggregatedData = function () {\n var _a;\n var _b = useAPI(FETCH_AGGREGATED_DATA_API_URL, undefined, 'POST'), chartData = _b[0], res = _b.slice(1);\n var filterSettings = useFilterSetting();\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var data = useMemo(function () {\n var _a;\n var _b;\n return (_b = chartData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData.aggregatedDataCategoryList.reduce(function (acc, curr) {\n var _a, _b;\n if (curr.dataValue >= 0 && acc[curr.dataSourceColumnDefinition.category.toLowerCase()]) {\n acc[curr.dataSourceColumnDefinition.category.toLowerCase()][0].data.push({\n name: curr.dataSourceColumnDefinition.uiName,\n value: processStatisticValue(curr.dataValue, (_a = chartData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData.percentage, statistic),\n key: curr.dataSourceColumnDefinition.id,\n prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit,\n suffix: ((_b = chartData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData.percentage) ? '%' : '',\n });\n }\n return acc;\n }, (_a = {}, _a[DemographicTypeEnum.Sex] = [{ data: [] }], _a[DemographicTypeEnum.Race] = [{ data: [] }], _a[DemographicTypeEnum.Age] = [{ data: [] }], _a));\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [chartData.data]);\n return __spreadArrays([\n __assign(__assign({}, chartData), { data: data })\n ], res);\n};\nexport var useChartData = function () {\n var statisticChartData = useStatisticData();\n var aggregatedChartData = useAggregatedData();\n var filterSettings = useFilterSetting();\n var _a = filterSettings.isAggregatedDataSource ? aggregatedChartData : statisticChartData, data = _a[0], fetchData = _a[1], res = _a.slice(2);\n var fetchDataWrapper = useCallback(function () {\n var _a;\n if (filterSettings.forceUpdate) {\n var ageRanges = (_a = filterSettings.demographics) === null || _a === void 0 ? void 0 : _a.ages;\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Demographic,\n ageRanges: (ageRanges === null || ageRanges === void 0 ? void 0 : ageRanges.length) ? ageRanges : ALL_AGE_VALUES,\n },\n } }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterSettings.forceUpdate]);\n return __spreadArrays([data, fetchDataWrapper], res);\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useCallback, useState } from 'react';\nimport styled from 'styled-components';\nimport { components } from 'react-select';\nimport { useViewValue, useFilterSetting } from '../state';\nimport { Select } from '../common';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../enums';\nimport { getDisplayText } from '../utils';\nimport { useLookupState, useLookupZipCodeDistrict, LookupMSAComponent, useLookupMSA, LookupCountyComponent, useLookupCounty, } from '../lookupdata';\nimport { useEffectFilterSettingCount } from './useeffectfiltercount';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useViewport } from '../map';\nimport { useFilterCount } from '../filterdialog';\nvar EXCLUDE_STATE_COUNT_INDEXES = ['lupus', 'fluvaccine'];\nvar StyledParentOption = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledChildOption = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar usePatientCountForState = function () {\n var indexConfig = useHostnameIndexInfo();\n var _a = useFilterCount('STATE_CODE', indexConfig), countData = _a[0], res = _a.slice(1);\n var filterSetting = useFilterSetting();\n var formatOptionLabel = useCallback(function (i) {\n var _a;\n var showLabelCount = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && !filterSetting.isAggregatedDataSource\n // NMQF-2098: Skip filter count for STATE_CODE in Lupus index\n && !EXCLUDE_STATE_COUNT_INDEXES.includes(indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname);\n return \"\" + i.stateName + (showLabelCount ? \" (\" + getDisplayText((_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.stateCode]) + \")\" : '');\n }, [countData.data, filterSetting.isAggregatedDataSource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname]);\n return __spreadArrays([__assign(__assign({}, countData), { formatOptionLabel: formatOptionLabel })], res);\n};\nvar transformLookupStateForGeoId = function (i, suffix) {\n if (suffix === void 0) { suffix = ''; }\n return (__assign(__assign({}, i), { value: \"\" + parseInt(i.stateCode, 10) + suffix, label: i.stateName }));\n};\nvar useCombineTwoGeoLevel = function (dataByStateCode, sortFn, transformFn, isCombineKey, key) {\n if (isCombineKey === void 0) { isCombineKey = true; }\n var lookupState = useLookupState()[0];\n var countData = usePatientCountForState()[0];\n var _a = useState([]), options = _a[0], setOptions = _a[1];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n useEffect(function () {\n var _a;\n setOptions((_a = lookupState.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return !singleState || parseInt(i.stateCode, 10) === singleState.stateCode; }).flatMap(function (i) {\n var _a, _b;\n var parent = transformLookupStateForGeoId(i, '-');\n var data = key ? (_a = dataByStateCode.data) === null || _a === void 0 ? void 0 : _a[key] : dataByStateCode.data;\n var children = (_b = data === null || data === void 0 ? void 0 : data[i.stateCode]) === null || _b === void 0 ? void 0 : _b.sort(sortFn).map(function (child) {\n var transformedChild = transformFn(child);\n var childValue = (\"\" + transformedChild.value).replace(/^0+(\\d+)$/, '$1');\n return __assign(__assign({}, transformedChild), { value: isCombineKey ? \"\" + parent.value + childValue : childValue, parent: parent });\n });\n return (children === null || children === void 0 ? void 0 : children.length) ? __spreadArrays([__assign(__assign({}, parent), { children: children })], children) : [];\n }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupState.data, dataByStateCode.data]);\n var formatOptionLabel = function (i) { var _a; return (((_a = i.children) === null || _a === void 0 ? void 0 : _a.length) ? countData.formatOptionLabel(i) : i.label); };\n return {\n options: options,\n noSort: true,\n isLoading: lookupState.requesting || dataByStateCode.requesting,\n components: { Option: Option },\n formatOptionLabel: formatOptionLabel,\n };\n};\nvar useZipCodeDistrictSelectProps = function (key, isCombineKey) {\n var dataByStateCode = useLookupZipCodeDistrict()[0];\n var sortFn = function (a, b) { return (\"\" + a).padStart(5, '0').localeCompare((\"\" + b).padStart(5, '0')); };\n var transformFn = function (value) { return ({ value: value, label: value }); };\n return useCombineTwoGeoLevel(dataByStateCode, sortFn, transformFn, isCombineKey, key);\n};\nvar Option = function (props) {\n var _a;\n var StyledOption = ((_a = props.data.children) === null || _a === void 0 ? void 0 : _a.length) ? StyledParentOption : StyledChildOption;\n return (React.createElement(components.Option, __assign({}, props),\n React.createElement(StyledOption, null, props.children)));\n};\nvar SingleValue = function (props) {\n return (React.createElement(components.SingleValue, __assign({}, props),\n props.data.parent && React.createElement(\"b\", null,\n props.data.parent.label,\n \"\\u00A0\"),\n props.data.label));\n};\nvar GeoSelectComponent = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var _b = useViewValue('mapView', 'zoomId'), setZoomId = _b[1];\n var _c = useViewport(), resetViewport = _c[2];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : null;\n var handleChange = function (id) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail, id: id });\n setZoomId(id);\n if (!id) {\n resetViewport();\n }\n };\n return (React.createElement(Select, __assign({}, props, { components: __assign(__assign({}, props.components), { SingleValue: SingleValue }), isClearable: true, width: \"17\", name: \"selectId\", indicatorIcon: \"search\", value: selectedId, onChange: handleChange })));\n};\nvar ZipCodeComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('zipCode5ByState', false);\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or Zip Code\" }, selectProps));\n};\nvar Zip3Component = function () {\n var selectProps = useZipCodeDistrictSelectProps('zipCode3ByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or Zip Code\" }, selectProps));\n};\nvar CongrestionalComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('congressionalDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar StateUpperComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('upperHouseDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar StateLowerComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('lowerHouseDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar CountyComponent = function () {\n var countyData = useLookupCounty()[0];\n var sortFn = function (a, b) { return a.countyName.toLowerCase().localeCompare(b.countyName.toLowerCase()); };\n var transformFn = function (i) { return ({ value: i.countyCode, label: i.countyName }); };\n var selectProps = useCombineTwoGeoLevel(countyData, sortFn, transformFn);\n return (React.createElement(React.Fragment, null,\n React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or County\" }, selectProps)),\n React.createElement(LookupCountyComponent, null)));\n};\nvar StateComponent = function () {\n var lookupState = useLookupState()[0];\n var countData = usePatientCountForState()[0];\n return (React.createElement(GeoSelectComponent, { placeholder: \"Search State\", isLoading: lookupState.requesting, options: lookupState.data, optionsTransform: function (i) { return transformLookupStateForGeoId(i); }, formatOptionLabel: countData.formatOptionLabel }));\n};\nvar MSAComponent = function () {\n var _a;\n var lookupMsa = useLookupMSA()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var re = new RegExp(\"^[^,]*,.*(?: |-)(\" + (singleState === null || singleState === void 0 ? void 0 : singleState.stateAbb) + \")(?:$| |-)\");\n var options = singleState ? (_a = lookupMsa.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return re.test(i.msaName); }) : lookupMsa.data;\n return (React.createElement(React.Fragment, null,\n React.createElement(GeoSelectComponent, { placeholder: \"Search MSA\", isLoading: lookupMsa.requesting, options: options, optionsTransform: function (i) { return ({ value: i.msaNumber, label: i.msaName }); } }),\n React.createElement(LookupMSAComponent, null)));\n};\nvar SEARCH_COMPONENT_BY_GEO = (_a = {},\n _a[GeoLevelEnum.Zip5] = ZipCodeComponent,\n _a[GeoLevelEnum.Zip3] = Zip3Component,\n _a[GeoLevelEnum.State] = StateComponent,\n _a[GeoLevelEnum.County] = CountyComponent,\n _a[GeoLevelEnum.MSA] = MSAComponent,\n _a[GeoLevelEnum.Congressional] = CongrestionalComponent,\n _a[GeoLevelEnum.StateUpper] = StateUpperComponent,\n _a[GeoLevelEnum.StateLower] = StateLowerComponent,\n _a);\nexport var GeoSearchComponent = function () {\n var _a = usePatientCountForState(), fetchPatientCountForState = _a[1];\n var geoLevel = useViewValue('geoType')[0];\n var SearchCoponent = geoLevel && SEARCH_COMPONENT_BY_GEO[geoLevel];\n useEffectFilterSettingCount(function (body, indexConfig) {\n // NMQF-2098: Skip filter count for STATE_CODE in Lupus index\n if (!EXCLUDE_STATE_COUNT_INDEXES.includes(indexConfig.hostname)) {\n fetchPatientCountForState(body);\n }\n });\n return React.createElement(React.Fragment, null, SearchCoponent && React.createElement(SearchCoponent, null));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport styled from 'styled-components';\nimport { components } from 'react-select';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useViewValue, useFilterValue, useFilterSetting } from '../state';\nimport { VIEW_MODES, CHART_VIEW_OPTIONS } from '../configs';\nimport { DropdownToggleIcon, DropdownItem, Select } from '../common';\nimport { ViewModeEnum, ChartViewEnum, RightPanelTypeEnum } from '../enums';\nimport { GeoSearchComponent } from './geosearch';\nimport { useAggregatedGeoLevel } from '../filterdialog/aggregateddatasource';\nimport { getStatisticShortName, GEO_LEVELS } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks';\nvar DisplayOption = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) {\\n margin-left: auto;\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) {\\n margin-left: auto;\\n }\\n\"])));\nvar StyledViewModeOption = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0 0.5rem;\\n display: flex;\\n color: #000;\\n display: flex;\\n align-items: center;\\n\"], [\"\\n padding: 0 0.5rem;\\n display: flex;\\n color: #000;\\n display: flex;\\n align-items: center;\\n\"])));\nvar SearchLabel = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #fff;\\n margin-right: 0.5rem;\\n\"], [\"\\n color: #fff;\\n margin-right: 0.5rem;\\n\"])));\nvar StyledComponentWithScreen = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n @media only screen and (max-width: 720px) {\\n display: none;\\n }\\n\"], [\"\\n @media only screen and (max-width: 720px) {\\n display: none;\\n }\\n\"])));\nexport var MapViewOption = function () {\n var viewMode = useViewValue('viewMode')[0];\n var _a = useViewValue('geoType'), geoLevel = _a[0], setGeoLevel = _a[1];\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var filterSettings = useFilterSetting();\n var aggregatedGeoLevelData = useAggregatedGeoLevel(filterSettings)[0];\n var availableGeography = useGeneralConfigByDataSource('availableGeography');\n var isOptionDisabled = function (option) { var _a; return !!filterSettings.isAggregatedDataSource && !((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.some(function (i) { return i === option.value; })); };\n var isOptionDisabledByGeneralConfig = function (option) { return Array.isArray(availableGeography) && !availableGeography.includes(option.value); };\n var handleChangeGeoLevel = function (value) {\n setGeoLevel(value);\n if (value !== geoLevel && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n };\n if (viewMode !== ViewModeEnum.Map && viewMode !== ViewModeEnum.Table)\n return null;\n return (React.createElement(StyledViewModeOption, null,\n viewMode === ViewModeEnum.Map && (React.createElement(React.Fragment, null,\n React.createElement(SearchLabel, null, \"Show\"),\n React.createElement(Select, { minMenuHeight: 330, maxMenuHeight: 500, width: \"16\", className: \"mr-1\", name: \"geoLevel\", options: GEO_LEVELS, noSort: true, value: geoLevel, onChange: handleChangeGeoLevel, isOptionDisabled: isOptionDisabledByGeneralConfig || isOptionDisabled }))),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(GeoSearchComponent, null))));\n};\nvar StyledCheckIcon = styled(FontAwesomeIcon)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n position: absolute;\\n left: 1.25rem;\\n\"], [\"\\n position: absolute;\\n left: 1.25rem;\\n\"])));\nvar StyleSelectChartView = styled(Select)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n max-width: calc(100vw - 7rem);\\n\"], [\"\\n max-width: calc(100vw - 7rem);\\n\"])));\nvar ChartViewSearchOption = function (props) {\n return (React.createElement(components.Option, __assign({}, props, { className: props.data.isParent ? 'font-weight-bold' : 'pl-5 position-relative' }),\n props.data.checked && React.createElement(StyledCheckIcon, { className: \"position-absolute\", icon: \"check\" }),\n props.children));\n};\nvar ChartViewDemographicValue = function (props) {\n var _a;\n var demographics = useViewValue('chartView', 'demographics')[0];\n var childrenName = (_a = props.data.children) === null || _a === void 0 ? void 0 : _a.filter(function (child) { return demographics === null || demographics === void 0 ? void 0 : demographics.some(function (v) { return v === child.value; }); }).map(function (child) { return child.label; }).join(', ');\n return (React.createElement(components.SingleValue, __assign({}, props),\n React.createElement(\"b\", null, props.children),\n \"\\u00A0\",\n React.createElement(\"span\", null, childrenName)));\n};\nvar ChartViewTrendValue = function (props) {\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n return (React.createElement(components.SingleValue, __assign({}, props),\n React.createElement(\"b\", null, props.children),\n \"\\u00A0\",\n React.createElement(\"span\", null,\n \"Yearly \",\n statisticName)));\n};\nexport var ChartViewOption = function () {\n var viewMode = useViewValue('viewMode')[0];\n var _a = useViewValue('chartView', 'type'), chartViewType = _a[0], setChartViewType = _a[1];\n var _b = useViewValue('chartView', 'demographics'), demographics = _b[0], setDemographics = _b[1];\n var selectingChildrenMap = useMemo(function () {\n var _a;\n return (_a = {},\n _a[ChartViewEnum.Demographic] = [demographics, setDemographics],\n _a[ChartViewEnum.Trends] = undefined,\n _a);\n }, [demographics, setDemographics]);\n var options = useMemo(function () {\n return CHART_VIEW_OPTIONS.flatMap(function (option) {\n var childrenSelecting = (selectingChildrenMap[option.value] || [])[0];\n return __spreadArrays([\n __assign(__assign({}, option), { isParent: true })\n ], (option.children || []).map(function (child) { return (__assign(__assign({}, child), { parent: option, checked: childrenSelecting === null || childrenSelecting === void 0 ? void 0 : childrenSelecting.some(function (v) { return v === child.value; }) })); }));\n });\n }, [selectingChildrenMap]);\n var handleChange = function (value, name, values) {\n var _a, _b;\n if (values.isParent) {\n setChartViewType(value);\n }\n else {\n var _c = selectingChildrenMap[values.parent.value] || [], childrenSelecting_1 = _c[0], setter = _c[1];\n var isChecking = !!(childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return v === value; }));\n if (isChecking) {\n setter === null || setter === void 0 ? void 0 : setter((_a = values.parent.children) === null || _a === void 0 ? void 0 : _a.filter(function (option) { return (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.length) === 1 || (option.value !== value && (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return option.value === v; }))); }).map(function (option) { return option.value; }));\n }\n else {\n setter === null || setter === void 0 ? void 0 : setter((_b = values.parent.children) === null || _b === void 0 ? void 0 : _b.filter(function (option) { return option.value === value || (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return option.value === v; })); }).map(function (option) { return option.value; }));\n }\n }\n };\n if (viewMode !== ViewModeEnum.Chart)\n return null;\n return (React.createElement(StyledViewModeOption, null,\n React.createElement(SearchLabel, null, \"Show\"),\n React.createElement(StyleSelectChartView, { name: \"chartViewType\", width: \"22\", options: options, noSort: true, value: chartViewType, onChange: handleChange, indicatorIcon: \"search\", components: {\n Option: ChartViewSearchOption,\n SingleValue: chartViewType === ChartViewEnum.Demographic ? ChartViewDemographicValue : ChartViewTrendValue,\n }, isOptionDisabled: function (i) { return !!i.parent && chartViewType !== i.parent.value; } })));\n};\nexport var ViewModeComponent = function () {\n var _a = useViewValue('viewMode'), viewMode = _a[0], setViewMode = _a[1];\n var selectingOption = VIEW_MODES[viewMode];\n return (React.createElement(UncontrolledDropdown, null,\n React.createElement(DropdownToggleIcon, { icon: selectingOption.icon, size: \"2x\", caret: true, title: \"Change view\", placement: \"top\" }),\n React.createElement(DropdownMenu, { right: true }, Object.values(VIEW_MODES).map(function (opt) { return (React.createElement(DropdownItem, { key: opt.value, icon: opt.icon, label: opt.label, value: opt.value, onChange: setViewMode })); }))));\n};\nexport var DisplayOptionComponent = function () {\n return (React.createElement(DisplayOption, null,\n React.createElement(MapViewOption, null),\n React.createElement(ChartViewOption, null),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(ViewModeComponent, null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { DropdownItem, DropdownMenu, UncontrolledDropdown } from 'reactstrap';\nimport moment from 'moment';\nimport { Authenticated, useAuth } from '../authentication';\nimport { DropdownToggleIcon } from '../common';\nimport { ClinicalTrialOptionEnum, RoleEnum, ViewModeEnum } from '../enums';\nimport { exportFilterSettingPayload, useFilterSetting, useViewSetting, useViewValue } from '../state';\nimport { useMapRef, useMapValue } from '../map';\nimport styled from 'styled-components';\nimport { getGeoLevelLabel, getStatisticShortName } from '../lookupdata';\nimport { useExport } from '../export';\nimport { useProviderSetting } from '../selectors';\nvar EXPORT_CSV_API = '/api/provider/export-csv';\nvar EXPORT_CLINICAL_TRIAL_CSV_API = '/api/clinical-trials/export-to-excel-file';\nvar EXPORT_QUEST_DIAGNOSTICS_SIE_CSV_API = '/api/quest-diagnostics/export-to-excel-file';\nvar StyledDropdownItem = styled(DropdownItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-left: 3rem;\\n position: relative;\\n\"], [\"\\n padding-left: 3rem;\\n position: relative;\\n\"])));\nexport var ProviderDownloadButton = function () {\n var auth = useAuth();\n var filterSetting = useFilterSetting();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var editorRef = useMapValue('editorRef')[0];\n var providerSetting = useProviderSetting()[0];\n var _a = providerSetting || {}, doGetPrimaryCareProvider = _a.doGetPrimaryCareProvider, doGetHospitalProvider = _a.doGetHospitalProvider, specialistProviders = _a.specialistProviders, available = _a.available;\n var show = available && viewMode === ViewModeEnum.Map;\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { providerParam: {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(),\n dateTimeStringForExportingCsv: moment().format('YYYYMMDD HHmmss'),\n polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1),\n } })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!show)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Providers\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Patient Demographics for Providers in Region\")));\n};\nexport var ClinicalTrialDownloadButton = function () {\n var auth = useAuth();\n var filterSetting = useFilterSetting();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var clinicalTrialOption = useViewValue('clinicalTrial', 'clinicalTrialOption')[0];\n var filterRecruitmentStatuses = useViewValue('clinicalTrialStatus', 'filterRecruitmentStatuses')[0];\n var editorRef = useMapValue('editorRef')[0];\n var show = !!clinicalTrialOption;\n show = show && viewMode === ViewModeEnum.Map;\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_CLINICAL_TRIAL_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { primaryCoMorbidities: clinicalTrialOption === ClinicalTrialOptionEnum.AllTrials ? undefined : filterSetting.primaryCoMorbidities, bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(), currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1), filterRecruitmentStatuses: filterRecruitmentStatuses })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!show)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Clinical Trials\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Trials in Region\")));\n};\nexport var QuestDiagnosticsSitesDownloadButton = function () {\n var auth = useAuth();\n var checkedQuestDiagnosticsStatus = useViewValue('checkedQuestDiagnosticsStatus')[0];\n var filterSetting = useFilterSetting();\n var viewMode = useViewValue('viewMode')[0];\n var mapRef = useMapRef();\n var editorRef = useMapValue('editorRef')[0];\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_QUEST_DIAGNOSTICS_SIE_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(), currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1) })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!checkedQuestDiagnosticsStatus || viewMode !== ViewModeEnum.Map)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Quest Diagnostics Sites\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Quest Diagnostics in Region\")));\n};\nexport var BeneficiaryExportButton = function () {\n var _a;\n var filterSetting = useFilterSetting();\n var viewSetting = useViewSetting();\n var geoLevel = viewSetting.geoType;\n var geoLevelLabel = getGeoLevelLabel(geoLevel);\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticName = getStatisticShortName(statistic);\n var _b = useExport(), disabled = _b[0], handleExport = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Beneficiaries\"),\n React.createElement(StyledDropdownItem, { onClick: handleExport, disabled: disabled },\n statisticName,\n \" by \",\n geoLevelLabel)));\n};\nexport var DownloadButton = function (props) {\n return (React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.GeneralUser, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(UncontrolledDropdown, null,\n React.createElement(DropdownToggleIcon, { icon: \"cloud-download-alt\", size: \"2x\", placement: \"top\", title: \"Download data\" }),\n React.createElement(DropdownMenu, null,\n React.createElement(BeneficiaryExportButton, null),\n props.children))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { IconButton } from '../common';\nimport { ViewModeEnum } from '../enums';\nimport { useViewValue } from '../state';\nimport { DisplayOptionComponent, ViewModeComponent } from './displayoption';\nimport { GeoSearchComponent } from './geosearch';\nimport { ShareLinkButton } from './sharelinkbutton';\nvar StyledFilterBar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 100%;\\n display: flex;\\n align-items: center;\\n padding: 0.75rem;\\n // box-shadow: 0 5px 10px -5px;\\n flex: 0 0 auto !important;\\n min-width: 17rem;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 599;\\n color: #fff;\\n\"], [\"\\n width: 100%;\\n display: flex;\\n align-items: center;\\n padding: 0.75rem;\\n // box-shadow: 0 5px 10px -5px;\\n flex: 0 0 auto !important;\\n min-width: 17rem;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 599;\\n color: #fff;\\n\"])));\nvar Separator = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n align-self: stretch;\\n background-color: #fff;\\n width: 1px;\\n margin: 0.25rem 0.5rem;\\n display: none;\\n\\n @media only screen and (max-width: 720px) {\\n display: block;\\n border-bottom: 1px solid #ffffff;\\n width: 19.5rem;\\n }\\n\"], [\"\\n align-self: stretch;\\n background-color: #fff;\\n width: 1px;\\n margin: 0.25rem 0.5rem;\\n display: none;\\n\\n @media only screen and (max-width: 720px) {\\n display: block;\\n border-bottom: 1px solid #ffffff;\\n width: 19.5rem;\\n }\\n\"])));\nvar LeftSide = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n flex: auto;\\n display: flex;\\n justify-content: left;\\n align-items: center;\\n\"], [\"\\n flex: auto;\\n display: flex;\\n justify-content: left;\\n align-items: center;\\n\"])));\nvar RightSide = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"], [\"\\n flex: 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"])));\nvar Navbar = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n flex-grow: 1;\\n\\n @media only screen and (max-width: 720px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n flex-direction: column;\\n align-items: flex-start;\\n \", \"\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n flex-grow: 1;\\n\\n @media only screen and (max-width: 720px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n flex-direction: column;\\n align-items: flex-start;\\n \", \"\\n }\\n\"])), function (_a) {\n var show = _a.show;\n return show ? 'display: flex;' : '';\n});\nvar HamburgerButton = styled(IconButton)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n display: none;\\n\\n @media only screen and (max-width: 940px) {\\n display: flex;\\n }\\n\"], [\"\\n display: none;\\n\\n @media only screen and (max-width: 940px) {\\n display: flex;\\n }\\n\"])));\nvar ListIcon = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) and (max-width: 940px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n align-items: flex-start;\\n \", \"\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) and (max-width: 940px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n align-items: flex-start;\\n \", \"\\n }\\n\"])), function (_a) {\n var show = _a.show;\n return show ? 'display: flex;' : '';\n});\nvar StyledComponentWithScreen = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"], [\"\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"])));\nexport var FilterBar = function (props) {\n var location = useLocation();\n var viewMode = useViewValue('viewMode')[0];\n var _a = useState(false), show = _a[0], setShow = _a[1];\n return (React.createElement(StyledFilterBar, null,\n React.createElement(LeftSide, null,\n React.createElement(HamburgerButton, { icon: show ? 'times' : 'bars', size: '2x', onClick: function () { return setShow(!show); } }),\n React.createElement(Navbar, { show: show },\n React.createElement(ListIcon, { show: show },\n React.createElement(IconButton, { icon: \"filter\", size: \"2x\", onClick: function () { return props.toggleFilterDialog(); }, title: \"Set filter criteria\", placement: \"top\" }),\n props.children,\n React.createElement(ShareLinkButton, null),\n React.createElement(IconButton, { icon: \"share\", size: \"2x\", tag: \"a\", href: location.search, target: \"_blank\", rel: \"opener\", title: \"Open current view in new tab\", placement: \"top\" }),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(ViewModeComponent, null))),\n React.createElement(Separator, null),\n React.createElement(DisplayOptionComponent, null))),\n React.createElement(RightSide, null, (viewMode === ViewModeEnum.Map || viewMode === ViewModeEnum.Table) && React.createElement(GeoSearchComponent, null))));\n};\nexport * from './downloadbutton';\nexport * from './useeffectfiltercount';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Tooltip } from 'reactstrap';\nimport { IconButton } from '../common';\nimport { useShareableLink } from '../storeduivalue';\nexport var ShareLinkButton = function (props) {\n var btnRef = useRef(null);\n var _a = useState(false), isOpenNotify = _a[0], setIsOpenNotify = _a[1];\n var _b = useShareableLink(), shareableLinkData = _b[0], fetchShareableLinkData = _b[1], clearShareableLinkData = _b[2];\n var isUnmounted = useRef(false);\n useEffect(function () {\n isUnmounted.current = false;\n return function () {\n isUnmounted.current = true;\n };\n }, []);\n useEffect(function () {\n if (isOpenNotify) {\n var handler_1 = setTimeout(setIsOpenNotify, 3000, false);\n return function () { return clearTimeout(handler_1); };\n }\n }, [isOpenNotify]);\n useEffect(function () {\n var createClipboardLink = function (url) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.clipboard.writeText(url)];\n case 1:\n _a.sent();\n if (!isUnmounted.current) {\n setIsOpenNotify(true);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (shareableLinkData.data) {\n createClipboardLink(shareableLinkData.data);\n return clearShareableLinkData;\n }\n }, [clearShareableLinkData, shareableLinkData.data]);\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { ref: btnRef },\n React.createElement(IconButton, { loading: shareableLinkData.requesting, icon: \"link\", size: \"2x\", onClick: fetchShareableLinkData, title: \"Copy link of current view to clipboard\" })),\n btnRef.current && (React.createElement(Tooltip, { isOpen: isOpenNotify, target: btnRef.current, placement: \"bottom-start\", hideArrow: true }, \"A link to this view was copied to your clipboard.\"))));\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport bbox from '@turf/bbox';\nimport intersect from '@turf/intersect';\nimport { useViewSetting, useFilterSetting, useFilterValue } from '../state';\nimport { ViewModeEnum, ChartViewEnum, DemographicTypeEnum } from '../enums';\nimport { DATA_SOURCES } from '../configs';\nimport { useLookupCondition, getStatisticShortName, useLookupSexCode, useLookupRaceCode, useLookupZipCodeDistrict, useCMSDataYear, useLookupState, AGE_OPTIONS, getAgeLabel, stringifyAgeValue, } from '../lookupdata';\nimport { useSelectedGeoIdInfo } from '../map/geoselectedinfo';\nimport { useMapData } from '../map/patientchoroplethlayer/usemapdata';\nimport { useMapRef, useMapValue, useSelectedGeoJson } from '../map';\nimport { useChartData } from '../demographicchart/usechartdata';\nimport { useTrendLineData } from '../trendline/usetrendlinedata';\nimport { getDisplayText } from '../utils';\nimport { useExtractTableData } from '../tableview';\nexport var exportCSV = function (data, fileName) {\n var processCell = function (cell) { return (cell === null ? '' : \"\\\"\" + cell.toString().replace(/\"/g, '\"\"') + \"\\\"\"); };\n var processRow = function (row) { return row.map(processCell).join(','); };\n var csvFile = data.map(processRow).join('\\n');\n var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });\n var encodedUri = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = encodedUri;\n link.download = fileName + \".csv\";\n link.click();\n};\nexport var useFileName = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var filterSettings = useFilterSetting();\n var viewSettings = useViewSetting();\n var lookupCondition = useLookupCondition(filterSettings.comorbidities)[0];\n var csvNameArr = [];\n var selectedGeoInfo = useSelectedGeoIdInfo(viewSettings);\n if (viewSettings.viewMode !== ViewModeEnum.Chart || ((_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.type) !== ChartViewEnum.Trends) {\n csvNameArr.push(filterSettings.dataYear);\n }\n var dataSource = (_b = filterSettings.statistic) === null || _b === void 0 ? void 0 : _b.cmsDataSource;\n csvNameArr.push(filterSettings.isAggregatedDataSource ? filterSettings.dataSourceName : dataSource && DATA_SOURCES[dataSource].abbreviation);\n if (!filterSettings.isAggregatedDataSource) {\n csvNameArr.push((_c = lookupCondition.labeledValues) === null || _c === void 0 ? void 0 : _c.slice(0, 2).map(function (option) { return option.chronicConditionName; }).join(' '));\n }\n csvNameArr.push(getStatisticShortName((_d = filterSettings.statistic) === null || _d === void 0 ? void 0 : _d.statisticOption));\n if (viewSettings.viewMode === ViewModeEnum.Map || viewSettings.viewMode === ViewModeEnum.Table) {\n csvNameArr.push(selectedGeoInfo.join('-'));\n }\n else if (((_e = viewSettings.chartView) === null || _e === void 0 ? void 0 : _e.type) === ChartViewEnum.Demographic) {\n csvNameArr.push('Demographics');\n csvNameArr.push((_f = viewSettings.chartView.demographics) === null || _f === void 0 ? void 0 : _f.join(''));\n }\n else {\n csvNameArr.push('Trends');\n csvNameArr.push(((_g = viewSettings.chartView) === null || _g === void 0 ? void 0 : _g.startingYear) + \"-\" + ((_h = viewSettings.chartView) === null || _h === void 0 ? void 0 : _h.endingYear));\n }\n csvNameArr.push(new Date().toISOString().slice(0, 10).replace(/-/g, ''));\n return csvNameArr.map(function (partName) { return (\"\" + partName).toLowerCase().replace(/[ /]/g, ''); }).join('_');\n};\nvar useExportGeoData = function (viewMode) {\n var _a;\n var mapData = useMapData()[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var lookupState = useLookupState()[0];\n var lookupGeo = useLookupZipCodeDistrict()[0];\n var extractTableData = useExtractTableData();\n var mapRef = useMapRef();\n var editorRef = useMapValue('editorRef')[0];\n var disabled = mapData.requesting || !!mapData.error || !((_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features.length) || !lookupState.data || !lookupGeo.data;\n var getExportData = function () {\n var _a, _b;\n var intersectionIds;\n var poly = (_a = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures()[0];\n if (viewMode === ViewModeEnum.Map && poly) {\n try {\n var _c = bbox(poly), minLng = _c[0], minLat = _c[1], maxLng = _c[2], maxLat = _c[3];\n var map = (_b = mapRef.current) === null || _b === void 0 ? void 0 : _b.getMap();\n var selectedFeatures = map === null || map === void 0 ? void 0 : map.queryRenderedFeatures([map.project([minLng, minLat]), map.project([maxLng, maxLat])], {\n layers: ['patientchoroplethlayer'],\n });\n intersectionIds = selectedFeatures === null || selectedFeatures === void 0 ? void 0 : selectedFeatures.reduce(function (acc, _a) {\n var _b;\n var properties = _a.properties;\n var id = properties.id;\n var feature = (_b = geoJsonData.mapFeature) === null || _b === void 0 ? void 0 : _b[id];\n if (feature && intersect(poly, feature)) {\n acc[id] = id;\n }\n return acc;\n }, Object.assign({}));\n }\n catch (e) {\n console.error(e);\n }\n }\n var _d = extractTableData(intersectionIds), columns = _d[0], data = _d[1];\n var header = columns.map(function (col) { return col.text; });\n var rows = data.map(function (row) { return columns.map(function (col) { return row[col.dataField].displayText; }); });\n return __spreadArrays([header], rows);\n };\n return [disabled, getExportData];\n};\nvar useExportDemographicChartData = function () {\n var _a, _b, _c;\n var demographicChartData = useChartData()[0];\n var lookupSex = useLookupSexCode()[0];\n var filterSettings = useFilterSetting();\n var lookupRace = useLookupRaceCode(filterSettings.raceMethodology)[0];\n var viewSettings = useViewSetting();\n var customAge = ((_c = (_b = (_a = filterSettings.demographics) === null || _a === void 0 ? void 0 : _a.ages) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.isCustom) ? filterSettings.demographics.ages[0] : undefined;\n var disabled = demographicChartData.requesting || !!demographicChartData.error || !lookupSex.data || !lookupRace.data;\n var getExportData = function () {\n var _a, _b;\n var header = [];\n var row = [];\n (_b = (_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.demographics) === null || _b === void 0 ? void 0 : _b.forEach(function (type) {\n var _a;\n var data = (_a = demographicChartData.data) === null || _a === void 0 ? void 0 : _a[type][0].data;\n if (filterSettings.isAggregatedDataSource) {\n data === null || data === void 0 ? void 0 : data.forEach(function (item) {\n header.push(item.name);\n row.push(getDisplayText(item.value, item.suffix, item.prefix));\n });\n }\n else {\n var targetLookup = type === DemographicTypeEnum.Sex\n ? lookupSex.data\n : type === DemographicTypeEnum.Race\n ? lookupRace.data\n : __spreadArrays(AGE_OPTIONS, [{ value: customAge && stringifyAgeValue(customAge), label: \"Custom \" + getAgeLabel(customAge) }]);\n targetLookup === null || targetLookup === void 0 ? void 0 : targetLookup.forEach(function (option) {\n header.push(option.label);\n var item = data === null || data === void 0 ? void 0 : data.find(function (_a) {\n var id = _a.id;\n return id === (option.stringified || option.value);\n });\n row.push(getDisplayText(item === null || item === void 0 ? void 0 : item.value, item === null || item === void 0 ? void 0 : item.suffix, item === null || item === void 0 ? void 0 : item.prefix));\n });\n }\n });\n return [header, row];\n };\n return [disabled, getExportData];\n};\nexport var useExportTrendYearlyData = function () {\n var dataSource = useFilterValue('statistic', 'cmsDataSource')[0];\n var yearData = useCMSDataYear(dataSource)[0];\n var trendData = useTrendLineData()[0];\n var disabled = trendData.requesting || !!trendData.error || !yearData.data;\n var getExportData = function () {\n var _a;\n var header = [];\n var row = [];\n (_a = trendData.data) === null || _a === void 0 ? void 0 : _a.forEach(function (i) {\n header.push(\"\" + i.year);\n row.push(getDisplayText(i.value, i.suffix, i.prefix));\n });\n return [header, row];\n };\n return [disabled, getExportData];\n};\nexport var useExport = function () {\n var _a;\n var viewSettings = useViewSetting();\n var exportGeoData = useExportGeoData(viewSettings.viewMode);\n var exportDemographicChartData = useExportDemographicChartData();\n var exportTrendYearlyData = useExportTrendYearlyData();\n var fileName = useFileName();\n var _b = viewSettings.viewMode === ViewModeEnum.Map || viewSettings.viewMode === ViewModeEnum.Table\n ? exportGeoData\n : ((_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.type) === ChartViewEnum.Demographic\n ? exportDemographicChartData\n : exportTrendYearlyData, disabled = _b[0], getExportData = _b[1];\n var handleExport = function () {\n var data = getExportData();\n var processCell = function (cell) { return (cell === null ? '' : \"\\\"\" + cell.toString().replace(/\"/g, '\"\"') + \"\\\"\"); };\n var processRow = function (row) { return row.map(processCell).join(','); };\n var csvFile = data.map(processRow).join('\\n');\n var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });\n var encodedUri = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = encodedUri;\n link.download = fileName + \".csv\";\n link.click();\n };\n return [disabled, handleExport];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { useAPI } from '../state';\nimport { FallbackComponent } from '../common';\nimport { useMount } from '../hooks';\nimport { useAuth } from '../authentication';\nimport { useState } from 'react';\nvar GET_INDEX_CONFIGURATION_API_URL = '/api/general/get-index-configuration/{hostname}';\nexport var extractHostname = function () {\n return window.location.host.split('.')[0];\n};\nvar useFetchIndexConfiguration = function () {\n var hostname = extractHostname();\n return useAPI(GET_INDEX_CONFIGURATION_API_URL, { hostname: hostname });\n};\nexport var HostNameIndexInfoProvider = function (props) {\n var _a = useFetchIndexConfiguration(), data = _a[0], fetchIndexGeneralInfo = _a[1];\n var auth = useAuth();\n var _b = useState(true), isCheckingToken = _b[0], setIsCheckingToken = _b[1];\n useMount(function () {\n fetchIndexGeneralInfo();\n var refreshToken = function () { return __awaiter(void 0, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, auth.refreshToken()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n return [3 /*break*/, 3];\n case 3:\n setIsCheckingToken(false);\n return [2 /*return*/];\n }\n });\n }); };\n refreshToken();\n });\n return (React.createElement(FallbackComponent, { requesting: isCheckingToken || data.requesting === undefined || data.requesting, error: data.error, retry: fetchIndexGeneralInfo }, props.children));\n};\nexport var useIndexName = function () {\n var data = useFetchIndexConfiguration()[0].data;\n return (data === null || data === void 0 ? void 0 : data.indexName) || '';\n};\nexport var useHostnameIndexInfo = function () {\n return useFetchIndexConfiguration()[0].data;\n};\nexport var useDefaultFilter = function () {\n var data = useFetchIndexConfiguration()[0].data;\n return useMemo(function () {\n var _a, _b, _c, _d, _e;\n return (__assign(__assign({}, data === null || data === void 0 ? void 0 : data.defaultFilter), { comorbidities: [], primaryCoMorbidities: ((_a = data === null || data === void 0 ? void 0 : data.defaultFilter.comorbidities) === null || _a === void 0 ? void 0 : _a.slice(0, 1)) || [], available: data === null || data === void 0 ? void 0 : data.generalInformation.filterOnload, singleStateCode: (_b = data === null || data === void 0 ? void 0 : data.generalInformation.singleState) === null || _b === void 0 ? void 0 : _b.stateCode, singleStateAbb: (_c = data === null || data === void 0 ? void 0 : data.generalInformation.singleState) === null || _c === void 0 ? void 0 : _c.stateAbb, indexPrimaryCoMorbidities: data === null || data === void 0 ? void 0 : data.generalInformation.primaryConditions, reportTypes: data === null || data === void 0 ? void 0 : data.generalInformation.reportTypes, useMBSFChronicCondition: data === null || data === void 0 ? void 0 : data.generalInformation.useMBSFChronicCondition, dataYear: ((_d = data === null || data === void 0 ? void 0 : data.defaultFilter) === null || _d === void 0 ? void 0 : _d.dataYearSeason) ? undefined : (_e = data === null || data === void 0 ? void 0 : data.defaultFilter) === null || _e === void 0 ? void 0 : _e.dataYear }));\n }, [data]);\n};\nexport var HostNameMetaTagManager = function () {\n var indexInfo = useHostnameIndexInfo();\n useEffect(function () {\n if (indexInfo) {\n var _a = indexInfo.generalInformation, indexTitle = _a.indexTitle, indexOwner = _a.indexOwner;\n document.title = \"\" + indexTitle + (indexOwner && \" - \" + indexOwner);\n }\n }, [indexInfo]);\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var FilterSidebarConst = {\n InfluenzaVaccine: {\n tabId: 'influenzavaccinestab',\n title: 'Vaccine',\n },\n Vaccine: {\n tabId: 'vaccinestab',\n title: 'Vaccine',\n },\n PrimaryCondition: {\n tabId: 'primaryConditionTab',\n title: 'Primary Conditions',\n },\n SecondaryCondition: {\n tabId: 'secondaryConditionTab',\n title: 'Secondary Conditions',\n },\n AdditionalCondition: {\n tabId: 'additionalConditionTab',\n title: 'Additional Conditions',\n }\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nexport var overlayRule = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n background-color: #fff;\\n position: relative;\\n padding: 0.75rem;\\n border-radius: 0.25rem;\\n\"], [\"\\n background-color: #fff;\\n position: relative;\\n padding: 0.75rem;\\n border-radius: 0.25rem;\\n\"])));\nexport var StyledPanel = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n\"], [\"\\n \", \"\\n \", \"\\n\"])), overlayRule, function (_a) {\n var _b = _a.show, show = _b === void 0 ? true : _b;\n return (!show ? 'display:none;' : '');\n});\nvar StyledCloseButton = styled.button(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n \", \"\\n background-color: inherit;\\n padding: 0;\\n position: absolute;\\n cursor: pointer;\\n width: 2rem;\\n height: 2rem;\\n top: -0.85rem;\\n right: -0.85rem;\\n border-radius: 100%;\\n border: 0;\\n &:focus {\\n outline: none;\\n }\\n &:hover {\\n opacity: 0.8;\\n }\\n\"], [\"\\n \", \"\\n background-color: inherit;\\n padding: 0;\\n position: absolute;\\n cursor: pointer;\\n width: 2rem;\\n height: 2rem;\\n top: -0.85rem;\\n right: -0.85rem;\\n border-radius: 100%;\\n border: 0;\\n &:focus {\\n outline: none;\\n }\\n &:hover {\\n opacity: 0.8;\\n }\\n\"])), overlayRule);\nexport var CloseButton = function (props) {\n if (!props.onClick)\n return null;\n return (React.createElement(StyledCloseButton, { onClick: props.onClick },\n React.createElement(FontAwesomeIcon, { icon: faTimes })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { GeoLevelEnum, StatisticTypeEnum } from '../../enums';\nimport { getDisplayText } from '../../utils';\nimport { getStatisticShortName } from '../../lookupdata';\nvar createDataFieldObject = function (fieldName, fieldValue, suffix, prefix, loading) {\n if (suffix === void 0) { suffix = ''; }\n if (prefix === void 0) { prefix = ''; }\n return {\n key: fieldName,\n name: fieldName,\n value: getDisplayText(fieldValue, suffix, prefix),\n originalValue: fieldValue,\n loading: loading,\n };\n};\nfunction getDataFieldsForZip5Digit(props, lookupState, lookupZipCode) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Zip Code', \"\\t\" + props.zipCode));\n dataFields.push(createDataFieldObject('State', lookupZipCode.getStateNameOfZipCode(props.zipCode), undefined, undefined, lookupState.requesting || lookupZipCode.requesting));\n return dataFields;\n}\nvar getDataFieldsForZip3Digit = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Zip Code', \"\\t\" + props.zip3));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateAbb(props.stateAbb), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateLevel = function (props) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State', props === null || props === void 0 ? void 0 : props.name));\n return dataFields;\n};\nvar getDataFieldsForCountyLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('County', props.name));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForMSALevel = function (props) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('MSA', props.name));\n return dataFields;\n};\nvar getDataFieldsForCongressionalLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('US Congress District', props.cd));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateUpperLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State Upper House District', props.sldu));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateLowerLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State Lower House District', props.sldl));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldForAggregatedDataSource = function (data, statistic) {\n var dataFields = [];\n dataFields.push(createDataFieldObject(getStatisticShortName(statistic), data.value, data.suffix, data.prefix));\n return dataFields;\n};\nvar getDataFieldsForPrevalence = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Patient Population', data.denominator));\n dataFields.push(createDataFieldObject('Patient Count', data.numerator));\n dataFields.push(createDataFieldObject('Prevalence', data.value, '%'));\n dataFields.push(createDataFieldObject('National Prevalence', data.national, '%'));\n return dataFields;\n};\nvar getDataFieldsForTotalCountStatistic = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Patient Count', data.value));\n return dataFields;\n};\nvar getDataFieldForHospitalRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total hospital visits', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hospital rate', data.value));\n dataFields.push(createDataFieldObject('Geographic hospital rate', data.geographic));\n dataFields.push(createDataFieldObject('National hospital rate', data.national));\n return dataFields;\n};\nvar getDataFieldForERVisitRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total ER visits', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort ER visit rate', data.value));\n dataFields.push(createDataFieldObject('Geographic ER visit rate', data.geographic));\n dataFields.push(createDataFieldObject('National ER visit rate', data.national));\n return dataFields;\n};\nvar getDataFieldForHospitalEncounterRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # hosp encounters', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hosp encounter rate', data.value));\n dataFields.push(createDataFieldObject('Geographic hosp encounter rate', data.geographic));\n dataFields.push(createDataFieldObject('National hosp encounter rate', data.national));\n return dataFields;\n};\nvar getDataFieldForDeathRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # deaths', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort death rate', data.value));\n dataFields.push(createDataFieldObject('Geographic death rate', data.geographic));\n dataFields.push(createDataFieldObject('National death rate', data.national));\n return dataFields;\n};\nvar getDataFieldForReadmissionRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # readmissions', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort readmission rate', data.value));\n dataFields.push(createDataFieldObject('Geographic readmission rate', data.geographic));\n dataFields.push(createDataFieldObject('National readmission rate', data.national));\n return dataFields;\n};\nvar getDataFieldForHospitalCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total hospital visits', data.eventCount));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hosp cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic hosp cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National hosp cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForERCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total ER visits', data.eventCount));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort ER cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic ER cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National ER cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForPatientOutOfPocketPartBDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Patient Part b Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForPatientOutOfPocketPartDDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Patient Part d Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForMedicarePartBDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Part b Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForMedicarePartDDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Part d Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForTotalCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total annual costs', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nexport var getDataFieldsByMapViewLevel = function (mapViewType, properties, lookupState, lookupZipCode) {\n var _a;\n var targetFunctionMapping = (_a = {},\n _a[GeoLevelEnum.Zip5] = getDataFieldsForZip5Digit,\n _a[GeoLevelEnum.Zip3] = getDataFieldsForZip3Digit,\n _a[GeoLevelEnum.State] = getDataFieldsForStateLevel,\n _a[GeoLevelEnum.County] = getDataFieldsForCountyLevel,\n _a[GeoLevelEnum.MSA] = getDataFieldsForMSALevel,\n _a[GeoLevelEnum.Congressional] = getDataFieldsForCongressionalLevel,\n _a[GeoLevelEnum.StateUpper] = getDataFieldsForStateUpperLevel,\n _a[GeoLevelEnum.StateLower] = getDataFieldsForStateLowerLevel,\n _a);\n if (mapViewType && targetFunctionMapping[mapViewType]) {\n return targetFunctionMapping[mapViewType](properties, lookupState, lookupZipCode);\n }\n return [];\n};\nexport var getDataFieldByStatisticType = function (data, statistic) {\n var _a;\n var isAggregated = data.isAggregated;\n if (isAggregated) {\n return getDataFieldForAggregatedDataSource(data, statistic);\n }\n var targetFunctionMapping = (_a = {},\n _a[StatisticTypeEnum.Prevalence] = getDataFieldsForPrevalence,\n _a[StatisticTypeEnum.TotalCount] = getDataFieldsForTotalCountStatistic,\n _a[StatisticTypeEnum.HospitalizationRate] = getDataFieldForHospitalRate,\n _a[StatisticTypeEnum.ERVisitsRate] = getDataFieldForERVisitRate,\n _a[StatisticTypeEnum.HospitalEncounterRate] = getDataFieldForHospitalEncounterRate,\n _a[StatisticTypeEnum.DeathRate] = getDataFieldForDeathRate,\n _a[StatisticTypeEnum.ReadmissionRate] = getDataFieldForReadmissionRate,\n _a[StatisticTypeEnum.HospitalizationCost] = getDataFieldForHospitalCost,\n _a[StatisticTypeEnum.ERCost] = getDataFieldForERCost,\n _a[StatisticTypeEnum.OOPPartBDrugCost] = getDataFieldForPatientOutOfPocketPartBDrugCost,\n _a[StatisticTypeEnum.OOPPartDDrugCost] = getDataFieldForPatientOutOfPocketPartDDrugCost,\n _a[StatisticTypeEnum.MCRPartBDrugCost] = getDataFieldForMedicarePartBDrugCost,\n _a[StatisticTypeEnum.MCRPartDDrugCost] = getDataFieldForMedicarePartDDrugCost,\n _a[StatisticTypeEnum.TotalCost] = getDataFieldForTotalCost,\n _a);\n if (statistic && targetFunctionMapping[statistic]) {\n return targetFunctionMapping[statistic](data);\n }\n return [];\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useRef, useState } from 'react';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled from 'styled-components';\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\nimport { useMount } from '../hooks';\nvar StyledIconTooltip = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n color: #212529;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n color: #212529;\\n }\\n &:focus,\\n &:active {\\n color: #212529;\\n }\\n\"], [\"\\n color: #212529;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n color: #212529;\\n }\\n &:focus,\\n &:active {\\n color: #212529;\\n }\\n\"])));\nvar StyledUncontrolledTooltip = styled(function (_a) {\n var maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, props = __rest(_a, [\"maxWidth\", \"maxHeight\"]);\n return React.createElement(UncontrolledTooltip, __assign({}, props));\n})(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n .tooltip.show {\\n opacity: 1;\\n }\\n .tooltip-inner {\\n color: #212529;\\n background-color: #fff;\\n border: 1px solid #cccccc;\\n text-align: left;\\n max-width: \", \";\\n overflow-y: scroll;\\n max-height: \", \";\\n }\\n\"], [\"\\n .tooltip.show {\\n opacity: 1;\\n }\\n .tooltip-inner {\\n color: #212529;\\n background-color: #fff;\\n border: 1px solid #cccccc;\\n text-align: left;\\n max-width: \", \";\\n overflow-y: scroll;\\n max-height: \", \";\\n }\\n\"])), function (props) { return (typeof props.maxWidth === 'number' ? props.maxWidth / 16 + \"rem\" : props.maxWidth || '16rem'); }, function (props) { return (typeof props.maxHeight === 'number' ? props.maxHeight / 16 + \"rem\" : props.maxHeight); });\nexport var IconTooltip = function (props) {\n var iconRef = useRef();\n var _a = useState(), ready = _a[0], setReady = _a[1];\n useMount(function () {\n setReady(true);\n });\n return (React.createElement(StyledIconTooltip, null,\n React.createElement(FontAwesomeIcon, { icon: faInfoCircle, size: props.size, fixedWidth: true, forwardedRef: iconRef }),\n props.title && ready && iconRef.current && (React.createElement(StyledUncontrolledTooltip, { hideArrow: true, placement: props.placement, target: iconRef.current, fade: false, autohide: props.autohide, maxWidth: props.maxWidth, maxHeight: props.maxHeight, modifiers: {\n preventOverflow: {\n enabled: false,\n },\n hide: { enabled: false },\n }, flip: false }, props.title))));\n};\nvar templateObject_1, templateObject_2;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useFilterEditingValue } from '../state';\nimport _ from 'lodash';\nimport { DataSourceEnum } from '../enums';\nexport var useGeneralConfigByDataSource = function (key, cmsDataSourceParam, dataYearSeasonParam, dataYearParam) {\n var indexConfig = useHostnameIndexInfo();\n var dataYearFilter = useFilterEditingValue('dataYear')[0];\n var dataYearSeasonFilter = useFilterEditingValue('dataYearSeason')[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource')[0], cmsDataSourceFilter = _a === void 0 ? DataSourceEnum.MedicareFFS : _a;\n var filtersConfig = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filtersConfigByDataSource;\n var cmsDataSource = useMemo(function () { return cmsDataSourceParam || cmsDataSourceFilter; }, [cmsDataSourceParam, cmsDataSourceFilter]);\n var dataYearSeason = useMemo(function () { return dataYearSeasonParam || dataYearSeasonFilter; }, [dataYearSeasonParam, dataYearSeasonFilter]);\n var dataYear = useMemo(function () { return dataYearParam || dataYearFilter; }, [dataYearParam, dataYearFilter]);\n var result = useMemo(function () {\n if (cmsDataSource && filtersConfig && key) {\n var configByDataSource = filtersConfig === null || filtersConfig === void 0 ? void 0 : filtersConfig[cmsDataSource];\n var configByDataYear = configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { return String(config.dataYear) === String(dataYear); });\n // Format of data year season ' - '\n var configByDataYearSeason = dataYearSeason ? configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { var _a; return ((_a = config.dataYearSeason) === null || _a === void 0 ? void 0 : _a.join(DELIMITER_SEASON_YEAR)) === dataYearSeason.join(DELIMITER_SEASON_YEAR); }) : undefined;\n var valueByKey = _.get(configByDataYearSeason, key, undefined);\n if (valueByKey)\n return valueByKey;\n valueByKey = _.get(configByDataYear, key, undefined);\n if (valueByKey)\n return valueByKey;\n var configByAllYear = configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { return !config.dataYear && !config.dataYearSeason; });\n return _.get(configByAllYear, key, undefined);\n }\n return undefined;\n }, [cmsDataSource, filtersConfig, dataYearSeason, key, dataYear]);\n return result;\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getDisplayText } from '../../utils';\nimport { extractGeneralFilterInfo, useMapData } from './usemapdata';\nimport { useFilterSetting, useFilterValue } from '../../state/filtersettings';\nimport { CloseButton, StyledPanel } from '../overlays/styled';\nimport { useViewValue } from '../../state';\nimport { getStatisticOption } from '../../lookupdata';\nimport { ENV_LEGEND_COLORS } from '../../env';\nvar StyledLegendOverlay = styled(StyledPanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n right: 1.5rem;\\n bottom: 2rem;\\n width: max-content;\\n\"], [\"\\n position: absolute;\\n right: 1.5rem;\\n bottom: 2rem;\\n width: max-content;\\n\"])));\nvar StyledLegend = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.125rem 0;\\n\"], [\"\\n padding: 0.125rem 0;\\n\"])));\nvar LegendTitle = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-top: 0.5rem;\\n margin-bottom: 0.25rem;\\n\"], [\"\\n font-weight: 700;\\n margin-top: 0.5rem;\\n margin-bottom: 0.25rem;\\n\"])));\nvar LegendItem = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-bottom: 0.125rem;\\n line-height: 1;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-bottom: 0.125rem;\\n line-height: 1;\\n\"])));\nvar Color = styled.div(function (props) { return \"\\n background-color: \" + props.color + \";\\n width: 1rem;\\n height: 1rem;\\n margin-right: 0.25rem;\\n\"; });\nvar SelectedStatistic = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n max-width: 16rem;\\n line-height: initial;\\n font-weight: 700;\\n\"], [\"\\n max-width: 16rem;\\n line-height: initial;\\n font-weight: 700;\\n\"])));\nvar Label = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticCategoryLabel = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticConfigLabel = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"], [\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"])));\n// Common Legend Component use for UI & Reports\nexport var LegendComponent = function (props) {\n var _a;\n return (React.createElement(StyledLegend, null,\n props.title && React.createElement(LegendTitle, null, \"Legend\"),\n React.createElement(LegendItem, null,\n React.createElement(Color, { color: ENV_LEGEND_COLORS[0] }),\n React.createElement(Label, null, \"N/A\")), (_a = props.payload) === null || _a === void 0 ? void 0 :\n _a.map(function (grade, idx, arr) {\n return !(idx % 2) ? (React.createElement(LegendItem, { key: grade },\n React.createElement(Color, { color: ENV_LEGEND_COLORS[idx / 2 + 1] }),\n React.createElement(Label, null,\n getDisplayText(grade, props.suffix, props.prefix),\n idx !== arr.length - 1 ? \" - \" + getDisplayText(arr[idx + 1], props.suffix) : '+'))) : null;\n })));\n};\nexport var LegendByFilter = function () {\n var _a;\n var filterSetting = useFilterSetting();\n var data = useMapData()[0].data;\n var _b = extractGeneralFilterInfo(data, (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption), suffix = _b.suffix, prefix = _b.prefix;\n return React.createElement(LegendComponent, { payload: data === null || data === void 0 ? void 0 : data.breakLegendInfo, suffix: suffix, prefix: prefix });\n};\nexport var LegendOverlay = function () {\n var _a = useViewValue('mapView', 'showLegend'), show = _a[0], setShow = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticConfig = getStatisticOption(statistic);\n var toggle = function () { return setShow(!show); };\n if (!show)\n return null;\n return (React.createElement(StyledLegendOverlay, null,\n React.createElement(CloseButton, { onClick: toggle }),\n React.createElement(SelectedStatistic, null,\n React.createElement(StatisticCategoryLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.group.label),\n React.createElement(StatisticConfigLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.label)),\n React.createElement(LegendByFilter, null)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ReferenceLine } from 'recharts';\nimport styled from 'styled-components';\nimport { useViewSetting, useFilterSetting, useViewValue } from '../state';\nimport { getDisplayText, getYearsBySeason } from '../utils';\nimport { ViewModeEnum, ChartViewEnum } from '../enums';\nimport { useTrendLineData, useTrendLineDataForSeason } from './usetrendlinedata';\nimport { FallbackComponent, Select } from '../common';\nimport { LookupYearComponent, useMixedYear, getStatisticShortName, useCMSDataSeasonYear } from '../lookupdata';\nvar FROM_YEAR_DISTANCE = 3;\nvar LINE_COLOR = '#00008b';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem;\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relatived;\\n min-height: 15rem;\\n height: 100%;\\n\"], [\"\\n padding: 1rem;\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relatived;\\n min-height: 15rem;\\n height: 100%;\\n\"])));\nvar TrendLineTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar TrendLineTitleText = styled.h4(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: inline-block;\\n\"], [\"\\n display: inline-block;\\n\"])));\nvar StyledTrendLineContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n min-height: 6.25rem;\\n max-height: 25rem;\\n max-width: 75rem;\\n min-width: 10rem;\\n position: relative;\\n\"], [\"\\n flex: 1;\\n min-height: 6.25rem;\\n max-height: 25rem;\\n max-width: 75rem;\\n min-width: 10rem;\\n position: relative;\\n\"])));\nexport var TrendLineContainer = function (_a) {\n var _b = _a.keyValue, keyValue = _b === void 0 ? 'year' : _b, data = _a.data;\n var tooltipFomatter = function (value, name, entry) {\n if (name === 'linear')\n return [];\n if (entry.payload.isNA)\n return ['NA', entry.payload[keyValue]];\n return [getDisplayText(value, entry.payload.suffix, entry.payload.prefix), entry.payload[keyValue]];\n };\n return (React.createElement(StyledTrendLineContainer, null,\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(LineChart, { data: data },\n React.createElement(CartesianGrid, { vertical: false }),\n React.createElement(XAxis, { dataKey: keyValue, padding: { left: 30, right: 30 } }),\n React.createElement(YAxis, { allowDataOverflow: true, padding: { top: 10, bottom: 0 } }),\n React.createElement(Tooltip, { isAnimationActive: false, labelFormatter: function () { return ''; }, formatter: tooltipFomatter }),\n React.createElement(ReferenceLine, { y: 0, stroke: \"#000\" }),\n React.createElement(Line, { dataKey: \"value\", isAnimationActive: false, stroke: LINE_COLOR, dot: { strokeWidth: 12 }, activeDot: { r: 12 }, strokeWidth: 5 }),\n React.createElement(Line, { dataKey: \"linear\", isAnimationActive: false, connectNulls: true, dot: false, activeDot: false, stroke: LINE_COLOR, strokeDasharray: \"5 5\", strokeWidth: 5 })))));\n};\nexport var TrendLineComponent = function () {\n var _a, _b, _c;\n var _d = useViewValue('chartView', 'startingYear'), fromYear = _d[0], setFromYear = _d[1];\n var _e = useViewValue('chartView', 'endingYear'), toYear = _e[0], setToYear = _e[1];\n var _f = useTrendLineData(), trendLineData = _f[0], fetchTrendLineData = _f[1];\n var filterSettings = useFilterSetting();\n var lookupYearData = useMixedYear(filterSettings, true)[0];\n var statisticName = getStatisticShortName((_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption);\n var viewSetting = useViewSetting();\n var isShow = viewSetting.viewMode === ViewModeEnum.Chart && ((_b = viewSetting.chartView) === null || _b === void 0 ? void 0 : _b.type) === ChartViewEnum.Trends;\n useEffect(function () {\n fetchTrendLineData();\n }, [fetchTrendLineData]);\n useEffect(function () {\n var _a;\n if ((_a = lookupYearData.data) === null || _a === void 0 ? void 0 : _a.length) {\n var newToYear = toYear;\n if (!newToYear || !lookupYearData.data.includes(newToYear)) {\n newToYear = lookupYearData.data[lookupYearData.data.length - 1];\n }\n var newFromYear = fromYear;\n if (!newFromYear || newFromYear > newToYear || !lookupYearData.data.includes(newFromYear)) {\n var fromYearIdx = lookupYearData.data.length - FROM_YEAR_DISTANCE;\n fromYearIdx = fromYearIdx < 0 ? 0 : fromYearIdx;\n newFromYear = lookupYearData.data[fromYearIdx];\n }\n setFromYear(newFromYear);\n setToYear(newToYear);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupYearData.data, setFromYear, setToYear]);\n return (React.createElement(React.Fragment, null,\n React.createElement(LookupYearComponent, { dataSource: (_c = filterSettings.statistic) === null || _c === void 0 ? void 0 : _c.cmsDataSource }),\n isShow && (React.createElement(StyledTrendLineComponent, null,\n React.createElement(TrendLineTitle, null,\n React.createElement(TrendLineTitleText, null,\n \"Yearly \",\n statisticName,\n \" from\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromYear, onChange: setFromYear, isOptionDisabled: function (option) { return !!toYear && option.value > toYear; }, isLoading: lookupYearData.requesting }),\n ' ',\n React.createElement(TrendLineTitleText, null, \"to\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toYear, onChange: setToYear, isOptionDisabled: function (option) { return !!fromYear && option.value < fromYear; }, isLoading: lookupYearData.requesting })),\n React.createElement(FallbackComponent, { requesting: trendLineData.requesting || lookupYearData.requesting, error: trendLineData.error, retry: fetchTrendLineData },\n React.createElement(TrendLineContainer, { data: trendLineData.data }))))));\n};\nexport var TrendLineSeasonComponent = function () {\n var _a, _b, _c;\n var filterSettings = useFilterSetting();\n var lookupSeasonYearData = useCMSDataSeasonYear(filterSettings)[0];\n var _d = useTrendLineDataForSeason(), trendLineData = _d[0], fetchTrendLineData = _d[1];\n var _e = useViewValue('chartView', 'startingSeasonYear'), fromSeasonYear = _e[0], setFromSeasonYear = _e[1];\n var _f = useViewValue('chartView', 'endingSeasonYear'), toSeasonYear = _f[0], setToSeasonYear = _f[1];\n var viewSetting = useViewSetting();\n var statisticName = getStatisticShortName((_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption);\n var isShow = viewSetting.viewMode === ViewModeEnum.Chart && ((_b = viewSetting.chartView) === null || _b === void 0 ? void 0 : _b.type) === ChartViewEnum.Trends;\n useEffect(function () {\n fetchTrendLineData();\n }, [fetchTrendLineData]);\n useEffect(function () {\n var lookupSeasonYearDataByCMS = lookupSeasonYearData.data || [];\n if (lookupSeasonYearDataByCMS.length) {\n var newFromSeasonYear = fromSeasonYear;\n var newToSeasonYear = toSeasonYear;\n if (!newToSeasonYear || !lookupSeasonYearDataByCMS.includes(newToSeasonYear)) {\n newToSeasonYear = lookupSeasonYearDataByCMS[lookupSeasonYearDataByCMS.length - 1];\n }\n if (!newFromSeasonYear || !lookupSeasonYearDataByCMS.includes(newFromSeasonYear)) {\n newFromSeasonYear = lookupSeasonYearDataByCMS[0];\n }\n setFromSeasonYear(newFromSeasonYear);\n setToSeasonYear(newToSeasonYear);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupSeasonYearData.data, setFromSeasonYear, setToSeasonYear]);\n return (React.createElement(React.Fragment, null,\n React.createElement(LookupYearComponent, { dataSource: (_c = filterSettings.statistic) === null || _c === void 0 ? void 0 : _c.cmsDataSource }),\n isShow && (React.createElement(StyledTrendLineComponent, null,\n React.createElement(TrendLineTitle, null,\n React.createElement(TrendLineTitleText, null,\n \"Yearly \",\n statisticName,\n \" from\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"12\", name: \"from\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromSeasonYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(item.value)[0];\n var firstTo = getYearsBySeason(toSeasonYear)[0];\n return !!toSeasonYear && firstFrom > firstTo;\n }, onChange: setFromSeasonYear, isLoading: lookupSeasonYearData.requesting }),\n ' ',\n React.createElement(TrendLineTitleText, null, \"to\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"12\", name: \"to\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toSeasonYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(fromSeasonYear)[0];\n var firstTo = getYearsBySeason(item.value)[0];\n return !!fromSeasonYear && firstFrom > firstTo;\n }, onChange: setToSeasonYear, isLoading: lookupSeasonYearData.requesting })),\n React.createElement(FallbackComponent, { requesting: trendLineData.requesting || lookupSeasonYearData.requesting, error: trendLineData.error, retry: fetchTrendLineData },\n React.createElement(TrendLineContainer, { data: trendLineData.data, keyValue: \"seasonYear\" }))))));\n};\nexport * from './usetrendlinedata';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport styled from 'styled-components';\nvar ICON = \"M20.2,15.7L20.2,15.7c1.1-1.6,1.8-3.6,1.8-5.7c0-5.6-4.5-10-10-10S2,4.5,2,10c0,2,0.6,3.9,1.6,5.4c0,0.1,0.1,0.2,0.2,0.3\\n c0,0,0.1,0.1,0.1,0.2c0.2,0.3,0.4,0.6,0.7,0.9c2.6,3.1,7.4,7.6,7.4,7.6s4.8-4.5,7.4-7.5c0.2-0.3,0.5-0.6,0.7-0.9\\n C20.1,15.8,20.2,15.8,20.2,15.7z\";\nvar ImagePin = styled.img(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 20px;\\n\"], [\"\\n width: 20px;\\n\"])));\nvar SIZE = 35;\nvar StyledPin = styled.svg(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: \", \";\\n fill: \", \";\\n stroke: \", \";\\n color: \", \";\\n\"], [\"\\n cursor: \", \";\\n fill: \", \";\\n stroke: \", \";\\n color: \", \";\\n\"])), function (props) { return (props.pointer ? 'pointer' : 'default'); }, function (props) { return (props.selected ? '#000' : props.color); }, function (props) { return (props.selected ? '#000' : props.stroke || props.color); }, function (props) { return (props.selected ? '#000' : props.stroke || props.color); });\nexport var Pin = React.memo(function (props) {\n var _a = props.size, size = _a === void 0 ? SIZE : _a;\n var onClick = function () {\n var _a;\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.payload);\n };\n return (React.createElement(StyledPin, { className: props.className, pointer: !!props.onClick, color: props.color, stroke: props.stroke, selected: props.selected, height: size, width: size, viewBox: \"0 0 24 24\", onClick: onClick },\n React.createElement(\"path\", { d: ICON }),\n React.createElement(\"circle\", { cx: 12, cy: 10, r: 8, style: { fill: 'white', stroke: props.stroke } }),\n props.icon && React.createElement(FontAwesomeIcon, { height: 11, y: 4, icon: props.icon }),\n props.imgPin && React.createElement(\"image\", { height: 10, y: 5, x: 7, xlinkHref: \"/assets/images/icons/\" + props.imgPin + \".png\" }),\n props.text && (React.createElement(\"text\", { x: \"50%\", y: \"50%\", dy: \"-0.15rem\", style: { fill: '#000', stroke: 'none', fontSize: '8px', textAnchor: 'middle', alignmentBaseline: 'central' } }, props.text))));\n});\nexport var ClusterPin = React.memo(function (props) {\n var _a = props.size, size = _a === void 0 ? SIZE : _a;\n return (React.createElement(StyledPin, { height: size, width: size, viewBox: \"0 0 24 24\", pointer: true, onClick: props.onClick },\n React.createElement(\"circle\", { cx: 12, cy: 12, r: 11.5, style: { fill: props.color, stroke: props.stroke || props.color, strokeWidth: '0.5px' } }),\n React.createElement(\"text\", { x: \"50%\", y: \"50%\", style: { fill: '#fff', stroke: 'none', fontSize: '8px', textAnchor: 'middle', alignmentBaseline: 'central' } }, props.text)));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useMemo, useRef } from 'react';\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from 'recharts';\nimport styled from 'styled-components';\nimport { useTranslation } from 'react-i18next';\nimport { getDisplayText } from '../utils';\nvar COLORS_BY_DEMOGRAPHIC = {\n sex: ['#00008b', '#ffa500'],\n race: ['#800080', '#a8135f', '#b6443a', '#a77217', '#ac8d02', '#cd9d00', '#ffa500'],\n age: ['#ffeabd', '#ffd59b', '#ffa474', '#f47461', '#db4551', '#b81b34', '#8b0000'],\n};\nvar StyledPieComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n height: 100%;\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n\"], [\"\\n height: 100%;\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n\"])));\nvar ResponsiveContainerWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"], [\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"])), function (props) { return (typeof props.width === 'string' ? props.width : props.width ? props.width / 16 + \"rem\" : '100%'); }, function (props) { return (typeof props.height === 'string' ? props.height : props.height ? props.height / 16 + \"rem\" : '100%'); });\nvar StyledLegend = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n min-height: 2.25rem;\\n min-width: 8.5rem;\\n flex: 1;\\n .recharts-legend-item {\\n display: \", \"flex !important;\\n align-items: center;\\n text-align: left;\\n .recharts-legend-item-text {\\n flex: 1;\\n }\\n }\\n\"], [\"\\n min-height: 2.25rem;\\n min-width: 8.5rem;\\n flex: 1;\\n .recharts-legend-item {\\n display: \", \"flex !important;\\n align-items: center;\\n text-align: left;\\n .recharts-legend-item-text {\\n flex: 1;\\n }\\n }\\n\"])), function (props) { return (props.inline ? 'inline-' : ''); });\nvar NoDataMessage = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n text-align: center;\\n font-style: italic;\\n\"], [\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n text-align: center;\\n font-style: italic;\\n\"])));\nvar calculatePieSlicePercent = function (value, totalCount) {\n var percent = (value / totalCount) * 100;\n var integerPortion = Math.floor(percent);\n var numberOfDecimalPlaces = 3;\n if (integerPortion > 1 && integerPortion < 10) {\n numberOfDecimalPlaces = 2;\n }\n else if (integerPortion < 100) {\n numberOfDecimalPlaces = 1;\n }\n return parseFloat(percent.toFixed(numberOfDecimalPlaces));\n};\nexport var PieComponent = function (props) {\n var _a, _b, _c;\n var t = useTranslation().t;\n var myRef = useRef(null);\n var meetMinimumThreshold = !!((_a = props.data) === null || _a === void 0 ? void 0 : _a.length);\n var data = useMemo(function () { return (meetMinimumThreshold ? props.data : [{ name: 'NA', value: 1 }]); }, [props.data, meetMinimumThreshold]);\n var colors = useMemo(function () { return COLORS_BY_DEMOGRAPHIC[props.type]; }, [props.type]);\n var total = useMemo(function () { var _a; return ((_a = props.data) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) { return acc + curr.value; }, 0)) || 0; }, [props.data]);\n var tooltipFomatter = useCallback(function (value, name, entry) {\n return props.percentage\n ? getDisplayText(calculatePieSlicePercent(entry.payload.value, total), '%')\n : getDisplayText(entry.payload.value, entry.payload.suffix, entry.payload.prefix);\n }, [props.percentage, total]);\n var onPieEnter = function () {\n var _a;\n var tooltipWrapper = (_a = myRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('recharts-tooltip-wrapper')[0];\n if (tooltipWrapper) {\n tooltipWrapper.style.right = 'auto';\n if (tooltipWrapper.getBoundingClientRect().right > window.innerWidth) {\n tooltipWrapper.style.right = '0';\n }\n }\n };\n var onPieLeave = function () {\n var _a;\n var tooltipWrapper = (_a = myRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('recharts-tooltip-wrapper')[0];\n if (tooltipWrapper) {\n tooltipWrapper.style.right = 'auto';\n }\n };\n return (React.createElement(StyledPieComponent, { className: props.className, ref: myRef },\n React.createElement(ResponsiveContainerWrapper, { width: props.width, height: props.height },\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(PieChart, { onMouseMove: onPieEnter, onMouseLeave: onPieLeave },\n React.createElement(Pie, { dataKey: \"value\", isAnimationActive: false, data: data, fill: \"#ccc\", strokeWidth: meetMinimumThreshold ? 2 : 0, labelLine: false, startAngle: 90, endAngle: -270, minAngle: 2, outerRadius: \"100%\" }, (_b = props.data) === null || _b === void 0 ? void 0 : _b.map(function (entry, idx) { return (React.createElement(Cell, { key: \"cell-\" + entry.name, fill: colors[idx] })); })),\n meetMinimumThreshold && React.createElement(Tooltip, { wrapperStyle: { zIndex: 99 }, isAnimationActive: false, formatter: tooltipFomatter }))),\n !meetMinimumThreshold && React.createElement(NoDataMessage, null, t('demographicchart.nomeetminimumthreshold.msg'))),\n meetMinimumThreshold && (React.createElement(StyledLegend, { inline: props.inline },\n React.createElement(Legend, { wrapperStyle: { position: 'relative' }, payload: meetMinimumThreshold\n ? (_c = props.data) === null || _c === void 0 ? void 0 : _c.map(function (entry, idx) { return ({\n id: idx,\n value: entry.name,\n color: colors[idx],\n type: 'rect',\n dataValue: entry.value,\n }); }) : [{ id: 0, value: 'N/A', color: '#ccc', type: 'rect' }], formatter: props.legendFormatter })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback, useMemo } from 'react';\nimport { RESET_FILTER_EDITING, SET_FILTER_EDITING_VALUE } from './reducer';\nexport function useFilterEditingValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_FILTER_EDITING_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.filterediting.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetFilterEditing = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_FILTER_EDITING, payload: value }); }, [dispatch]);\n};\nexport var useFilterEditing = function () {\n var filterediting = useMappedState(useCallback(function (state) { return state.filterediting; }, []));\n return useMemo(function () { return filterediting.toJSON(); }, [filterediting]);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nimport { setUIValueSessionStorage } from '../../storeduivalue';\nexport var RESET_FILTERS = 'RESET_FILTERS';\nexport var SET_FILTER_VALUE = 'SET_FILTER_VALUE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_FILTERS] = function (s, a) { return Map(a.payload).set('forceUpdate', (s.get('forceUpdate') || 0) + 1); };\nactionHandlers[SET_FILTER_VALUE] = function (s, a) { return (a.payload.value ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n var fn = actionHandlers[action.type];\n if (!fn)\n return state;\n var updatedState = fn(state, action);\n setUIValueSessionStorage('filterSetting', updatedState.toObject(), undefined, [\n 'indexPrimaryCoMorbidities',\n 'singleStateCode',\n 'singleStateAbb',\n 'available',\n 'forceUpdate',\n 'textSearch',\n 'geoLevel',\n ]);\n return updatedState;\n}\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var RESET_FILTER_EDITING = 'RESET_FILTER_EDITING';\nexport var SET_FILTER_EDITING_VALUE = 'SET_FILTER_EDITING_VALUE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_FILTER_EDITING] = function (s, a) { return Map(a.payload); };\nactionHandlers[SET_FILTER_EDITING_VALUE] = function (s, a) { return (a.payload.value ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nimport { DEFAULT_VIEW_SETTING } from '../../configs';\nimport { setUIValueSessionStorage } from '../../storeduivalue';\nexport var RESET_VIEW_SETTING = 'RESET_VIEW_SETTING';\nexport var SET_VIEW_VALUE = 'SET_VIEW_VALUE';\n// Init state\nvar initialState = Map(DEFAULT_VIEW_SETTING);\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_VIEW_SETTING] = function (s, a) { return Map(__assign(__assign({}, DEFAULT_VIEW_SETTING), a.payload)); };\nactionHandlers[SET_VIEW_VALUE] = function (s, a) { return (a.payload.value !== undefined ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n var fn = actionHandlers[action.type];\n if (!fn)\n return state;\n var updatedState = fn(state, action);\n setUIValueSessionStorage('viewSetting', updatedState.toObject(), undefined, [\n 'mapView',\n 'showMapLayerMenu',\n 'selectedMultiplePin',\n 'mapLayerCountNotifications',\n ]);\n return updatedState;\n}\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\nimport { FallbackComponent, DataTable } from '../common';\nimport { GeoLevelEnum, RightPanelTypeEnum, ViewModeEnum } from '../enums';\nimport { useLookupZipCodeDistrict, getStatisticShortName, getGeoLevelLabel, useLookupState } from '../lookupdata';\nimport { useMapData, useExtractGeoData } from '../map/patientchoroplethlayer/usemapdata';\nimport { useFilterValue, useViewValue } from '../state';\nimport { useSelectedGeoJson } from '../map';\nimport { compareFunc, isFeatureInAState } from '../utils';\nimport { getDataFieldsByMapViewLevel, getDataFieldByStatisticType } from '../map/patientchoroplethlayer/dataforgeo';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledTableViewComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem 2rem;\\n\"], [\"\\n padding: 1rem 2rem;\\n\"])));\nvar Title = styled.h4(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar Body = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"])));\nvar getColumns = function (geoLevel, statistic, lookupState, lookupGeoData) {\n var columns = [];\n var fieldsForMapViewLevel = getDataFieldsByMapViewLevel(geoLevel, Object.assign({}), lookupState, lookupGeoData);\n var fieldsForStatistic = getDataFieldByStatisticType(Object.assign({}), statistic);\n var dataFields = __spreadArrays(fieldsForMapViewLevel, fieldsForStatistic);\n columns = dataFields.map(function (entry) { return (__assign(__assign({}, entry), { dataField: entry.key, text: entry.name, formatter: function (cell) { return cell.displayText; }, sort: true, sortFunc: function (a, b, order) { return compareFunc(a.originalValue, b.originalValue, order); } })); });\n return columns;\n};\nexport var useExtractTableData = function () {\n var extractGeoData = useExtractGeoData();\n var lookupState = useLookupState()[0];\n var lookupGeoData = useLookupZipCodeDistrict()[0];\n var geoLevel = useViewValue('geoType')[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var selectedFeatureId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var extractData = useCallback(function (intersectionIds) {\n var _a;\n var isSelectedFirstLevel = selectedFeatureId === null || selectedFeatureId === void 0 ? void 0 : selectedFeatureId.endsWith('-');\n var filteredFetures = (_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features;\n if (intersectionIds) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return intersectionIds[(_a = f.properties) === null || _a === void 0 ? void 0 : _a.id]; });\n }\n else if (isSelectedFirstLevel && geoLevel === GeoLevelEnum.Zip5) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return lookupGeoData.getStateCodeOfZipCode((_a = f.properties) === null || _a === void 0 ? void 0 : _a.id) + \"-\" === (selectedFeatureId === null || selectedFeatureId === void 0 ? void 0 : selectedFeatureId.padStart(3, '0')); });\n }\n else if (selectedFeatureId) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a, _b; return isSelectedFirstLevel ? (_a = f.properties) === null || _a === void 0 ? void 0 : _a.id.startsWith(selectedFeatureId) : ((_b = f.properties) === null || _b === void 0 ? void 0 : _b.id) === selectedFeatureId; });\n }\n else if (singleState) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return isFeatureInAState(singleState, f.properties, geoLevel || GeoLevelEnum.State, (_a = lookupGeoData.data) === null || _a === void 0 ? void 0 : _a.stateByZipCode5); });\n }\n var columns = getColumns(geoLevel, statistic, lookupState, lookupGeoData);\n var data = [];\n filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.sort(function (f1, f2) { var _a, _b; return compareFunc((_a = f1.properties) === null || _a === void 0 ? void 0 : _a.id.padStart(6, '0'), (_b = f2.properties) === null || _b === void 0 ? void 0 : _b.id.padStart(6, '0')); }).forEach(function (f) {\n var _a;\n var geoData = extractGeoData((_a = f.properties) === null || _a === void 0 ? void 0 : _a.id);\n var fieldsForMapViewLevel = getDataFieldsByMapViewLevel(geoLevel, f.properties, lookupState, lookupGeoData);\n var fieldsForStatistic = getDataFieldByStatisticType(geoData, statistic);\n var dataFields = __spreadArrays(fieldsForMapViewLevel, fieldsForStatistic);\n var item = dataFields.reduce(function (acc, curr) {\n var _a;\n var _b;\n return (__assign(__assign({}, acc), (_a = {}, _a[curr.key] = {\n displayText: curr.value,\n originalValue: curr.originalValue,\n }, _a.id = (_b = f.properties) === null || _b === void 0 ? void 0 : _b.id, _a)));\n }, {});\n data.push(item);\n });\n return [columns, data];\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [extractGeoData, selectedFeatureId, geoJsonData.data, lookupState.data, lookupGeoData.data]);\n return extractData;\n};\nexport var TableViewComponent = function () {\n var t = useTranslation().t;\n var mapData = useMapData()[0];\n var lookupGeoData = useLookupZipCodeDistrict()[0];\n var geoLevel = useViewValue('geoType')[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n var viewMode = useViewValue('viewMode')[0];\n var extractTableData = useExtractTableData();\n var _a = useState(), tableColumns = _a[0], setTableColumns = _a[1];\n var _b = useState(), tableData = _b[0], setTableData = _b[1];\n var isShow = viewMode === ViewModeEnum.Table;\n useEffect(function () {\n if (!isShow)\n return;\n var _a = extractTableData(), columns = _a[0], data = _a[1];\n setTableColumns(columns);\n setTableData(data);\n }, [isShow, extractTableData]);\n if (!isShow)\n return null;\n return (React.createElement(StyledTableViewComponent, null,\n React.createElement(Title, null, t('tableview.title', [statisticName, getGeoLevelLabel(geoLevel)])),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: mapData.requesting || geoJsonData.requesting || lookupGeoData.requesting, error: mapData.error || lookupGeoData.error || lookupGeoData.error }, !!(tableColumns === null || tableColumns === void 0 ? void 0 : tableColumns.length) && tableData && React.createElement(DataTable, { hover: true, columns: tableColumns, data: tableData, sizePerPage: 100, keyField: \"id\", pagination: true })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { useAPI, useCachedData } from '../state';\nimport * as Yup from 'yup';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, FormFeedback, Row } from 'reactstrap';\nimport { useAuth } from '../authentication';\nimport { useForm } from '../hooks';\nimport { PhoneInput, PHONE_NUMBER_PATTERN, Select, ZIP_CODE_PATTERN, Input } from '../common';\nexport var NOTIFICATION_PREFERENCES = {\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n};\nvar ModalWrapper = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media (min-width: 992px) {\\n max-width: 900px !important;\\n }\\n\"], [\"\\n @media (min-width: 992px) {\\n max-width: 900px !important;\\n }\\n\"])));\nexport var UserProfile = function (props) {\n var _a;\n var auth = useAuth();\n var _b = useCachedData('/api/general/lookup/get-list-state'), stateData = _b[0], fetchStateData = _b[1];\n var _c = useAPI('/api/user/editProfile', undefined, 'POST'), editProfile = _c[1];\n useEffect(function () {\n if (props.isOpen) {\n fetchStateData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isOpen]);\n var handleSaveUser = function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {\n firstName: payload.firstName,\n middleName: payload.middleName,\n lastName: payload.lastName,\n organization: payload.organization,\n address1: payload.address1,\n address2: payload.address2,\n city: payload.city,\n stateAbb: payload.stateAbb,\n zipcode: payload.zipcode,\n phoneNumber: payload.phoneNumber,\n notificationPreference: payload.notificationPreference,\n };\n return [4 /*yield*/, editProfile(data)];\n case 1:\n _a.sent();\n return [4 /*yield*/, auth.refreshToken()];\n case 2:\n _a.sent();\n props.toggle();\n return [2 /*return*/];\n }\n });\n }); };\n return (React.createElement(ModalWrapper, { size: \"lg\", isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"User Profile\"),\n React.createElement(UserProfileEditForm, { data: props.principalUser, onCancel: props.toggle, onSave: handleSaveUser, stateList: (_a = stateData.data) === null || _a === void 0 ? void 0 : _a.data })));\n};\nvar validationSchema = Yup.object().shape({\n firstName: Yup.string().nullable().trim().required('Required'),\n lastName: Yup.string().nullable().trim().required('Required'),\n zipcode: Yup.string().nullable().trim().matches(ZIP_CODE_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n organization: Yup.string().nullable().trim(),\n address1: Yup.string().nullable().trim(),\n address2: Yup.string().nullable().trim(),\n city: Yup.string().nullable().trim(),\n notificationPreference: Yup.string().nullable().required('Required'),\n phoneNumber: Yup.string()\n .nullable()\n .trim()\n .when('notificationPreference', {\n is: NOTIFICATION_PREFERENCES.SMS,\n then: Yup.string().nullable().required('Required'),\n })\n .matches(PHONE_NUMBER_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n});\nexport var UserProfileEditForm = function (props) {\n var _a = useForm({\n validationSchema: validationSchema,\n }), setInitialValues = _a.setInitialValues, values = _a.values, handleChange = _a.handleChange, handleBlur = _a.handleBlur, setFieldValue = _a.setFieldValue, setFieldTouched = _a.setFieldTouched, handleSubmit = _a.handleSubmit, isSubmitting = _a.isSubmitting, getError = _a.getError;\n useEffect(function () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n setInitialValues({\n firstName: (_a = props.data) === null || _a === void 0 ? void 0 : _a.firstName,\n middleName: (_b = props.data) === null || _b === void 0 ? void 0 : _b.middleName,\n lastName: (_c = props.data) === null || _c === void 0 ? void 0 : _c.lastName,\n username: (_d = props.data) === null || _d === void 0 ? void 0 : _d.username,\n organization: (_e = props.data) === null || _e === void 0 ? void 0 : _e.organization,\n address1: (_f = props.data) === null || _f === void 0 ? void 0 : _f.address1,\n address2: (_g = props.data) === null || _g === void 0 ? void 0 : _g.address2,\n city: (_h = props.data) === null || _h === void 0 ? void 0 : _h.city,\n stateAbb: (_j = props.data) === null || _j === void 0 ? void 0 : _j.stateAbb,\n zipcode: (_k = props.data) === null || _k === void 0 ? void 0 : _k.zipcode,\n roleName: (_l = props.data) === null || _l === void 0 ? void 0 : _l.role.roleName,\n phoneNumber: (_m = props.data) === null || _m === void 0 ? void 0 : _m.phoneNumber,\n notificationPreference: (_o = props.data) === null || _o === void 0 ? void 0 : _o.notificationPreference,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.data]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, props.onSave(__assign({}, payload))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(ModalBody, null,\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"First Name\"),\n React.createElement(Input, { type: \"text\", name: \"firstName\", value: values.firstName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('firstName') }),\n React.createElement(FormFeedback, null, getError('firstName'))),\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Middle Name\"),\n React.createElement(Input, { type: \"text\", name: \"middleName\", value: values.middleName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('middleName') }),\n React.createElement(FormFeedback, null, getError('middleName'))),\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Last Name\"),\n React.createElement(Input, { type: \"text\", name: \"lastName\", value: values.lastName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('lastName') }),\n React.createElement(FormFeedback, null, getError('lastName')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Mobile phone number\"),\n React.createElement(PhoneInput, { name: \"phoneNumber\", value: values.phoneNumber, setFieldValue: setFieldValue, setFieldTouched: setFieldTouched, invalid: !!getError('phoneNumber') }),\n React.createElement(FormFeedback, null, getError('phoneNumber'))),\n React.createElement(FormGroup, { className: \"col-md-8\" },\n React.createElement(Label, null, \"\\u00A0\"),\n React.createElement(\"div\", { className: \"pt-2\" },\n React.createElement(Label, { className: \"mr-2\" }, \"Preference for notifications:\"),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.EMAIL, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.EMAIL }),\n \"Email\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.SMS, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.SMS }),\n \"SMS Text\"))),\n React.createElement(FormFeedback, { className: \"d-lock\" }, !!getError('notificationPreference')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Organization Name\"),\n React.createElement(Input, { type: \"text\", name: \"organization\", value: values.organization, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('organization') }),\n React.createElement(FormFeedback, null, getError('organization')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Address 1\"),\n React.createElement(Input, { type: \"text\", name: \"address1\", value: values.address1, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address1') }),\n React.createElement(FormFeedback, null, getError('address1'))),\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Address 2\"),\n React.createElement(Input, { type: \"text\", name: \"address2\", value: values.address2, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address2') }),\n React.createElement(FormFeedback, null, getError('address2')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"City\"),\n React.createElement(Input, { type: \"text\", name: \"city\", value: values.city, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('city') }),\n React.createElement(FormFeedback, null, getError('city'))),\n React.createElement(FormGroup, { className: \"col-md-3\" },\n React.createElement(Label, null, \"State\"),\n React.createElement(Select, { name: \"stateAbb\", options: props.stateList, value: values.stateAbb, onChange: setFieldValue, setFieldTouched: setFieldTouched, optionsTransform: function (st) { return (__assign(__assign({}, st), { value: st.stateAbbreviation, label: st.stateName })); }, menuPlacement: \"top\" }),\n React.createElement(FormFeedback, null, getError('stateAbb'))),\n React.createElement(FormGroup, { className: \"col-md-3\" },\n React.createElement(Label, null, \"Zip Code\"),\n React.createElement(Input, { type: \"text\", name: \"zipcode\", value: values.zipcode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('zipcode') }),\n React.createElement(FormFeedback, null, getError('zipcode'))))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { type: \"button\", onClick: props.onCancel, disabled: isSubmitting }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", disabled: isSubmitting }, \"Save\"))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { Button, MessageBox, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nimport { useUser } from '../authentication';\nvar COGNITO_USER_CHANGE_PASSWORD = '/api/user/changePassword';\nvar WO_COGNITO_USER_CHANGE_PASSWORD = '/api/userApp/changePassword';\nvar Description = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n currentPassword: Yup.string().required('Required'),\n newPassword: Yup.lazy(function (value) {\n return isEmpty(value)\n ? Yup.string().required('Required')\n : Yup.string()\n .notOneOf([values.currentPassword], 'New password must be different than the current password')\n .matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG);\n }),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n });\n});\nexport var UserChangePassword = function (props) {\n var user = useUser();\n var _a = useAPI((user === null || user === void 0 ? void 0 : user.firstName) ? COGNITO_USER_CHANGE_PASSWORD : WO_COGNITO_USER_CHANGE_PASSWORD, undefined, 'POST'), userChangePasswordData = _a[0], userChangePassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.isOpen) {\n setInitialValues({\n currentPassword: '',\n newPassword: '',\n passwordConfirmation: '',\n });\n resetStore();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isOpen]);\n useEffect(function () {\n if (userChangePasswordData.requesting === false && !userChangePasswordData.error) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userChangePasswordData.requesting]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, userChangePassword({\n password: values.currentPassword,\n new_password: values.newPassword,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Change Password\"),\n React.createElement(ModalBody, null,\n React.createElement(MessageBox, { error: userChangePasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Current password\"),\n React.createElement(Input, { type: \"password\", name: \"currentPassword\", placeholder: \"Current Password\", value: values.currentPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('currentPassword') }),\n React.createElement(FormFeedback, null, getError('currentPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(Button, { color: \"primary\", hidden: true, type: \"submit\" }))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", onClick: onSubmit, loading: isSubmitting }, \"Change password\"))));\n};\nvar templateObject_1;\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nexport var LicenseAgreementModal = function (props) {\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"National Minority Quality Forum License Agreement\"),\n React.createElement(ModalBody, null, \"You should carefully read the following terms and conditions before using the INDEX, which contains software and proprietary data owned by the National Minority Quality Forum, Inc. (the \\\"Forum\\\"). Upon your acceptance of the terms of this License Agreement, the Forum will approve your registration and license your exclusive use under the terms set forth below. If you do not agree to the terms and conditions of this License Agreement, do not use the INDEX. Using any part of the INDEX indicates that you accept these terms. The product is provided as is. Grant of License: The Forum grants you a personal, limited, nonexclusive, nontransferable, non-assignable License to view health indicators within geographic boundaries. The Forum grants you this License solely for your personal use for your organization/office of employment for the sole purpose of furthering understanding and appreciation of health indicators and requires that you adhere to all of the terms and conditions of this License Agreement. These limitations on use apply to the software and any other documentation and materials associated with the INDEX. The foregoing is an express limited-use License and not an assignment, sale, or other transfer of the INDEX or any Intellectual-Property Rights (as defined below) of the Forum. Assent: By logging on to the INDEX, you agree that this License Agreement is a legally binding and valid contract, you agree to abide by the intellectual-property laws and all of the terms and conditions of this Agreement, and you further agree to take all necessary steps to ensure that the terms and conditions of this Agreement are not violated by any person or entity under your control or in your service. Ownership of Software: The Forum and/or its affiliates or subsidiaries own certain rights and have accepted certain data-use agreements that may exist from time to time in this or any other jurisdiction, whether foreign or domestic, under patent law, copyright law, publicity-rights law, moral-rights law, trade-secret law, trademark law, unfair-competition law, or other similar protections (\\\"Intellectual-Property Rights\\\"), regardless of whether or not such rights or protections are registered or perfected, in the INDEX. All Intellectual-Property Rights in and to the INDEX are and shall remain in the Forum. No Commercial Use: This License Agreement grants you the right to personal use of the INDEX for your organization/office of employment only. Commercial use of the software or of the work products resulting from its use is not permitted under this License Agreement. Restrictions:1. You are expressly prohibited from copying, modifying, merging, selling, leasing, redistributing, assigning, or transferring in any manner the INDEX or any portion of its software.2. You are expressly prohibited from reverse engineering, decompiling, translating, disassembling, deciphering, decrypting, or otherwise attempting to discover the source code of the INDEX, as the INDEX contains proprietary material of the Forum. You may not otherwise modify, alter, adapt, port, or merge the INDEX.3. You may not remove, alter, deface, overprint, or otherwise obscure the Forum logos, patent, trademark, service mark, or copyright notices.4. You agree that the INDEX will not be shipped, transferred, or exported to any other country or used in any manner prohibited by any government agency or any export laws, restrictions, or regulations.5. You may not distribute in any form of electronic or printed communication the materials within or otherwise related to the INDEX, including but not limited to the object code, documentation, help files, examples, and benchmarks. Exceptions: You may create copies of the data produced by the INDEX for the sole purpose of furthering the understanding and appreciation of health indicators. You may distribute such maps or derivative data within your organization or place of employment in electronic or printed form. All maps or derivative data that you copy, print, or distribute must contain the logos of the Forum. Linkage to the INDEX: No linkage to the INDEX from your or another Web site is permitted without the written consent of the Forum. Warranties and Disclaimer: Except as expressly provided otherwise in a written agreement between the Forum and you, the INDEX is provided as is, without warranty of any kind, either express or implied, including but not limited to implied warranty of merchantability or fitness for a particular purpose and warranty of non-infringement. Without limiting the foregoing, the Forum makes no warranty that (i) the INDEX will meet your requirements; (ii) the use of the INDEX will be uninterrupted, timely, secure, or error free; (iii) the quality of the INDEX will meet your expectations; and/or (v) you may use, practice, execute, or access the INDEX without violating the intellectual-property rights of others. In no event shall the Forum or its suppliers or contractors be liable to you or any third party for any special, incidental, indirect, or consequential damages of any kind or any damages whatsoever, including without limitation those resulting from loss of use, data, or profits, whether or not the Forum had been advised of the possibility of such damages, and on any theory of liability, arising out of or in connection with the use of the INDEX. Some jurisdictions prohibit the exclusion or limitation of liability for consequential or incidental damages, so the above limitations may not apply to you. These limitations shall apply notwithstanding any failure of essential purpose of any limited remedy. Severability: In the event that any provision of this License Agreement is found to be invalid, illegal, or unenforceable, the validity, legality, and enforceability of any of the remaining provisions shall not in any way be affected or impaired, and a valid, legal, and enforceable provision of similar intent and economic impact shall be substituted therefore. Entire Agreement: This License Agreement sets forth the entire understanding and agreement between you and the Forum It may be amended only in a writing signed by both parties. This License Agreement shall not supersede any other written agreement between you and the Forum with respect to the INDEX.\")));\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var GeoLevelEnum;\n(function (GeoLevelEnum) {\n GeoLevelEnum[\"Zip5\"] = \"ZIP_CODE_5\";\n GeoLevelEnum[\"Zip3\"] = \"ZIP_CODE_3\";\n GeoLevelEnum[\"State\"] = \"STATE\";\n GeoLevelEnum[\"County\"] = \"COUNTY\";\n GeoLevelEnum[\"MSA\"] = \"MSA\";\n GeoLevelEnum[\"Congressional\"] = \"CONGRESSIONAL_DISTRICT\";\n GeoLevelEnum[\"StateUpper\"] = \"STATE_UPPER_HOUSE_DISTRICT\";\n GeoLevelEnum[\"StateLower\"] = \"STATE_LOWER_HOUSE_DISTRICT\";\n})(GeoLevelEnum || (GeoLevelEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var StatisticGroupEnum;\n(function (StatisticGroupEnum) {\n StatisticGroupEnum[\"Population\"] = \"POPULATION\";\n StatisticGroupEnum[\"Rate\"] = \"RATE_OF_ACUTE_EVENTS\";\n StatisticGroupEnum[\"Cost\"] = \"COST_OF_ACUTE_EVENTS\";\n})(StatisticGroupEnum || (StatisticGroupEnum = {}));\nexport var StatisticTypeEnum;\n(function (StatisticTypeEnum) {\n // Population\n StatisticTypeEnum[\"Prevalence\"] = \"PREVALENCE\";\n StatisticTypeEnum[\"TotalCount\"] = \"TOTAL_COUNT_OF_PATIENTS\";\n // RateOfAcuteEvents\n StatisticTypeEnum[\"HospitalizationRate\"] = \"HOSPITALIZATION_RATE\";\n StatisticTypeEnum[\"ERVisitsRate\"] = \"ER_VISITS_RATE\";\n StatisticTypeEnum[\"HospitalEncounterRate\"] = \"HOSPITAL_ENCOUNTERS_RATE\";\n StatisticTypeEnum[\"DeathRate\"] = \"DEATH_RATE\";\n StatisticTypeEnum[\"ReadmissionRate\"] = \"READMISSION_RATE\";\n // CostOfAcuteEvents\n StatisticTypeEnum[\"HospitalizationCost\"] = \"TOTAL_ANNUAL_HOSPITALIZATION_COST_PER_PATIENT\";\n StatisticTypeEnum[\"ERCost\"] = \"TOTAL_ANNUAL_ER_COST_PER_PATIENT\";\n StatisticTypeEnum[\"OOPPartBDrugCost\"] = \"TOTAL_ANNUAL_PATIENT_OUT_OF_POCKET_PART_B_DRUG_COST_PER_PATIENT\";\n StatisticTypeEnum[\"OOPPartDDrugCost\"] = \"TOTAL_ANNUAL_PATIENT_OUT_OF_POCKET_PART_D_DRUG_COST_PER_PATIENT\";\n StatisticTypeEnum[\"MCRPartBDrugCost\"] = \"TOTAL_ANNUAL_MCR_PART_B_DRUG_PAYMENTS_PER_PATIENT\";\n StatisticTypeEnum[\"MCRPartDDrugCost\"] = \"TOTAL_ANNUAL_MCR_PART_D_DRUG_PAYMENTS_PER_PATIENT\";\n StatisticTypeEnum[\"TotalCost\"] = \"TOTAL_ANNUAL_COST_PER_PATIENT\";\n})(StatisticTypeEnum || (StatisticTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var DataSourceEnum;\n(function (DataSourceEnum) {\n DataSourceEnum[\"MedicareAll\"] = \"MEDICARE_ALL\";\n DataSourceEnum[\"MedicareFFS\"] = \"MEDICARE_FFS\";\n DataSourceEnum[\"MedicareAdvantage\"] = \"MEDICARE_ADVANTAGE\";\n DataSourceEnum[\"Medicaid\"] = \"MEDICAID\";\n DataSourceEnum[\"MedicareFfsFluSeason\"] = \"MEDICARE_FFS_FLU_SEASON\";\n})(DataSourceEnum || (DataSourceEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ViewModeEnum;\n(function (ViewModeEnum) {\n ViewModeEnum[\"Map\"] = \"MAP_VIEW\";\n ViewModeEnum[\"Table\"] = \"TABULAR_VIEW\";\n ViewModeEnum[\"Chart\"] = \"CHART_VIEW\";\n})(ViewModeEnum || (ViewModeEnum = {}));\nexport var ChartViewEnum;\n(function (ChartViewEnum) {\n ChartViewEnum[\"Demographic\"] = \"DEMOGRAPHIC\";\n ChartViewEnum[\"Trends\"] = \"TRENDS\";\n})(ChartViewEnum || (ChartViewEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var DemographicTypeEnum;\n(function (DemographicTypeEnum) {\n DemographicTypeEnum[\"Sex\"] = \"sex\";\n DemographicTypeEnum[\"Race\"] = \"race\";\n DemographicTypeEnum[\"Age\"] = \"age\";\n})(DemographicTypeEnum || (DemographicTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RoleEnum;\n(function (RoleEnum) {\n RoleEnum[\"GeneralUser\"] = \"GENERAL_USER\";\n RoleEnum[\"GeneralUserNoDownload\"] = \"GENERAL_USER_NO_DOWNLOAD\";\n RoleEnum[\"SystemAdmin\"] = \"SYSTEM_ADMIN\";\n RoleEnum[\"IndexManager\"] = \"INDEX_MANAGER\";\n RoleEnum[\"SingleIndexDataManager\"] = \"SINGLE_INDEX_DATA_MANAGER\";\n RoleEnum[\"SingleIndexUserManager\"] = \"SINGLE_INDEX_USER_MANAGER\";\n})(RoleEnum || (RoleEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RaceMethodologyEnum;\n(function (RaceMethodologyEnum) {\n RaceMethodologyEnum[\"Standard\"] = \"STANDARD\";\n RaceMethodologyEnum[\"RTI\"] = \"RTI\";\n})(RaceMethodologyEnum || (RaceMethodologyEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ClinicalTrialOptionEnum;\n(function (ClinicalTrialOptionEnum) {\n ClinicalTrialOptionEnum[\"TrialsRelated\"] = \"TRIALS_RELATED\";\n ClinicalTrialOptionEnum[\"AllTrials\"] = \"ALL_TRIALS\";\n})(ClinicalTrialOptionEnum || (ClinicalTrialOptionEnum = {}));\nexport var ClinicalTrialStatusEnum;\n(function (ClinicalTrialStatusEnum) {\n ClinicalTrialStatusEnum[\"NotYetRecruiting\"] = \"NOT_YET_RECRUITING\";\n ClinicalTrialStatusEnum[\"Recruiting\"] = \"RECRUITING\";\n ClinicalTrialStatusEnum[\"EnrollingByInvitation\"] = \"ENROLLING_BY_INVITATION\";\n ClinicalTrialStatusEnum[\"ActiveNotRecruiting\"] = \"ACTIVE_NOT_RECRUITING\";\n})(ClinicalTrialStatusEnum || (ClinicalTrialStatusEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var PrimaryConditionsSortTypeEnum;\n(function (PrimaryConditionsSortTypeEnum) {\n PrimaryConditionsSortTypeEnum[\"Specifically\"] = \"SPECIFICALLY\";\n})(PrimaryConditionsSortTypeEnum || (PrimaryConditionsSortTypeEnum = {}));\nexport var SecondaryConditionsSortTypeEnum;\n(function (SecondaryConditionsSortTypeEnum) {\n SecondaryConditionsSortTypeEnum[\"Specifically\"] = \"SPECIFICALLY\";\n})(SecondaryConditionsSortTypeEnum || (SecondaryConditionsSortTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RightPanelTypeEnum;\n(function (RightPanelTypeEnum) {\n RightPanelTypeEnum[\"RegionDetail\"] = \"RegionDetail\";\n RightPanelTypeEnum[\"ProviderDetail\"] = \"ProviderDetail\";\n RightPanelTypeEnum[\"ClinicalTrialDetail\"] = \"ClinicalTrialDetail\";\n RightPanelTypeEnum[\"CustomMapLayer\"] = \"CustomMapLayer\";\n RightPanelTypeEnum[\"QuestDiagnosticsSites\"] = \"QuestDiagnosticsSitesLayer\";\n})(RightPanelTypeEnum || (RightPanelTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var UserLoginTypeEnum;\n(function (UserLoginTypeEnum) {\n UserLoginTypeEnum[\"USER_APP\"] = \"USER_APP\";\n UserLoginTypeEnum[\"USER_COGNITO\"] = \"USER_COGNITO\";\n})(UserLoginTypeEnum || (UserLoginTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ChronicConditionSource;\n(function (ChronicConditionSource) {\n ChronicConditionSource[\"NMQF_CUSTOM\"] = \"nmqf_custom\";\n ChronicConditionSource[\"CMS_OTHER\"] = \"cms_other\";\n ChronicConditionSource[\"CMS_27\"] = \"cms_27\";\n ChronicConditionSource[\"CMS_30\"] = \"cms_30\";\n})(ChronicConditionSource || (ChronicConditionSource = {}));\nexport var KeyCombineConditionSource;\n(function (KeyCombineConditionSource) {\n KeyCombineConditionSource[\"lessThan2019\"] = \"lessThan2019\";\n KeyCombineConditionSource[\"greaterOrEqual2019\"] = \"greaterOrEqual2019\";\n})(KeyCombineConditionSource || (KeyCombineConditionSource = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useContext, useCallback, useMemo } from 'react';\nimport { Map } from 'immutable';\nimport { DataSourceEnum, RaceMethodologyEnum, StatisticTypeEnum } from '../enums';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nexport var REPORT_DATA_SOURCES = [DataSourceEnum.MedicareFFS];\nvar ReportsDialogContext = React.createContext([]);\nexport var useReportsDialogValue = function (key) {\n var _a = useContext(ReportsDialogContext), state = _a[0], updateState = _a[1];\n var getter = function () { return state === null || state === void 0 ? void 0 : state.get(key); };\n var setter = useCallback(function (value) { return updateState === null || updateState === void 0 ? void 0 : updateState(function (curr) { return curr.set(key, value); }); }, [key, updateState]);\n return [useMemo(getter, [key, state]), setter];\n};\nexport var useReportSetting = function () {\n var _a = useContext(ReportsDialogContext), data = _a[0], updateData = _a[1];\n var getter = function () { return data === null || data === void 0 ? void 0 : data.toJSON(); };\n var setter = useCallback(function (value) { return updateData === null || updateData === void 0 ? void 0 : updateData(Map(value)); }, [updateData]);\n return [useMemo(getter, [data]), setter];\n};\nexport var ReportsDialogProvider = function (props) {\n var _a, _b, _c, _d, _e;\n var defaultFilter = useDefaultFilter();\n var indexConfig = useHostnameIndexInfo();\n var _f = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).isSeasonStatistic, isSeasonStatistic = _f === void 0 ? false : _f;\n var INITIAL_VALUE = {\n isSeasonStatistic: isSeasonStatistic,\n conditions: defaultFilter.primaryCoMorbidities || [],\n secondaryCormorbidities: [],\n dataSourceType: ((_b = (_a = defaultFilter.report) === null || _a === void 0 ? void 0 : _a.cmsDataSource) === null || _b === void 0 ? void 0 : _b[0]) || REPORT_DATA_SOURCES[0],\n dataYear: 0,\n dataYearSeason: defaultFilter.dataYearSeason || [],\n firstLevel: undefined,\n reportType: defaultFilter.defaultReportType || ReportTypeEnum.CongressionalDetailAnalysis,\n secondLevel: undefined,\n zipCodes: undefined,\n raceMethodology: RaceMethodologyEnum.Standard,\n statistics: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationCost,\n StatisticTypeEnum.ERCost,\n StatisticTypeEnum.TotalCost,\n ],\n sexCodes: (_c = defaultFilter.demographics) === null || _c === void 0 ? void 0 : _c.sexCodes,\n raceCodes: (_d = defaultFilter.demographics) === null || _d === void 0 ? void 0 : _d.raceCodes,\n ages: (_e = defaultFilter.demographics) === null || _e === void 0 ? void 0 : _e.ages,\n isRememberSettings: false,\n fluVaccineCptCodes: [],\n };\n var _g = useState(function () { return Map(INITIAL_VALUE); }), state = _g[0], setState = _g[1];\n var contextValue = [state, setState];\n return (React.createElement(ReportsDialogContext.Provider, { value: contextValue }, props.children));\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport 'mapbox-gl/dist/mapbox-gl.css';\nimport './i18n';\nimport './fontawesome';\nexport { ENV_LEGEND_COLORS, ENV_STATE_BORDER_COLOR } from './env'; // For Reports\nexport * from './lookupdata';\nexport * from './utils';\nexport * from './common';\nexport * from './hooks';\nexport * from './enums';\nexport * from './types';\nexport * from './configs';\nexport * from './state';\nexport * from './hostnameindexinfo';\nexport * from './authentication';\nexport * from './header';\nexport * from './userprofile';\nexport * from './userchangepassword';\nexport * from './filterbar';\nexport * from './filterdialog';\nexport * from './filterresultdashboard';\nexport * from './filtersidebar';\nexport * from './maplayermenu';\nexport * from './map';\nexport * from './demographicchart';\nexport * from './trendline';\nexport * from './tableview';\nexport * from './storeduivalue';\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var FETCH_URL_START = 'FETCH_URL_START';\nexport var FETCH_URL_SUCCESS = 'FETCH_URL_SUCCESS';\nexport var FETCH_URL_FAILED = 'FETCH_URL_FAILED';\nexport var FETCH_URL_RESET = 'FETCH_URL_RESET';\nvar initialState = Map();\nvar actionHandlers = {};\nactionHandlers[FETCH_URL_START] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], true)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'error'])\n .setIn([a.payload.key + \":\" + a.payload.method, 'timeout'], a.payload.timeout)\n .setIn([a.payload.key + \":\" + a.payload.method, 'abortController'], a.payload.abortController);\n};\nactionHandlers[FETCH_URL_SUCCESS] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], false)\n .setIn([a.payload.key + \":\" + a.payload.method, 'data'], a.payload.data)\n .setIn([a.payload.key + \":\" + a.payload.method, 'statusCode'], a.payload.statusCode)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'abortController']);\n};\nactionHandlers[FETCH_URL_FAILED] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], false)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'data'])\n .setIn([a.payload.key + \":\" + a.payload.method, 'error'], a.payload.error)\n .setIn([a.payload.key + \":\" + a.payload.method, 'statusCode'], a.payload.statusCode)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'abortController']);\n};\nactionHandlers[FETCH_URL_RESET] = function (s, a) { return s.remove(a.payload.key + \":\" + a.payload.method); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var SET_MESSAGE = 'SET_MESSAGE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[SET_MESSAGE] = function (s, a) { return (a.payload.data ? s.set(a.payload.key, a.payload.data) : s.remove(a.payload.key)); };\nexport default function messageReducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useContext, useCallback, useMemo, useRef } from 'react';\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { Map } from 'immutable';\nimport { AuthContext } from 'cinchy';\nimport { FETCH_URL_START, FETCH_URL_SUCCESS, FETCH_URL_FAILED, FETCH_URL_RESET } from './reducer';\nimport { substituteParams } from '../../utils';\nvar DEFAULT_TIMEOUT = 60000; // One Minute Timeout\nvar startFetch = function (key, method, timeout, abortController) { return ({\n type: FETCH_URL_START,\n payload: { key: key, method: method, timeout: timeout, abortController: abortController },\n}); };\nvar successFetch = function (key, method, data, statusCode) { return ({\n type: FETCH_URL_SUCCESS,\n payload: { key: key, method: method, data: data, statusCode: statusCode },\n}); };\nvar failFetch = function (key, method, error, statusCode) { return ({\n type: FETCH_URL_FAILED,\n payload: {\n key: key,\n method: method,\n error: __assign(__assign({}, (typeof error === 'object' ? error : { error: error })), { statusCode: statusCode, message: statusCode === 502 || statusCode === 504\n ? 'The system is currently busy, please try again in a couple of minutes'\n : typeof error === 'object'\n ? error.message || error.errorMessage\n : 'Server Error' }),\n statusCode: statusCode,\n },\n}); };\nvar resetState = function (key, method) { return ({ type: FETCH_URL_RESET, payload: { key: key, method: method } }); };\nvar APIClient = /** @class */ (function () {\n function APIClient(url, key, method, authStrategy) {\n this.authStrategy = authStrategy;\n this.url = url;\n this.key = key;\n this.method = method;\n }\n APIClient.prototype.getKey = function () {\n return this.key;\n };\n APIClient.prototype.getMethod = function () {\n return this.method;\n };\n APIClient.prototype.getUrl = function () {\n return this.url;\n };\n APIClient.prototype.abort = function (state) {\n var _a, _b;\n (_b = (_a = state.api.get(this.key + \":\" + this.method)) === null || _a === void 0 ? void 0 : _a.get('abortController')) === null || _b === void 0 ? void 0 : _b.abort();\n };\n APIClient.prototype.resetState = function () {\n var _this = this;\n return function (dispatch, getState) {\n _this.abort(getState());\n dispatch(resetState(_this.getKey(), _this.getMethod()));\n };\n };\n APIClient.prototype.request = function (timeout, body, parseData) {\n var _this = this;\n if (timeout === void 0) { timeout = DEFAULT_TIMEOUT; }\n return function (dispatch, getState) { return __awaiter(_this, void 0, void 0, function () {\n var abortController, retry, response, requestOptions, request, contentType, _a, contentType, _b, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!this.url)\n return [2 /*return*/];\n this.abort(getState());\n abortController = new AbortController();\n dispatch(startFetch(this.key, this.method, Date.now() + timeout, abortController));\n _c.label = 1;\n case 1:\n _c.trys.push([1, 19, , 22]);\n retry = true;\n response = {};\n _c.label = 2;\n case 2:\n if (!retry) return [3 /*break*/, 18];\n retry = false;\n requestOptions = this.authStrategy.getRequestOptions(this.method, body);\n return [4 /*yield*/, fetch(this.url, __assign({ signal: abortController.signal }, requestOptions))];\n case 3:\n request = _c.sent();\n if (!(request.status > 299)) return [3 /*break*/, 12];\n if (!(request.status === 401)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.authStrategy.onUnauthorized(dispatch, getState, request)];\n case 4:\n retry = _c.sent();\n return [3 /*break*/, 11];\n case 5:\n if (!(request.status === 403)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.authStrategy.onForbidden(dispatch, getState, request)];\n case 6:\n retry = _c.sent();\n return [3 /*break*/, 11];\n case 7:\n contentType = request.headers.get('content-type');\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json'))) return [3 /*break*/, 9];\n return [4 /*yield*/, request.json()];\n case 8:\n _a = _c.sent();\n return [3 /*break*/, 10];\n case 9:\n _a = request.statusText;\n _c.label = 10;\n case 10:\n response = _a;\n dispatch(failFetch(this.key, this.method, response, request.status));\n _c.label = 11;\n case 11: return [3 /*break*/, 17];\n case 12:\n contentType = request.headers.get('content-type');\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json'))) return [3 /*break*/, 14];\n return [4 /*yield*/, request.json()];\n case 13:\n _b = _c.sent();\n return [3 /*break*/, 16];\n case 14: return [4 /*yield*/, request.text()];\n case 15:\n _b = _c.sent();\n _c.label = 16;\n case 16:\n response = _b;\n response = parseData ? parseData(response) : response;\n dispatch(successFetch(this.key, this.method, response, request.status));\n _c.label = 17;\n case 17: return [3 /*break*/, 2];\n case 18: return [2 /*return*/, response];\n case 19:\n e_1 = _c.sent();\n if (!(e_1.name !== 'AbortError')) return [3 /*break*/, 21];\n return [4 /*yield*/, this.authStrategy.onUnauthorized(dispatch, getState, e_1)];\n case 20:\n _c.sent();\n dispatch(failFetch(this.key, this.method, e_1));\n _c.label = 21;\n case 21: return [3 /*break*/, 22];\n case 22: return [2 /*return*/];\n }\n });\n }); };\n };\n return APIClient;\n}());\nexport { APIClient };\nexport var useAPI = function (url, substitutions, method, key, parseData) {\n if (substitutions === void 0) { substitutions = {}; }\n if (method === void 0) { method = 'GET'; }\n if (key === void 0) { key = url; }\n var parseDataRef = useRef();\n parseDataRef.current = parseData;\n var auth = useContext(AuthContext);\n var dispatch = useDispatch();\n var substitutedUrl = substituteParams(url, substitutions);\n var substitutedKey = substituteParams(key, substitutions);\n var client = useMemo(function () { return new APIClient(substitutedUrl, substitutedKey, method, auth); }, [substitutedUrl, substitutedKey, method, auth]);\n var doRequest = useCallback(function (body, force, timeout) {\n if (timeout === void 0) { timeout = DEFAULT_TIMEOUT; }\n return dispatch(client.request(timeout, body, parseDataRef.current));\n }, [client, dispatch]);\n var data = useMappedState(useCallback(function (state) { return state.api.get(client.getKey() + \":\" + client.getMethod(), Map({})).toObject(); }, [client]));\n var resetStateAPI = useCallback(function () { return dispatch(client.resetState()); }, [client, dispatch]);\n return [data, doRequest, resetStateAPI];\n};\nexport var useCachedData = function (url, substitutions, method, key, parseData) {\n if (method === void 0) { method = 'GET'; }\n if (key === void 0) { key = url; }\n var _a = useAPI(url, substitutions, method, key, parseData), data = _a[0], doRequest = _a[1], resetState = _a[2];\n var ignoreRequest = useRef(false);\n ignoreRequest.current = !!data.data || !!data.requesting;\n var fetchData = useCallback(function (body, force, timeout) {\n if (force || !ignoreRequest.current) {\n doRequest(body, force, timeout);\n }\n }, [doRequest]);\n return [data, fetchData, resetState];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback } from 'react';\nimport { SET_MESSAGE } from './reducer';\nexport var useMessage = function (messageId) {\n var dispatch = useDispatch();\n var setter = useCallback(function (message) { return dispatch({ type: SET_MESSAGE, payload: { key: messageId, data: message } }); }, [dispatch, messageId]);\n var getter = useCallback(function (state) { return state.message.get(messageId); }, [messageId]);\n return [useMappedState(getter), setter];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport api from './api/reducer';\nimport filter from './filtersettings/reducer';\nimport filterediting from './filterediting/reducer';\nimport view from './viewsetting/reducer';\nimport message from './message/reducer';\nexport var reducers = { api: api, filter: filter, filterediting: filterediting, view: view, message: message };\nexport * from './api';\nexport * from './filtersettings';\nexport * from './filterediting';\nexport * from './viewsetting';\nexport * from './message';\n","var _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { DataSourceEnum, StatisticTypeEnum } from '../enums';\nexport var DATA_SOURCES = (_a = {},\n _a[DataSourceEnum.Medicaid] = {\n value: DataSourceEnum.Medicaid,\n label: 'Medicaid',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount\n ],\n abbreviation: 'mcd',\n },\n _a[DataSourceEnum.MedicareFFS] = {\n value: DataSourceEnum.MedicareFFS,\n label: 'Medicare FFS',\n supportConsumptionGroup: true,\n abbreviation: 'mcr',\n },\n _a[DataSourceEnum.MedicareAdvantage] = {\n value: DataSourceEnum.MedicareAdvantage,\n label: 'Medicare Advantage',\n abbreviation: 'mcradv',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationRate,\n StatisticTypeEnum.ERVisitsRate,\n StatisticTypeEnum.HospitalEncounterRate,\n StatisticTypeEnum.DeathRate,\n StatisticTypeEnum.ReadmissionRate,\n ],\n },\n _a[DataSourceEnum.MedicareAll] = {\n value: DataSourceEnum.MedicareAll,\n label: 'Medicare All',\n abbreviation: 'mcrall',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationRate,\n StatisticTypeEnum.ERVisitsRate,\n StatisticTypeEnum.HospitalEncounterRate,\n StatisticTypeEnum.DeathRate,\n StatisticTypeEnum.ReadmissionRate,\n ],\n },\n _a[DataSourceEnum.MedicareFfsFluSeason] = {\n value: DataSourceEnum.MedicareFfsFluSeason,\n label: 'Medicare FFS Flu Season',\n abbreviation: 'mcr',\n },\n _a);\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar _a, _b;\nimport { ViewModeEnum, GeoLevelEnum, ChartViewEnum, DemographicTypeEnum } from '../enums';\nimport { deviceType } from '../utils';\nexport var VIEW_MODES = (_a = {},\n _a[ViewModeEnum.Map] = {\n value: ViewModeEnum.Map,\n label: 'View Map',\n icon: 'map',\n },\n _a[ViewModeEnum.Chart] = {\n value: ViewModeEnum.Chart,\n label: 'View Chart',\n icon: 'chart-pie',\n },\n _a[ViewModeEnum.Table] = {\n value: ViewModeEnum.Table,\n label: 'View Table',\n icon: 'table',\n },\n _a);\nexport var DEMOGRAPHIC_CHART_OPTIONS = [\n {\n value: DemographicTypeEnum.Sex,\n label: 'Sex',\n },\n {\n value: DemographicTypeEnum.Age,\n label: 'Age',\n },\n {\n value: DemographicTypeEnum.Race,\n label: 'Race/Ethnicity',\n },\n];\nexport var ALL_DEMOGRAPHIC_CHART_OPTIONS = DEMOGRAPHIC_CHART_OPTIONS.map(function (_a) {\n var value = _a.value;\n return value;\n});\nexport var CHART_VIEW_OPTIONS = [\n { value: ChartViewEnum.Demographic, label: 'Demographics', children: DEMOGRAPHIC_CHART_OPTIONS },\n { value: ChartViewEnum.Trends, label: 'Trends' },\n];\nexport var DEFAULT_VIEW_SETTING = {\n viewMode: ViewModeEnum.Map,\n geoType: GeoLevelEnum.Zip5,\n mapView: {\n showLegend: deviceType() !== 'mobile',\n showGeographyHoverDisplay: true,\n },\n chartView: (_b = {\n type: ChartViewEnum.Demographic,\n demographics: ALL_DEMOGRAPHIC_CHART_OPTIONS\n },\n _b[DemographicTypeEnum.Sex] = 'pie',\n _b[DemographicTypeEnum.Race] = 'pie',\n _b[DemographicTypeEnum.Age] = 'pie',\n _b),\n importingLocationTypes: {},\n mapLayerCountNotifications: {},\n provider: {},\n checkedQuestDiagnosticsStatus: false,\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useContext, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { WebMercatorViewport } from 'react-map-gl';\nimport bbox from '@turf/bbox';\nimport { Map } from 'immutable';\nimport { v4 } from 'uuid';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useUIValueSessionStorage } from '../storeduivalue';\nimport { useMount } from '../hooks';\nvar INITIAL_VIEW_PORT = {\n latitude: 37.70912855295634,\n longitude: -95.77103105174075,\n zoom: 3.4,\n pitch: 0,\n bearing: 0,\n};\nvar DEFAULT_TRANSPARENCY = 70;\nvar FIT_BOUNDS_PADDING = 70;\nvar MapContext = React.createContext(Object.assign([]));\nvar ViewportContext = React.createContext(Object.assign([]));\nexport var useMapFallback = function (requesting, error, retry) {\n var _a = useContext(MapContext), state = _a[0], updateState = _a[1];\n var fallback = state === null || state === void 0 ? void 0 : state.get('fallback');\n var key = useMemo(function () { return v4(); }, []);\n var getter = function () {\n var fallbackObj = (fallback === null || fallback === void 0 ? void 0 : fallback.toObject()) || {};\n var result = Object.values(fallbackObj).reduce(function (acc, curr) {\n acc.requesting = acc.requesting || curr.requesting;\n acc.error = acc.error || curr.error;\n return acc;\n }, Object.assign({}));\n result.retry = function () {\n Object.values(fallbackObj).forEach(function (curr) {\n if (curr.error) {\n curr.retry();\n }\n });\n };\n return result;\n };\n var setter = useCallback(function (value) {\n updateState === null || updateState === void 0 ? void 0 : updateState('fallback', function (oldState) { return (value ? oldState.set(key, value) : oldState.remove(key)); });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [updateState]);\n useEffect(function () {\n setter({ requesting: requesting, error: error, retry: retry });\n return setter;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requesting, error]);\n return [useMemo(getter, [fallback]), setter];\n};\nexport var MapFallback = function (props) {\n useMapFallback(props.requesting, props.error, props.retry);\n return null;\n};\nexport var useMapRef = function () {\n var _a = useContext(MapContext), mapRef = _a[2];\n return mapRef;\n};\nexport var useViewport = function () {\n var _a;\n var _b = useContext(ViewportContext), viewport = _b[0], updateViewport = _b[1];\n var indexConfig = useHostnameIndexInfo();\n var singleStateBBox = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.singleState) === null || _a === void 0 ? void 0 : _a.bbox;\n var setter = useCallback(function (value) {\n updateViewport(function (curr) { return (__assign(__assign({}, curr), value)); });\n }, [updateViewport]);\n var resetViewport = function (shouldResetViewport) {\n if (shouldResetViewport === void 0) { shouldResetViewport = true; }\n if (singleStateBBox && (viewport === null || viewport === void 0 ? void 0 : viewport.width) && (viewport === null || viewport === void 0 ? void 0 : viewport.height)) {\n var webMercatorViewport = new WebMercatorViewport(viewport);\n var minLng = singleStateBBox[0], minLat = singleStateBBox[1], maxLng = singleStateBBox[2], maxLat = singleStateBBox[3];\n var _a = webMercatorViewport.fitBounds([\n [minLng, minLat],\n [maxLng, maxLat],\n ], { padding: FIT_BOUNDS_PADDING }), longitude = _a.longitude, latitude = _a.latitude, zoom = _a.zoom;\n var value = { minZoom: zoom, zoom: Math.max(zoom, viewport.zoom || 0) };\n if (shouldResetViewport) {\n value = __assign(__assign({}, value), { longitude: longitude,\n latitude: latitude,\n zoom: zoom });\n }\n setter(value);\n }\n else if (shouldResetViewport) {\n setter(INITIAL_VIEW_PORT);\n }\n };\n return [viewport, setter, resetViewport];\n};\nexport var useMapValue = function (key) {\n var _a = useContext(MapContext), state = _a[0], updateState = _a[1];\n var getter = function () { return state === null || state === void 0 ? void 0 : state.get(key); };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var setter = useCallback(function (value) { return updateState === null || updateState === void 0 ? void 0 : updateState(key, value); }, []);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return [useMemo(getter, [state]), setter];\n};\nexport var useZoomToFeature = function () {\n var _a = useViewport(), viewport = _a[0], setViewport = _a[1];\n var viewportRef = useRef();\n viewportRef.current = viewport;\n var zoomToFeature = useCallback(function (feature) {\n if (feature) {\n try {\n var webMercatorViewport = new WebMercatorViewport(viewportRef.current);\n var _a = bbox(feature), minLng = _a[0], minLat = _a[1], maxLng = _a[2], maxLat = _a[3];\n var _b = webMercatorViewport.fitBounds([\n [minLng, minLat],\n [maxLng, maxLat],\n ], { padding: FIT_BOUNDS_PADDING }), longitude = _b.longitude, latitude = _b.latitude, zoom = _b.zoom;\n setViewport({\n longitude: longitude,\n latitude: latitude,\n zoom: Math.max(zoom - 1.5, viewportRef.current.minZoom || 0),\n });\n }\n catch (e) { }\n }\n }, [setViewport]);\n return zoomToFeature;\n};\nvar INITIAL_VALUE = {\n viewport: INITIAL_VIEW_PORT,\n transparency: DEFAULT_TRANSPARENCY,\n fallback: Map(),\n};\nvar SingleStateViewportComponent = function (props) {\n var _a = useViewport(), resetViewport = _a[2];\n useMount(function () {\n resetViewport(props.shouldResetViewport);\n });\n return null;\n};\nvar ViewportProvider = function (props) {\n var _a = useUIValueSessionStorage('viewport', INITIAL_VIEW_PORT, ['latitude', 'longitude', 'zoom']), viewport = _a[0], setViewport = _a[1], initialSessionValue = _a[2];\n return (React.createElement(ViewportContext.Provider, { value: [viewport, setViewport] },\n !!viewport.width && !!viewport.height && React.createElement(SingleStateViewportComponent, { shouldResetViewport: !initialSessionValue }),\n props.children));\n};\nexport var MapProvider = function (props) {\n var _a = useState(function () { return Map(INITIAL_VALUE); }), state = _a[0], setState = _a[1];\n var mapRef = useRef(null);\n var setter = useCallback(function (key, value) {\n setState(function (curr) { return curr.set(key, typeof value === 'function' ? value(curr.get(key)) : value); });\n }, []);\n var contextValue = useMemo(function () { return [state, setter, mapRef]; }, [state, setter]);\n return (React.createElement(ViewportProvider, null,\n React.createElement(MapContext.Provider, __assign({ value: contextValue }, props))));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Spinner as RSSpinner } from 'reactstrap';\nvar DEFAULT_SPINNER_RADIUS = 120;\nvar StyledSpinner = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: 1rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: 1rem;\\n\"])));\nvar StyledRSSpinner = styled(RSSpinner)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n color: #0099db;\\n border-width: 0.125rem;\\n \", \"\\n\"], [\"\\n color: #0099db;\\n border-width: 0.125rem;\\n \", \"\\n\"])), function (_a) {\n var _b = _a.radius, radius = _b === void 0 ? DEFAULT_SPINNER_RADIUS : _b;\n return \"width: \" + radius / 16 + \"rem; height: \" + radius / 16 + \"rem;\";\n});\nexport var Spinner = function (props) {\n if (!props.show)\n return null;\n return (React.createElement(StyledSpinner, null,\n React.createElement(StyledRSSpinner, { radius: props.radius })));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { Button as RSButton, DropdownToggle, UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons';\nimport styled, { css } from 'styled-components';\nvar iconButtonRule = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar StyledIconButton = styled(RSButton)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), iconButtonRule);\nvar StyledDropdownToggleIcon = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), iconButtonRule);\nvar StyledButton = styled(RSButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n outline: none !important;\\n box-shadow: none !important;\\n\"], [\"\\n outline: none !important;\\n box-shadow: none !important;\\n\"])));\nexport var IconButton = function (_a) {\n var icon = _a.icon, size = _a.size, title = _a.title, placement = _a.placement, loading = _a.loading, resprops = __rest(_a, [\"icon\", \"size\", \"title\", \"placement\", \"loading\"]);\n var myRef = useRef();\n var buttonRef = resprops.innerRef || myRef;\n var _b = useState(false), ready = _b[0], setReady = _b[1];\n useEffect(function () {\n setReady(true);\n }, []);\n return (React.createElement(StyledIconButton, __assign({ size: \"sm\" }, resprops, { disabled: loading || resprops.disabled, innerRef: buttonRef }),\n loading ? React.createElement(FontAwesomeIcon, { icon: faSpinner, spin: true, size: size, fixedWidth: true }) : icon && React.createElement(FontAwesomeIcon, { icon: icon, size: size, fixedWidth: true }),\n title && ready && React.createElement(UncontrolledTooltip, { placement: placement, target: buttonRef.current, fade: false, delay: 1000 }, title)));\n};\nexport var DropdownToggleIcon = function (_a) {\n var icon = _a.icon, size = _a.size, title = _a.title, placement = _a.placement, resprops = __rest(_a, [\"icon\", \"size\", \"title\", \"placement\"]);\n var tooltipRef = useRef();\n var _b = useState(false), ready = _b[0], setReady = _b[1];\n useEffect(function () {\n setReady(true);\n }, []);\n return (React.createElement(StyledDropdownToggleIcon, __assign({ size: \"sm\" }, resprops, { innerRef: tooltipRef }),\n icon && React.createElement(FontAwesomeIcon, { icon: icon, size: size, fixedWidth: true }),\n title && ready && React.createElement(UncontrolledTooltip, { placement: placement, target: tooltipRef.current, fade: false, delay: 1000 }, title)));\n};\nexport var Button = function (_a) {\n var message = _a.message, icon = _a.icon, loading = _a.loading, resprops = __rest(_a, [\"message\", \"icon\", \"loading\"]);\n return (React.createElement(StyledButton, __assign({}, resprops, { disabled: loading || resprops.disabled }),\n loading ? React.createElement(FontAwesomeIcon, { icon: faSpinner, spin: true }) : icon && React.createElement(FontAwesomeIcon, { icon: icon }),\n \" \",\n message,\n resprops.children));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useTranslation } from 'react-i18next';\nimport { Spinner } from './spinner';\nimport { Button } from './button';\nvar FallbackOverlay = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n // top: 0;\\n // bottom: 0;\\n // left: 0;\\n // right: 0;\\n // cursor: not-allowed;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n \\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"], [\"\\n position: absolute;\\n // top: 0;\\n // bottom: 0;\\n // left: 0;\\n // right: 0;\\n // cursor: not-allowed;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n \\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"])));\nvar StyledErrorMsg = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 1rem;\\n text-align: center;\\n background-color: #fff;\\n border-radius: 4px;\\n cursor: default;\\n\"], [\"\\n padding: 1rem;\\n text-align: center;\\n background-color: #fff;\\n border-radius: 4px;\\n cursor: default;\\n\"])));\nvar StyledWarningIcon = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: 3.5rem;\\n height: 3.5rem;\\n margin: 0 auto;\\n color: #ccc;\\n border-radius: 100%;\\n border: 0.125rem solid #ccc;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"], [\"\\n width: 3.5rem;\\n height: 3.5rem;\\n margin: 0 auto;\\n color: #ccc;\\n border-radius: 100%;\\n border: 0.125rem solid #ccc;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"])));\nvar ErrorTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-size: 2rem;\\n text-align: center;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-size: 2rem;\\n text-align: center;\\n margin: 0.25rem 0;\\n\"])));\nvar ErrorBody = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: #9b9b9b;\\n margin: 0.75rem 0;\\n\"], [\"\\n color: #9b9b9b;\\n margin: 0.75rem 0;\\n\"])));\nvar ErrorMsg = function (props) {\n var _a, _b, _c, _d;\n var t = useTranslation().t;\n return (React.createElement(StyledErrorMsg, null,\n React.createElement(StyledWarningIcon, null,\n React.createElement(FontAwesomeIcon, { icon: \"exclamation\", size: \"2x\" })),\n React.createElement(ErrorTitle, null, (((_a = props.error) === null || _a === void 0 ? void 0 : _a.statusCode) === 502 || ((_b = props.error) === null || _b === void 0 ? void 0 : _b.statusCode) === 504) ? 'Important' : t('apierror.title')),\n React.createElement(ErrorBody, null, (((_c = props.error) === null || _c === void 0 ? void 0 : _c.statusCode) === 502 || ((_d = props.error) === null || _d === void 0 ? void 0 : _d.statusCode) === 504)\n ? 'The system is currently busy, please try again in a couple of minutes.'\n : t('apierror.msg')),\n props.retry && React.createElement(Button, { color: \"primary\", message: \"Retry\", onClick: function () { return props.retry && props.retry(); } })));\n};\nexport var FallbackComponent = function (props) {\n var fallback = props.requesting ? (props.fallback || React.createElement(Spinner, { show: true, radius: props.spinnerSize })) : props.error ? (React.createElement(ErrorMsg, { error: props.error, retry: props.retry })) : null;\n if (fallback && !props.overlay)\n return fallback;\n return (React.createElement(React.Fragment, null,\n props.children,\n fallback && props.overlay && React.createElement(FallbackOverlay, null, fallback)));\n};\nvar loadingDotAnimations = keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"], [\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\nvar LoadingDot = styled.span(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n animation: \", \" 1s ease-in-out \", \"ms infinite;\\n background-color: currentColor;\\n border-radius: 0.25rem;\\n margin-left: \", \";\\n display: inline-block;\\n height: 0.25rem;\\n width: 0.25rem;\\n\"], [\"\\n animation: \", \" 1s ease-in-out \", \"ms infinite;\\n background-color: currentColor;\\n border-radius: 0.25rem;\\n margin-left: \", \";\\n display: inline-block;\\n height: 0.25rem;\\n width: 0.25rem;\\n\"])), loadingDotAnimations, function (props) { return props.delay; }, function (props) { return (props.isOffset ? '0.25rem' : '0'); });\nexport var ThreeDotLoading = function (props) {\n if (props.loading) {\n return (React.createElement(\"span\", null,\n React.createElement(LoadingDot, { delay: 0 }),\n React.createElement(LoadingDot, { delay: 160, isOffset: true }),\n React.createElement(LoadingDot, { delay: 320, isOffset: true })));\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { components } from 'react-select';\nimport AsyncSelect from 'react-select/async';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport ReactSelectCreatable from 'react-select/creatable';\nimport { isEmpty } from '../utils';\nvar MAX_OPTION_SIZE = 1000;\nvar InputGroupWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n flex-shrink: 0;\\n \", \"\\n // max-width: 25rem;\\n \", \"\\n\"], [\"\\n flex-shrink: 0;\\n \", \"\\n // max-width: 25rem;\\n \",\n \"\\n\"])), function (props) { return (props.inline ? 'display: inline-block;' : ''); }, function (props) {\n return props.width\n ? css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: \", \"rem;\\n \"], [\"\\n width: \", \"rem;\\n \"])), props.width) : css(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n min-width: 10rem;\\n \"], [\"\\n min-width: 10rem;\\n \"])));\n});\nvar DropdownIndicator = function (_a) {\n var icon = _a.icon, props = __rest(_a, [\"icon\"]);\n return React.createElement(components.DropdownIndicator, __assign({}, props), icon ? React.createElement(FontAwesomeIcon, { icon: icon }) : props.children);\n};\nvar MenuList = function (_a) {\n var searchedOptionsSize = _a.searchedOptionsSize, props = __rest(_a, [\"searchedOptionsSize\"]);\n return React.createElement(components.MenuList, __assign({}, props), props.children);\n};\nvar MenuListMemo = React.memo(MenuList, function (prev, next) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var menuOptionsPrev = (((_d = (_c = (_b = (_a = prev.selectRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.select) === null || _c === void 0 ? void 0 : _c.select) === null || _d === void 0 ? void 0 : _d.state) || {}).menuOptions;\n var menuOptionsNext = (((_h = (_g = (_f = (_e = next.selectRef) === null || _e === void 0 ? void 0 : _e.current) === null || _f === void 0 ? void 0 : _f.select) === null || _g === void 0 ? void 0 : _g.select) === null || _h === void 0 ? void 0 : _h.state) || {}).menuOptions;\n return ((_k = (_j = menuOptionsPrev === null || menuOptionsPrev === void 0 ? void 0 : menuOptionsPrev.render) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.value) === ((_m = (_l = menuOptionsNext === null || menuOptionsNext === void 0 ? void 0 : menuOptionsNext.render) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.value) &&\n prev.searchedOptionsSize === next.searchedOptionsSize &&\n prev.isLoading === next.isLoading;\n});\nvar IconOption = function (props) { return (React.createElement(components.Option, __assign({}, props),\n props.data.icon && React.createElement(FontAwesomeIcon, { icon: props.data.icon, className: \"mr-1\" }),\n props.children)); };\nvar SingleValue = function (props) { return (React.createElement(components.SingleValue, __assign({}, props),\n props.data.icon && React.createElement(FontAwesomeIcon, { icon: props.data.icon, className: \"mr-1\" }),\n props.children)); };\nexport var Select = function (props) {\n var _a = useState(props.inputBoxValue || ''), inputValue = _a[0], setInputValue = _a[1];\n var _b = useState(), searchedOptionsSize = _b[0], setSearchedOptionsSize = _b[1];\n var selectRef = useRef();\n useEffect(function () {\n var _a;\n setSearchedOptionsSize((_a = props.options) === null || _a === void 0 ? void 0 : _a.length);\n }, [props.options]);\n useEffect(function () {\n setInputValue(props.inputBoxValue || '');\n }, [props.inputBoxValue]);\n var handleInputChange = function (newValue) {\n var _a;\n setInputValue(newValue);\n if (!newValue) {\n setSearchedOptionsSize((_a = props.options) === null || _a === void 0 ? void 0 : _a.length);\n }\n };\n var handleChange = function (values) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, props.isMulti ? values === null || values === void 0 ? void 0 : values.map(function (i) { return i.value; }) : values === null || values === void 0 ? void 0 : values.value, props.name, values);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, props.isMulti ? values === null || values === void 0 ? void 0 : values.map(function (i) { return i.value; }) : values === null || values === void 0 ? void 0 : values.value, props.name, values);\n };\n var options = props.options ? (props.optionsTransform ? props.options.map(props.optionsTransform) : props.options) : [];\n if (props.noSort === undefined || props.noSort === false) {\n options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); });\n }\n options = props.isOptionDisabled ? options === null || options === void 0 ? void 0 : options.map(function (option) { var _a; return (__assign(__assign({}, option), { __disabled: (_a = props.isOptionDisabled) === null || _a === void 0 ? void 0 : _a.call(props, option) })); }) : options;\n var isOptionDisabled = function (option) { return !!option.__disabled; };\n var loadOptions = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var filterIncludes, filterStartWith;\n return __generator(this, function (_a) {\n filterIncludes = function (i) {\n var _a, _b;\n return (i.label.toLowerCase().includes(input.toLowerCase()) || ((_a = i.parent) === null || _a === void 0 ? void 0 : _a.label.toLowerCase().includes(input.toLowerCase())) || ((_b = i.children) === null || _b === void 0 ? void 0 : _b.some(function (child) { return child.label.toLowerCase().includes(input.toLowerCase()); })));\n };\n filterStartWith = function (i) {\n var _a, _b;\n return (i.noCheckFilter ||\n i.label.toLowerCase().startsWith(input.toLowerCase()) || ((_a = i.parent) === null || _a === void 0 ? void 0 : _a.label.toLowerCase().startsWith(input.toLowerCase())) || ((_b = i.children) === null || _b === void 0 ? void 0 : _b.some(function (child) { return child.label.toLowerCase().startsWith(input.toLowerCase()); })));\n };\n return [2 /*return*/, new Promise(function (resolve) {\n setTimeout(function () {\n var filteredOptions = options.filter(props.isFilterStartWith ? filterStartWith : filterIncludes);\n setSearchedOptionsSize(filteredOptions.length);\n filteredOptions = filteredOptions.slice(0, MAX_OPTION_SIZE);\n resolve(filteredOptions);\n var focusedOption = selectRef.current.select.select.state.focusedOption;\n if (filteredOptions.indexOf(focusedOption) === -1 || !(focusedOption === null || focusedOption === void 0 ? void 0 : focusedOption.label.toLowerCase().includes(input.toLowerCase()))) {\n selectRef.current.select.select.setState({\n focusedOption: filteredOptions.find(function (option) { return option.label.toLowerCase().includes(inputValue.toLowerCase()); }),\n });\n }\n });\n })];\n });\n }); };\n var handleBlur = function () {\n var _a;\n (_a = props.setFieldTouched) === null || _a === void 0 ? void 0 : _a.call(props, true, props.name);\n };\n var flatedOptions = options.flatMap(function (i) { return i.options || [i]; });\n var value = props.isMulti ? flatedOptions.filter(function (i) { var _a; return (_a = props.value) === null || _a === void 0 ? void 0 : _a.some(function (v) { return v === i.value; }); }) : flatedOptions.find(function (i) { return i.value === props.value; });\n return (React.createElement(InputGroupWrapper, { inline: props.inline, width: props.width },\n React.createElement(AsyncSelect, { ref: selectRef, className: props.className, isLoading: props.isLoading, isDisabled: props.disabled, value: value === undefined ? null : value, isClearable: props.isClearable, placeholder: props.placeholder, defaultOptions: options.slice(0, MAX_OPTION_SIZE), loadOptions: loadOptions, onChange: handleChange, onBlur: handleBlur, name: props.name, menuPlacement: props.menuPlacement, formatOptionLabel: props.formatOptionLabel, components: __assign({ DropdownIndicator: function (indicatorProps) {\n return inputValue && props.indicatorIcon ? null : React.createElement(DropdownIndicator, __assign({}, indicatorProps, { icon: props.indicatorIcon }));\n }, IndicatorSeparator: inputValue && props.indicatorIcon ? null : components.IndicatorSeparator, MenuList: function (menuListProps) {\n if (props.onSelectToRenderOptions)\n return React.createElement(MenuListMemo, __assign({}, menuListProps, { selectRef: selectRef, searchedOptionsSize: searchedOptionsSize }));\n return React.createElement(MenuList, __assign({}, menuListProps, { searchedOptionsSize: searchedOptionsSize }));\n }, Option: IconOption, SingleValue: SingleValue }, props.components), inputValue: inputValue, menuPosition: props.menuPosition, onInputChange: props.onInputBoxValueChange || handleInputChange, isOptionDisabled: isOptionDisabled, isMulti: props.isMulti, closeMenuOnSelect: props.closeMenuOnSelect, controlShouldRenderValue: props.controlShouldRenderValue, styles: {\n menu: function (provided) { return (__assign(__assign({}, provided), { zIndex: 9999 })); },\n }, minMenuHeight: props.minMenuHeight, maxMenuHeight: props.maxMenuHeight })));\n};\nexport var CreatableSelect = function (props) {\n var _a = useState(''), inputValue = _a[0], setInputValue = _a[1];\n var handleInputChange = function (inputValue) {\n setInputValue(inputValue.trimStart());\n };\n var handleChange = function (newValue) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, newValue === null || newValue === void 0 ? void 0 : newValue.value, props.name, newValue);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, newValue === null || newValue === void 0 ? void 0 : newValue.value, props.name, newValue);\n };\n var handleBlur = function () {\n var _a;\n (_a = props.setFieldTouched) === null || _a === void 0 ? void 0 : _a.call(props, true, props.name);\n };\n var isValidNewOption = function (inputValue, selectValue, selectOptions) {\n var candidate = inputValue.trim().toLowerCase();\n return (!!candidate &&\n selectValue.every(function (value) { return candidate !== (\"\" + value).trim().toLowerCase(); }) &&\n selectOptions.every(function (option) { return candidate !== option.label.trim().toLowerCase(); }));\n };\n var options = props.options ? (props.optionsTransform ? props.options.map(props.optionsTransform) : props.options) : [];\n if (props.noSort === undefined || props.noSort === false) {\n options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); });\n }\n var value = !isEmpty(props.value) ? options.find(function (i) { return i.value === props.value; }) || { value: props.value, label: props.value } : null;\n return (React.createElement(ReactSelectCreatable, __assign({}, props, { value: value, options: options, inputValue: inputValue, onInputChange: handleInputChange, onChange: handleChange, onBlur: handleBlur, isValidNewOption: isValidNewOption })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { FormGroup, Label, Input } from 'reactstrap';\nimport styled, { css } from 'styled-components';\nvar indeterminateStyle = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n border: 0;\\n :not(:disabled) {\\n background-color: #0374fe;\\n :hover {\\n background-color: #065cc8;\\n }\\n }\\n :disabled {\\n background-color: #d1d1d1;\\n }\\n\"], [\"\\n border: 0;\\n :not(:disabled) {\\n background-color: #0374fe;\\n :hover {\\n background-color: #065cc8;\\n }\\n }\\n :disabled {\\n background-color: #d1d1d1;\\n }\\n\"])));\nexport var StyledCheckbox = styled(function (_a) {\n var indeterminate = _a.indeterminate, props = __rest(_a, [\"indeterminate\"]);\n return React.createElement(Label, __assign({}, props));\n})(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n input {\\n appearance: none;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 0.125rem;\\n border: 1px solid #757575;\\n :hover:not(:disabled) {\\n border-color: #212529;\\n }\\n :disabled {\\n background-color: #f8f8f8;\\n border-color: #d1d1d1;\\n }\\n \", \"\\n :checked {\\n \", \"\\n }\\n }\\n input:checked + span::before {\\n content: '';\\n width: 0.25rem;\\n height: 0.625rem;\\n border: 1px solid #fff;\\n border-width: 0 0.125rem 0.125rem 0;\\n transform: rotate(45deg);\\n position: absolute;\\n left: -0.9rem;\\n top: 0.4rem;\\n }\\n\"], [\"\\n position: relative;\\n input {\\n appearance: none;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 0.125rem;\\n border: 1px solid #757575;\\n :hover:not(:disabled) {\\n border-color: #212529;\\n }\\n :disabled {\\n background-color: #f8f8f8;\\n border-color: #d1d1d1;\\n }\\n \", \"\\n :checked {\\n \", \"\\n }\\n }\\n input:checked + span::before {\\n content: '';\\n width: 0.25rem;\\n height: 0.625rem;\\n border: 1px solid #fff;\\n border-width: 0 0.125rem 0.125rem 0;\\n transform: rotate(45deg);\\n position: absolute;\\n left: -0.9rem;\\n top: 0.4rem;\\n }\\n\"])), function (props) { return (props.indeterminate ? indeterminateStyle : ''); }, indeterminateStyle);\nexport var SimpleCheckbox = function (props) {\n return (React.createElement(StyledCheckbox, { indeterminate: props.indeterminate, check: true, className: props.disabled ? 'text-muted' : '' },\n React.createElement(Input, { type: \"checkbox\", value: props.value, disabled: props.disabled, checked: props.checked, onChange: props.onChange }),\n React.createElement(\"span\", null,\n props.label,\n props.children)));\n};\nexport var Checkbox = function (props) {\n var value = useMemo(function () { return (Array.isArray(props.value) ? props.value.map(function (i) { return i.value; }) : [props.value]); }, [props.value]);\n var handleChange = function (event) {\n var _a;\n var newValue;\n if (event.target.checked) {\n newValue = __spreadArrays((props.groupValue || []), value);\n }\n else {\n newValue = (_a = props.groupValue) === null || _a === void 0 ? void 0 : _a.filter(function (gv) { return !value.some(function (v) { return JSON.stringify(v) === JSON.stringify(gv); }); });\n }\n props.sortValue && (newValue === null || newValue === void 0 ? void 0 : newValue.sort(props.sortValue));\n props.onChange(newValue, props.payload);\n };\n var checked = useMemo(function () { return value.every(function (v) { var _a; return (_a = props.groupValue) === null || _a === void 0 ? void 0 : _a.some(function (gv) { return JSON.stringify(gv) === JSON.stringify(v); }); }); }, [value, props.groupValue]);\n return (React.createElement(FormGroup, { check: true, inline: props.inline },\n React.createElement(SimpleCheckbox, { label: props.label, value: value === null || value === void 0 ? void 0 : value[0], disabled: props.disabled, checked: checked, onChange: handleChange })));\n};\nexport var CheckboxGroup = function (props) {\n var _a;\n var options = props.optionsTransform ? (_a = props.options) === null || _a === void 0 ? void 0 : _a.map(props.optionsTransform) : props.options;\n !props.noSort && (options === null || options === void 0 ? void 0 : options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); }));\n options = props.input ? options === null || options === void 0 ? void 0 : options.filter(function (i) { var _a; return i.label.toLowerCase().includes((_a = props.input) === null || _a === void 0 ? void 0 : _a.toLowerCase()); }) : options;\n var handleChange = function (value, payload) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, payload);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, value, props.name || '');\n };\n if (!(options === null || options === void 0 ? void 0 : options.length))\n return null;\n return (React.createElement(\"div\", { className: props.className },\n !props.noAll && (React.createElement(Checkbox, { disabled: props.disabled && props.disabled('__ALL__'), inline: props.inline, value: options, groupValue: props.value, label: props.allText || 'Select All', onChange: handleChange, sortValue: props.sortValue })), options === null || options === void 0 ? void 0 :\n options.map(function (item) { return (React.createElement(Checkbox, { key: JSON.stringify(item.value), disabled: props.disabled && props.disabled(item), inline: props.inline, value: item.value, payload: item, groupValue: props.value, label: props.formatOptionLabel ? props.formatOptionLabel(item) : item.label, onChange: handleChange, sortValue: props.sortValue })); })));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled, { css } from 'styled-components';\nimport { DropdownItem as RSDropdownItem } from 'reactstrap';\nvar StyledDropdownItemIcon = styled(FontAwesomeIcon)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-right: 0.375rem;\\n\"], [\"\\n margin-right: 0.375rem;\\n\"])));\nvar StyledImageDropdownItem = styled.img(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 15px;\\n margin-right: 4px;\\n\"], [\"\\n width: 15px;\\n margin-right: 4px;\\n\"])));\nvar StyledDropdownItem = styled(function (_a) {\n var checkMark = _a.checkMark, rest = __rest(_a, [\"checkMark\"]);\n return React.createElement(RSDropdownItem, __assign({}, rest));\n})(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \",\n \"\\n\"])), function (props) {\n return props.checkMark\n ? css(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding-left: 3rem;\\n position: relative;\\n \"], [\"\\n padding-left: 3rem;\\n position: relative;\\n \"]))) : '';\n});\nvar CheckIcon = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n position: absolute;\\n left: 1.5rem;\\n\"], [\"\\n position: absolute;\\n left: 1.5rem;\\n\"])));\nexport var DropdownItem = function (props) {\n var checked = props.checked, icon = props.icon, img = props.img, label = props.label, partial = props.partial, resprops = __rest(props, [\"checked\", \"icon\", \"img\", \"label\", \"partial\"]);\n var handleClick = function () {\n var _a;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, props.value);\n };\n return (React.createElement(StyledDropdownItem, __assign({}, resprops, { onClick: handleClick }),\n checked && (React.createElement(CheckIcon, null,\n React.createElement(FontAwesomeIcon, { icon: \"check\", color: partial ? '#ccc' : undefined }))),\n icon && React.createElement(StyledDropdownItemIcon, { icon: icon }),\n img && React.createElement(StyledImageDropdownItem, { src: \"/assets/images/icons/\" + props.img + \".png\", alt: '' }),\n label,\n props.children));\n};\nexport var DropdownItemCheck = function (props) {\n return React.createElement(DropdownItem, __assign({ checkMark: true }, props));\n};\nexport var DropdownItemCheckList = function (props) {\n var values = props.values, sort = props.sort, resprops = __rest(props, [\"values\", \"sort\"]);\n var checked = useMemo(function () { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === props.value; }); }, [props.value, values]);\n var handleChange = function () {\n var _a, _b;\n if (checked) {\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, values === null || values === void 0 ? void 0 : values.filter(function (v) { return v !== props.value; }));\n }\n else {\n (_b = props.onChange) === null || _b === void 0 ? void 0 : _b.call(props, __spreadArrays((values || []), [props.value]).sort(sort || (function () { return 0; })));\n }\n };\n return React.createElement(DropdownItemCheck, __assign({}, resprops, { checked: checked, onChange: handleChange }));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Alert, FormFeedback as RSFormFeedback, Modal } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { useMessage } from '../state';\nimport { isEmpty } from '../utils';\nvar StyledMessageBox = styled(Alert)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n line-height: 1.5;\\n\"], [\"\\n line-height: 1.5;\\n\"])));\nexport var MessageBox = function (props) {\n var error = props.error, resprops = __rest(props, [\"error\"]);\n var _a = useToggle(), isOpen = _a[0], toggle = _a[1], setIsOpen = _a[2];\n var messageBoxRef = useRef(null);\n var errors = useMemo(function () {\n var _a;\n return ((_a = (Array.isArray(props.error) ? props.error : [props.error])) === null || _a === void 0 ? void 0 : _a.map(function (i) { return (typeof i === 'string' ? i : (i === null || i === void 0 ? void 0 : i.message) || (i === null || i === void 0 ? void 0 : i.errorMessage)); }).filter(function (message) { return !!message; })) || [];\n }, [props.error]);\n useEffect(function () {\n if (!isEmpty(errors)) {\n setIsOpen(true);\n setTimeout(function () { var _a; return (_a = messageBoxRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' }); });\n }\n else {\n setIsOpen(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errors]);\n return (React.createElement(\"div\", { ref: messageBoxRef },\n React.createElement(StyledMessageBox, __assign({}, resprops, { color: \"danger\", isOpen: isOpen, toggle: toggle }), errors.map(function (msg, idx) { return (React.createElement(\"div\", { key: idx }, msg)); }))));\n};\nexport var FormFeedback = function (props) {\n var message = props.message, resprops = __rest(props, [\"message\"]);\n if (!message)\n return null;\n return (React.createElement(RSFormFeedback, __assign({}, resprops, { className: \"d-block \" + (props.className || '') }), message));\n};\nexport var AlertMessage = function (props) {\n var errors = props.errors;\n var _a = useToggle(), isOpen = _a[0], toggle = _a[1], setIsOpen = _a[2];\n useEffect(function () {\n setIsOpen(!isEmpty(errors));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errors]);\n return (React.createElement(Modal, { isOpen: isOpen },\n React.createElement(StyledMessageBox, { toggle: toggle, color: \"danger\", className: \"m-0 pr-5\", isOpen: true, fade: false }, errors === null || errors === void 0 ? void 0 : errors.map(function (i, index) { return React.createElement(\"div\", { key: index }, i); }))));\n};\nexport var MessageId;\n(function (MessageId) {\n MessageId[\"LoginPage\"] = \"LOGIN_PAGE\";\n})(MessageId || (MessageId = {}));\nexport var MessageWithState = function (props) {\n var _a = useMessage(props.messageId), message = _a[0], setMessage = _a[1];\n var clearMessage = useCallback(function () {\n setMessage();\n }, [setMessage]);\n useEffect(function () {\n if (message) {\n var handler_1 = setTimeout(clearMessage, 5000);\n return function () { return clearTimeout(handler_1); };\n }\n }, [message, clearMessage]);\n return (React.createElement(StyledMessageBox, { toggle: clearMessage, color: (message === null || message === void 0 ? void 0 : message.type) === 'success' ? 'success' : 'danger', className: \"pr-5\", isOpen: !!(message === null || message === void 0 ? void 0 : message.value), fade: false }, message === null || message === void 0 ? void 0 : message.value));\n};\nvar templateObject_1;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ROUTE_URL = {\n USER: '/admin/user',\n DATA_FILE: '/admin/data-file',\n MAP_LAYER: '/admin/map-layer',\n};\nexport var PHONE_NUMBER_PATTERN = /^(\\d{3})(\\d{3})(\\d{4})$/;\nexport var ZIP_CODE_PATTERN = /^[0-9]{5}(?:-[0-9]{4})?$/;\nexport var PASSWORD_PATTERN = /^(?=^\\S*$)(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%&*()])(?=.{8,})/;\nexport var PASSWORD_DESCRIPTION = 'Password may not include spaces and must be at least 8 characters with at least 1 upper case, lower case, number and special character included.';\nexport var PASSWORD_RULE_MSG = 'Password does not meet criteria above';\nexport var DELIMITER_SEASON_YEAR = ' - ';\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { FormGroup, Label, Input } from 'reactstrap';\nvar Radio = function (props) {\n var handleChange = function (event) {\n props.onChange(props.value, props.payload);\n };\n return (React.createElement(FormGroup, { check: true, inline: props.inline },\n React.createElement(Label, { check: true, className: props.disabled ? 'text-muted' : '' },\n React.createElement(Input, { type: \"radio\", disabled: props.disabled, checked: props.value === props.groupValue, onChange: handleChange }),\n props.label)));\n};\nexport var RadioGroup = function (props) {\n var _a;\n var options = props.optionsTransform ? (_a = props.options) === null || _a === void 0 ? void 0 : _a.map(props.optionsTransform) : props.options;\n !props.noSort && (options === null || options === void 0 ? void 0 : options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0) * (props.reverse ? -1 : 1); }));\n options = props.input ? options === null || options === void 0 ? void 0 : options.filter(function (i) { var _a; return i.label.toLowerCase().includes((_a = props.input) === null || _a === void 0 ? void 0 : _a.toLowerCase()); }) : options;\n var handleChange = function (value, payload) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, payload);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, value, props.name || '');\n };\n if (!(options === null || options === void 0 ? void 0 : options.length))\n return null;\n return (React.createElement(React.Fragment, null, options === null || options === void 0 ? void 0 : options.map(function (item) {\n var _a;\n return (React.createElement(Radio, { key: item.value, inline: props.inline, payload: item, value: item.value, label: props.formatOptionLabel ? props.formatOptionLabel(item) : item.label, groupValue: props.value, onChange: handleChange, disabled: (_a = props.isOptionDisabled) === null || _a === void 0 ? void 0 : _a.call(props, item) }));\n })));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { Input as RsInput } from 'reactstrap';\nexport var Input = function (props) {\n var _a = props.min, min = _a === void 0 ? Number.MIN_SAFE_INTEGER : _a, _b = props.max, max = _b === void 0 ? Number.MAX_SAFE_INTEGER : _b, _c = props.type, type = _c === void 0 ? 'text' : _c;\n var setFieldValue = props.setFieldValue, setFieldTouched = props.setFieldTouched, resprops = __rest(props, [\"setFieldValue\", \"setFieldTouched\"]);\n var handleChange = function (event) {\n var _a;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, event);\n var value = type === 'checkbox' ? event.target.checked : event.target.value;\n if (type === 'number') {\n value = /^\\d+$/.test(value) ? parseInt(event.target.value, 10) : undefined;\n if (value === undefined || value <= max) {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(value, event.target.name);\n }\n }\n else {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(value, event.target.name);\n }\n };\n var handleKeyPress = function (event) {\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\n if (type === 'number' && !/^\\d*$/.test(key)) {\n event.preventDefault();\n return false;\n }\n return true;\n };\n var handleBlur = function (event) {\n var _a;\n (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);\n if (type === 'number' && props.value !== undefined && (props.value < min || props.value > max)) {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(undefined, props.name || '');\n }\n setFieldTouched === null || setFieldTouched === void 0 ? void 0 : setFieldTouched(true, props.name);\n };\n return (React.createElement(RsInput, __assign({}, resprops, { value: props.value === undefined ? '' : props.value, checked: !props.checked && ['checkbox', 'radio'].includes(type) ? false : props.checked, onChange: handleChange, onKeyPress: handleKeyPress, onBlur: handleBlur })));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useCallback } from 'react';\nimport BootstrapTable from 'react-bootstrap-table-next';\nimport paginationFactory from 'react-bootstrap-table2-paginator';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled from 'styled-components';\nimport { Pager } from './pager';\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\nexport var DEFAULT_PAGE_SIZE = 20;\nvar StyledDataTableComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n th,\\n td {\\n padding: 0.5rem 0.25rem;\\n }\\n .table {\\n min-width: \", \";\\n }\\n .cell-container {\\n outline: none;\\n }\\n .datatable-custom-header {\\n background-color: #f2f2f2;\\n font-size: 13px;\\n color: #4a4a4a;\\n font-weight: bold;\\n border: 1px solid #dedede;\\n border-bottom: 0;\\n }\\n .datatable-custom-body {\\n font-size: 14px;\\n color: #4a4a4a;\\n border: 1px solid #dedede;\\n td:not(.reset-expansion-style),\\n .td {\\n vertical-align: middle;\\n word-break: break-word;\\n white-space: normal;\\n }\\n }\\n .dropdown-action-menu {\\n min-width: 50px;\\n }\\n .title-search-participant {\\n font-weight: 600;\\n font-size: 17px;\\n }\\n .react-bs-table-no-data {\\n height: 175px;\\n padding: 0;\\n vertical-align: middle;\\n .no-data-icon {\\n color: #cccccc;\\n font-size: 48px;\\n }\\n }\\n\"], [\"\\n th,\\n td {\\n padding: 0.5rem 0.25rem;\\n }\\n .table {\\n min-width: \", \";\\n }\\n .cell-container {\\n outline: none;\\n }\\n .datatable-custom-header {\\n background-color: #f2f2f2;\\n font-size: 13px;\\n color: #4a4a4a;\\n font-weight: bold;\\n border: 1px solid #dedede;\\n border-bottom: 0;\\n }\\n .datatable-custom-body {\\n font-size: 14px;\\n color: #4a4a4a;\\n border: 1px solid #dedede;\\n td:not(.reset-expansion-style),\\n .td {\\n vertical-align: middle;\\n word-break: break-word;\\n white-space: normal;\\n }\\n }\\n .dropdown-action-menu {\\n min-width: 50px;\\n }\\n .title-search-participant {\\n font-weight: 600;\\n font-size: 17px;\\n }\\n .react-bs-table-no-data {\\n height: 175px;\\n padding: 0;\\n vertical-align: middle;\\n .no-data-icon {\\n color: #cccccc;\\n font-size: 48px;\\n }\\n }\\n\"])), function (_a) {\n var minWidth = _a.minWidth;\n return (typeof minWidth === 'number' ? minWidth + \"rem\" : minWidth);\n});\nexport var enumFormatter = function (cell, row, rowIndex, enumObject) { var _a; return (_a = enumObject[cell]) === null || _a === void 0 ? void 0 : _a.label; };\nexport var DataTable = function (_a) {\n var className = _a.className, headerClasses = _a.headerClasses, _b = _a.bordered, bordered = _b === void 0 ? false : _b, _c = _a.nameUnitItemTable, nameUnitItemTable = _c === void 0 ? 'Record(s)' : _c, _d = _a.sizePerPage, sizePerPage = _d === void 0 ? DEFAULT_PAGE_SIZE : _d, pagination = _a.pagination, _e = _a.rowClasses, rowClassesProps = _e === void 0 ? '' : _e, _f = _a.data, data = _f === void 0 ? [] : _f, page = _a.page, onPageChange = _a.onPageChange, minWidth = _a.minWidth, restProps = __rest(_a, [\"className\", \"headerClasses\", \"bordered\", \"nameUnitItemTable\", \"sizePerPage\", \"pagination\", \"rowClasses\", \"data\", \"page\", \"onPageChange\", \"minWidth\"]);\n var paginationSize = Math.ceil(data.length / sizePerPage);\n var paginationOptions = useMemo(function () {\n return pagination &&\n paginationFactory({\n page: page && page > paginationSize ? 1 : page,\n onPageChange: onPageChange,\n hideSizePerPage: true,\n showTotal: true,\n sizePerPage: sizePerPage,\n paginationSize: paginationSize,\n paginationTotalRenderer: function (from, to, size) { return React.createElement(React.Fragment, null); },\n pageListRenderer: function (propsPager) { return React.createElement(Pager, __assign({ hidePageListOnlyOnePage: true }, propsPager)); },\n });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [pagination, nameUnitItemTable, sizePerPage, restProps.data, paginationSize, page]);\n var rowClasses = useCallback(function (row, rowIndex) {\n return \"custom-row \" + (typeof rowClassesProps === 'function' ? rowClassesProps(row, rowIndex) : rowClassesProps);\n }, [rowClassesProps]);\n return (React.createElement(StyledDataTableComponent, { className: className, minWidth: minWidth },\n React.createElement(BootstrapTable, __assign({}, restProps, { data: data, bootstrap4: true, headerClasses: \"datatable-custom-header \" + headerClasses, classes: \"datatable-custom-body\", rowClasses: rowClasses, bordered: bordered, pagination: paginationOptions, noDataIndication: \"There is no data to display\", sort: {\n sortCaret: function (order) { return (React.createElement(FontAwesomeIcon, { className: \"ml-1\", icon: !order ? 'sort' : order === 'asc' ? 'sort-up' : 'sort-down', color: !order ? '#ccc' : undefined })); },\n } }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nvar StyledMainView = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1.25rem;\\n max-width: \", \";\\n margin: 0 auto;\\n width: 100%;\\n\"], [\"\\n padding: 1.25rem;\\n max-width: \", \";\\n margin: 0 auto;\\n width: 100%;\\n\"])), function (props) { return (typeof props.maxWidth === 'string' ? props.maxWidth : (props.maxWidth || 75) + \"rem\"); });\nexport var MainView = function (props) {\n return (React.createElement(StyledMainView, { maxWidth: props.maxWidth },\n React.createElement(\"h4\", null, props.title),\n props.children));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { createGlobalStyle } from 'styled-components';\nexport * from './constants';\nexport * from './spinner';\nexport * from './button';\nexport * from './fallback';\nexport * from './select';\nexport * from './checkboxgroup';\nexport * from './radiogroup';\nexport * from './input';\nexport * from './dropdownmenu';\nexport * from './messagebox';\nexport * from './phoneinput';\nexport * from './datatable';\nexport * from './mainview';\nexport * from './autoscroll';\nexport * from './datepicker';\nexport * from './pin';\nexport * from './icontooltip';\nexport var NMQFGlobalStyle = createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n #root {\\n height: 100vh;\\n display: flex;\\n flex-flow: column nowrap;\\n }\\n svg {\\n overflow: visible;\\n }\\n &:focus {\\n outline: none;\\n }\\n .was-validated .form-control:invalid, .form-control.is-invalid {\\n background-image: none !important;\\n }\\n\"], [\"\\n #root {\\n height: 100vh;\\n display: flex;\\n flex-flow: column nowrap;\\n }\\n svg {\\n overflow: visible;\\n }\\n &:focus {\\n outline: none;\\n }\\n .was-validated .form-control:invalid, .form-control.is-invalid {\\n background-image: none !important;\\n }\\n\"])));\nvar templateObject_1;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { formatPhoneNumber, cleanFormattingPhoneNumber } from '../utils';\nimport { Input } from 'reactstrap';\nexport var PhoneInput = function (props) {\n var _a = useState(), value = _a[0], setValue = _a[1];\n var ref = useRef();\n var setFieldValue = props.setFieldValue, setFieldTouched = props.setFieldTouched, resprops = __rest(props, [\"setFieldValue\", \"setFieldTouched\"]);\n useEffect(function () {\n setValue(formatPhoneNumber(props.value));\n }, [props.value]);\n var handleChange = function (event) {\n var _a;\n var _b = event.currentTarget, name = _b.name, selectionEnd = _b.selectionEnd, value = _b.value;\n setValue(value);\n var cleaned = cleanFormattingPhoneNumber(value);\n if (props.value !== cleaned) {\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, name, cleaned);\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(cleaned, name);\n var newSelection_1 = Math.max(formatPhoneNumber(value).length - value.length, 0) + (selectionEnd || 0);\n setTimeout(function () { return ref.current.setSelectionRange(newSelection_1, newSelection_1); });\n }\n };\n var handleBlur = function (event) {\n var onBlur = props.onBlur;\n var formatedValue = formatPhoneNumber(value);\n if (value !== formatedValue) {\n setValue(formatedValue);\n }\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n setFieldTouched === null || setFieldTouched === void 0 ? void 0 : setFieldTouched(true, props.name);\n };\n var handleKeyPress = function (event) {\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\n if (!/^\\d*$/.test(key)) {\n event.preventDefault();\n return false;\n }\n return true;\n };\n return (React.createElement(Input, __assign({}, resprops, { innerRef: ref, type: \"text\", maxLength: 12, value: value || '', onChange: handleChange, onBlur: handleBlur, onKeyPress: handleKeyPress })));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useMemo } from 'react';\nimport { Pagination as RSPagination, PaginationItem as RSPaginationItem, PaginationLink } from 'reactstrap';\nvar PaginationItem = function (_a) {\n var active = _a.active, disabled = _a.disabled, first = _a.first, previous = _a.previous, next = _a.next, last = _a.last, ellipsis = _a.ellipsis, page = _a.page, children = _a.children, onClick = _a.onClick;\n var handleClick = useCallback(function () {\n if (!active && !disabled && page && onClick) {\n onClick(page);\n }\n }, [onClick, page, active, disabled]);\n var content = useMemo(function () {\n if (first)\n return '«';\n if (previous)\n return '‹';\n if (next)\n return '›';\n if (last)\n return '»';\n if (ellipsis)\n return '…';\n return children;\n }, [first, previous, next, last, ellipsis, children]);\n return (React.createElement(RSPaginationItem, { active: active, disabled: disabled },\n React.createElement(PaginationLink, { href: \"#\", onClick: handleClick }, content)));\n};\nvar Pagination = function (_a) {\n var _b;\n var className = _a.className, pages = _a.pages, onPageChange = _a.onPageChange, hidePageListOnlyOnePage = _a.hidePageListOnlyOnePage;\n var pageWithoutIndication = pages.filter(function (p) { return typeof p.page !== 'string'; });\n var totalPages = pageWithoutIndication.length;\n if (hidePageListOnlyOnePage && totalPages < 2)\n return null;\n var activePage = (_b = pages.find(function (p) { return p.active; })) === null || _b === void 0 ? void 0 : _b.page;\n var previousPageIsEllipsis = activePage - 3 > 1;\n var nextPageIsEllipsis = activePage + 3 < totalPages;\n var items = [];\n for (var number = 1; number <= totalPages; number += 1) {\n var active = number === activePage;\n items.push(React.createElement(PaginationItem, { key: number, active: active, page: number, onClick: onPageChange }, number));\n if (number === 1 && previousPageIsEllipsis) {\n items.push(React.createElement(PaginationItem, { key: \"prev-more\", ellipsis: true, disabled: true }));\n number = activePage - 3;\n }\n if (number === activePage + 2 && nextPageIsEllipsis) {\n items.push(React.createElement(PaginationItem, { key: \"next-more\", ellipsis: true, disabled: true }));\n number = totalPages - 1;\n }\n }\n return (React.createElement(RSPagination, { className: className },\n React.createElement(PaginationItem, { first: true, disabled: activePage === 1, onClick: onPageChange, page: 1 }),\n React.createElement(PaginationItem, { previous: true, disabled: activePage === 1, onClick: onPageChange, page: activePage - 1 }),\n items,\n React.createElement(PaginationItem, { next: true, disabled: activePage === totalPages, onClick: onPageChange, page: activePage + 1 }),\n React.createElement(PaginationItem, { last: true, disabled: activePage === totalPages, onClick: onPageChange, page: totalPages })));\n};\nexport var Pager = function (props) { return (React.createElement(\"div\", { className: \"col-md-6 col-xs-6 col-sm-6 col-lg-6\" },\n React.createElement(Pagination, __assign({ className: \"float-right\" }, props)))); };\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { MessageBox, Button, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar ChangePasswordContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 500px;\\n margin: 20px auto;\\n\"], [\"\\n width: 500px;\\n margin: 20px auto;\\n\"])));\nvar FormWrapper = styled(Form)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 380px;\\n margin: 20px auto;\\n\"], [\"\\n width: 380px;\\n margin: 20px auto;\\n\"])));\nvar Description = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar H5Style = styled.h5(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n newPassword: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n });\n});\nexport var ChangePasswordComponent = function (props) {\n var _a = useAPI('/api/auth/changePassword', undefined, 'POST'), changePasswordData = _a[0], changePassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.show) {\n setInitialValues({\n newPassword: '',\n passwordConfirmation: '',\n });\n return resetStore;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.show]);\n useEffect(function () {\n if (changePasswordData.data) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changePasswordData.data]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, changePassword({\n username: props.username,\n new_password: values.newPassword,\n session_id: props.sessionId,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n if (!props.show)\n return null;\n return (React.createElement(ChangePasswordContent, null,\n React.createElement(H5Style, null, \"Change Password Required\"),\n React.createElement(MessageBox, { error: changePasswordData.error }),\n React.createElement(FormWrapper, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"email\", name: \"username\", placeholder: \"Username\", plaintext: true, disabled: true, value: props.username })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(\"div\", { className: \"text-center\" },\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Change password\")))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Button, Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { MessageBox, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar ConfirmResetPasswordContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 500px;\\n margin: 20px auto;\\n\"], [\"\\n width: 500px;\\n margin: 20px auto;\\n\"])));\nvar FormWrapper = styled(Form)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 380px;\\n margin: 20px auto;\\n\"], [\"\\n width: 380px;\\n margin: 20px auto;\\n\"])));\nvar H5Style = styled.h5(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar Description = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: center !important;\\n\"], [\"\\n text-align: center !important;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n newPassword: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n verificationCode: Yup.string().required('Required'),\n });\n});\nexport var ConfirmResetPasswordComponent = function (props) {\n var _a = useAPI('/api/user/confirmResetPassword', undefined, 'POST'), requestData = _a[0], confirmResetPassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.show) {\n setInitialValues({\n newPassword: '',\n passwordConfirmation: '',\n });\n return resetStore;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.show]);\n useEffect(function () {\n if (requestData.data) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requestData.data]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, confirmResetPassword({\n username: props.username,\n password: values.newPassword,\n verificationCode: values.verificationCode,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n if (!props.show)\n return null;\n return (React.createElement(ConfirmResetPasswordContent, null,\n React.createElement(H5Style, null, \"Reset Password Required\"),\n React.createElement(MessageBox, { error: requestData.error }),\n React.createElement(FormWrapper, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"email\", name: \"username\", placeholder: \"Username\", plaintext: true, disabled: true, value: props.username })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Verification Code\"),\n React.createElement(Input, { type: \"password\", name: \"verificationCode\", placeholder: \"Verification Code\", value: values.verificationCode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('verificationCode') }),\n React.createElement(FormFeedback, null, getError('verificationCode'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", disabled: isSubmitting }, \"Change password\")))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport * as Yup from 'yup';\nimport { Link } from 'react-router-dom';\nimport { FormGroup, Label } from 'reactstrap';\nimport { useAuth } from '.';\nimport { Button, MessageBox, FormFeedback, Input, MessageWithState, MessageId } from '../common';\nimport { ChangePasswordComponent } from './changepasswordrequired';\nimport { ConfirmResetPasswordComponent } from './resetpasswordrequired';\nimport { useForm, useMount, useToggle } from '../hooks';\nimport { getDirectionUrl } from '../utils';\nimport { useIndexName } from '../hostnameindexinfo';\nvar PASSWORD_RESET_REQUIRED_EXCEPTION = 'PasswordResetRequiredException';\nvar WrapperWithFlexGrow = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex-grow: 1 !important;\\n padding: 0.5rem !important;\\n overflow: auto !important;\\n display: flex !important;\\n\"], [\"\\n flex-grow: 1 !important;\\n padding: 0.5rem !important;\\n overflow: auto !important;\\n display: flex !important;\\n\"])));\nvar Wrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n width: 100%;\\n margin: 0 auto;\\n padding: 1rem 0;\\n flex-direction: column !important;\\n\"], [\"\\n display: flex;\\n width: 100%;\\n margin: 0 auto;\\n padding: 1rem 0;\\n flex-direction: column !important;\\n\"])));\nvar Form = styled.form(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-width: 25rem;\\n width: 100%;\\n margin: auto;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n padding: 2rem;\\n\"], [\"\\n max-width: 25rem;\\n width: 100%;\\n margin: auto;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n padding: 2rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n username: Yup.string().trim().required('Required'),\n password: Yup.string().required('Required'),\n});\nexport var LoginComponent = function (props) {\n var _a = useToggle(), changePasswordRequired = _a[0], toggleChangePasswordRequired = _a[1];\n var _b = useToggle(), resetPasswordRequired = _b[0], toggleResetPasswordRequired = _b[1];\n var auth = useAuth();\n var error = auth.getError();\n var authChallenge = auth.getAuthChallenge();\n var _c = useState(), errorMessage = _c[0], setErrorMessage = _c[1];\n var indexName = useIndexName();\n var _d = useForm({ validationSchema: validationSchema }), setInitialValues = _d.setInitialValues, values = _d.values, handleChange = _d.handleChange, handleBlur = _d.handleBlur, handleSubmit = _d.handleSubmit, isSubmitting = _d.isSubmitting, getError = _d.getError;\n useMount(function () {\n setInitialValues({\n username: '',\n password: '',\n });\n return function () {\n auth.resetErrorAndChallenge();\n };\n });\n useEffect(function () {\n setErrorMessage(undefined);\n if (authChallenge === null || authChallenge === void 0 ? void 0 : authChallenge.ChallengeName) {\n toggleChangePasswordRequired();\n }\n else if ((error === null || error === void 0 ? void 0 : error.code) === PASSWORD_RESET_REQUIRED_EXCEPTION) {\n toggleResetPasswordRequired();\n }\n else {\n setErrorMessage(error);\n }\n }, [authChallenge, error, toggleChangePasswordRequired, toggleResetPasswordRequired]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, auth.authenticate(__assign(__assign({}, values), { indexName: indexName }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(WrapperWithFlexGrow, null,\n React.createElement(Wrapper, { hidden: changePasswordRequired || resetPasswordRequired },\n React.createElement(MessageWithState, { messageId: MessageId.LoginPage }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(MessageBox, { error: errorMessage }),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"text\", name: \"username\", placeholder: \"Username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') }),\n React.createElement(FormFeedback, { message: getError('username') })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Password\"),\n React.createElement(Input, { type: \"password\", name: \"password\", placeholder: \"Password\", value: values.password, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('password') }),\n React.createElement(FormFeedback, { message: getError('password') })),\n React.createElement(Link, { to: getDirectionUrl('/forgotpassword') }, \"Forgot Password\"),\n React.createElement(\"div\", { className: \"text-right\" },\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting, message: \"Log in\" })),\n React.createElement(Link, { to: getDirectionUrl('/signup') }, \"Sign-up\"))),\n React.createElement(ChangePasswordComponent, { show: changePasswordRequired, toggle: toggleChangePasswordRequired, username: values.username, sessionId: authChallenge === null || authChallenge === void 0 ? void 0 : authChallenge.Session }),\n React.createElement(ConfirmResetPasswordComponent, { show: resetPasswordRequired, toggle: toggleResetPasswordRequired, username: values.username })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect, useState } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { Link, Redirect } from 'react-router-dom';\nimport { useAPI } from '../state';\nimport { isEmpty, getDirectionUrl } from '../utils';\nimport { useForm, useMount } from '../hooks';\nimport { MessageBox, Button, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar LinkWrapper = styled(Link)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"], [\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"])));\nvar H5Style = styled.h5(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-align: center !important;\\n\"], [\"\\n text-align: center !important;\\n\"])));\nvar ConfirmText = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar Description = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: right !important;\\n\"], [\"\\n text-align: right !important;\\n\"])));\nvar ConfirmForgotPasswordContent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"], [\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n verificationCode: Yup.string().required('Required'),\n password: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.password], 'Passwords do not match');\n }),\n });\n});\nexport var ConfirmForgotPassword = function (props) {\n var _a = useState(false), redirectToHomeURL = _a[0], setRedirectToHomeURL = _a[1];\n var _b = useAPI('/api/auth/confirm-forgot-password', undefined, 'POST'), confirmForgotPasswordData = _b[0], confirmForgotPassword = _b[1], resetStore = _b[2];\n var _c = useForm({ validationSchema: validationSchema }), setInitialValues = _c.setInitialValues, values = _c.values, handleChange = _c.handleChange, handleBlur = _c.handleBlur, handleSubmit = _c.handleSubmit, isSubmitting = _c.isSubmitting, getError = _c.getError;\n useMount(function () {\n setInitialValues({\n password: '',\n passwordConfirmation: '',\n verificationCode: '',\n });\n return resetStore;\n });\n useEffect(function () {\n if (confirmForgotPasswordData.requesting === false && !confirmForgotPasswordData.error) {\n setRedirectToHomeURL(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [confirmForgotPasswordData.requesting]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, confirmForgotPassword(__assign(__assign({}, payload), { username: props.username }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(ConfirmForgotPasswordContent, { hidden: !props.username },\n React.createElement(H5Style, null, \"Forgot Password\"),\n React.createElement(ConfirmText, null, \"A confirmation code was sent to your email account\"),\n React.createElement(MessageBox, { error: confirmForgotPasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter new password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"password\", value: values.password, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('password') }),\n React.createElement(FormFeedback, null, getError('password'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter confirmation code\"),\n React.createElement(Input, { type: \"text\", name: \"verificationCode\", value: values.verificationCode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('verificationCode') }),\n React.createElement(FormFeedback, null, getError('verificationCode'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting },\n React.createElement(LinkWrapper, { to: getDirectionUrl('/') }, \"Cancel\")),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Change Password\"),\n redirectToHomeURL && React.createElement(Redirect, { to: getDirectionUrl('/') })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect, useState } from 'react';\nimport { Form, FormGroup, Label, Input, FormFeedback } from 'reactstrap';\nimport * as Yup from 'yup';\nimport styled from 'styled-components';\nimport { Link } from 'react-router-dom';\nimport { useAPI } from '../state';\nimport { ConfirmForgotPassword } from './confirmforgotpassword';\nimport { useForm, useMount } from '../hooks';\nimport { MessageBox, Button } from '../common';\nimport { getDirectionUrl } from '../utils';\nimport { useIndexName } from '../hostnameindexinfo';\nvar ForgotPasswordWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex-grow: 1;\\n overflow: auto;\\n display: flex;\\n padding: 10px;\\n\"], [\"\\n flex-grow: 1;\\n overflow: auto;\\n display: flex;\\n padding: 10px;\\n\"])));\nvar ForgotPasswordContent = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"], [\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"])));\nvar H5Style = styled.h5(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-align: right !important;\\n\"], [\"\\n text-align: right !important;\\n\"])));\nvar LinkWrapper = styled(Link)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"], [\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"])));\nvar validationSchema = Yup.object().shape({\n username: Yup.string().required('Required'),\n});\nexport var ForgotPasswordComponent = function () {\n var _a = useState(), usernameSubmitted = _a[0], setUsernameSubmitted = _a[1];\n var _b = useAPI('/api/auth/forgot-password', undefined, 'POST'), forgotPasswordData = _b[0], forgotPassword = _b[1], resetData = _b[2];\n var _c = useForm({ validationSchema: validationSchema }), setInitialValues = _c.setInitialValues, values = _c.values, handleChange = _c.handleChange, handleBlur = _c.handleBlur, handleSubmit = _c.handleSubmit, isSubmitting = _c.isSubmitting, getError = _c.getError;\n var indexName = useIndexName();\n useMount(function () {\n setInitialValues({\n username: '',\n });\n return resetData;\n });\n useEffect(function () {\n if (forgotPasswordData.requesting === false && !forgotPasswordData.error) {\n setUsernameSubmitted(values.username);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [forgotPasswordData.requesting]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, forgotPassword(__assign(__assign({}, payload), { indexName: indexName }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(ForgotPasswordWrapper, null,\n React.createElement(ForgotPasswordContent, { hidden: !!usernameSubmitted },\n React.createElement(H5Style, null, \"Forgot Password\"),\n React.createElement(MessageBox, { error: forgotPasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter your email address\"),\n React.createElement(Input, { type: \"email\", name: \"username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') }),\n React.createElement(FormFeedback, null, getError('username'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting },\n React.createElement(LinkWrapper, { to: getDirectionUrl('/') }, \"Cancel\")),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Continue\")))),\n React.createElement(ConfirmForgotPassword, { username: usernameSubmitted })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useEffect, useCallback, useRef } from 'react';\nimport * as Yup from 'yup';\nimport Recaptcha from 'react-recaptcha';\nimport { Form, Row, FormGroup, Label, FormFeedback, Col } from 'reactstrap';\nimport { useForm } from '../hooks';\nimport { PhoneInput, Input, Select, MessageBox, Button, ZIP_CODE_PATTERN, PHONE_NUMBER_PATTERN, MessageId } from '../common';\nimport { LicenseAgreementModal } from '../aboutmodal/licenseagreementmodal';\nimport styled from 'styled-components';\nimport { useAPI, useMessage } from '../state';\nimport { Redirect } from 'react-router-dom';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { getDirectionUrl } from '../utils';\nexport var NOTIFICATION_PREFERENCES = {\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n};\nvar Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 62.5rem;\\n margin: 0 auto;\\n padding: 1.25rem;\\n\"], [\"\\n max-width: 62.5rem;\\n margin: 0 auto;\\n padding: 1.25rem;\\n\"])));\nvar Margin = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin: 0 3.125rem;\\n\"], [\"\\n margin: 0 3.125rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n recaptchaResponse: Yup.string().required('Please verify that you are not a robot.'),\n firstName: Yup.string().trim().required('Required'),\n lastName: Yup.string().trim().required('Required'),\n username: Yup.string().email().required('Required'),\n organization: Yup.string().trim().required('Required'),\n address1: Yup.string().trim().required('Required'),\n city: Yup.string().trim().required('Required'),\n stateAbb: Yup.string().trim().required('Required'),\n zipcode: Yup.string().trim().required('Required').matches(ZIP_CODE_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n notificationPreference: Yup.string().trim().required('Required'),\n phoneNumber: Yup.string().trim().required('Required').matches(PHONE_NUMBER_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n});\nexport var SignUpComponent = function () {\n var _a;\n var indexName = useIndexName();\n var _b = useAPI('/api/general/get-recaptcha-site-key'), recaptchaSiteKey = _b[0].data, fetchRecaptchaSiteKey = _b[1];\n var _c = useState(false), isOpenLicenseModal = _c[0], setIsOpenLicenseModal = _c[1];\n var _d = useState(false), redirectToHomeURL = _d[0], setRedirectToHomeURL = _d[1];\n var recaptchaRef = useRef();\n var _e = useAPI('/api/user/register', undefined, 'POST'), signUpData = _e[0], signUp = _e[1], resetData = _e[2];\n var _f = useAPI('/api/general/lookup/get-list-state'), stateData = _f[0], fetchStateData = _f[1];\n var _g = useForm({\n validationSchema: validationSchema,\n }), setInitialValues = _g.setInitialValues, values = _g.values, handleChange = _g.handleChange, handleBlur = _g.handleBlur, setFieldValue = _g.setFieldValue, setFieldTouched = _g.setFieldTouched, handleSubmit = _g.handleSubmit, isSubmitting = _g.isSubmitting, getError = _g.getError;\n var indexConfig = useHostnameIndexInfo();\n var _h = useMessage(MessageId.LoginPage), setMessage = _h[1];\n useEffect(function () {\n setInitialValues({\n firstName: '',\n middleName: '',\n lastName: '',\n username: '',\n organization: '',\n address1: '',\n address2: '',\n city: '',\n stateAbb: '',\n zipcode: '',\n phoneNumber: '',\n notificationPreference: NOTIFICATION_PREFERENCES.EMAIL,\n recaptchaResponse: '',\n });\n return resetData;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n fetchStateData();\n fetchRecaptchaSiteKey();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (!recaptchaRef.current) {\n recaptchaRef.current = true;\n }\n else {\n recaptchaRef.current.reset();\n setFieldTouched(false, 'recaptchaResponse');\n setFieldValue('', 'recaptchaResponse');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (signUpData.data) {\n setRedirectToHomeURL(true);\n setMessage({\n value: \"Your request for access to the \" + (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle) + \" was successfully submitted. Once approved, you will receive an email or SMS message with a temporary password to enable your account\",\n type: 'success'\n });\n }\n }, [indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle, setMessage, signUpData.data]);\n var toggleLicenseAgreementModal = function () {\n setIsOpenLicenseModal(!isOpenLicenseModal);\n };\n var handleRecaptchVerify = function (recaptchaResponse) {\n setFieldValue(recaptchaResponse, 'recaptchaResponse');\n };\n var handleRecaptchExpired = function () {\n recaptchaRef.current.reset();\n setFieldValue('', 'recaptchaResponse');\n };\n var handleCancelBtn = function () {\n setRedirectToHomeURL(true);\n };\n var onSubmit = handleSubmit(useCallback(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {\n firstName: payload.firstName,\n middleName: payload.middleName,\n lastName: payload.lastName,\n username: payload.username,\n organization: payload.organization,\n address1: payload.address1,\n address2: payload.address2,\n city: payload.city,\n stateAbb: payload.stateAbb,\n zipcode: payload.zipcode,\n phoneNumber: payload.phoneNumber,\n notificationPreference: payload.notificationPreference,\n recaptchaResponse: payload.recaptchaResponse,\n indexName: indexName,\n };\n return [4 /*yield*/, signUp(data)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }, []));\n return (React.createElement(Wrapper, null,\n React.createElement(MessageBox, { error: signUpData.error }),\n React.createElement(\"h4\", null, \"Register New Account\"),\n React.createElement(\"hr\", null),\n React.createElement(Form, { className: \"mt-4\", onSubmit: onSubmit },\n React.createElement(Margin, null,\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"First Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"firstName\", value: values.firstName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('firstName') }),\n React.createElement(FormFeedback, null, getError('firstName'))),\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null, \"Middle Name\"),\n React.createElement(Input, { type: \"text\", name: \"middleName\", value: values.middleName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('middleName') }),\n React.createElement(FormFeedback, null, getError('middleName'))),\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"Last Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"lastName\", value: values.lastName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('lastName') }),\n React.createElement(FormFeedback, null, getError('lastName')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-12\" },\n React.createElement(Label, null,\n \"Email Address\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Row, null,\n React.createElement(Col, { sm: 4 },\n React.createElement(Input, { type: \"email\", name: \"username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') })),\n React.createElement(Col, { className: \"align-self-center font-italic\" },\n \"This will be your login name. \",\n React.createElement(\"span\", { className: \"text-danger\" }, \"Please note the username is case sensitive.\"))),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('username')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"Mobile phone number\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(PhoneInput, { name: \"phoneNumber\", value: values.phoneNumber, setFieldValue: setFieldValue, setFieldTouched: setFieldTouched, invalid: !!getError('phoneNumber') }),\n React.createElement(FormFeedback, null, getError('phoneNumber'))),\n React.createElement(FormGroup, { className: \"col-sm-8\" },\n React.createElement(Label, null, \"\\u00A0\"),\n React.createElement(\"div\", { className: \"pt-2\" },\n React.createElement(Label, { className: \"mr-2\" },\n \"Preference for notifications:\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.EMAIL, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.EMAIL }),\n \"Email\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.SMS, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.SMS }),\n \"SMS Text\"))),\n React.createElement(FormFeedback, { className: \"d-lock\" }, getError('notificationPreference')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"Organization Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"organization\", value: values.organization, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('organization') }),\n React.createElement(FormFeedback, null, getError('organization')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"Address 1\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"address1\", value: values.address1, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address1') }),\n React.createElement(FormFeedback, null, getError('address1'))),\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null, \"Address 2\"),\n React.createElement(Input, { type: \"text\", name: \"address2\", value: values.address2, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address2') }),\n React.createElement(FormFeedback, null, getError('address2')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"City\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"city\", value: values.city, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('city') }),\n React.createElement(FormFeedback, null, getError('city'))),\n React.createElement(FormGroup, { className: \"col-sm-3\" },\n React.createElement(Label, null,\n \"State\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Select, { name: \"stateAbb\", options: (_a = stateData.data) === null || _a === void 0 ? void 0 : _a.data, value: values.stateAbb, onChange: setFieldValue, setFieldTouched: setFieldTouched, optionsTransform: function (st) { return (__assign(__assign({}, st), { value: st.stateAbbreviation, label: st.stateName })); }, menuPlacement: \"top\" }),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('stateAbb'))),\n React.createElement(FormGroup, { className: \"col-sm-3\" },\n React.createElement(Label, null,\n \"Zip Code\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"zipcode\", value: values.zipcode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('zipcode') }),\n React.createElement(FormFeedback, null, getError('zipcode'))))),\n React.createElement(Row, { className: \"justify-content-center\" },\n React.createElement(FormGroup, null,\n recaptchaSiteKey && (React.createElement(Recaptcha, { ref: recaptchaRef, sitekey: recaptchaSiteKey, verifyCallback: handleRecaptchVerify, expiredCallback: handleRecaptchExpired })),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('recaptchaResponse')))),\n React.createElement(Row, null,\n React.createElement(Col, { sm: 4, className: \"align-self-center mr-auto\" },\n React.createElement(\"small\", null,\n \"In submitting this form, you agree to the National Minority Quality Forum, Inc\",\n ' ',\n React.createElement(\"a\", { href: \"#\", onClick: toggleLicenseAgreementModal }, \"License Agreement\"),\n \".\")),\n React.createElement(Col, { sm: \"auto\", className: \"text-right align-self-end\" },\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: handleCancelBtn }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Submit\"),\n redirectToHomeURL && React.createElement(Redirect, { to: getDirectionUrl('/') })))),\n React.createElement(LicenseAgreementModal, { isOpen: isOpenLicenseModal, toggle: toggleLicenseAgreementModal })));\n};\nvar templateObject_1, templateObject_2;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useContext, useReducer, useLayoutEffect, useMemo } from 'react';\nimport * as jsonwebtoken from 'jsonwebtoken';\nimport { AuthContext } from 'cinchy';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { LoginComponent } from './login';\nimport { ForgotPasswordComponent } from './forgotpassword';\nimport { SignUpComponent } from './signup';\nexport { LoginComponent } from './login';\nvar NMQF_SESSION_STORAGE_NAME = 'SESSION';\nvar API_URL_LOGIN = '/api/auth/login';\nvar API_URL_REFRESH_JWT = '/api/auth/token';\nvar JWTStrategy = /** @class */ (function () {\n function JWTStrategy() {\n window.addEventListener('storage', this.syncLogout);\n this.__jwt = null;\n this.subscribers = [];\n }\n Object.defineProperty(JWTStrategy.prototype, \"user\", {\n get: function () {\n if (this.jwt) {\n if (!this.__user) {\n this.__user = jsonwebtoken.decode(this.jwt);\n }\n return this.__user;\n }\n return undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JWTStrategy.prototype, \"jwt\", {\n get: function () {\n return this.__jwt;\n },\n set: function (value) {\n var _this = this;\n if (value) {\n localStorage.setItem(NMQF_SESSION_STORAGE_NAME, value);\n }\n else if (this.__jwt) {\n localStorage.removeItem(NMQF_SESSION_STORAGE_NAME);\n window.location.reload();\n }\n if (value && this.__jwt !== value) {\n this.__jwt = value;\n this.__user = undefined;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n },\n enumerable: false,\n configurable: true\n });\n JWTStrategy.prototype.getError = function () {\n return this.error;\n };\n JWTStrategy.prototype.setError = function (error) {\n var _this = this;\n if (this.error !== error) {\n this.error = error;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n };\n JWTStrategy.prototype.getAuthChallenge = function () {\n return this.authChallenge;\n };\n JWTStrategy.prototype.setAuthChallenge = function (authChallenge) {\n var _this = this;\n if (this.authChallenge !== authChallenge) {\n this.authChallenge = authChallenge;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n };\n JWTStrategy.prototype.resetErrorAndChallenge = function () {\n this.setAuthChallenge();\n this.setError();\n };\n JWTStrategy.prototype.getRequestOptions = function (method, body) {\n var headers = {\n Authorization: this.jwt ? \"Bearer \" + this.jwt : '',\n };\n if (!(body instanceof FormData)) {\n headers['Content-Type'] = 'application/json';\n body = JSON.stringify(body);\n }\n return {\n method: method,\n body: body,\n headers: headers,\n referrer: window.location.href.split('?')[0],\n };\n };\n JWTStrategy.prototype.onUnauthorized = function (dispatch, getState, request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (request.status !== 401) {\n return [2 /*return*/, false];\n }\n if (!this.refreshTokenPromise) return [3 /*break*/, 2];\n return [4 /*yield*/, this.refreshTokenPromise];\n case 1: return [2 /*return*/, _a.sent()];\n case 2: return [4 /*yield*/, this.refreshToken()];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n JWTStrategy.prototype.onForbidden = function (dispatch, getState, request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, false];\n });\n });\n };\n JWTStrategy.prototype.authenticate = function (credentials) {\n return __awaiter(this, void 0, void 0, function () {\n var authResponse, loginData, _a, _b, e_1, e_2;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 7, , 8]);\n this.resetErrorAndChallenge();\n return [4 /*yield*/, fetch(API_URL_LOGIN, {\n method: 'POST',\n body: JSON.stringify(credentials),\n headers: { 'Content-Type': 'application/json' },\n referrer: window.location.href.split('?')[0],\n })];\n case 1:\n authResponse = _c.sent();\n if (!(authResponse.status === 200 || authResponse.status === 201)) return [3 /*break*/, 3];\n return [4 /*yield*/, authResponse.json()];\n case 2:\n loginData = _c.sent();\n if (loginData.JWT) {\n this.jwt = loginData.JWT;\n }\n else {\n this.setAuthChallenge(loginData);\n }\n return [3 /*break*/, 6];\n case 3:\n _c.trys.push([3, 5, , 6]);\n _a = this.setError;\n _b = [{ statusCode: authResponse.status }];\n return [4 /*yield*/, authResponse.json()];\n case 4:\n _a.apply(this, [__assign.apply(void 0, _b.concat([(_c.sent())]))]);\n return [3 /*break*/, 6];\n case 5:\n e_1 = _c.sent();\n this.setError({ message: 'Invalid Username or Password, please try again' });\n return [3 /*break*/, 6];\n case 6: return [3 /*break*/, 8];\n case 7:\n e_2 = _c.sent();\n this.setError(e_2);\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n JWTStrategy.prototype.refreshToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.refreshTokenPromise = fetch(API_URL_REFRESH_JWT, this.getRequestOptions('GET')).then(function (response) { return __awaiter(_this, void 0, void 0, function () {\n var JWT;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.status === 200 || response.status === 201)) return [3 /*break*/, 2];\n return [4 /*yield*/, response.json()];\n case 1:\n JWT = (_a.sent()).JWT;\n this.jwt = JWT;\n return [2 /*return*/, true];\n case 2:\n if (response.status === 401) {\n this.jwt = null;\n }\n _a.label = 3;\n case 3: return [2 /*return*/, false];\n }\n });\n }); });\n return [4 /*yield*/, this.refreshTokenPromise];\n case 1:\n retry = _a.sent();\n this.refreshTokenPromise = undefined;\n return [2 /*return*/, retry];\n }\n });\n });\n };\n JWTStrategy.prototype.exportToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry, response, JWT, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 8, , 9]);\n retry = true;\n _a.label = 1;\n case 1:\n if (!retry) return [3 /*break*/, 7];\n retry = false;\n return [4 /*yield*/, fetch('/api/auth/exporttoken', this.getRequestOptions('GET'))];\n case 2:\n response = _a.sent();\n if (!((response.status === 200 || response.status === 201) && this.jwt)) return [3 /*break*/, 4];\n return [4 /*yield*/, response.json()];\n case 3:\n JWT = (_a.sent()).JWT;\n this.setError();\n return [2 /*return*/, JWT];\n case 4:\n if (!(response.status === 401)) return [3 /*break*/, 6];\n return [4 /*yield*/, this.refreshToken()];\n case 5:\n retry = _a.sent();\n _a.label = 6;\n case 6: return [3 /*break*/, 1];\n case 7:\n this.setError({ message: 'Something went wrong. Please try again later.' });\n return [3 /*break*/, 9];\n case 8:\n e_3 = _a.sent();\n this.setError(e_3);\n return [3 /*break*/, 9];\n case 9: return [2 /*return*/, ''];\n }\n });\n });\n };\n JWTStrategy.prototype.logout = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n retry = 3;\n _a.label = 1;\n case 1:\n if (!retry) return [3 /*break*/, 6];\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, fetch('/api/auth/logout', this.getRequestOptions('DELETE'))];\n case 3:\n _a.sent();\n retry = 0;\n return [3 /*break*/, 5];\n case 4:\n e_4 = _a.sent();\n retry--;\n return [3 /*break*/, 5];\n case 5: return [3 /*break*/, 1];\n case 6:\n window.localStorage.setItem('logout', Date.now().toString());\n this.syncLogout({ key: 'logout' });\n return [2 /*return*/];\n }\n });\n });\n };\n JWTStrategy.prototype.syncLogout = function (event) {\n if (event.key === 'logout') {\n this.jwt = null;\n sessionStorage.clear();\n localStorage.clear();\n window.location.reload();\n }\n };\n JWTStrategy.prototype.subscribe = function (fn) {\n var _this = this;\n this.subscribers.push(fn);\n return function () {\n _this.unsubscribe(fn);\n };\n };\n JWTStrategy.prototype.unsubscribe = function (fn) {\n this.subscribers = this.subscribers.filter(function (i) { return !Object.is(i, fn); });\n };\n return JWTStrategy;\n}());\nexport { JWTStrategy };\nexport var AuthProvider = function (props) {\n var strategy = useMemo(function () { return new JWTStrategy(); }, []);\n return React.createElement(AuthContext.Provider, { value: strategy }, props.children);\n};\nexport var useUser = function () {\n var strategy = useContext(AuthContext);\n var _a = useReducer(function (x) { return x + 1; }, 0), forceUpdate = _a[1];\n useLayoutEffect(function () { return strategy.subscribe(forceUpdate); }, [strategy]);\n return strategy.user;\n};\nexport var useAuth = function () {\n var strategy = useContext(AuthContext);\n var _a = useReducer(function (x) { return x + 1; }, 0), forceUpdate = _a[1];\n useLayoutEffect(function () { return strategy.subscribe(forceUpdate); }, [strategy]);\n return strategy;\n};\nexport var PrivateRoute = function (props) {\n var user = useUser();\n var _a = props.roles, roles = _a === void 0 ? [user === null || user === void 0 ? void 0 : user.roleName] : _a, _b = props.checkPermission, checkPermission = _b === void 0 ? function () { return true; } : _b, children = props.children, resprops = __rest(props, [\"roles\", \"checkPermission\", \"children\"]);\n var hasPermission = roles.some(function (i) { return i === (user === null || user === void 0 ? void 0 : user.roleName); }) && checkPermission();\n return (React.createElement(Route, __assign({}, resprops, { render: function (_a) {\n var location = _a.location;\n return hasPermission ? (children) : (React.createElement(Redirect, { to: {\n pathname: '/',\n state: { from: location },\n } }));\n } })));\n};\nexport var Authenticated = function (props) {\n var user = useUser();\n var isValid = !!user;\n isValid = isValid && (!props.roles || props.roles.some(function (i) { return i === (user === null || user === void 0 ? void 0 : user.roleName); }));\n isValid = isValid && (!props.checkPermission || props.checkPermission());\n if (!isValid) {\n return null;\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nexport var Unuthenticated = function (props) {\n var user = useUser();\n if (user) {\n return null;\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nexport var Authenticate = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Unuthenticated, null,\n React.createElement(Switch, null,\n React.createElement(Route, { path: \"/\", exact: true },\n React.createElement(LoginComponent, null)),\n React.createElement(Route, { path: \"/forgotpassword\", exact: true },\n React.createElement(ForgotPasswordComponent, null)),\n React.createElement(Route, { path: \"/signup\", exact: true },\n React.createElement(SignUpComponent, null)),\n React.createElement(Redirect, { to: \"/\" }))),\n React.createElement(Authenticated, null, props.children)));\n};\n","export * from './partialfiltersetting';\nexport * from './viewsetting';\nexport * from './indexconfig';\nexport * from './managemaplayer';\nexport * from './managefilterbydatasource';\nexport * from './filtercount';\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Button } from '../common';\nimport { useFilterValue } from '../state/filtersettings';\nimport { LookupRaceCodeComponent, LookupSexCodeComponent, LookupConditionComponent, LookupStateComponent, LookupZipCodeDistrictComponent } from '../lookupdata';\nimport { ConditionTab } from '../filterdialog';\nvar StyledFilterResultDashboard = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n overflow: auto;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n overflow: auto;\\n\"])));\nvar StyledGetStartedButton = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n transform: translateY(-50%);\\n top: 50%;\\n align-self: center;\\n\"], [\"\\n position: absolute;\\n transform: translateY(-50%);\\n top: 50%;\\n align-self: center;\\n\"])));\nvar NoDefaultFilterComponent = function (props) {\n return (React.createElement(StyledGetStartedButton, null,\n React.createElement(Button, { outline: true, color: \"primary\", size: \"lg\", className: \"p-5\", message: \"Click here to get started\", onClick: function () { return props.getStartedFilter && props.getStartedFilter(props.tabId); } })));\n};\nexport var FilterResultDashboard = function (props) {\n var _a;\n var available = useFilterValue('available')[0];\n return (React.createElement(React.Fragment, null,\n available ? (React.createElement(StyledFilterResultDashboard, null, props.children)) : (React.createElement(NoDefaultFilterComponent, { tabId: props.tagId || ((_a = ConditionTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId), getStartedFilter: props.toggleFilterDialog })),\n React.createElement(LookupConditionComponent, null),\n React.createElement(LookupSexCodeComponent, null),\n React.createElement(LookupRaceCodeComponent, null),\n React.createElement(LookupStateComponent, null),\n React.createElement(LookupZipCodeDistrictComponent, null)));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { Fragment, useEffect, useState } from 'react';\nimport { Collapse, Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport moment from 'moment';\nimport styled from 'styled-components';\nimport { LicenseAgreementModal } from './licenseagreementmodal';\nimport { IconButton, useAPI, useMount, useToggle } from '..';\nvar CreditsTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 700;\\n font-size: 1.25rem;\\n cursor: pointer;\\n\"], [\"\\n font-weight: 700;\\n font-size: 1.25rem;\\n cursor: pointer;\\n\"])));\nvar CollapseSectionContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.25rem;\\n \", \"\\n\"], [\"\\n padding: 0.25rem;\\n \", \"\\n\"])), function (props) { return (props.isOpen ? 'background-color: #f2f2f2;' : ''); });\nvar CollapseToggle = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\"])));\nvar CollapseToggleTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 700;\\n font-size: 1rem;\\n flex: 1;\\n\"], [\"\\n font-weight: 700;\\n font-size: 1rem;\\n flex: 1;\\n\"])));\nvar LicensesText = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-family: 'Courier New', monospace;\\n margin-top: 1rem;\\n font-size: 0.875rem;\\n white-space: pre-wrap;\\n\"], [\"\\n font-family: 'Courier New', monospace;\\n margin-top: 1rem;\\n font-size: 0.875rem;\\n white-space: pre-wrap;\\n\"])));\nvar StyledPaginate = styled.ul(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n display: flex;\\n list-style: none;\\n justify-content: center;\\n padding: 0.5rem 0;\\n margin: 0;\\n li {\\n padding: 0.25rem;\\n &.active {\\n font-weight: 700;\\n }\\n }\\n\"], [\"\\n display: flex;\\n list-style: none;\\n justify-content: center;\\n padding: 0.5rem 0;\\n margin: 0;\\n li {\\n padding: 0.25rem;\\n &.active {\\n font-weight: 700;\\n }\\n }\\n\"])));\nvar CollapseSection = function (props) {\n var isOpen = props.expandedId === props.sectionId;\n var handleClick = function () {\n props.setExpandedId(isOpen ? undefined : props.sectionId);\n };\n return (React.createElement(CollapseSectionContainer, { isOpen: isOpen },\n React.createElement(CollapseToggle, { onClick: handleClick },\n React.createElement(CollapseToggleTitle, null, props.title),\n React.createElement(IconButton, { icon: isOpen ? 'angle-up' : 'angle-down', size: \"2x\", color: \"#000\" })),\n React.createElement(Collapse, { isOpen: isOpen }, props.children)));\n};\nvar PageButton = function (props) {\n var handlePageClick = function () {\n var _a;\n if (!props.disabled) {\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.index);\n }\n };\n return (React.createElement(\"li\", { className: props.className + \" \" + (props.disabled ? 'disabled' : '') },\n React.createElement(\"a\", { tabIndex: props.disabled ? -1 : 0, role: \"button\", \"aria-disabled\": props.disabled ? 'true' : 'false', \"aria-label\": props.ariaLabel, onClick: handlePageClick }, props.label)));\n};\nvar Paginate = function (props) {\n var _a = useState(0), selected = _a[0], setSelected = _a[1];\n var handlePageClick = function (index) {\n setSelected(index);\n props.onPageChange(index);\n };\n var pagination = function () {\n var items = [];\n var pageRangeDisplayed = 5;\n var marginPagesDisplayed = 2;\n var createPageView = function (index) { return (React.createElement(PageButton, { key: index, className: index === selected ? 'active' : '', ariaLabel: \"Page \" + (index + 1), index: index, label: index + 1, onClick: handlePageClick })); };\n var createBreakView = function (index) { return (React.createElement(PageButton, { key: index, index: index < selected ? Math.max(selected - pageRangeDisplayed, 0) : Math.min(selected + pageRangeDisplayed, props.pageCount - 1), label: \"...\", onClick: handlePageClick })); };\n if (props.pageCount <= pageRangeDisplayed) {\n for (var index = 0; index < props.pageCount; index++) {\n items.push(createPageView(index));\n }\n }\n else {\n var leftSide = pageRangeDisplayed / 2;\n var rightSide = pageRangeDisplayed - leftSide;\n if (selected > props.pageCount - pageRangeDisplayed / 2) {\n rightSide = props.pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n }\n else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n for (var index = 0; index < props.pageCount; index++) {\n var adjustedRightSide = !selected ? rightSide - 1 : rightSide;\n var page = index + 1;\n var isPageStart = page <= marginPagesDisplayed;\n var isPageEnd = page > props.pageCount - marginPagesDisplayed;\n var isPageRange = index >= selected - leftSide && index <= selected + adjustedRightSide;\n var isPageStartNoBreak = page === marginPagesDisplayed + 1 && index + 1 >= selected - leftSide;\n var isPageEndNoBreak = page === props.pageCount - marginPagesDisplayed && index - 1 <= selected + adjustedRightSide;\n if (isPageStart || isPageEnd || isPageRange || isPageStartNoBreak || isPageEndNoBreak) {\n items.push(createPageView(index));\n continue;\n }\n if (page === marginPagesDisplayed + 1) {\n items.push(createBreakView(index));\n continue;\n }\n if (page === props.pageCount - marginPagesDisplayed) {\n items.push(createBreakView(index));\n continue;\n }\n }\n }\n return items;\n };\n if (!props.pageCount || props.pageCount === 1)\n return null;\n return (React.createElement(StyledPaginate, { className: \"pagination\" },\n React.createElement(PageButton, { disabled: !selected, className: \"previous\", ariaLabel: \"Previous page\", index: selected - 1, label: \"previous\", onClick: handlePageClick }),\n pagination(),\n React.createElement(PageButton, { disabled: selected === props.pageCount - 1, className: \"next\", ariaLabel: \"Next page\", index: selected + 1, label: \"next\", onClick: handlePageClick })));\n};\nvar Licenses = React.memo(function (props) {\n var _a = useState(''), expandedId = _a[0], setExpandedId = _a[1];\n var _b = useState({\n offset: 0,\n numberPerPage: 100,\n pageCount: 0,\n currentData: [],\n }), pagination = _b[0], setPagination = _b[1];\n useEffect(function () {\n setPagination(function (prevState) { return (__assign(__assign({}, prevState), { pageCount: Math.ceil(props.licenses.length / prevState.numberPerPage), currentData: props.licenses.slice(pagination.offset, pagination.offset + pagination.numberPerPage) })); });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pagination.numberPerPage, pagination.offset]);\n var handlePageClick = function (selected) {\n var offset = selected * pagination.numberPerPage;\n setPagination(__assign(__assign({}, pagination), { offset: offset }));\n };\n return (React.createElement(Collapse, { isOpen: props.isOpen, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(\"div\", { className: \"h-100 d-flex flex-column\" },\n React.createElement(\"div\", { className: \"flex-grow-1 overflow-auto\" }, pagination.currentData &&\n pagination.currentData.map(function (item, index) { return (React.createElement(CollapseSection, { key: index, sectionId: item.componentName, title: item.componentName, expandedId: expandedId, setExpandedId: setExpandedId },\n React.createElement(\"a\", { href: item.homePage, target: \"_blank\", rel: \"noopener noreferrer\" }, item.homePage),\n React.createElement(LicensesText, null, item.licenseText))); })),\n React.createElement(Paginate, { pageCount: pagination.pageCount, onPageChange: handlePageClick }))));\n});\nvar CreditsPage = function () {\n var _a = useAPI(process.env.PUBLIC_URL + \"/licenses.json\"), licensesData = _a[0], fetchLicensesData = _a[1];\n var _b = useToggle(), showCredits = _b[0], toggleCredits = _b[1];\n var _c = useState(), licenses = _c[0], setLicenses = _c[1];\n useMount(function () {\n fetchLicensesData();\n });\n useEffect(function () {\n setLicenses(typeof licensesData.data === 'object'\n ? Object.entries(licensesData.data)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return ({\n componentName: key,\n homePage: value.repository,\n licenseText: value.licenseText,\n });\n })\n .sort(function (a, b) { return a.componentName.toLowerCase().localeCompare(b.componentName.toLowerCase()); })\n : undefined);\n }, [licensesData.data]);\n if (!licenses)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(CreditsTitle, { onClick: toggleCredits },\n \"Credits\",\n React.createElement(IconButton, { icon: showCredits ? 'angle-up' : 'angle-down', size: \"2x\", color: \"#000\" })),\n React.createElement(Licenses, { isOpen: showCredits, licenses: licenses })));\n};\nexport var AboutModal = function (props) {\n var _a = useState(false), licenseModal = _a[0], setLicenseModal = _a[1];\n var toggleLicenseAgreementModal = function () {\n if (licenseModal) {\n props.toggle();\n }\n setLicenseModal(!licenseModal);\n };\n return (React.createElement(Fragment, null,\n React.createElement(Modal, { isOpen: props.isOpen && !licenseModal, toggle: props.toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"About\"),\n React.createElement(ModalBody, { className: \"d-flex flex-column\" },\n React.createElement(\"div\", null, \"About \" + props.title + \" \" + process.env.REACT_APP_VERSION),\n React.createElement(\"div\", null,\n \"Copyright \\u00A9 2018-\",\n moment.utc().year(),\n \" SHC Holdings LLC\"),\n React.createElement(\"br\", null),\n React.createElement(\"p\", null,\n \"The use of this product is subject to the terms of the National Minority Quality Forum, Inc. (the \\\"Forum\\\")\\u00A0\",\n React.createElement(\"a\", { href: \"#\", onClick: toggleLicenseAgreementModal }, \"License Agreement\")),\n React.createElement(CreditsPage, null))),\n React.createElement(LicenseAgreementModal, { isOpen: licenseModal, toggle: toggleLicenseAgreementModal })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { faTimes, faUndo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconButton } from '@material-ui/core';\nimport _ from 'lodash';\nimport React from 'react';\nimport { components } from 'react-select';\nimport { TabPane, FormGroup, ListGroupItem } from 'reactstrap';\nimport styled, { keyframes } from 'styled-components';\nimport { Select } from '../common';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupState, useLookupZipCodeDistrict } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nvar HighlightExisted = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n 0% {\\n background-color: #007bff;\\n }\\n 50% {\\n background-color: #fff;\\n }\\n 100% {\\n background-color: #007bff;\\n }\\n\"], [\"\\n 0% {\\n background-color: #007bff;\\n }\\n 50% {\\n background-color: #fff;\\n }\\n 100% {\\n background-color: #007bff;\\n }\\n\"])));\nvar StyledLabel = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: 14px;\\n line-height: 1.5;\\n\"], [\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: 14px;\\n line-height: 1.5;\\n\"])));\nvar StyledBadgeZipCodes = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n background-color: #007bff;\\n color: #ffffff;\\n display: inline-block;\\n border-radius: 50px;\\n padding: 0.5rem 0.625rem;\\n white-space: nowrap;\\n margin-right: 0.3rem;\\n &.badge-existed {\\n animation: \", \" 500ms 1;\\n }\\n\"], [\"\\n background-color: #007bff;\\n color: #ffffff;\\n display: inline-block;\\n border-radius: 50px;\\n padding: 0.5rem 0.625rem;\\n white-space: nowrap;\\n margin-right: 0.3rem;\\n &.badge-existed {\\n animation: \", \" 500ms 1;\\n }\\n\"])), HighlightExisted);\nvar StyledSelect = styled(Select)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-size: 14px;\\n line-height: 1;\\n\"], [\"\\n font-size: 14px;\\n line-height: 1;\\n\"])));\nvar TabPaneContentWrapper = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n flex: 1;\\n gap: 2rem;\\n font-size: 14px;\\n\"], [\"\\n flex: 1;\\n gap: 2rem;\\n font-size: 14px;\\n\"])));\nvar TabPaneContentLeft = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n flex: 3;\\n min-width: 200px;\\n\"], [\"\\n flex: 3;\\n min-width: 200px;\\n\"])));\nvar TabPaneContentRight = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 4;\\n min-width: 200px;\\n\"], [\"\\n flex: 4;\\n min-width: 200px;\\n\"])));\nvar TabPaneContentRightContent = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n min-height: 2rem;\\n max-height: 30rem;\\n gap: 0.375rem;\\n\"], [\"\\n min-height: 2rem;\\n max-height: 30rem;\\n gap: 0.375rem;\\n\"])));\nvar StyledResetButton = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n color: #808080;\\n cursor: pointer;\\n\"], [\"\\n color: #808080;\\n cursor: pointer;\\n\"])));\nvar FormGroupWrapper = styled(FormGroup)(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n justify-content: space-between;\\n\"], [\"\\n justify-content: space-between;\\n\"])));\nvar StyledParentOption = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledCloseButton = styled(IconButton)(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n :focus {\\n outline: none\\n }\\n\"], [\"\\n :focus {\\n outline: none\\n }\\n\"])));\nvar StyledChildOption = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar StyledStartWithOption = styled.div(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\"], [\"\"])));\nvar useOptionsZipCode = function (inputBoxValue) {\n var dataByStateCode = useLookupZipCodeDistrict()[0];\n var lookupState = useLookupState()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var _a = (dataByStateCode.data || {}).zipCode5ByState, zipCode5ByState = _a === void 0 ? {} : _a;\n var zipCode5GroupByState = React.useMemo(function () { return _.reduce(zipCode5ByState, function (acc, zipCodes, state) {\n acc[state] = zipCodes.map(function (zipCode) { return ({ label: zipCode, value: zipCode, type: \"zipCode\" /* ZIP_CODE */ }); });\n return acc;\n }, {}); }, [zipCode5ByState]);\n var states = React.useMemo(function () {\n return _.chain((lookupState.data || []))\n .filter(function (st) { return !singleState || parseInt(st.stateCode, 10) === singleState.stateCode; })\n .map(function (st) {\n var _a;\n return (__assign(__assign({}, st), { children: (_a = zipCode5GroupByState[st.stateCode]) === null || _a === void 0 ? void 0 : _a.map(function (zipCode) { return (__assign(__assign({}, zipCode), { parent: st })); }), type: \"allInState\" /* ALL_IN_STATE */ }));\n })\n .value() || [];\n }, [lookupState.data, singleState, zipCode5GroupByState]);\n var optionsOriginal = React.useMemo(function () {\n var stateWithZipCode = [];\n states.forEach(function (state) {\n var stateAndZipCode = __spreadArrays([state], (state.children || []));\n stateWithZipCode = stateWithZipCode.concat(stateAndZipCode);\n });\n return stateWithZipCode;\n }, [states]);\n var options = React.useMemo(function () {\n var regex = new RegExp(/^\\d+$/);\n return regex.test(inputBoxValue) ? __spreadArrays([{ label: \"Starting with \\\"\" + inputBoxValue + \"\\\"\", value: inputBoxValue, type: \"startWith\" /* START_WITH */, noCheckFilter: true }], optionsOriginal) :\n optionsOriginal;\n }, [optionsOriginal, inputBoxValue]);\n return [options, !!(lookupState.requesting || dataByStateCode.requesting)];\n};\nvar ShowByZipCodeReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var reportType = useReportsDialogValue('reportType')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: reportType !== ReportTypeEnum.ZipCodeDetailAnalysis })));\n};\nvar Option = function (props) {\n var _a;\n var StyledOption = props.data.noCheckFilter ?\n StyledStartWithOption :\n ((_a = props.data.children) === null || _a === void 0 ? void 0 : _a.length) ?\n StyledParentOption :\n StyledChildOption;\n return (React.createElement(components.Option, __assign({}, props),\n React.createElement(StyledOption, null, props.children)));\n};\nvar ZipCodeComponent = function (_a) {\n var handleAdd = _a.handleAdd;\n var _b = React.useState(''), inputBoxValue = _b[0], setInputBoxValue = _b[1];\n var value = React.useState('')[0];\n var _c = useOptionsZipCode(inputBoxValue), options = _c[0], isLoading = _c[1];\n return (React.createElement(StyledSelect, { components: { Option: Option }, isLoading: isLoading, options: options, placeholder: \"Search State or Zip Code\", isClearable: true, name: \"\", indicatorIcon: \"search\", noSort: true, closeMenuOnSelect: false, value: value, inputBoxValue: inputBoxValue, onInputBoxValueChange: function (value, actionMeta) {\n if (actionMeta.action === 'input-change') {\n setInputBoxValue(value);\n }\n if (actionMeta.action === 'menu-close') {\n setInputBoxValue('');\n }\n }, onChange: function (value, name, values) { return handleAdd(values); }, menuPosition: \"fixed\", isFilterStartWith: true, onSelectToRenderOptions: true }));\n};\nvar ZipCodeMemoComponent = React.memo(ZipCodeComponent, function () { return true; });\nvar LABEL_BADGE_ZIP_CODE = (_a = {},\n _a[\"zipCode\" /* ZIP_CODE */] = function (selected) { return selected.value; },\n _a[\"allInState\" /* ALL_IN_STATE */] = function (selected) { return \"All Zip Codes in \" + selected.label; },\n _a[\"startWith\" /* START_WITH */] = function (selected) { return \"Starting with \\\"\" + selected.value + \"\\\"\"; },\n _a);\nvar BadgeZipCodes = React.memo(function (_a) {\n var selected = _a.selected, isZipCodeExisted = _a.isZipCodeExisted, handleRemove = _a.handleRemove;\n return (React.createElement(StyledBadgeZipCodes, { className: isZipCodeExisted ? 'badge-existed' : '' },\n React.createElement(\"span\", { className: 'd-flex' },\n LABEL_BADGE_ZIP_CODE[selected.type](selected),\n \"\\u00A0\",\n React.createElement(StyledCloseButton, { className: 'p-0', onClick: handleRemove },\n React.createElement(FontAwesomeIcon, { className: 'w-1 h-1', style: { fontSize: 14 }, icon: faTimes, color: \"#ffffff\" })))));\n}, function (preProps, nextProps) {\n return preProps.selected.value === nextProps.selected.value &&\n preProps.isZipCodeExisted === nextProps.isZipCodeExisted;\n});\nexport var ShowByZipCodeReportsDialogTab = function (props) {\n var _a = React.useState([]), zipCodesSelected = _a[0], setZipCodesSelected = _a[1];\n var zipCodesSelectedRef = React.useRef([]);\n var _b = React.useState(), existedZipCodesSelected = _b[0], setExistedZipCodesSelected = _b[1];\n var _c = useReportsDialogValue('zipCodes'), setZipCodeReports = _c[1];\n React.useEffect(function () {\n if (existedZipCodesSelected) {\n var timeout_1 = setTimeout(function () {\n setExistedZipCodesSelected(undefined);\n }, 500);\n return function () {\n clearTimeout(timeout_1);\n };\n }\n }, [existedZipCodesSelected]);\n React.useEffect(function () {\n var zipCode = [];\n var startWith = [];\n var allInState = [];\n zipCodesSelected.forEach((function (zipCodeItem) {\n if (zipCodeItem.type === \"zipCode\" /* ZIP_CODE */) {\n zipCode.push(zipCodeItem.value);\n return;\n }\n if (zipCodeItem.type === \"allInState\" /* ALL_IN_STATE */) {\n allInState.push(zipCodeItem.value);\n return;\n }\n startWith.push(zipCodeItem.value);\n }));\n setZipCodeReports({\n zipCode: zipCode,\n startWith: startWith,\n allInState: allInState,\n });\n }, [setZipCodeReports, zipCodesSelected]);\n var addZipCodeSelected = function (values) {\n if (!values)\n return;\n var zipCodeExisted;\n var zipCodesSelectedRefCurrent = zipCodesSelectedRef.current;\n var newZipCodes = __spreadArrays(zipCodesSelectedRefCurrent);\n if (values.type === \"allInState\" /* ALL_IN_STATE */ && Array.isArray(values.children) && values.children.length) {\n newZipCodes = zipCodesSelectedRefCurrent.filter(function (zipCode) { return !_.some(values.children, ['value', zipCode.value]); });\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) { return zipCode.value === values.value; });\n if (!zipCodeExisted) {\n newZipCodes.push({ label: values.stateName || '', type: values.type, value: values.value });\n }\n }\n if (values.type === \"zipCode\" /* ZIP_CODE */) {\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) {\n var _a;\n return (values.type === zipCode.type && values.value === zipCode.value) ||\n (((_a = values.parent) === null || _a === void 0 ? void 0 : _a.value) === zipCode.value) ||\n (values.value.startsWith(zipCode.value));\n });\n if (!zipCodeExisted) {\n zipCodesSelectedRefCurrent.push({ label: '', type: values.type, value: values.value });\n newZipCodes = __spreadArrays(zipCodesSelectedRefCurrent);\n }\n }\n if (values.type === \"startWith\" /* START_WITH */) {\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) {\n var _a;\n return (values.type === zipCode.type && values.value === zipCode.value) ||\n (((_a = values.parent) === null || _a === void 0 ? void 0 : _a.value) === zipCode.value);\n });\n newZipCodes = zipCodesSelectedRefCurrent.filter(function (zipCode) { return zipCode.type !== \"zipCode\" /* ZIP_CODE */ || !zipCode.value.startsWith(values.value); });\n if (!zipCodeExisted) {\n newZipCodes.push({ label: '', type: values.type, value: values.value });\n }\n }\n setExistedZipCodesSelected(zipCodeExisted);\n zipCodesSelectedRef.current = newZipCodes;\n setZipCodesSelected(newZipCodes);\n };\n var removeZipCodeSelected = function (index) {\n zipCodesSelectedRef.current.splice(index, 1);\n setZipCodesSelected(__spreadArrays(zipCodesSelectedRef.current));\n };\n var resetZipCodeSelected = function () {\n zipCodesSelectedRef.current = [];\n setZipCodesSelected(__spreadArrays(zipCodesSelectedRef.current));\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroupWrapper, { row: true },\n React.createElement(TabPaneContentWrapper, { className: 'd-flex py-0 px-3 flex-wrap' },\n React.createElement(TabPaneContentLeft, null,\n React.createElement(StyledLabel, { className: \"font-weight-bold\" }, \"Add Zip Codes to Report\"),\n React.createElement(ZipCodeMemoComponent, { handleAdd: addZipCodeSelected })),\n React.createElement(TabPaneContentRight, null,\n React.createElement(\"div\", { className: 'd-flex justify-content-between align-items-center' },\n React.createElement(StyledLabel, { className: \"font-weight-bold\" }, \"Selected Zip Codes\"),\n React.createElement(StyledResetButton, { className: 'p-0', onClick: resetZipCodeSelected },\n React.createElement(FontAwesomeIcon, { className: 'w-1 h-1', icon: faUndo }),\n \"\\u00A0 Reset\")),\n React.createElement(TabPaneContentRightContent, { className: 'flex-wrap d-flex align-items-center overflow-auto' },\n zipCodesSelected.length === 0 && 'Search and select zip codes on the left',\n zipCodesSelected.map(function (selected, index) { return (React.createElement(BadgeZipCodes, { key: index, handleRemove: function () { return removeZipCodeSelected(index); }, selected: selected, isZipCodeExisted: (existedZipCodesSelected === null || existedZipCodesSelected === void 0 ? void 0 : existedZipCodesSelected.value) === selected.value })); })))))));\n};\nShowByZipCodeReportsDialogTab.defaultProps = {\n tabId: 'showByZipCodeTab',\n tabName: 'Show by',\n tabField: ['zipCodes'],\n tabSelector: ShowByZipCodeReportsTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14;\n","/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nexport var STATIC_PDF_FILE_TYPE = {\n METHODOLOGY_PREVALENCE: 'METHODOLOGY_PREVALENCE',\n METHODOLOGY_TOTAL_COUNTS: 'METHODOLOGY_TOTAL_COUNTS',\n METHODOLOGY_HOSPITALIZATIONS: 'METHODOLOGY_HOSPITALIZATIONS',\n METHODOLOGY_COSTS: 'METHODOLOGY_COSTS',\n METHODOLOGY_DATA_SOURCES: 'METHODOLOGY_DATA_SOURCES',\n};\nexport var METHODOLOGY_TYPE = {\n PREVALENCE: {\n value: 'PREVALENCE',\n label: 'Prevalence',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_PREVALENCE,\n },\n TOTAL_COUNTS: {\n value: 'TOTAL_COUNTS',\n label: 'Total Counts',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_TOTAL_COUNTS,\n },\n HOSPITALIZATIONS: {\n value: 'HOSPITALIZATIONS',\n label: 'Hospitalizations',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_HOSPITALIZATIONS,\n },\n COSTS: {\n value: 'COSTS',\n label: 'Costs',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_COSTS,\n },\n DATA_SOURCES: {\n value: 'DATA_SOURCES',\n label: 'Data Sources',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_DATA_SOURCES,\n },\n};\n","/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, Input } from 'reactstrap';\nimport { METHODOLOGY_TYPE } from './constants';\nexport var MethodologyModal = function (props) {\n var _a = useState(METHODOLOGY_TYPE.PREVALENCE), methodology = _a[0], setMethodology = _a[1];\n var handleChangeMethodology = function (methodology) {\n setMethodology(methodology);\n };\n var handleOKBtn = function () {\n if (!methodology) {\n alert('Please select Methodology');\n return;\n }\n props.toggle();\n window.open(\"/api/nmqf/get-static-pdf-file/\" + methodology.pdfFileType);\n };\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Select Methodology\"),\n React.createElement(ModalBody, null,\n React.createElement(Form, null, Object.keys(METHODOLOGY_TYPE).map(function (key) { return (React.createElement(FormGroup, { check: true, key: key },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"printOption\", checked: methodology.value === METHODOLOGY_TYPE[key].value, onChange: function () { return handleChangeMethodology(METHODOLOGY_TYPE[key]); } }),\n METHODOLOGY_TYPE[key].label))); }))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"secondary\", onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", onClick: handleOKBtn }, \"Submit\"))));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport { Select, FallbackComponent, DELIMITER_SEASON_YEAR } from '../common';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { LookupYearComponent, useCMSDataYear } from '../lookupdata';\nimport { getYearsBySeason } from '../utils';\nimport { REPORT_DATA_SOURCES, useReportsDialogValue } from './reportsdialogprovider';\nvar DataYearSeasonReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSeasonStatistic })));\n};\nexport var DataYearSeasonReportsDialogTab = function (props) {\n var _a = React.useState(), dataYearSeasonUi = _a[0], setDataYearSeasonUi = _a[1];\n var _b = useReportsDialogValue('dataYearSeason'), dataYearSeason = _b[0], setDataYearSeason = _b[1];\n var _c = useReportsDialogValue('dataSourceType'), dataSourceType = _c[0], setDataSourceType = _c[1];\n var lookupSeasonYearData = useCMSDataYear(dataSourceType)[0];\n var _d = useReportsDialogValue('conditions'), conditions = _d[0], setConditions = _d[1];\n var _e = useReportsDialogValue('patientPopulationReferenceYear'), setPatientPopulationRefYear = _e[1];\n var indexConfig = useHostnameIndexInfo();\n var patientPopulationRefYearFilter = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter.patientPopulationReferenceYear;\n useEffect(function () {\n setPatientPopulationRefYear(patientPopulationRefYearFilter);\n }, [patientPopulationRefYearFilter, setPatientPopulationRefYear]);\n useEffect(function () {\n var _a = getYearsBySeason(dataYearSeasonUi), lateYear = _a[0], earlyYear = _a[1];\n if (lateYear && earlyYear) {\n var fullYearSeason = [Number(lateYear).valueOf(), Number(earlyYear).valueOf()];\n setDataYearSeason(fullYearSeason);\n }\n }, [setDataYearSeason, dataYearSeasonUi]);\n useEffect(function () {\n var _a, _b;\n if (((_a = lookupSeasonYearData.data) === null || _a === void 0 ? void 0 : _a.length) && !dataYearSeasonUi) {\n var dataYearSeasonValueUi = String(lookupSeasonYearData.data[lookupSeasonYearData.data.length - 1]);\n if (Array.isArray(dataYearSeason) && dataYearSeason.length) {\n var yearSeasonInDataYear = (_b = lookupSeasonYearData.data) === null || _b === void 0 ? void 0 : _b.find(function (year) { return String(year).includes(dataYearSeason.join(DELIMITER_SEASON_YEAR)); });\n dataYearSeasonValueUi = yearSeasonInDataYear ? String(yearSeasonInDataYear) : dataYearSeasonValueUi;\n }\n if (getYearsBySeason(dataYearSeasonValueUi).length === 2)\n handleChangeYearSeason(dataYearSeasonValueUi);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataYearSeasonUi, lookupSeasonYearData]);\n var handleChangeDataSource = function (value, name, option) {\n setDataSourceType(value);\n };\n var handleChangeYearSeason = function (value) {\n var _a;\n setDataYearSeasonUi(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setConditions(conditions === null || conditions === void 0 ? void 0 : conditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: REPORT_DATA_SOURCES, optionsTransform: function (v) { return DATA_SOURCES[v]; }, noSort: true, value: dataSourceType, onChange: handleChangeDataSource })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: lookupSeasonYearData.requesting, error: lookupSeasonYearData.error },\n React.createElement(Select, { name: \"dataYearSeason\", options: lookupSeasonYearData.data, noSort: true, value: dataYearSeasonUi, onChange: handleChangeYearSeason, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); } }))),\n React.createElement(LookupYearComponent, { dataSource: dataSourceType })));\n};\nDataYearSeasonReportsDialogTab.defaultProps = {\n tabId: 'DataYearSeasonTab',\n tabName: 'Data Set',\n tabField: ['dataSourceType', 'dataYearSeason'],\n tabSelector: DataYearSeasonReportsTabSelector,\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label, ListGroupItem } from 'reactstrap';\nimport { CheckboxGroup, FallbackComponent } from '../common';\nimport { useLookupFluVaccine } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { FilterSidebarConst } from '../configs';\nvar FluVaccineReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSeasonStatistic })));\n};\nexport var FluVaccineReportsDialogTab = function (props) {\n var _a = useReportsDialogValue('fluVaccineCptCodes'), fluVaccineCptCodes = _a[0], setFluVaccineCptCodes = _a[1];\n var _b = useLookupFluVaccine(), lookupVaccine = _b[0], fetchLookupVaccine = _b[1];\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Vaccines Requirements\"),\n React.createElement(FallbackComponent, { requesting: lookupVaccine.requesting, error: lookupVaccine.error, retry: fetchLookupVaccine },\n React.createElement(CheckboxGroup, { options: lookupVaccine.data, optionsTransform: function (item) { return ({ value: item.hcpcsPctCodes, label: item.hcpcsDescription }); }, noSort: true, value: fluVaccineCptCodes, onChange: setFluVaccineCptCodes }))));\n};\nFluVaccineReportsDialogTab.defaultProps = {\n tabId: FilterSidebarConst.InfluenzaVaccine.tabId,\n tabName: FilterSidebarConst.InfluenzaVaccine.title,\n tabField: ['fluVaccineCptCodes'],\n tabSelector: FluVaccineReportsTabSelector,\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { AboutModal } from '../aboutmodal';\nimport { MethodologyModal } from '../methodologymodal';\nimport { useAuth, useUser, Authenticated } from '../authentication';\nimport { getUserInitials } from '../utils';\nimport { UserProfile } from '../userprofile';\nimport { UserChangePassword } from '../userchangepassword';\nimport { RightPanelTypeEnum, RoleEnum } from '../enums';\nimport { ROUTE_URL } from '../common';\nimport { useFilterSetting, useViewSetting } from '../state';\nimport { useLookupZipCodeDistrict } from '../lookupdata';\nimport { AgeReportsDialogTab, ConditionReportsDialogTab, DataYearReportsDialogTab, RaceReportsDialogTab, ReportsDialogExtension, ReportsDialogProvider, ReportsTab, SexReportsDialogTab, ShowByReportsDialogTab, StatisticReportsDialogTab, } from '../reportsdialogextension';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ShowByZipCodeReportsDialogTab } from '../reportsdialogextension/showbyzipcodetab';\nimport { DataYearSeasonReportsDialogTab } from '../reportsdialogextension/datayearseasontab';\nimport { FluVaccineReportsDialogTab } from '../reportsdialogextension/fluvaccinetab';\nvar UserInfo = styled(DropdownToggle)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n color: #000000;\\n text-decoration: none;\\n :hover {\\n text-decoration: none !important;\\n color: #000000;\\n }\\n cursor: pointer;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n color: #000000;\\n text-decoration: none;\\n :hover {\\n text-decoration: none !important;\\n color: #000000;\\n }\\n cursor: pointer;\\n\"])));\nvar AvatarCircle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 2.25rem;\\n height: 2.25rem;\\n background-color: #007bff;\\n text-align: center;\\n border-radius: 50%;\\n color: #ffffff;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 0.25rem;\\n\"], [\"\\n width: 2.25rem;\\n height: 2.25rem;\\n background-color: #007bff;\\n text-align: center;\\n border-radius: 50%;\\n color: #ffffff;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 0.25rem;\\n\"])));\nvar Initials = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-decoration: none;\\n\"], [\"\\n text-decoration: none;\\n\"])));\nvar PrincipalUser = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-decoration: none;\\n\\n @media only screen and (max-width: 600px) {\\n display: none;\\n }\\n\"], [\"\\n text-decoration: none;\\n\\n @media only screen and (max-width: 600px) {\\n display: none;\\n }\\n\"])));\nvar UserMenuStyle = styled(DropdownMenu)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding-bottom: 0;\\n > .dropdown-item:not(.level-1) {\\n font-weight: 500;\\n }\\n\"], [\"\\n padding-bottom: 0;\\n > .dropdown-item:not(.level-1) {\\n font-weight: 500;\\n }\\n\"])));\nvar LogOutItem = styled.span(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledSpace = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nexport var UserMenuToggle = function () {\n var _a;\n var user = useUser();\n return (React.createElement(UserInfo, { tag: \"div\" },\n React.createElement(AvatarCircle, null,\n React.createElement(Initials, null, (user === null || user === void 0 ? void 0 : user.firstName) ? getUserInitials(user === null || user === void 0 ? void 0 : user.firstName, user === null || user === void 0 ? void 0 : user.lastName) : (_a = user === null || user === void 0 ? void 0 : user.username) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase())),\n React.createElement(PrincipalUser, null, (user === null || user === void 0 ? void 0 : user.firstName) ? (user === null || user === void 0 ? void 0 : user.firstName) + \" \" + (user === null || user === void 0 ? void 0 : user.lastName) : user === null || user === void 0 ? void 0 : user.username)));\n};\nvar DialogManager = function (props) {\n return (React.createElement(ReportsDialogProvider, null,\n React.createElement(ReportsDialogExtension, { isOpen: props.showReportDialog, toggle: props.toggleReportDialog },\n React.createElement(ReportsTab, null),\n React.createElement(DataYearReportsDialogTab, null),\n React.createElement(DataYearSeasonReportsDialogTab, null),\n React.createElement(FluVaccineReportsDialogTab, null),\n React.createElement(ConditionReportsDialogTab, { condition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition }),\n React.createElement(StatisticReportsDialogTab, null),\n React.createElement(ShowByReportsDialogTab, null),\n React.createElement(ShowByZipCodeReportsDialogTab, null),\n React.createElement(SexReportsDialogTab, null),\n React.createElement(RaceReportsDialogTab, null),\n React.createElement(AgeReportsDialogTab, null))));\n};\nexport var UserMenu = function (props) {\n var _a;\n var auth = useAuth();\n var indexConfig = useHostnameIndexInfo();\n var _b = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}, publicIndex = _b.publicIndex, methodologyDocument = _b.methodologyDocument;\n var _c = useToggle(), isOpenMethodologyModal = _c[0], toggleMethodologyModal = _c[1];\n var _d = useToggle(), isOpenUserProfileModal = _d[0], toggleUserProfileModal = _d[1];\n var _e = useToggle(), isOpenChangePasswordModal = _e[0], toggleChangePasswordModal = _e[1];\n var _f = useToggle(), isOpenAboutModal = _f[0], toggleAboutModal = _f[1];\n var _g = useToggle(), showReportDialog = _g[0], toggleReportDialog = _g[1];\n var filterSettings = useFilterSetting();\n var viewSettings = useViewSetting();\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var disabled = !filterSettings.available;\n var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {\n var form, params;\n var _a;\n return __generator(this, function (_b) {\n form = document.createElement('form');\n form.action = \"/api/pdf/private/printmap\";\n form.method = 'post';\n form.target = '_blank';\n params = {\n token: auth.jwt,\n data: JSON.stringify({\n filterSettings: filterSettings,\n viewSettings: viewSettings,\n stateName: lookupZipCode.getStateNameOfZipCode(((_a = viewSettings.selectedRegion) === null || _a === void 0 ? void 0 : _a.type) === RightPanelTypeEnum.RegionDetail ? viewSettings.selectedRegion.id : undefined),\n hostname: window.location.host.split('.')[0],\n }),\n landscape: true,\n isPrintMap: true,\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n return [2 /*return*/];\n });\n }); };\n var handleLogout = function () {\n auth.logout();\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(UncontrolledDropdown, null,\n React.createElement(UserMenuToggle, null),\n React.createElement(UserMenuStyle, { right: true },\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.GeneralUser, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { header: true }, \"Index\"),\n React.createElement(DropdownItem, { disabled: props.disabledReport, onClick: toggleReportDialog }, \"View Reports\"),\n React.createElement(DropdownItem, { disabled: disabled, onClick: handleSubmit }, \"Print Map\"),\n React.createElement(StyledSpace, null)),\n !publicIndex && (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"User Account\"),\n ((_a = auth.user) === null || _a === void 0 ? void 0 : _a.firstName) && React.createElement(DropdownItem, { onClick: toggleUserProfileModal }, \"View Profile\"),\n React.createElement(DropdownItem, { onClick: toggleChangePasswordModal }, \"Change Password\"),\n React.createElement(StyledSpace, null))),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { header: true }, \"Administration\"),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.USER }, \"Manage Users\")),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.DATA_FILE }, \"Manage Data Files\")),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.MAP_LAYER }, \"Manage Map Layers\")),\n React.createElement(StyledSpace, null)),\n React.createElement(DropdownItem, { header: true }, \"Help\"),\n !methodologyDocument ? (React.createElement(DropdownItem, { onClick: toggleMethodologyModal }, \"Methodologies\")) : (React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: methodologyDocument }, \"Methodologies\")),\n React.createElement(DropdownItem, { onClick: toggleAboutModal }, \"About\"),\n React.createElement(StyledSpace, null),\n !publicIndex && (React.createElement(DropdownItem, { onClick: handleLogout, disabled: false, className: \"level-1 bg-primary text-white\" },\n React.createElement(LogOutItem, null, \"Log Out\"),\n \" \",\n React.createElement(FontAwesomeIcon, { icon: \"sign-out-alt\", size: \"lg\" }))))),\n React.createElement(UserProfile, { isOpen: isOpenUserProfileModal, toggle: toggleUserProfileModal, principalUser: auth.user }),\n React.createElement(UserChangePassword, { isOpen: isOpenChangePasswordModal, toggle: toggleChangePasswordModal }),\n React.createElement(MethodologyModal, { isOpen: isOpenMethodologyModal, toggle: toggleMethodologyModal }),\n React.createElement(AboutModal, { isOpen: isOpenAboutModal, toggle: toggleAboutModal, title: '' }),\n React.createElement(DialogManager, { reportCondition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition, showReportDialog: showReportDialog, toggleReportDialog: toggleReportDialog })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Link, useLocation } from 'react-router-dom';\nimport { Authenticated } from '../authentication';\nimport { UserMenu } from './usermenu';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledHeader = styled.header(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 0 0 4.3125rem;\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 1rem;\\n position: relative;\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n flex: 0 0 4.3125rem;\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 1rem;\\n position: relative;\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar IndexLogoAndNameLink = styled(Link)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n :hover {\\n text-decoration: none !important;\\n }\\n text-decoration: none;\\n background-color: transparent;\\n margin-right: auto;\\n\"], [\"\\n display: flex;\\n :hover {\\n text-decoration: none !important;\\n }\\n text-decoration: none;\\n background-color: transparent;\\n margin-right: auto;\\n\"])));\nvar IndexLogo = styled.img(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-height: 3.5rem;\\n max-width: 18.75rem;\\n vertical-align: middle;\\n border-style: none;\\n margin: auto;\\n @media only screen and (max-width: 600px) {\\n max-height: 3rem;\\n }\\n\"], [\"\\n max-height: 3.5rem;\\n max-width: 18.75rem;\\n vertical-align: middle;\\n border-style: none;\\n margin: auto;\\n @media only screen and (max-width: 600px) {\\n max-height: 3rem;\\n }\\n\"])));\nvar IndexName = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin-left: 0.5rem;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n color: #000000;\\n > * {\\n font-weight: normal;\\n }\\n\"], [\"\\n margin-left: 0.5rem;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n color: #000000;\\n > * {\\n font-weight: normal;\\n }\\n\"])));\nvar IndexNameH3 = styled.h3(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n margin: 0 !important;\\n font-size: 1.75rem;\\n line-height: 1.2;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 1.25rem;\\n }\\n\"], [\"\\n margin: 0 !important;\\n font-size: 1.75rem;\\n line-height: 1.2;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 1.25rem;\\n }\\n\"])));\nvar IndexNameH5 = styled.h5(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin: 0 !important;\\n font-size: 1.25rem;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 0.825rem;\\n }\\n\"], [\"\\n margin: 0 !important;\\n font-size: 1.25rem;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 0.825rem;\\n }\\n\"])));\nexport var Header = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var location = useLocation();\n return (React.createElement(StyledHeader, null,\n React.createElement(IndexLogoAndNameLink, { to: location.search },\n React.createElement(IndexLogo, { alt: \"app-logo\", src: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.squareLogo }),\n React.createElement(IndexName, null,\n React.createElement(IndexNameH3, null, props.indexName || (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle)),\n React.createElement(IndexNameH5, null, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexOwner))),\n props.children,\n React.createElement(Authenticated, null,\n React.createElement(UserMenu, { disabledReport: props.disabledReport, reportCondition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition }))));\n};\nexport * from './usermenu';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useFilterSetting } from '../state';\nimport { DATA_SOURCES } from '../configs';\nimport { mapAgeValues, useLookupSexCode, useLookupRaceCode, useLookupCondition, getConsumptionGroups, getClaimDayLabel, useLookupVaccine, useLookupFluVaccine } from '../lookupdata';\nimport { ConsumptionGroupTab, ConditionTab, AggregatedSexTab, SexTab, AggregatedRaceTab, RaceTab, AggregatedAgeTab, AgeTab, DataYearTab, DataYearSeasonTab, } from '../filterdialog';\nimport { FilterSidebarConst } from '../configs/filtersidebar';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledFiltersHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n font-weight: 550;\\n padding-top: 1rem;\\n\"], [\"\\n cursor: pointer;\\n font-weight: 550;\\n padding-top: 1rem;\\n\"])));\nvar FiltersValue = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n color: #6b778c;\\n width: 17rem;\\n margin: 0.5rem;\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 3;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n color: #6b778c;\\n width: 17rem;\\n margin: 0.5rem;\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 3;\\n -webkit-box-orient: vertical;\\n\"])));\nvar Result = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: 0;\\n\"], [\"\\n margin: 0;\\n\"])));\nvar FiltersHeader = function (props) {\n var handleClick = function () {\n props.toggleFilterDialog(props.tabId);\n };\n if (props.isHidden)\n return null;\n return React.createElement(StyledFiltersHeader, { onClick: handleClick }, props.children);\n};\nexport var FilterTab = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;\n var indexHostname = useHostnameIndexInfo();\n var filterSetting = useFilterSetting();\n var lookupPrimaryCondition = useLookupCondition(filterSetting.primaryCoMorbidities)[0];\n var lookupConditionData = useLookupCondition(filterSetting.comorbidities)[0];\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var dataSourceName = filterSetting.isAggregatedDataSource ? filterSetting.dataSourceName : cmsDataSource && DATA_SOURCES[cmsDataSource].label;\n var lookupSexData = useLookupSexCode((_b = filterSetting.demographics) === null || _b === void 0 ? void 0 : _b.sexCodes)[0];\n var lookupRaceData = useLookupRaceCode(filterSetting.raceMethodology, (_c = filterSetting.demographics) === null || _c === void 0 ? void 0 : _c.raceCodes)[0];\n var ageData = mapAgeValues((_d = filterSetting.demographics) === null || _d === void 0 ? void 0 : _d.ages);\n var consumptionGroupClassesDefaultFilter = indexHostname === null || indexHostname === void 0 ? void 0 : indexHostname.defaultFilter.consumptionGroupClasses;\n var consumptionGroups = (_e = getConsumptionGroups(filterSetting.consumptionGroupClasses)) === null || _e === void 0 ? void 0 : _e.map(function (i) { return i.shortTerm; }).join(', ');\n var primaryConditionName = (_g = (_f = lookupPrimaryCondition.labeledValues) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.chronicConditionName;\n var otherContitionName = (_h = lookupConditionData.labeledValues) === null || _h === void 0 ? void 0 : _h.map(function (i) { return i.chronicConditionName; }).filter(function (name) { return name !== primaryConditionName; }).join(', ');\n var claimDayLabel = getClaimDayLabel(filterSetting.claimDay);\n var mainPrimaryConditionName = (_k = (_j = lookupPrimaryCondition.labeledValues) === null || _j === void 0 ? void 0 : _j.filter(function (i) { return !filterSetting.primaryConditionWithClaims || !filterSetting.primaryConditionWithClaims[i.chronicConditionCode]; })) === null || _k === void 0 ? void 0 : _k.map(function (i) {\n return i.chronicConditionName;\n }).join(', ');\n var textMainClaimNumber = filterSetting.claimNumber ?\n \" (\" + filterSetting.claimNumber + \" claim(s)\" + (filterSetting.claimNumber && filterSetting.claimNumber > 1 ? \" \" + claimDayLabel + \" days apart\" : '') + \")\" : '';\n var otherPrimaryConditionNameWithClaim = (_m = (_l = lookupPrimaryCondition.labeledValues) === null || _l === void 0 ? void 0 : _l.filter(function (i) { return filterSetting.primaryConditionWithClaims && filterSetting.primaryConditionWithClaims[i.chronicConditionCode]; })) === null || _m === void 0 ? void 0 : _m.map(function (i, idx) {\n var claimNumber = filterSetting.primaryConditionWithClaims ? filterSetting.primaryConditionWithClaims[i.chronicConditionCode] : '';\n var claim = claimNumber ? \"(\" + claimNumber + \" claim(s)\" + ((claimNumber && claimNumber > 1 && claimDayLabel) ? \" \" + claimDayLabel + \" days apart\" : '') + \")\" : '';\n return i.chronicConditionName + \" \" + claim;\n }).join(', ');\n var sexLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'SEX'\n ? filterSetting.filteringCategoryUiName\n : ''\n : ((_o = lookupSexData.mappedValues) === null || _o === void 0 ? void 0 : _o.length) && lookupSexData.mappedValues.map(function (option) { return option.label; }).join(', ');\n var raceLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'RACE'\n ? filterSetting.filteringCategoryUiName\n : ''\n : ((_p = lookupRaceData.mappedValues) === null || _p === void 0 ? void 0 : _p.length) && lookupRaceData.mappedValues.map(function (option) { return option.label; }).join(', ');\n var ageLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'AGE'\n ? filterSetting.filteringCategoryUiName\n : ''\n : (ageData === null || ageData === void 0 ? void 0 : ageData.length) && ageData.map(function (option) { return option.label; }).join(', ');\n var dataYearTabId = props.showFluVaccine ? (_q = DataYearSeasonTab.defaultProps) === null || _q === void 0 ? void 0 : _q.tabId : (_r = DataYearTab.defaultProps) === null || _r === void 0 ? void 0 : _r.tabId;\n var dataYear = React.useMemo(function () {\n if (Array.isArray(filterSetting.dataYearSeason) && filterSetting.dataYearSeason.length === 2) {\n return filterSetting.dataYearSeason.join(DELIMITER_SEASON_YEAR);\n }\n return filterSetting.dataYear;\n }, [filterSetting.dataYear, filterSetting.dataYearSeason]);\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: dataYearTabId, toggleFilterDialog: props.toggleFilterDialog },\n \"Patients from \",\n dataSourceName,\n \" \",\n dataYear),\n props.showVaccine && React.createElement(VaccineFilterSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n props.showFluVaccine && React.createElement(InfluenzaVaccineFilterSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n !filterSetting.isAggregatedDataSource && (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: (_s = ConditionTab.defaultProps) === null || _s === void 0 ? void 0 : _s.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Conditions\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null,\n mainPrimaryConditionName,\n textMainClaimNumber,\n (textMainClaimNumber || mainPrimaryConditionName) && otherPrimaryConditionNameWithClaim && \", \",\n otherPrimaryConditionNameWithClaim,\n (textMainClaimNumber || primaryConditionName || otherPrimaryConditionNameWithClaim) && otherContitionName && \", \",\n otherContitionName)))),\n React.createElement(FiltersHeader, { tabId: (_t = ConsumptionGroupTab.defaultProps) === null || _t === void 0 ? void 0 : _t.tabId, toggleFilterDialog: props.toggleFilterDialog, isHidden: Array.isArray(consumptionGroupClassesDefaultFilter) && !consumptionGroupClassesDefaultFilter.length }, \"Consumption Group Class\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, consumptionGroups)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_u = AggregatedSexTab.defaultProps) === null || _u === void 0 ? void 0 : _u.tabId : (_v = SexTab.defaultProps) === null || _v === void 0 ? void 0 : _v.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Sex\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, sexLabel)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_w = AggregatedRaceTab.defaultProps) === null || _w === void 0 ? void 0 : _w.tabId : (_x = RaceTab.defaultProps) === null || _x === void 0 ? void 0 : _x.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Race/Ethnicity\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, raceLabel)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_y = AggregatedAgeTab.defaultProps) === null || _y === void 0 ? void 0 : _y.tabId : (_z = AgeTab.defaultProps) === null || _z === void 0 ? void 0 : _z.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Age\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, ageLabel))));\n};\nvar VaccineFilterSidebar = function (_a) {\n var _b, _c, _d, _e;\n var toggleFilterDialog = _a.toggleFilterDialog;\n var filterSetting = useFilterSetting();\n var lookupVaccine = useLookupVaccine()[0];\n var vaccineCptCodes = filterSetting.vaccineCptCodes;\n var selectingVaccineDiseaseName = (vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.length) && ((_c = (_b = lookupVaccine.data) === null || _b === void 0 ? void 0 : _b.find(function (i) { return i.cptCode === vaccineCptCodes[0]; })) === null || _c === void 0 ? void 0 : _c.vaccineDiseaseName);\n var allVaccinesInGroup = (_d = lookupVaccine.data) === null || _d === void 0 ? void 0 : _d.filter(function (i) { return i.vaccineDiseaseName === selectingVaccineDiseaseName; });\n var vaccineValue = (vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.length) === (allVaccinesInGroup === null || allVaccinesInGroup === void 0 ? void 0 : allVaccinesInGroup.length)\n ? selectingVaccineDiseaseName\n : (_e = lookupVaccine.data) === null || _e === void 0 ? void 0 : _e.filter(function (i) { return vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.some(function (v) { return v === i.cptCode; }); }).map(function (i) { return \"\" + i.cptCode + (i.vaccineBrandName ? \" - \" + i.vaccineBrandName : ''); }).join(', ');\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: FilterSidebarConst.Vaccine.tabId, toggleFilterDialog: toggleFilterDialog }, FilterSidebarConst.Vaccine.title),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, vaccineValue))));\n};\nvar InfluenzaVaccineFilterSidebar = function (_a) {\n var _b;\n var toggleFilterDialog = _a.toggleFilterDialog;\n var filterSetting = useFilterSetting();\n var lookupFluVaccine = useLookupFluVaccine()[0];\n var fluVaccineCptCodes = filterSetting.fluVaccineCptCodes;\n var vaccineValue = (_b = lookupFluVaccine.data) === null || _b === void 0 ? void 0 : _b.filter(function (vaccine) { return fluVaccineCptCodes === null || fluVaccineCptCodes === void 0 ? void 0 : fluVaccineCptCodes.includes(vaccine.hcpcsPctCodes); }).map(function (vaccine) { return vaccine.hcpcsDescription; }).join(', ');\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: FilterSidebarConst.InfluenzaVaccine.tabId, toggleFilterDialog: toggleFilterDialog }, FilterSidebarConst.InfluenzaVaccine.title),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, vaccineValue))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { StyledPanel } from './styled';\nimport { useMapValue } from '../mapprovider';\nvar StyledTransparencyControl = styled(StyledPanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.75rem 0 0.125rem;\\n text-align: center;\\n min-width: 2.75rem;\\n\"], [\"\\n padding: 0.75rem 0 0.125rem;\\n text-align: center;\\n min-width: 2.75rem;\\n\"])));\nvar RangeInput = styled.input(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0; /* IE */\\n width: 100%;\\n cursor: pointer;\\n\\n &:hover,\\n &:focus {\\n &::-webkit-slider-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-moz-range-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-ms-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n }\\n\"], [\"\\n padding: 0; /* IE */\\n width: 100%;\\n cursor: pointer;\\n\\n &:hover,\\n &:focus {\\n &::-webkit-slider-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-moz-range-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-ms-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n }\\n\"])));\nvar LabelLeft = styled.label(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n float: left!important;\\n\"], [\"\\n float: left!important;\\n\"])));\nvar LabelRight = styled.label(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n float: right!important;\\n\"], [\"\\n float: right!important;\\n\"])));\nexport var TransparencyControl = function () {\n var _a = useMapValue('transparency'), transparency = _a[0], setTransparency = _a[1];\n var handleChange = useCallback(function (event) {\n setTransparency(event.currentTarget.value);\n }, [setTransparency]);\n return (React.createElement(StyledTransparencyControl, null,\n React.createElement(RangeInput, { type: \"range\", min: 0, max: 100, value: transparency, onChange: handleChange }),\n React.createElement(LabelLeft, null, \"Transparent\"),\n React.createElement(LabelRight, null, \"Opaque\")));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { StatisticTab } from '../filterdialog';\nimport { getStatisticOption } from '../lookupdata';\nimport { StyledPanel } from '../map/overlays/styled';\nimport { LegendByFilter } from '../map/patientchoroplethlayer/legend';\nimport { useFilterValue, useViewValue } from '../state';\nvar StyledLegendHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledToggleBtn = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar SelectedStatistic = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: fit-content;\\n line-height: initial;\\n cursor: pointer;\\n font-weight: 700;\\n\"], [\"\\n width: fit-content;\\n line-height: initial;\\n cursor: pointer;\\n font-weight: 700;\\n\"])));\nvar StatisticCategoryLabel = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticConfigLabel = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"], [\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"])));\nvar StyledButton = styled.button(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n border-radius: 0.75rem;\\n border: solid 0.125rem #212529;\\n color: #b95951;\\n height: 1.5rem;\\n position: relative;\\n width: 2rem;\\n transition: color 0.3s;\\n &:focus {\\n outline: 0;\\n }\\n \", \";\\n\"], [\"\\n border-radius: 0.75rem;\\n border: solid 0.125rem #212529;\\n color: #b95951;\\n height: 1.5rem;\\n position: relative;\\n width: 2rem;\\n transition: color 0.3s;\\n &:focus {\\n outline: 0;\\n }\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'background-color: #313130;' : 'background-color: transparent;'); });\nvar StyledNode = styled.span(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n position: absolute;\\n height: 1.25rem;\\n width: 1.25rem;\\n top: 0.0125rem;\\n border: solid 0.125rem #212529;\\n border-radius: 50%;\\n transition: left 0.3s;\\n background: #ffffff;\\n \", \";\\n\"], [\"\\n position: absolute;\\n height: 1.25rem;\\n width: 1.25rem;\\n top: 0.0125rem;\\n border: solid 0.125rem #212529;\\n border-radius: 50%;\\n transition: left 0.3s;\\n background: #ffffff;\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'left: 0.625rem;' : 'left: -0.125rem;'); });\nexport var ToggleButton = function (props) {\n return (React.createElement(StyledButton, { isActive: props.show, onClick: props.toggle },\n React.createElement(StyledNode, { isActive: props.show })));\n};\nexport var LegendSidebar = function (props) {\n var _a = useViewValue('mapView', 'showLegend'), show = _a[0], setShow = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticConfig = getStatisticOption(statistic);\n return (React.createElement(StyledPanel, null,\n React.createElement(StyledLegendHeader, null,\n React.createElement(SelectedStatistic, { onClick: function () { var _a; return props.toggleFilterDialog((_a = StatisticTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId); } },\n React.createElement(StatisticCategoryLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.group.label),\n React.createElement(StatisticConfigLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.label)),\n React.createElement(StyledToggleBtn, null,\n React.createElement(ToggleButton, { show: show, toggle: function () { return setShow(!show); } }))),\n React.createElement(LegendByFilter, null)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { TransparencyControl } from '../map/overlays';\nimport { useViewValue } from '../state';\nimport { LegendSidebar, ToggleButton } from './legendsidebar';\nvar StyledWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: 0 -0.75rem;\\n\"], [\"\\n margin: 0 -0.75rem;\\n\"])));\nvar StyledTransparency = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.75rem;\\n\"], [\"\\n padding: 0.75rem;\\n\"])));\nvar StyledGeography = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 0.75rem;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 0.75rem;\\n\"])));\nvar Title = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n padding-bottop: 1rem;\\n font-weight: 700;\\n\"], [\"\\n padding-bottop: 1rem;\\n font-weight: 700;\\n\"])));\nexport var LegendTransparencyTab = function (props) {\n var _a = useViewValue('mapView', 'showGeographyHoverDisplay'), show = _a[0], setShow = _a[1];\n return (React.createElement(StyledWrapper, null,\n React.createElement(LegendSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n React.createElement(StyledGeography, null,\n React.createElement(Title, null, \"Geography Hover Display\"),\n React.createElement(ToggleButton, { show: show, toggle: function () { return setShow(!show); } })),\n React.createElement(StyledTransparency, null,\n React.createElement(Title, null, \"Transparency Settings\"),\n React.createElement(TransparencyControl, null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useState } from 'react';\nimport styled from 'styled-components';\nimport { ListGroup, ListGroupItem, TabContent, TabPane } from 'reactstrap';\nimport { useToggle } from '../hooks';\nimport { IconButton } from '../common';\nimport { FilterTab } from './filtertab';\nimport { LegendTransparencyTab } from './legendtransparencytab';\nvar StyledFilterSidebar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n z-index: 99;\\n height: 100%;\\n width: 0;\\n position: relative;\\n\"], [\"\\n z-index: 99;\\n height: 100%;\\n width: 0;\\n position: relative;\\n\"])));\nvar Sidebar = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-top: 0;\\n position: absolute;\\n left: 0;\\n transform: translateX(-20.5rem);\\n width: 20rem;\\n background-color: white;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33); \\n min-height: 100%;\\n max-height: 100%;\\n overflow: auto;\\n \", \"\\n\"], [\"\\n padding: 1rem;\\n padding-top: 0;\\n position: absolute;\\n left: 0;\\n transform: translateX(-20.5rem);\\n width: 20rem;\\n background-color: white;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33); \\n min-height: 100%;\\n max-height: 100%;\\n overflow: auto;\\n \", \"\\n\"])), function (props) { return (props.collapsed ? \"transform: translateX(0)\" : ''); });\nvar StyledButton = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: absolute;\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n top: 50%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 99;\\n \", \"\\n :focus, :active {\\n background-color: hsla(0, 0%, 0%, 0.3);\\n }\\n\"], [\"\\n position: absolute;\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n top: 50%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 99;\\n \", \"\\n :focus, :active {\\n background-color: hsla(0, 0%, 0%, 0.3);\\n }\\n\"])), function (props) { return (props.collapsed ? \"transform: translate(20rem, -50%);\" : ''); });\nvar PanelHeader = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.75rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.75rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"])));\nvar Title = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar StyledTabsContainer = styled(ListGroup)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"])));\nvar StyleTabSelector = styled(ListGroupItem)(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"], [\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"])));\nvar TabSelector = React.memo(function (props) {\n var setActiveTab = props.setActiveTab;\n var handleClick = useCallback(function () {\n setActiveTab(props.tabId);\n }, [props.tabId, setActiveTab]);\n return (React.createElement(StyleTabSelector, { action: true, disabled: props.disabled, active: props.activeTab === props.tabId, onClick: handleClick }, props.children));\n});\nexport var FilterSidebar = function (props) {\n var _a = useToggle(), collapsed = _a[0], toggleCollapsed = _a[1];\n var _b = useState('1'), activeTab = _b[0], setActiveTab = _b[1];\n return (React.createElement(StyledFilterSidebar, null,\n React.createElement(Sidebar, { collapsed: collapsed },\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Display Settings\")),\n React.createElement(StyledTabsContainer, { horizontal: true },\n React.createElement(TabSelector, { tabId: \"1\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Filters\"),\n React.createElement(TabSelector, { tabId: \"2\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Other Settings\")),\n React.createElement(TabContent, { activeTab: activeTab },\n React.createElement(TabPane, { tabId: \"1\" },\n React.createElement(FilterTab, { showVaccine: props.showVaccine, showFluVaccine: props.showFluVaccine, toggleFilterDialog: props.toggleFilterDialog })),\n React.createElement(TabPane, { tabId: \"2\" },\n React.createElement(LegendTransparencyTab, { toggleFilterDialog: props.toggleFilterDialog })))),\n React.createElement(StyledButton, { collapsed: collapsed },\n React.createElement(IconButton, { icon: collapsed ? 'caret-left' : 'caret-right', size: \"2x\", style: { padding: 0 }, onClick: toggleCollapsed, title: collapsed ? 'Hide Display Settings' : 'Show Display Settings', placement: \"right\" }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport { DropdownItem, DropdownItemCheck, DropdownToggleIcon } from '../common';\nimport { useAPI, useFilterSetting, useViewValue } from '../state';\nimport { ClinicalTrialOptionEnum } from '../enums';\nvar GET_AVAIABLE_MAP_LAYER_LIST_API = '/api/map-layer/get-all-that-belong-to-the-logged-user-index';\nvar StyledSubMenuItem = styled(UncontrolledDropdown)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nexport var useMapLayerListAPI = function () {\n return useAPI(GET_AVAIABLE_MAP_LAYER_LIST_API);\n};\nvar ImportingLocationSubType = function (props) {\n var _a = useViewValue('showMapLayerMenu'), setShowMapLayerMenu = _a[1];\n var _b = useViewValue('importingLocationTypes', \"\" + props.id), selectingType = _b[0], setSelectingType = _b[1];\n var checked = selectingType === props.value;\n var handleClick = function () {\n setSelectingType(checked ? undefined : props.value);\n setShowMapLayerMenu();\n };\n return React.createElement(DropdownItemCheck, { checked: checked, onChange: handleClick, value: props.value, label: props.label });\n};\nvar ImportingLocationItem = function (props) {\n var _a = useViewValue('importingLocationTypes', \"\" + props.payload.id), selectingType = _a[0], setSelectingType = _a[1];\n var checked = !!selectingType;\n var handleClick = function () {\n setSelectingType(checked ? undefined : ClinicalTrialOptionEnum.TrialsRelated);\n };\n return (React.createElement(DropdownItemCheck, { disabled: props.disabled, tag: StyledSubMenuItem, checked: checked, onChange: handleClick, value: props.payload.id, label: props.payload.name, icon: props.payload.displayIcon, direction: \"right\" },\n React.createElement(DropdownToggleIcon, { disabled: props.disabled, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0 ml-auto\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(ImportingLocationSubType, { id: props.payload.id, value: ClinicalTrialOptionEnum.TrialsRelated, label: \"Show trials related to currently selected conditions\" }),\n React.createElement(ImportingLocationSubType, { id: props.payload.id, value: ClinicalTrialOptionEnum.AllTrials, label: \"Show all trials\" }))));\n};\nvar ImportingLocationMenu = function () {\n var _a;\n var mapLayerData = useMapLayerListAPI()[0];\n var filterSetting = useFilterSetting();\n var disabled = !filterSetting.available;\n return (React.createElement(React.Fragment, null, (_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.map(function (ml) { return (React.createElement(ImportingLocationItem, { disabled: disabled, key: ml.id, payload: ml })); })));\n};\nexport var LocationMenu = function (props) {\n var _a;\n var mapLayerData = useMapLayerListAPI()[0];\n if (!props.children && !((_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.length))\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Locations\"),\n props.children,\n React.createElement(ImportingLocationMenu, null)));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { DropdownMenu, UncontrolledDropdown } from 'reactstrap';\nimport { DropdownItem, DropdownItemCheck, DropdownItemCheckList, DropdownToggleIcon, Input, ThreeDotLoading } from '../common';\nimport { useMount, useToggle } from '../hooks';\nimport { useCachedData } from '../state';\nimport { useProviderSetting } from '../selectors';\nvar GET_SPECIALISTS_API_URL = '/api/provider/get-specialists';\nvar StyledSpecialists = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"], [\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"])));\nvar ProviderSelectItem = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: pointer;\\n\"], [\"\\n cursor: pointer;\\n\"])));\nvar StyledSubMenuItem = styled(UncontrolledDropdown)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nexport var ProviderMenu = function () {\n var _a, _b;\n var _c = useCachedData(GET_SPECIALISTS_API_URL), specialistsData = _c[0], fetchSpecialistsData = _c[1];\n var _d = useToggle(), doGetPrimaryCareProvider = _d[0], toggleDoGetPrimaryCareProvider = _d[1], setDoGetPrimaryCareProvider = _d[2];\n var _e = useToggle(), doGetHospitalProvider = _e[0], toggleDoGetHospitalProvider = _e[1], setDoGetHospitalProvider = _e[2];\n var _f = useState(), specialistProviders = _f[0], setSpecialistProviders = _f[1];\n var _g = useProviderSetting(), providerSetting = _g[0], setProviderSetting = _g[1];\n var disabled = providerSetting.disabled;\n var disabledSpecialistProvider = disabled || !specialistsData.data;\n var _h = useState(''), specialistsSearchText = _h[0], setSpecialistsSearchText = _h[1];\n var providerSettingRef = useRef();\n useMount(function () {\n fetchSpecialistsData();\n });\n useEffect(function () {\n providerSettingRef.current = {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n };\n }, [doGetPrimaryCareProvider, doGetHospitalProvider, specialistProviders]);\n useMount(function () { return function () {\n setProviderSetting(__assign(__assign({}, providerSetting), providerSettingRef.current));\n }; });\n useEffect(function () {\n setDoGetPrimaryCareProvider(!!(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider));\n setDoGetHospitalProvider(!!(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider));\n setSpecialistProviders(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider, providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider, providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders]);\n var handleClickSpecialists = function () {\n var _a;\n setSpecialistProviders((specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length) ? [] : (_a = specialistsData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.code; }));\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Providers\"),\n React.createElement(DropdownItemCheck, { tag: ProviderSelectItem, toggle: false, icon: \"clinic-medical\", label: \"Primary Care\", checked: doGetPrimaryCareProvider, onChange: toggleDoGetPrimaryCareProvider, disabled: disabled }),\n React.createElement(DropdownItemCheck, { disabled: disabledSpecialistProvider, toggle: false, icon: \"stethoscope\", tag: StyledSubMenuItem, direction: \"right\", checked: !!(specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length), onChange: handleClickSpecialists, partial: (specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length) !== ((_a = specialistsData.data) === null || _a === void 0 ? void 0 : _a.length) },\n React.createElement(\"span\", { className: \"flex-grow-1\" },\n \"Specialists \",\n React.createElement(ThreeDotLoading, { loading: specialistsData.requesting })),\n React.createElement(DropdownToggleIcon, { disabled: disabledSpecialistProvider, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(\"div\", { className: \"py-2 pr-4 pl-5\" },\n React.createElement(Input, { name: \"search\", placeholder: \"Search....\", value: specialistsSearchText, onChange: function (event) {\n setSpecialistsSearchText(event.target.value);\n event.stopPropagation();\n } })),\n React.createElement(StyledSpecialists, null, (_b = specialistsData.data) === null || _b === void 0 ? void 0 : _b.sort(function (a, b) { return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); }).filter(function (i) { return !specialistsSearchText || i.name.toLowerCase().includes(specialistsSearchText.toLowerCase()); }).map(function (item) { return (React.createElement(DropdownItemCheckList, { values: specialistProviders, onChange: setSpecialistProviders, value: item.code, key: item.code, tag: ProviderSelectItem, toggle: false, label: item.name })); })))),\n React.createElement(DropdownItemCheck, { disabled: disabled, tag: ProviderSelectItem, toggle: false, icon: \"hospital-symbol\", label: \"Hospitals\", checked: doGetHospitalProvider, onChange: toggleDoGetHospitalProvider })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport { ClinicalTrialOptionEnum, ClinicalTrialStatusEnum } from '../enums';\nimport { useFilterSetting, useViewValue } from '../state';\nimport { DropdownItemCheck, DropdownItemCheckList, DropdownToggleIcon } from '../common';\nimport { useMount } from '../hooks';\nvar CLINICALTRIALS_GOV_OPTIONS = [\n {\n value: ClinicalTrialOptionEnum.TrialsRelated,\n label: 'Show trials related to currently selected conditions',\n },\n {\n value: ClinicalTrialOptionEnum.AllTrials,\n label: 'Show all trials',\n },\n];\nvar CLINICAL_TRIAL_STATUS_DATA = [\n {\n value: ClinicalTrialStatusEnum.NotYetRecruiting,\n label: 'Not yet recruiting',\n },\n {\n value: ClinicalTrialStatusEnum.Recruiting,\n label: 'Recruiting',\n },\n {\n value: ClinicalTrialStatusEnum.EnrollingByInvitation,\n label: 'Enrolling by invitation',\n },\n {\n value: ClinicalTrialStatusEnum.ActiveNotRecruiting,\n label: 'Active not recruiting',\n },\n];\nvar ALL_CLINICAL_TRIAL_STATUS = CLINICAL_TRIAL_STATUS_DATA === null || CLINICAL_TRIAL_STATUS_DATA === void 0 ? void 0 : CLINICAL_TRIAL_STATUS_DATA.map(function (i) { return i.value; });\nvar StyledSubMenuClinicalTrialsItem = styled(UncontrolledDropdown)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nvar StyledSubMenuClinicalTrialsStatusItem = styled(UncontrolledDropdown)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\"])));\nvar StyledClinicalTrialOption = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"], [\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"])));\nexport var ClinicalTrialMenu = function () {\n var _a = useViewValue('clinicalTrial', 'clinicalTrialOption'), clinicalTrialOption = _a[0], setClinicalTrialOption = _a[1];\n var _b = useViewValue('clinicalTrialStatus'), clinicalTrialStatus = _b[0], setClinicalTrialStatus = _b[1];\n var _c = useState(), filterRecruitmentStatuses = _c[0], setFilterRecruitmentStatuses = _c[1];\n var _d = useViewValue('showMapLayerMenu'), setShowMapLayerMenu = _d[1];\n var filterSetting = useFilterSetting();\n var disabled = !filterSetting.available;\n var clinicalTrialStatusRef = useRef();\n useEffect(function () {\n clinicalTrialStatusRef.current = {\n filterRecruitmentStatuses: filterRecruitmentStatuses,\n };\n }, [filterRecruitmentStatuses]);\n useMount(function () { return function () {\n setClinicalTrialStatus(__assign(__assign({}, clinicalTrialStatus), clinicalTrialStatusRef.current));\n }; });\n useEffect(function () {\n if (!clinicalTrialOption) {\n setFilterRecruitmentStatuses(ALL_CLINICAL_TRIAL_STATUS);\n }\n else {\n setFilterRecruitmentStatuses(clinicalTrialStatus === null || clinicalTrialStatus === void 0 ? void 0 : clinicalTrialStatus.filterRecruitmentStatuses);\n }\n }, [clinicalTrialOption, clinicalTrialStatus === null || clinicalTrialStatus === void 0 ? void 0 : clinicalTrialStatus.filterRecruitmentStatuses]);\n var handleClickClinicalTrialItem = function () {\n setClinicalTrialOption(!clinicalTrialOption ? ClinicalTrialOptionEnum.TrialsRelated : undefined);\n };\n var handleClickClinicalTrialStatus = function () {\n setFilterRecruitmentStatuses((filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length) ? [] : ALL_CLINICAL_TRIAL_STATUS);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItemCheck, { disabled: disabled, icon: \"notes-medical\", tag: StyledSubMenuClinicalTrialsItem, direction: \"right\", checked: !!clinicalTrialOption, onChange: handleClickClinicalTrialItem },\n React.createElement(\"span\", { className: \"flex-grow-1\" }, \"ClinicalTrials.gov\"),\n React.createElement(DropdownToggleIcon, { disabled: disabled, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(\"div\", null,\n React.createElement(DropdownItemCheck, { tag: StyledSubMenuClinicalTrialsItem, direction: \"right\", checked: !!(filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length), onChange: handleClickClinicalTrialStatus, partial: (filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length) !== (CLINICAL_TRIAL_STATUS_DATA === null || CLINICAL_TRIAL_STATUS_DATA === void 0 ? void 0 : CLINICAL_TRIAL_STATUS_DATA.length) },\n React.createElement(\"span\", { className: \"flex-grow-1\" }, \"Clinical Trial Status\"),\n React.createElement(DropdownToggleIcon, { onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(StyledClinicalTrialOption, null, CLINICAL_TRIAL_STATUS_DATA.map(function (item) { return (React.createElement(DropdownItemCheckList, { values: filterRecruitmentStatuses, onChange: setFilterRecruitmentStatuses, value: item.value, key: item.value, tag: StyledSubMenuClinicalTrialsStatusItem, direction: \"right\", toggle: false, label: item.label })); })))),\n CLINICALTRIALS_GOV_OPTIONS.map(function (item) {\n var checked = item.value === clinicalTrialOption;\n var handleChange = function (value) {\n setClinicalTrialOption(checked ? undefined : value);\n setShowMapLayerMenu();\n };\n return React.createElement(DropdownItemCheck, __assign({}, item, { key: item.value, checked: checked, onChange: handleChange }));\n }))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { DropdownMenu, Dropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { DropdownToggleIcon } from '../common';\nimport { ViewModeEnum } from '../enums';\nimport { useViewValue } from '../state/viewsetting';\nimport { LocationMenu, useMapLayerListAPI } from './locationmenu';\nvar DropdownMenuStyle = styled(DropdownMenu)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-height: 80vh;\\n overflow-y: auto;\\n\"], [\"\\n max-height: 80vh;\\n overflow-y: auto;\\n\"])));\nexport var MapLayerMenu = function (props) {\n var _a;\n var viewMode = useViewValue('viewMode')[0];\n var _b = useViewValue('showMapLayerMenu'), showMapLayerMenu = _b[0], setShowMapLayerMenu = _b[1];\n var _c = useMapLayerListAPI(), mapLayerData = _c[0], fetchMapLayerData = _c[1];\n var hasFixedChildren = React.Children.toArray(props.children).some(function (c) { var _a; return (c === null || c === void 0 ? void 0 : c.type) !== LocationMenu || ((_a = c === null || c === void 0 ? void 0 : c.props) === null || _a === void 0 ? void 0 : _a.children); });\n useEffect(function () {\n if (mapLayerData.requesting === undefined || (showMapLayerMenu && !mapLayerData.requesting)) {\n fetchMapLayerData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showMapLayerMenu]);\n if (viewMode !== ViewModeEnum.Map || (!hasFixedChildren && !((_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.length)))\n return null;\n return (React.createElement(Dropdown, { isOpen: showMapLayerMenu, toggle: function () { return setShowMapLayerMenu(!showMapLayerMenu); } },\n React.createElement(DropdownToggleIcon, { icon: \"layer-group\", size: \"2x\", title: \"Choose layers to display\", placement: \"top\" }),\n React.createElement(DropdownMenuStyle, { flip: false }, props.children)));\n};\nexport * from './providermenu';\nexport * from './locationmenu';\nexport * from './clinicaltrialmenu';\nexport * from './questdiagnosticsmenu';\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { ResponsiveContainer, ComposedChart, CartesianGrid, XAxis, YAxis, Bar, Tooltip, } from 'recharts';\nimport { useTranslation } from 'react-i18next';\nimport { getDisplayText } from '../utils';\nvar BAR_COLOR = '#00008b';\nvar NoDataMessage = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n\"], [\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n\"])));\nvar ResponsiveContainerWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"], [\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"])), function (props) { return (typeof props.width === 'string' ? props.width : props.width ? props.width / 16 + \"rem\" : '100%'); }, function (props) { return (typeof props.height === 'string' ? props.height : props.height ? props.height / 16 + \"rem\" : '100%'); });\nexport var BarComponent = function (props) {\n var _a;\n var t = useTranslation().t;\n var meetMinimumThreshold = !!((_a = props.data) === null || _a === void 0 ? void 0 : _a.length);\n var tickFormatter = useCallback(function (value) { return (meetMinimumThreshold ? getDisplayText(value) : ''); }, [meetMinimumThreshold]);\n var labelFormatter = useCallback(function () { return ''; }, []);\n var tooltipFormatter = useCallback(function (value, name, entry) { return [getDisplayText(entry.payload.value, '', entry.payload.prefix), entry.payload.name]; }, []);\n return (React.createElement(React.Fragment, null,\n React.createElement(ResponsiveContainerWrapper, { width: props.width, height: props.height },\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(ComposedChart, { data: props.data },\n React.createElement(CartesianGrid, { vertical: false }),\n React.createElement(XAxis, { dataKey: \"name\", interval: 0, angle: -45, textAnchor: \"end\", height: 85 }),\n React.createElement(YAxis, { angle: -45, width: 85, tickLine: meetMinimumThreshold, tickFormatter: tickFormatter }),\n React.createElement(Bar, { dataKey: \"value\", isAnimationActive: false, fill: BAR_COLOR, maxBarSize: 20 }),\n meetMinimumThreshold && React.createElement(Tooltip, { isAnimationActive: false, labelFormatter: labelFormatter, formatter: tooltipFormatter })))),\n !meetMinimumThreshold && React.createElement(NoDataMessage, null, t('demographicchart.nomeetminimumthreshold.msg'))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChartPie, faChartBar } from '@fortawesome/free-solid-svg-icons';\nimport { useTranslation } from 'react-i18next';\nimport { PieComponent } from './pie';\nimport { BarComponent } from './bar';\nimport { useChartData } from './usechartdata';\nimport { ViewModeEnum, ChartViewEnum, StatisticTypeEnum } from '../enums';\nimport { FallbackComponent } from '../common';\nimport { useViewValue, useFilterValue } from '../state';\nimport { DEMOGRAPHIC_CHART_OPTIONS } from '../configs';\nvar CHART_COMPONENT_BY_TYPE = {\n pie: PieComponent,\n bar: BarComponent,\n};\nvar StyledDemographicChart = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem;\\n width: 100%;\\n\"], [\"\\n padding: 1rem;\\n width: 100%;\\n\"])));\nvar Title = styled.h4(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar Body = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"])));\nvar StyledChartContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex-basis: 33%;\\n padding: 0.25rem;\\n\"], [\"\\n flex-basis: 33%;\\n padding: 0.25rem;\\n\"])));\nvar ChartContainerTitle = styled.h5(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: center;\\n\"], [\"\\n text-align: center;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n position: relative;\\n min-width: 18rem;\\n height: 18rem;\\n\"], [\"\\n position: relative;\\n min-width: 18rem;\\n height: 18rem;\\n\"])));\nvar ChartControl = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n padding-bottom: 0.5rem;\\n display: flex;\\n justify-content: center;\\n\"], [\"\\n padding-bottom: 0.5rem;\\n display: flex;\\n justify-content: center;\\n\"])));\nvar StyledSwitchTypeButton = styled.a(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n margin: 0 0.25rem;\\n cursor: pointer;\\n \", \"\\n &:hover {\\n opacity: 0.7;\\n }\\n\"], [\"\\n margin: 0 0.25rem;\\n cursor: pointer;\\n \", \"\\n &:hover {\\n opacity: 0.7;\\n }\\n\"])), function (props) { return (!props.active ? 'color: #c1c1c1 !important;' : ''); });\nvar ChartTypeButton = function (props) {\n var onClick = props.onClick, type = props.type;\n var handleClick = useCallback(function () {\n onClick(type);\n }, [onClick, type]);\n return (React.createElement(StyledSwitchTypeButton, { active: props.activeType === props.type, onClick: handleClick },\n React.createElement(FontAwesomeIcon, { icon: props.icon })));\n};\nvar ChartContainer = function (props) {\n var _a = useViewValue('chartView', props.type), chartType = _a[0], setChartType = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var ChartComponent = CHART_COMPONENT_BY_TYPE[chartType];\n var _b = props.data || [], data = _b[0], retry = _b[1];\n return (React.createElement(StyledChartContainer, null,\n React.createElement(ChartContainerTitle, null, props.title),\n React.createElement(ChartControl, null,\n React.createElement(ChartTypeButton, { activeType: chartType, type: \"pie\", icon: faChartPie, onClick: setChartType }),\n React.createElement(ChartTypeButton, { activeType: chartType, type: \"bar\", icon: faChartBar, onClick: setChartType })),\n React.createElement(StyledChartComponent, null,\n React.createElement(FallbackComponent, { requesting: data === null || data === void 0 ? void 0 : data.requesting, error: data === null || data === void 0 ? void 0 : data.error, retry: retry },\n React.createElement(ChartComponent, { inline: true, type: props.type, data: data === null || data === void 0 ? void 0 : data.data, percentage: statistic === StatisticTypeEnum.Prevalence })))));\n};\nexport var DemographicChartComponent = function () {\n var t = useTranslation().t;\n var _a = useChartData(), chartData = _a[0], fetchChartData = _a[1];\n var viewMode = useViewValue('viewMode')[0];\n var chartType = useViewValue('chartView', 'type')[0];\n var demographics = useViewValue('chartView', 'demographics')[0];\n var isShow = viewMode === ViewModeEnum.Chart && chartType === ChartViewEnum.Demographic;\n useEffect(function () {\n fetchChartData();\n }, [fetchChartData]);\n if (!isShow)\n return null;\n return (React.createElement(StyledDemographicChart, null,\n React.createElement(Title, null, t('demographicchart.title')),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: chartData.requesting || chartData.requesting === undefined, error: chartData.error, retry: fetchChartData }, demographics === null || demographics === void 0 ? void 0 : demographics.map(function (type) {\n var _a, _b;\n return (React.createElement(ChartContainer, { key: type, type: type, title: ((_a = DEMOGRAPHIC_CHART_OPTIONS.find(function (option) { return option.value === type; })) === null || _a === void 0 ? void 0 : _a.label) || type, data: (_b = chartData.data) === null || _b === void 0 ? void 0 : _b[type] }));\n })))));\n};\nexport * from './usechartdata';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { DataSourceEnum } from '../enums';\nimport { useFilterSetting, useViewValue } from '../state';\nexport var useProviderSetting = function (edittingFilterSetting) {\n var _a, _b;\n var _c = useViewValue('provider'), providerSetting = _c[0], setProviderSetting = _c[1];\n var filterSetting = useFilterSetting();\n var checkingSetting = edittingFilterSetting || filterSetting;\n var disabled = !checkingSetting.available || checkingSetting.isAggregatedDataSource || ((_a = checkingSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource) === DataSourceEnum.Medicaid;\n var available = !disabled && ((providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider) || (providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider) || !!((_b = providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders) === null || _b === void 0 ? void 0 : _b.length));\n return [__assign(__assign({}, providerSetting), { disabled: disabled, available: available }), setProviderSetting];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar LOCATOR_CLINICALTRIAL_API_URL = '/api/clinical-trials/get-clinical-trial-sites';\nvar clinicalTrialsSelector = function (state) { return state === null || state === void 0 ? void 0 : state.clinicalTrials; };\nvar clinicalTrialMapSelector = createSelector(clinicalTrialsSelector, function (clinicalTrials) {\n return _.keyBy(clinicalTrials, function (_a) {\n var nctId = _a.nctId, facilityName = _a.facilityName, zipcode = _a.zipcode;\n return nctId + \"-\" + facilityName + \"-\" + zipcode;\n });\n});\nvar createClinicalTrialSelector = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, nctId = _b.nctId, facilityName = _b.facilityName, zipcode = _b.zipcode;\n return createSelector(clinicalTrialMapSelector, function (map) { return map[nctId + \"-\" + facilityName + \"-\" + zipcode]; });\n};\nexport var useClinicalTrialGovApi = function () {\n return useAPI(LOCATOR_CLINICALTRIAL_API_URL, undefined, 'POST');\n};\nexport var useClinicalTrialDetail = function (id) {\n var clinicalTrialGovData = useClinicalTrialGovApi()[0];\n var clinicalTrialSelector = useMemo(function () { return createClinicalTrialSelector(id); }, [id]);\n return clinicalTrialSelector(clinicalTrialGovData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar LOCATOR_PROVIDER_API_URL = '/api/provider/get-demographic-patient-count-related-to-provider';\nvar providersSelector = function (state) { return state === null || state === void 0 ? void 0 : state.providers; };\nvar providerMapSelector = createSelector(providersSelector, function (providers) { return _.keyBy(providers, 'providerNpiNumber'); });\nvar createProviderDetailSelector = function (_a) {\n var providerNpiNumber = (_a === void 0 ? Object.assign({}) : _a).providerNpiNumber;\n return createSelector(providerMapSelector, function (map) { return map[\"\" + providerNpiNumber]; });\n};\nexport var useProviderData = function () {\n return useAPI(LOCATOR_PROVIDER_API_URL, undefined, 'POST');\n};\nexport var useProviderDetail = function (id) {\n var providerData = useProviderData()[0];\n var providerDetailSelector = useMemo(function () { return createProviderDetailSelector(id); }, [id]);\n return providerDetailSelector(providerData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar MAP_LAYER_LOCATOR_API = '/api/map-layer/{id}';\nvar mapLayerLocationsSelector = function (state) { return state; };\nvar mapLayerLocationMapSelector = createSelector(mapLayerLocationsSelector, function (mapLayerLocations) { return _.keyBy(mapLayerLocations, 'id'); });\nvar createMapLayerLocationSelector = function (id) { return createSelector(mapLayerLocationMapSelector, function (map) { return map[\"\" + id]; }); };\nexport var useCustomMapLayerLocationData = function (mapLayerId) {\n return useAPI(MAP_LAYER_LOCATOR_API, { id: mapLayerId }, 'POST');\n};\nexport var useCustomMapLayerDetail = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, id = _b.id, mapLayerId = _b.mapLayerId;\n var customMapLayerLocationData = useCustomMapLayerLocationData(mapLayerId)[0];\n var providerDetailSelector = useMemo(function () { return createMapLayerLocationSelector(id); }, [id]);\n return providerDetailSelector(customMapLayerLocationData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from \"react\";\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from \"../state\";\nvar LOCATOR_QUEST_DIAGNOSTICS_API_URL = '/api/quest-diagnostics/get-quest-diagnostics-sites';\nvar questDiagnosticsSelector = function (state) { return state === null || state === void 0 ? void 0 : state.questDiagnosticsSites; };\nvar questDiagnosticsMapSelector = createSelector(questDiagnosticsSelector, function (questDiagnostics) {\n return _.keyBy(questDiagnostics, function (_a) {\n var id = _a.id, site_code = _a.site_code, zip_code = _a.zip_code;\n return id + \"-\" + site_code + \"-\" + zip_code;\n });\n});\nvar createQuestDiagnosticsSelector = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, id = _b.id, site_code = _b.site_code, zip_code = _b.zip_code;\n return createSelector(questDiagnosticsMapSelector, function (map) { return map[id + \"-\" + site_code + \"-\" + zip_code]; });\n};\nexport var useQuestDiagnosticsApi = function () {\n return useAPI(LOCATOR_QUEST_DIAGNOSTICS_API_URL, undefined, 'POST');\n};\nexport var useQuestDiagnosticsDetail = function (id) {\n var questDiagnosticsData = useQuestDiagnosticsApi()[0];\n var questDiagnosticsSelector = useMemo(function () { return createQuestDiagnosticsSelector(id); }, [id]);\n return questDiagnosticsSelector(questDiagnosticsData.data);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport { useMemo, useCallback } from 'react';\nimport { StatisticTypeEnum, GeoLevelEnum, ViewModeEnum } from '../../enums';\nimport { cookLegendBreaks, getBreakIdx, roundNumber } from '../../utils';\nimport { useAPI } from '../../state';\nimport { useViewValue, useFilterSetting, exportFilterSettingPayload } from '../../state';\nimport { getStatisticOption, processStatisticValue, getStatisticPrecision } from '../../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../../hostnameindexinfo';\nvar API_URL_GET_AGGREGATED_DATA = '/api/data-file/get-aggregated-data-for-map';\nvar API_URL_CALCULATE_STATISTIC = '/api/stats/{hostname}/calculate-statistic-for-map';\nvar API_URL_CALCULATE_STATISTIC_PROXY = '/api/{hostname}/calculate-statistic-for-map';\nexport var extractGeneralFilterInfo = function (data, statistic) {\n var statisticConfig = getStatisticOption(statistic);\n var _a = (data || {}).percentage, percentage = _a === void 0 ? statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.percentage : _a;\n return {\n percentage: percentage,\n suffix: percentage ? '%' : '',\n prefix: statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.preUnit,\n };\n};\nexport var useMapData = function () {\n var _a, _b;\n var indexConfig = useHostnameIndexInfo();\n var filterSetting = useFilterSetting();\n var apiUrl = useMemo(function () {\n if (filterSetting.isAggregatedDataSource)\n return API_URL_GET_AGGREGATED_DATA;\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname)\n return API_URL_CALCULATE_STATISTIC_PROXY;\n return API_URL_CALCULATE_STATISTIC;\n }, [filterSetting.isAggregatedDataSource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname]);\n var _c = useAPI(apiUrl, { hostname: extractHostname() }, 'POST'), mapData = _c[0], fetchMapData = _c[1], resetState = _c[2];\n var geoLevel = useViewValue('geoType')[0];\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var percentage = extractGeneralFilterInfo((_b = mapData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData, statistic).percentage;\n var extractedData = useMemo(function () {\n var _a;\n return mapData.data && __assign(__assign({}, mapData.data.mapStatisticResponsingData), { breakLegendInfo: cookLegendBreaks((_a = mapData.data.mapStatisticResponsingData) === null || _a === void 0 ? void 0 : _a.breakLegendInfo, percentage, getStatisticPrecision(statistic)) });\n }, [mapData.data, percentage, statistic]);\n var fetchMapDataWrapped = useCallback(function () {\n if (filterSetting.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSetting);\n fetchMapData(__assign(__assign({}, payload), { displayOption: { displayOptionType: ViewModeEnum.Map, mapView: { type: geoLevel } } }));\n }\n }, [fetchMapData, filterSetting, geoLevel]);\n return [__assign(__assign({}, mapData), { data: extractedData }), fetchMapDataWrapped, resetState];\n};\nexport var extractGeoData = function (id, filterSetting, geoLevel, data) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15;\n if (id === void 0) { id = ''; }\n var isAggregated = filterSetting.isAggregatedDataSource;\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var _16 = extractGeneralFilterInfo(data, statistic), percentage = _16.percentage, suffix = _16.suffix, prefix = _16.prefix;\n var value;\n var numerator, denominator, eventCount;\n var geographic, geographicNumerator, geographicDenominator, geographicEventCount;\n var nationalDemographic, nationalDemographicNumerator, nationalDemographicDenominator, nationalDemographicEventCount;\n var nationalAggregatedValue;\n var patientPopulation, nationalPatientPopulation;\n if (isAggregated) {\n var aggregatedId = geoLevel === GeoLevelEnum.Zip3 ? id.split('-')[1] : id;\n value = processStatisticValue((_b = data === null || data === void 0 ? void 0 : data.preAggregatedPopulationStatisticData) === null || _b === void 0 ? void 0 : _b[aggregatedId], percentage, statistic);\n geographic = value;\n nationalAggregatedValue = data === null || data === void 0 ? void 0 : data.nationalAggregatedValue;\n nationalDemographic = nationalAggregatedValue;\n }\n else {\n numerator = roundNumber(processStatisticValue(((_d = (_c = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _c === void 0 ? void 0 : _c.mapPatientCount) === null || _d === void 0 ? void 0 : _d[id]) || ((_f = (_e = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _e === void 0 ? void 0 : _e.mapTotalRateOfAcuteEventSelectedDemographic) === null || _f === void 0 ? void 0 : _f[id]) || ((_h = (_g = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _g === void 0 ? void 0 : _g.mapCostOfAcuteEventSelectedDemographic) === null || _h === void 0 ? void 0 : _h[id]), false, statistic));\n denominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_k = (_j = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _j === void 0 ? void 0 : _j.mapPatientPopulationCount) === null || _k === void 0 ? void 0 : _k[id]) || ((_m = (_l = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _l === void 0 ? void 0 : _l.mapPatientCountSelectedDemographic) === null || _m === void 0 ? void 0 : _m[id]) || ((_p = (_o = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _o === void 0 ? void 0 : _o.mapPatientCountSelectedDemographic) === null || _p === void 0 ? void 0 : _p[id]);\n value = processStatisticValue(numerator && denominator && numerator / denominator, percentage, statistic);\n patientPopulation = (_r = (_q = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _q === void 0 ? void 0 : _q.mapPatientPopulationCount) === null || _r === void 0 ? void 0 : _r[id];\n eventCount = (_t = (_s = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _s === void 0 ? void 0 : _s.mapCostOfAcuteEventHospitalizationVisit) === null || _t === void 0 ? void 0 : _t[id];\n geographicEventCount = (_v = (_u = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _u === void 0 ? void 0 : _u.mapCostOfAcuteEventHospitalizationVisitAllDemographic) === null || _v === void 0 ? void 0 : _v[id];\n geographicNumerator = roundNumber(processStatisticValue(((_x = (_w = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _w === void 0 ? void 0 : _w.mapPatientCount) === null || _x === void 0 ? void 0 : _x[id]) || ((_z = (_y = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _y === void 0 ? void 0 : _y.mapTotalRateOfAcuteEventAllDemographic) === null || _z === void 0 ? void 0 : _z[id]) || ((_1 = (_0 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _0 === void 0 ? void 0 : _0.mapCostOfAcuteEventAllDemographic) === null || _1 === void 0 ? void 0 : _1[id]), false, statistic));\n geographicDenominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_3 = (_2 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _2 === void 0 ? void 0 : _2.mapPatientPopulationCount) === null || _3 === void 0 ? void 0 : _3[id]) || ((_5 = (_4 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _4 === void 0 ? void 0 : _4.mapPatientCountAllDemographic) === null || _5 === void 0 ? void 0 : _5[id]) || ((_7 = (_6 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _6 === void 0 ? void 0 : _6.mapPatientCountAllDemographic) === null || _7 === void 0 ? void 0 : _7[id]);\n geographic = processStatisticValue(geographicNumerator && geographicDenominator && geographicNumerator / geographicDenominator, percentage, statistic);\n nationalDemographicEventCount = (_8 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _8 === void 0 ? void 0 : _8.nationalDemographicSumUpHospVisit;\n nationalDemographicNumerator = roundNumber(((_9 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _9 === void 0 ? void 0 : _9.nationalPatientCount) || ((_10 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _10 === void 0 ? void 0 : _10.nationalDemographicSumUpRateOfAcuteEvent) || ((_11 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _11 === void 0 ? void 0 : _11.nationalDemographicSumUpCostOfAcuteEvent));\n nationalDemographicDenominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_12 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _12 === void 0 ? void 0 : _12.nationalPopulationCount) || ((_13 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _13 === void 0 ? void 0 : _13.nationalDemographicPatientCount) || ((_14 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _14 === void 0 ? void 0 : _14.nationalDemographicPatientCount);\n nationalDemographic = processStatisticValue(nationalDemographicNumerator && nationalDemographicDenominator && nationalDemographicNumerator / nationalDemographicDenominator, percentage, statistic);\n nationalPatientPopulation = (_15 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _15 === void 0 ? void 0 : _15.nationalPopulationCount;\n }\n return {\n isAggregated: isAggregated,\n suffix: suffix,\n prefix: prefix,\n breakIdx: getBreakIdx(data === null || data === void 0 ? void 0 : data.breakLegendInfo, value),\n value: value,\n numerator: numerator,\n denominator: denominator,\n eventCount: eventCount,\n patientPopulation: patientPopulation,\n geographic: geographic,\n geographicNumerator: geographicNumerator,\n geographicDenominator: geographicDenominator,\n geographicEventCount: geographicEventCount,\n national: nationalDemographic,\n nationalNumerator: nationalDemographicNumerator,\n nationalDenominator: nationalDemographicDenominator,\n nationalEventCount: nationalDemographicEventCount,\n nationalDemographic: nationalDemographic,\n nationalDemographicNumerator: nationalDemographicNumerator,\n nationalDemographicDenominator: nationalDemographicDenominator,\n nationalDemographicEventCount: nationalDemographicEventCount,\n nationalAggregatedValue: nationalAggregatedValue,\n nationalPatientPopulation: nationalPatientPopulation,\n };\n};\nexport var useExtractGeoData = function () {\n var filterSetting = useFilterSetting();\n var data = useMapData()[0].data;\n var geoLevel = useViewValue('geoType')[0];\n return useCallback(function (id) { return extractGeoData(id, filterSetting, geoLevel, data); }, [data, filterSetting, geoLevel]);\n};\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport enUS from './messages.en-US.json';\nvar resources = {\n 'en-US': { translation: enUS },\n};\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: resources,\n fallbackLng: 'en-US',\n debug: true,\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n },\n});\nexport default i18n;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { library } from '@fortawesome/fontawesome-svg-core';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nlibrary.add(fas);\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { ListGroupItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useFilterEditingValue } from '../state/filterediting';\nvar StyledTab = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n\"])));\nvar Dot = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 1rem;\\n height: 1rem;\\n background-color: \", \";;\\n border-radius: 50%;\\n margin-left: 0.5rem;\\n\"], [\"\\n width: 1rem;\\n height: 1rem;\\n background-color: \", \";;\\n border-radius: 50%;\\n margin-left: 0.5rem;\\n\"])), function (props) { return (props.active ? '#ffffff' : '#007bff'); });\nexport var LeftTabSelectorItem = function (props) {\n var tabId = props.tabId, tabName = props.tabName, activeTab = props.activeTab, toggleTab = props.toggleTab, tabSelector = props.tabSelector, showRequiredDot = props.showRequiredDot, resprops = __rest(props, [\"tabId\", \"tabName\", \"activeTab\", \"toggleTab\", \"tabSelector\", \"showRequiredDot\"]);\n var handleClick = function () {\n toggleTab(tabId);\n };\n var Component = tabSelector || ListGroupItem;\n return (React.createElement(Component, __assign({}, resprops, { action: true, onClick: handleClick, active: activeTab === tabId }),\n React.createElement(StyledTab, null,\n tabName,\n showRequiredDot && React.createElement(Dot, { active: activeTab === tabId }))));\n};\nexport var CMSSourceTabSelector = function (props) {\n var _a = props.type, type = _a === void 0 ? 'hidden' : _a, resprops = __rest(props, [\"type\"]);\n var isAggregatedDataSource = useFilterEditingValue('isAggregatedDataSource')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { disabled: props.disabled || (isAggregatedDataSource && type === 'disabled'), hidden: isAggregatedDataSource && type === 'hidden' })));\n};\nexport var AggregatedSourceTabSelector = function (props) {\n var _a = props.type, type = _a === void 0 ? 'hidden' : _a, resprops = __rest(props, [\"type\"]);\n var isAggregatedDataSource = useFilterEditingValue('isAggregatedDataSource')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { disabled: props.disabled || (!isAggregatedDataSource && type === 'disabled'), hidden: !isAggregatedDataSource && type === 'hidden' })));\n};\nvar templateObject_1, templateObject_2;\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport { Select, FallbackComponent } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { ConditionType, LookupYearComponent, useMixedYear, useSynchronizedPrimaryCondition } from '../lookupdata';\nimport { AggregatedDataSourceComponent, useAggregatedDataSourceName } from './aggregateddatasource';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nexport var DataYearTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var agrregatedData = useAggregatedDataSourceName()[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource'), cmsDataSource = _a[0], setCmsDataSource = _a[1];\n var _b = useFilterEditingValue('dataYear'), year = _b[0], setStatisticYear = _b[1];\n var _c = useFilterEditingValue('year'), setAggregatedYear = _c[1];\n var _d = useFilterEditingValue('isAggregatedDataSource'), isAggregatedDataSource = _d[0], setIsAggregatedDataSource = _d[1];\n var _e = useFilterEditingValue('dataSourceName'), aggregatedDataSourceName = _e[0], setAggregatedDataSourceName = _e[1];\n var _f = useMixedYear(useFilterEditing()), yearData = _f[0], fetchYearData = _f[1];\n var _g = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryConditions = _g[0], setSelectingPrimaryConditions = _g[1];\n var doSynchronized = useSynchronizedPrimaryCondition([ConditionType.Other, ConditionType.Primary, ConditionType.Secondary])[0];\n useEffect(function () {\n var _a;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && !yearData.data.some(function (v) { return v === year; })) {\n handleChangeYear(yearData.data[yearData.data.length - 1]);\n }\n else {\n setAggregatedYear(year);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [yearData.data]);\n useEffect(function () {\n doSynchronized();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [year]);\n var handleChangeDataSource = function (value, name, option) {\n setIsAggregatedDataSource(!!option.isAggregatedDataSource);\n if (option.isAggregatedDataSource) {\n setAggregatedDataSourceName(value);\n }\n else {\n setCmsDataSource(value);\n }\n };\n var handleChangeYear = function (value) {\n var _a;\n setStatisticYear(value);\n setAggregatedYear(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setSelectingPrimaryConditions(selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n var allDataSourceOptions = useMemo(function () {\n var _a, _b;\n return __spreadArrays((((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources) === null || _a === void 0 ? void 0 : _a.map(function (v) { return DATA_SOURCES[v]; })) || []), (((_b = agrregatedData.data) === null || _b === void 0 ? void 0 : _b.map(function (value) { return ({ value: value, label: value, isAggregatedDataSource: true }); })) || []));\n }, [agrregatedData.data, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: allDataSourceOptions, noSort: true, value: isAggregatedDataSource ? aggregatedDataSourceName : cmsDataSource, onChange: handleChangeDataSource, isLoading: agrregatedData.requesting })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: yearData.requesting, error: yearData.error, retry: fetchYearData },\n React.createElement(Select, { name: \"dataYear\", options: yearData.data, noSort: true, value: year, onChange: handleChangeYear, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); }, maxMenuHeight: 200, menuPosition: \"fixed\" }))),\n React.createElement(LookupYearComponent, { dataSource: cmsDataSource }),\n React.createElement(AggregatedDataSourceComponent, null)));\n};\nDataYearTab.defaultProps = {\n tabId: 'DataYearTab',\n tabName: 'Data Set',\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport { Select, FallbackComponent, DELIMITER_SEASON_YEAR } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { LookupYearComponent, useMixedYear } from '../lookupdata';\nimport { AggregatedDataSourceComponent, useAggregatedDataSourceName } from './aggregateddatasource';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nimport { useMount } from '../hooks';\nexport var DataYearSeasonTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var agrregatedData = useAggregatedDataSourceName()[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource'), cmsDataSource = _a[0], setCmsDataSource = _a[1];\n var _b = useFilterEditingValue('dataYearSeasonUi'), dataYearSeasonUi = _b[0], setDataYearSeasonUi = _b[1];\n var _c = useFilterEditingValue('dataYearSeason'), dataYearSeason = _c[0], setDataYearSeason = _c[1];\n var _d = useFilterEditingValue('yearSeason'), setAggregatedYearSeason = _d[1];\n var _e = useFilterEditingValue('isAggregatedDataSource'), isAggregatedDataSource = _e[0], setIsAggregatedDataSource = _e[1];\n var _f = useFilterEditingValue('dataSourceName'), aggregatedDataSourceName = _f[0], setAggregatedDataSourceName = _f[1];\n var _g = useFilterEditingValue('patientPopulationReferenceYear'), setPatientPopulationRefYear = _g[1];\n var _h = useFilterEditingValue('dataYear'), setDataYear = _h[1];\n var _j = useMixedYear(useFilterEditing()), yearData = _j[0], fetchYearData = _j[1];\n var _k = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryConditions = _k[0], setSelectingPrimaryConditions = _k[1];\n var patientPopulationRefYearFilter = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter.patientPopulationReferenceYear;\n var isYearSeasonReady = useMemo(function () {\n var _a;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && dataYearSeasonUi) {\n return yearData.data.map(function (y) { return String(y); }).includes(dataYearSeasonUi);\n }\n return false;\n }, [yearData.data, dataYearSeasonUi]);\n useMount(function () {\n setDataYear(undefined);\n });\n useEffect(function () {\n var _a = getYearsBySeason(dataYearSeasonUi), lateYear = _a[0], earlyYear = _a[1];\n var fullYearSeason = [Number(lateYear).valueOf(), Number(earlyYear).valueOf()];\n setDataYearSeason(fullYearSeason);\n setAggregatedYearSeason(fullYearSeason);\n }, [setAggregatedYearSeason, setDataYearSeason, dataYearSeasonUi]);\n useEffect(function () {\n setPatientPopulationRefYear(patientPopulationRefYearFilter);\n }, [patientPopulationRefYearFilter, setPatientPopulationRefYear]);\n useEffect(function () {\n var _a, _b;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && (!dataYearSeasonUi || !isYearSeasonReady)) {\n var dataYearSeasonValueUi = String(yearData.data[yearData.data.length - 1]);\n if (Array.isArray(dataYearSeason) && dataYearSeason.length) {\n var yearSeasonInDataYear = (_b = yearData.data) === null || _b === void 0 ? void 0 : _b.find(function (year) { return String(year).includes(dataYearSeason.join(DELIMITER_SEASON_YEAR)); });\n dataYearSeasonValueUi = yearSeasonInDataYear ? String(yearSeasonInDataYear) : dataYearSeasonValueUi;\n }\n handleChangeYearSeason(dataYearSeasonValueUi);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [yearData.data, dataYearSeasonUi]);\n var handleChangeDataSource = function (value, name, option) {\n setIsAggregatedDataSource(!!option.isAggregatedDataSource);\n if (option.isAggregatedDataSource) {\n setAggregatedDataSourceName(value);\n }\n else {\n setCmsDataSource(value);\n }\n };\n var handleChangeYearSeason = function (value) {\n var _a;\n setDataYearSeasonUi(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setSelectingPrimaryConditions(selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n var allDataSourceOptions = useMemo(function () {\n var _a, _b;\n return __spreadArrays((((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources) === null || _a === void 0 ? void 0 : _a.map(function (v) { return DATA_SOURCES[v]; })) || []), (((_b = agrregatedData.data) === null || _b === void 0 ? void 0 : _b.map(function (value) { return ({ value: value, label: value, isAggregatedDataSource: true }); })) || []));\n }, [agrregatedData.data, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: allDataSourceOptions, noSort: true, value: isAggregatedDataSource ? aggregatedDataSourceName : cmsDataSource, onChange: handleChangeDataSource, isLoading: agrregatedData.requesting })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: yearData.requesting, error: yearData.error, retry: fetchYearData },\n React.createElement(Select, { name: \"dataYear\", options: yearData.data, noSort: true, value: dataYearSeasonUi, onChange: handleChangeYearSeason, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); }, maxMenuHeight: 200, menuPosition: \"fixed\" }))),\n React.createElement(LookupYearComponent, { dataSource: cmsDataSource }),\n React.createElement(AggregatedDataSourceComponent, null)));\n};\nDataYearSeasonTab.defaultProps = {\n tabId: 'DataSeasonYearTab',\n tabName: 'Data Set',\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a;\nimport { useGeneralConfigByDataSource } from \"../hooks\";\nimport { useAPI } from \"../state\";\nimport { useMemo } from \"react\";\nexport var FilterCountTypeEnum;\n(function (FilterCountTypeEnum) {\n FilterCountTypeEnum[\"PRIMARY_CHRONIC_CONDITION\"] = \"PRIMARY_CHRONIC_CONDITION\";\n FilterCountTypeEnum[\"CHRONIC_CONDITION\"] = \"CHRONIC_CONDITION\";\n FilterCountTypeEnum[\"SEX_CODE\"] = \"SEX_CODE\";\n FilterCountTypeEnum[\"RACE_CODE\"] = \"RACE_CODE\";\n FilterCountTypeEnum[\"RTI_RACE_CODE\"] = \"RTI_RACE_CODE\";\n FilterCountTypeEnum[\"STATE_CODE\"] = \"STATE_CODE\";\n FilterCountTypeEnum[\"FLU_VACCINE_CODE\"] = \"FLU_VACCINE_CODE\";\n FilterCountTypeEnum[\"AGE_GROUP_CODE\"] = \"AGE_GROUP_CODE\";\n FilterCountTypeEnum[\"CONSUMPTION_GROUP\"] = \"CONSUMPTION_GROUP\";\n})(FilterCountTypeEnum || (FilterCountTypeEnum = {}));\nvar API_BASE_URL_FILTER_COUNT_FROM_STATS = '/api/stats/filter-count';\nvar API_BASE_URL_FILTER_COUNT_FROM_HOSTNAME_INDEX = '/api/{hostname}/filter-count';\nvar API_BASE_URL_FILTER_COUNT_FROM_GENERAL_INDEX = '/api/generalindex/filter-count/{hostname}';\nvar ConditionExclusionConfig = (_a = {},\n _a[FilterCountTypeEnum.PRIMARY_CHRONIC_CONDITION] = 'excludedCcFromFilterCount',\n _a[FilterCountTypeEnum.CHRONIC_CONDITION] = 'excludedCcFromFilterCount',\n _a);\nexport var useFilterCount = function (filterType, indexConfig) {\n var baseUrl = (function () {\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useGeneralFilterCount)\n return API_BASE_URL_FILTER_COUNT_FROM_GENERAL_INDEX;\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCountAttachHostname)\n return API_BASE_URL_FILTER_COUNT_FROM_HOSTNAME_INDEX;\n return API_BASE_URL_FILTER_COUNT_FROM_STATS;\n })();\n var url = baseUrl + \"/\" + filterType;\n var filterCountApi = useAPI(url, { hostname: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname }, 'POST');\n var exclusionConfig = ConditionExclusionConfig[filterType];\n var excludedConditionByDatasource = useGeneralConfigByDataSource(exclusionConfig);\n var excludedConditions = useMemo(function () {\n return excludedConditionByDatasource || (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.excludedCcFromFilterCount) || [];\n }, [excludedConditionByDatasource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.excludedCcFromFilterCount]);\n return useMemo(function () {\n var states = filterCountApi[0], request = filterCountApi[1], reset = filterCountApi[2];\n var requestStates = [\n states,\n function (body, force, timeout) {\n var finalBody = __assign({}, body);\n if (exclusionConfig) {\n finalBody.excludedConditions = excludedConditions;\n }\n return request(finalBody, force, timeout);\n },\n reset\n ];\n return requestStates;\n }, [filterCountApi, excludedConditions, exclusionConfig]);\n};\n","import React from 'react';\nimport { ThreeDotLoading } from \"../common\";\nimport { getDisplayText } from \"../utils\";\nexport var FilterCountLoading = function (_a) {\n var loading = _a.loading, value = _a.value;\n return (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(value)),\n ')'));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo, useCallback } from 'react';\nimport { TabPane, FormGroup, Label, Input } from 'reactstrap';\nimport styled from 'styled-components';\nimport { Select, FallbackComponent, CheckboxGroup, ThreeDotLoading, IconTooltip } from '../common';\nimport { getDisplayText } from '../utils';\nimport { useFilterEditingValue } from '../state/filterediting';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { useLookupCondition, CLAIM_NUMBERS, CLAIM_DAYS, ConditionType, useLookupConditionSortByType, useSynchronizedPrimaryCondition } from '../lookupdata';\nimport { useHostnameIndexInfo, useDefaultFilter } from '../hostnameindexinfo';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { useFilterCount } from './usefiltercount';\nimport { FilterCountLoading } from './filtercountloading';\nvar StyledPrimaryConditionSelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 20rem;\\n\"], [\"\\n max-width: 20rem;\\n\"])));\nexport var StyledPrimaryConditionSection = styled(FormGroup)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-left: 1rem;\\n\"], [\"\\n margin-left: 1rem;\\n\"])));\nvar StyledConditions = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\"])));\nvar StyledPrimaryCondition = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n\"], [\"\\n flex: 1;\\n\"])));\nvar Title = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"])));\nvar HelperText = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(Title, null, \"Why can\\u2019t I select \\u201Cnumber of claims\\u201D for the primary conditions?\"),\n \"Medicaid data does not support the ability to search by # of claims.\"));\n};\nexport var NotSupportClaimForMedicaidDialog = function () {\n return React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\" });\n};\nvar formatConditionLabel = function (params) {\n var label = params.label, count = params.count, loading = params.loading, showCount = params.showCount, showIndicator = params.showIndicator;\n return (React.createElement(React.Fragment, null,\n label,\n \"\\u00A0\",\n showCount && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(count)),\n ')')),\n showIndicator ? ' *' : ''));\n};\nexport var useConditionCount = function (params) {\n var indexConfig = useHostnameIndexInfo();\n var filterType = (params === null || params === void 0 ? void 0 : params.isPrimary) ? 'PRIMARY_CHRONIC_CONDITION' : 'CHRONIC_CONDITION';\n var _a = useFilterCount(filterType, indexConfig), countData = _a[0], rest = _a.slice(1);\n var isLoading = useMemo(function () { return countData.requesting === undefined ? true : countData.requesting; }, [countData.requesting]);\n var getLabelWithCount = useCallback(function (i) {\n var _a;\n return formatConditionLabel({\n label: i.label,\n count: (_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.value],\n loading: isLoading,\n showCount: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount,\n showIndicator: (params === null || params === void 0 ? void 0 : params.showCmsSourceIndicator) && Number(i.value) <= 64\n });\n }, [countData.data, isLoading, indexConfig, params]);\n return __spreadArrays([__assign(__assign({}, countData), { getLabelWithCount: getLabelWithCount })], rest);\n};\nexport var PrioritizedConditionSection = function (_a) {\n var _b, _c;\n var settings = _a.settings;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var primaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Primary];\n var keyConditions = (_c = lookupData.groupedCondition) === null || _c === void 0 ? void 0 : _c[ConditionType.Key];\n var _d = useFilterEditingValue('primaryCoMorbidities')[0], selectingPrimaryCondition = (_d === void 0 ? [] : _d)[0];\n var _e = useFilterEditingValue('comorbidities'), selectingConditions = _e[0], setSelectingConditions = _e[1];\n var indexConfig = useHostnameIndexInfo();\n var combinedKeyConditions = useMemo(function () {\n return Object.assign([]).concat((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useCheckboxesForPrimaryConditions) ? [] : (primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.filter(function (i) { return i.value !== selectingPrimaryCondition; })) || [], keyConditions || []);\n }, [primaryConditions, keyConditions, selectingPrimaryCondition, indexConfig]);\n if (!combinedKeyConditions.length)\n return null;\n return (React.createElement(StyledPrimaryConditionSection, { tag: \"fieldset\" },\n React.createElement(CheckboxGroup, { options: combinedKeyConditions, formatOptionLabel: countData.getLabelWithCount, input: textSearch, noAll: true, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue })));\n};\nexport var AdditionalConditionSection = function (_a) {\n var _b;\n var settings = _a.settings, isSingleSection = _a.isSingleSection, _c = _a.label, label = _c === void 0 ? 'Additional Condition Filters' : _c;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var additionalConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Other];\n var _d = useFilterEditingValue('comorbidities'), selectingConditions = _d[0], setSelectingConditions = _d[1];\n var _e = useFilterEditingValue('additionalConditions'), setSelectingAdditionalConditions = _e[1];\n var cmsDataSource = useFilterEditingValue('statistic', 'cmsDataSource')[0];\n var overrideCondition = useGeneralConfigByDataSource('overrideAdditionalConditionType');\n var onChange = function (value) {\n setSelectingAdditionalConditions(value);\n setSelectingConditions(value);\n };\n var optionConditions = useMemo(function () {\n var _a;\n var options = additionalConditions;\n if (typeof overrideCondition === 'number') {\n var extendConditions = ((_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[overrideCondition]) || additionalConditions;\n options = extendConditions;\n }\n return options;\n }, [additionalConditions, lookupData.groupedCondition, overrideCondition]);\n return (React.createElement(React.Fragment, null,\n isSingleSection || React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, label),\n React.createElement(\"div\", { className: isSingleSection ? 'ml-3' : '' },\n React.createElement(CheckboxGroup, { options: optionConditions, formatOptionLabel: countData.getLabelWithCount, input: textSearch, noAll: true, noSort: true, value: selectingConditions, onChange: onChange, sortValue: lookupData.sortValue })))));\n};\nexport var SecondaryConditionSection = function (_a) {\n var _b;\n var filterCountEffectDeps = _a.filterCountEffectDeps;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var secondaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Secondary];\n var _c = useFilterEditingValue('comorbidities'), selectingConditions = _c[0], setSelectingConditions = _c[1];\n var dataYearSeason = useFilterEditingValue('dataYearSeason')[0];\n var doSyncSecondary = useSynchronizedPrimaryCondition([ConditionType.Secondary])[0];\n var indexConfig = useHostnameIndexInfo();\n var _d = useFilterCount('CHRONIC_CONDITION', indexConfig), secondaryConditionCount = _d[0], fetchSecondaryConditionCount = _d[1];\n var filterCountLoading = secondaryConditionCount.requesting === undefined || secondaryConditionCount.requesting;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(doSyncSecondary, [dataYearSeason]);\n useEffectFilterEditingCount(function (body) {\n fetchSecondaryConditionCount(__assign(__assign({}, body), { comorbidities: selectingConditions }));\n }, __spreadArrays([selectingConditions], (filterCountEffectDeps || [])), 'CONDITION');\n return (React.createElement(React.Fragment, null,\n React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Secondary Conditions\"),\n React.createElement(CheckboxGroup, { options: secondaryConditions, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(FilterCountLoading, { loading: filterCountLoading, value: getDisplayText((_a = secondaryConditionCount.data) === null || _a === void 0 ? void 0 : _a[i.value]) }))));\n }, input: textSearch, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue }))));\n};\nexport var PrimaryConditionSection = function (_a) {\n var _b;\n var settings = _a.settings, children = _a.children;\n var dataYear = useFilterEditingValue('dataYear')[0];\n var lookupData = useLookupConditionSortByType(undefined, dataYear)[0];\n var primaryConditionOptions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Primary];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var textSearch = useFilterEditingValue('textSearch')[0];\n var indexConfig = useHostnameIndexInfo();\n var _c = useFilterCount('PRIMARY_CHRONIC_CONDITION', indexConfig), primaryConditionCount = _c[0], fetchPrimaryConditionCount = _c[1];\n var _d = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryCoMorbidities = _d[0], setSelectingPrimaryCoMorbidities = _d[1];\n var _e = useFilterEditingValue('comorbidities'), selectingConditions = _e[0], setSelectingConditions = _e[1];\n var _f = useFilterEditingValue('primaryConditions'), selectingPrimaryCondition = _f[0], setSelectingPrimaryCondition = _f[1];\n useMount(function () {\n setSelectingPrimaryCoMorbidities(selectingPrimaryCondition || selectingPrimaryCoMorbidities);\n });\n useEffectFilterEditingCount(function (body) {\n if (primaryConditionOptions && primaryConditionOptions.length > 1) {\n fetchPrimaryConditionCount(__assign(__assign({}, body), { comorbidities: [], primaryCoMorbidities: primaryConditionOptions === null || primaryConditionOptions === void 0 ? void 0 : primaryConditionOptions.map(function (i) { return i.value; }) }));\n }\n }, [primaryConditionOptions], 'PRIMARY_CONDITION');\n var formatOptionLabel = useCallback(function (i) {\n var _a;\n return formatConditionLabel({\n label: i.label,\n count: (_a = primaryConditionCount.data) === null || _a === void 0 ? void 0 : _a[i.value],\n loading: primaryConditionCount.requesting,\n showCount: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount,\n showIndicator: (settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator) && Number(i.value) <= 64\n });\n }, [indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount, settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator, primaryConditionCount.data, primaryConditionCount.requesting]);\n var handleChange = function (value) {\n setSelectingPrimaryCoMorbidities([value]);\n setSelectingConditions(__spreadArrays([value], ((selectingConditions === null || selectingConditions === void 0 ? void 0 : selectingConditions.filter(function (cond, idx) { return idx && cond !== value; })) || [])));\n };\n var handleChangeCheckbox = function (value) {\n setSelectingPrimaryCondition(value);\n setSelectingPrimaryCoMorbidities(value);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(StyledConditions, null,\n React.createElement(StyledPrimaryCondition, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Primary Condition\")),\n children),\n React.createElement(\"div\", { className: \"ml-3\" }, !(primaryConditionOptions === null || primaryConditionOptions === void 0 ? void 0 : primaryConditionOptions.length) ? ('There is no primary condition associated with this Index.') : primaryConditionOptions.length === 1 ? (React.createElement(\"div\", { className: \"font-weight-bold\" }, countData.getLabelWithCount(primaryConditionOptions[0]))) : (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useCheckboxesForPrimaryConditions) ? (React.createElement(CheckboxGroup, { options: primaryConditionOptions, formatOptionLabel: formatOptionLabel, input: textSearch, noAll: true, noSort: true, value: selectingPrimaryCoMorbidities, onChange: handleChangeCheckbox, sortValue: lookupData.sortValue })) : (React.createElement(StyledPrimaryConditionSelect, { options: primaryConditionOptions, noSort: true, formatOptionLabel: formatOptionLabel, value: selectingPrimaryCoMorbidities === null || selectingPrimaryCoMorbidities === void 0 ? void 0 : selectingPrimaryCoMorbidities[0], name: \"primaryCondition\", onChange: handleChange }))))));\n};\nexport var ConditionTab = function (props) {\n var _a = useFilterEditingValue('textSearch'), textSearch = _a[0], setTextSearch = _a[1];\n var _b = useLookupCondition(), lookupConditionData = _b[0], fetchLookupCondition = _b[1];\n var _c = useConditionCount(), fetchConditionCountData = _c[1];\n var selectingPrimaryConditions = useFilterEditingValue('primaryCoMorbidities')[0];\n useMount(function () {\n fetchLookupCondition();\n });\n useEffectFilterEditingCount(function (body) {\n if (props.shouldCountOnConditionChange) {\n fetchConditionCountData(__assign(__assign({}, body), { comorbidities: selectingPrimaryConditions }));\n }\n }, __spreadArrays([selectingPrimaryConditions], (props.filterCountEffectDeps || [])), 'CONDITION');\n var handleSearchInputChange = function (event) {\n var value = event.target.value;\n setTextSearch(value);\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupConditionData.requesting, error: lookupConditionData.error, retry: fetchLookupCondition },\n React.createElement(Input, { className: \"flex-shrink-0 mb-2\", placeholder: \"Search...\", value: textSearch || '', onChange: handleSearchInputChange }),\n props.children)));\n};\nConditionTab.defaultProps = {\n tabId: 'ConditionTab',\n tabName: 'Conditions',\n tabSelector: function (props) { return React.createElement(CMSSourceTabSelector, __assign({}, props, { type: \"disabled\" })); },\n filterCountEffectDeps: [],\n shouldCountOnConditionChange: true,\n};\nexport var ClaimCondition = function () {\n var _a = useFilterEditingValue('claimNumber'), claimNumber = _a[0], setClaimNumber = _a[1];\n var _b = useFilterEditingValue('claimDay'), claimDay = _b[0], setClaimDay = _b[1];\n var defaultFilter = useDefaultFilter();\n var handleChangeClaimNumber = function (value) {\n setClaimNumber(value);\n if (value < 2) {\n setClaimDay();\n }\n else if (claimNumber && claimNumber < 2) {\n setClaimDay(defaultFilter.claimDay);\n }\n };\n return (React.createElement(StyledPrimaryConditionSection, null,\n \"Beneficiaries must have at least\",\n ' ',\n React.createElement(Select, { inline: true, width: \"4.5\", name: \"claimNumber\", options: CLAIM_NUMBERS, optionsTransform: function (cn) { return ({ value: cn, label: cn }); }, value: claimNumber, onChange: handleChangeClaimNumber }),\n ' ',\n \"claim(s)\",\n claimDay && (React.createElement(React.Fragment, null,\n ' ',\n React.createElement(Select, { inline: true, width: \"8.5\", name: \"claimDay\", options: CLAIM_DAYS, noSort: true, value: claimDay, onChange: setClaimDay }),\n \" days apart\")),\n React.createElement(React.Fragment, null, \" to be included in the index\")));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, FormGroup, Label } from 'reactstrap';\nimport { DATA_SOURCES } from '../configs';\nimport { RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { useAggregatedStatistic } from './aggregateddatasource';\nimport { getStatisticOption, GROUPED_STATISTIC_OPTIONS, getStatisticOptions } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks/useconfig';\nvar useStatisticEditing = function () {\n var _a = useFilterEditingValue('statistic', 'statisticOption'), statisticType = _a[0], setStatisticType = _a[1];\n var _b = useFilterEditingValue('statistic', 'statisticType'), setStatisticGroup = _b[1];\n var _c = useFilterEditingValue('statisticOptionType'), setStatisticTypeAggregated = _c[1];\n var _d = useFilterEditingValue('statisticType'), setStatisticGroupAggregated = _d[1];\n useEffect(function () {\n var _a;\n var staticsticGroup = (_a = getStatisticOption(statisticType)) === null || _a === void 0 ? void 0 : _a.group.value;\n setStatisticTypeAggregated(statisticType);\n setStatisticGroup(staticsticGroup);\n setStatisticGroupAggregated(staticsticGroup);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [statisticType]);\n return [statisticType, setStatisticType];\n};\nexport var StatisticTab = function (props) {\n var _a;\n var _b = useStatisticEditing(), statisticType = _b[0], setStatisticType = _b[1];\n var filterEditing = useFilterEditing();\n var aggregatedData = useAggregatedStatistic(filterEditing)[0];\n var availableStatisticsConfig = useGeneralConfigByDataSource('availableStatistic');\n var cmsDataSource = (_a = filterEditing.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var availableStatistics = filterEditing.isAggregatedDataSource\n ? aggregatedData.data\n : cmsDataSource && (availableStatisticsConfig || DATA_SOURCES[cmsDataSource].availableStatistic);\n useEffect(function () {\n if ((availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.length) && !availableStatistics.some(function (v) { return v === statisticType; })) {\n var statisticOption = getStatisticOptions(availableStatistics)[0];\n setStatisticType(statisticOption.value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [availableStatistics]);\n var isOptionDisabled = function (option) {\n return !!availableStatistics && !(availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.some(function (i) { return i === option.value; }));\n };\n return (React.createElement(TabPane, { tabId: props.tabId }, GROUPED_STATISTIC_OPTIONS.map(function (group) { return (React.createElement(FormGroup, { tag: \"fieldset\", key: group.value },\n React.createElement(Label, { className: \"font-weight-bold\" }, group.label),\n React.createElement(RadioGroup, { options: group.options, noSort: true, value: statisticType, onChange: setStatisticType, isOptionDisabled: isOptionDisabled }))); })));\n};\nStatisticTab.defaultProps = {\n tabId: 'StatisticTab',\n tabName: 'Statistics',\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { useFilterEditingValue } from '../state';\nimport { FallbackComponent, CheckboxGroup, ThreeDotLoading } from '../common';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { getDisplayText } from '../utils';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useLookupSexCode, LookupSexCodeComponent } from '../lookupdata';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useFilterCount } from './usefiltercount';\nexport var SexTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var _a = useLookupSexCode(), lookupSexCodeData = _a[0], fetchLookupSexCode = _a[1];\n var _b = useFilterCount('SEX_CODE', indexConfig), sexCodeCountData = _b[0], fetchSexCodeCount = _b[1];\n var _c = useFilterEditingValue('demographics', 'sexCodes'), sexCodes = _c[0], setSexCodes = _c[1];\n useEffectFilterEditingCount(function (body) {\n fetchSexCodeCount(body);\n }, props.filterCountEffectDeps, 'SEX');\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupSexCodeData.requesting, error: lookupSexCodeData.error, retry: fetchLookupSexCode },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Sex\"),\n React.createElement(CheckboxGroup, { options: lookupSexCodeData.data, noSort: true, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: sexCodeCountData.requesting }, getDisplayText((_a = sexCodeCountData.data) === null || _a === void 0 ? void 0 : _a[i.value])),\n ')'))));\n }, value: sexCodes, onChange: setSexCodes })),\n React.createElement(LookupSexCodeComponent, null)));\n};\nSexTab.defaultProps = {\n tabId: 'SexTab',\n tabName: 'Sex',\n tabSelector: CMSSourceTabSelector,\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useFilterEditingValue } from '../state';\nimport { FallbackComponent, CheckboxGroup, Select, ThreeDotLoading } from '../common';\nimport { getDisplayText } from '../utils';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { useLookupRaceCode, LookupRaceCodeComponent } from '../lookupdata';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { RaceMethodologyEnum, DataSourceEnum } from '../enums';\nimport { IconTooltip } from '../common/icontooltip';\nimport { useFilterCount } from './usefiltercount';\nvar METHODOLOGY_OPTIONS = [\n {\n value: RaceMethodologyEnum.Standard,\n label: 'Standard',\n },\n {\n value: RaceMethodologyEnum.RTI,\n label: 'RTI',\n },\n];\nvar StyledMethodologySelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 15rem;\\n\"], [\"\\n width: 15rem;\\n\"])));\nvar StyledHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledDiv = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\"], [\"\"])));\nvar Title = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"])));\nvar BlueTitle = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 700;\\n color: #007bff;\\n margin-top: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n color: #007bff;\\n margin-top: 0.5rem;\\n\"])));\nexport var RaceTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var cmsDataSource = useFilterEditingValue('statistic', 'cmsDataSource')[0];\n var _a = useFilterEditingValue('raceMethodology'), methodology = _a[0], setMethodology = _a[1];\n var _b = useLookupRaceCode(methodology), lookupRaceCodeData = _b[0], fetchLookupRaceCode = _b[1];\n var _c = useFilterCount('RACE_CODE', indexConfig), raceCodeCountData = _c[0], fetchRaceCodeCount = _c[1];\n var _d = useFilterCount('RTI_RACE_CODE', indexConfig), rtiRaceCodeCountData = _d[0], fetchRTIRaceCodeCount = _d[1];\n var _e = useFilterEditingValue('demographics', 'raceCodes'), raceCodes = _e[0], setRaceCodes = _e[1];\n var countData = methodology === RaceMethodologyEnum.Standard ? raceCodeCountData : rtiRaceCodeCountData;\n useEffectFilterEditingCount(function (body) {\n fetchRaceCodeCount(body);\n fetchRTIRaceCodeCount(body);\n }, props.filterCountEffectDeps, 'RACE');\n useEffect(function () {\n if (cmsDataSource === DataSourceEnum.Medicaid) {\n setMethodology(RaceMethodologyEnum.Standard);\n }\n }, [cmsDataSource, setMethodology]);\n useEffect(function () {\n if (lookupRaceCodeData.data) {\n // setRaceCodes(lookupRaceCodeData.data.map((i) => i.value));\n }\n }, [lookupRaceCodeData.data, setRaceCodes]);\n var HelperText = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(Title, null, \"What are the methodologies for selecting race?\"),\n \"There are two options for determining race / ethnicity populations in the Index.\",\n React.createElement(BlueTitle, null, \"Standard\"),\n \"Race/Ethnicity data as received from CMS. Race is self-reported and originates with the Social Security Administration. There is known underrepresentation in the Hispanic population since individuals may report their race in other population groups, such as Black or Caucasian.\",\n React.createElement(BlueTitle, null, \"RTI\"),\n \"Research Triangle Institute, a non-profit research organization, developed an algorithm for identifying Hispanic and Asian beneficiaries based on surname. The algorithm\\u00A0also\\u00A0incorporates CCW enhancements that reduce the number of beneficiaries with missing information.\\u00A0The result of applying this algorithm is the redistribution of the population demographics among the population groups reported to more accurately estimate the proportion of Hispanic beneficiaries.\"));\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n cmsDataSource !== DataSourceEnum.Medicaid && (React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(StyledHeader, null,\n React.createElement(StyledDiv, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Methodology\"),\n React.createElement(StyledMethodologySelect, { name: \"methodology\", options: METHODOLOGY_OPTIONS, noSort: true, value: methodology, onChange: setMethodology })),\n React.createElement(StyledDiv, null,\n React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\", maxWidth: \"min(80vw, 28rem)\", maxHeight: \"calc(90vh - 10rem)\", autohide: false }))))),\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Race\"),\n React.createElement(FallbackComponent, { requesting: lookupRaceCodeData.requesting, error: lookupRaceCodeData.error, retry: fetchLookupRaceCode },\n React.createElement(CheckboxGroup, { options: lookupRaceCodeData.data, noSort: true, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: countData.requesting }, getDisplayText((_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.value])),\n ')'))));\n }, value: raceCodes, onChange: setRaceCodes })),\n React.createElement(LookupRaceCodeComponent, null)));\n};\nRaceTab.defaultProps = {\n tabId: 'RaceTab',\n tabName: 'Race/Ethnicity',\n tabSelector: CMSSourceTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { CheckboxGroup, Input, SimpleCheckbox, ThreeDotLoading } from '../common';\nimport { useFilterEditingValue } from '../state/filterediting';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { AGE_OPTIONS } from '../lookupdata';\nimport { useEffectFilterEditingCount } from '../filterbar';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getDisplayText } from '../utils';\nimport { useFilterCount } from './usefiltercount';\nvar MAX_AGE_RANGE = 999;\nvar StyledCustomAgeInput = styled(Input)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 5rem;\\n display: inline-block;\\n\\n @media only screen and (max-width: 420px) {\\n width: 3.5rem;\\n }\\n\"], [\"\\n width: 5rem;\\n display: inline-block;\\n\\n @media only screen and (max-width: 420px) {\\n width: 3.5rem;\\n }\\n\"])));\nexport var useAgeGroupCount = function (indexConfig) {\n return useFilterCount('AGE_GROUP_CODE', indexConfig);\n};\nvar AGE_GROUP_CODE = {\n \" - 18\": 0,\n \"19 - 49\": 1,\n \"50 - 64\": 2,\n \"65 - 74\": 3,\n \"75 - 80\": 4,\n \"81 - \": 5,\n};\nvar AgeCountComponent = function (_a) {\n var loading = _a.loading, value = _a.value;\n return (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(value)),\n ')'));\n};\nexport var AgeTab = function (props) {\n var _a, _b, _c;\n var _d = useFilterEditingValue('demographics', 'ages'), ages = _d[0], setAges = _d[1];\n var indexConfig = useHostnameIndexInfo();\n var _e = useState(!!((_a = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _a === void 0 ? void 0 : _a.isCustom)), isCustomAge = _e[0], setIsCustomAge = _e[1];\n var _f = useAgeGroupCount(indexConfig), ageGroupCount = _f[0], fetchAgeGroupCount = _f[1];\n var filterCountEnabled = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && props.filterCountEnabled;\n var handleFetchAgeGroupCount = function (payload) {\n filterCountEnabled && fetchAgeGroupCount(payload);\n };\n useEffect(function () {\n if (isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages[0]) && !ages[0].isCustom) {\n setIsCustomAge(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ages]);\n useEffectFilterEditingCount(function (body) {\n if (filterCountEnabled) {\n handleFetchAgeGroupCount(body);\n }\n }, __spreadArrays((props.filterCountEffectDeps || []), [isCustomAge]));\n /**\n * Refetch when custom age range has changed\n */\n useEffectFilterEditingCount(function (body) {\n if (isCustomAge) {\n handleFetchAgeGroupCount(body);\n }\n }, __spreadArrays((props.filterCountEffectDeps || []), [ages]));\n var handleChangeCheckboxGroup = function (values) {\n var agesUniq = _.uniqWith(values, function (arr, other) { return arr.minAge === other.minAge && arr.maxAge === other.maxAge; });\n setAges(agesUniq);\n };\n var handleChangeCustomAgeCheckbox = function (event) {\n setIsCustomAge(event.target.checked);\n setAges(event.target.checked ? [{ isCustom: true }] : undefined);\n };\n var handleChangeCustomAgeInput = function (value, name) {\n var _a;\n var newValue = __assign(__assign({}, ages === null || ages === void 0 ? void 0 : ages[0]), (_a = { isCustom: true }, _a[name] = value, _a));\n if (value === undefined && (ages === null || ages === void 0 ? void 0 : ages[0]) && newValue.minAge === undefined && newValue.maxAge === undefined) {\n setAges();\n }\n else {\n setAges([newValue]);\n }\n };\n var getAgeGroupCode = function (_a) {\n var minAge = _a.minAge, maxAge = _a.maxAge;\n var ageGroup = (minAge || '') + \" - \" + (maxAge || '');\n return AGE_GROUP_CODE[ageGroup];\n };\n var renderAgeCount = function (value) {\n var _a;\n return filterCountEnabled && (React.createElement(AgeCountComponent, { loading: ageGroupCount.requesting, value: (_a = ageGroupCount.data) === null || _a === void 0 ? void 0 : _a[getAgeGroupCode(value)] }));\n };\n var renderCustomAgeGroupCount = function () { return filterCountEnabled && isCustomAge && (React.createElement(AgeCountComponent, { loading: ageGroupCount.requesting, value: (ageGroupCount === null || ageGroupCount === void 0 ? void 0 : ageGroupCount.data) ? Object.values(ageGroupCount === null || ageGroupCount === void 0 ? void 0 : ageGroupCount.data).reduce(function (acc, val) { return acc + val; }, 0) : null })); };\n var customMinAge = isCustomAge ? (_b = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _b === void 0 ? void 0 : _b.minAge : undefined;\n var customMaxAge = isCustomAge ? (_c = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _c === void 0 ? void 0 : _c.maxAge : undefined;\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Age\"),\n React.createElement(CheckboxGroup, { options: AGE_OPTIONS, noSort: true, value: ages, formatOptionLabel: function (i) { return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n renderAgeCount(i.value))); }, onChange: handleChangeCheckboxGroup, disabled: function (i) { return isCustomAge; } }),\n React.createElement(FormGroup, { check: true },\n React.createElement(SimpleCheckbox, { checked: isCustomAge, onChange: handleChangeCustomAgeCheckbox, disabled: !isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages.length), label: React.createElement(React.Fragment, null,\n ' ',\n \"Custom\",\n isCustomAge && React.createElement(\"span\", { className: \"text-danger\" }, \"*\"),\n \": From\") }),\n \"\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"minAge\", type: \"number\", disabled: !isCustomAge, min: 0, max: customMaxAge !== undefined ? customMaxAge : MAX_AGE_RANGE, value: customMinAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0To\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"maxAge\", type: \"number\", disabled: !isCustomAge, min: customMinAge || 0, max: MAX_AGE_RANGE, value: customMaxAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0\",\n renderCustomAgeGroupCount())));\n};\nAgeTab.defaultProps = {\n tabId: 'AgeTab',\n tabName: 'Age',\n tabSelector: CMSSourceTabSelector,\n filterCountEnabled: false\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar _a, _b, _c;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { TabPane, Label, FormGroup, Input } from 'reactstrap';\nimport { AggregatedSourceTabSelector } from './tabselector';\nimport { Button, RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { SexTab } from './sextab';\nimport { RaceTab } from './racetab';\nimport { AgeTab } from './agetab';\nimport { useAggregatedDemogaphic } from './aggregateddatasource';\nvar StyledClearButton = styled(Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0;\\n margin-left: 0.5rem;\\n pointer-events: auto;\\n text-decoration: underline;\\n\"], [\"\\n padding: 0;\\n margin-left: 0.5rem;\\n pointer-events: auto;\\n text-decoration: underline;\\n\"])));\nvar AggregatedCategoryTab = function (props) {\n var textSearch = useFilterEditingValue('textSearch')[0];\n var _a = useFilterEditingValue('filteringCategoryType'), categoryType = _a[0], setCategoryType = _a[1];\n var _b = useFilterEditingValue('filteringCategoryValue'), categoryValue = _b[0], setCategoryValue = _b[1];\n var _c = useFilterEditingValue('filteringCategoryUiName'), setCategoryUiName = _c[1];\n var filterEditing = useFilterEditing();\n var agrregatedData = useAggregatedDemogaphic(filterEditing, props.categoryType)[0];\n var selectingValue = categoryType === props.categoryType ? categoryValue : undefined;\n useEffect(function () {\n setCategoryType();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterEditing.dataSourceName]);\n var handleChange = function (value, payload) {\n setCategoryType(props.categoryType);\n setCategoryValue(value);\n setCategoryUiName(payload.label);\n };\n var clear = function () {\n setCategoryType();\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, props.title),\n React.createElement(RadioGroup, { input: textSearch, options: agrregatedData.data, optionsTransform: function (i) { return ({ value: i.name, label: i.uiName }); }, value: selectingValue, onChange: handleChange }),\n React.createElement(FormGroup, { check: true, className: \"mt-3\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", checked: selectingValue === undefined, onChange: clear }),\n \" Clear filter choice\"))));\n};\nexport var AggregatedSexTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Sex\", categoryType: \"SEX\" })); };\nexport var AggregatedRaceTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Race\", categoryType: \"RACE\" })); };\nexport var AggregatedAgeTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Age\", categoryType: \"AGE\" })); };\nexport var AggregatedDemographicTab = function () { return null; };\nvar AggregatedCategoryTabSelector = function (props) {\n var categoryType = props.categoryType, rest = __rest(props, [\"categoryType\"]);\n var filteringCategoryType = useFilterEditingValue('filteringCategoryType')[0];\n return (React.createElement(AggregatedSourceTabSelector, __assign({}, rest),\n React.createElement(FormGroup, { check: true },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", checked: categoryType === filteringCategoryType, onChange: function () { } }),\n \" \",\n props.children))));\n};\nvar AggregatedDemographicTabSelector = function (props) {\n var _a = useFilterEditingValue('filteringCategoryType'), setCategoryType = _a[1];\n var handleClear = function () {\n setCategoryType();\n };\n return (React.createElement(AggregatedSourceTabSelector, __assign({}, props, { disabled: true }),\n props.children,\n React.createElement(StyledClearButton, { color: \"link\", message: \"Clear\", onClick: handleClear })));\n};\nAggregatedSexTab.defaultProps = {\n tabId: 'AggregatedSexTab',\n tabName: (_a = SexTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"SEX\" })); },\n};\nAggregatedRaceTab.defaultProps = {\n tabId: 'AggregatedRaceTab',\n tabName: (_b = RaceTab.defaultProps) === null || _b === void 0 ? void 0 : _b.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"RACE\" })); },\n};\nAggregatedAgeTab.defaultProps = {\n tabId: 'AggregatedAgeTab',\n tabName: (_c = AgeTab.defaultProps) === null || _c === void 0 ? void 0 : _c.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"AGE\" })); },\n};\nAggregatedDemographicTab.defaultProps = {\n tabId: 'AggregatedDemographicTab',\n tabName: 'Demographics',\n tabSelector: AggregatedDemographicTabSelector,\n};\nvar templateObject_1;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { GEO_LEVELS } from '../lookupdata';\nimport { useAggregatedGeoLevel } from './aggregateddatasource';\nimport { useGeneralConfigByDataSource } from '../hooks';\nexport var GeoLevelTab = function (props) {\n var _a = useFilterEditingValue('geoLevel'), geoLevel = _a[0], setGeoLevel = _a[1];\n var filterEdditing = useFilterEditing();\n var aggregatedGeoLevelData = useAggregatedGeoLevel(filterEdditing)[0];\n var availableGeography = useGeneralConfigByDataSource('availableGeography');\n useEffect(function () {\n var _a;\n if (filterEdditing.isAggregatedDataSource && ((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.length) && !aggregatedGeoLevelData.data.some(function (i) { return i === geoLevel; })) {\n setGeoLevel(aggregatedGeoLevelData.data[0]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterEdditing.isAggregatedDataSource, aggregatedGeoLevelData.data]);\n var isOptionDisabled = function (option) { var _a; return !!filterEdditing.isAggregatedDataSource && !((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.some(function (i) { return i === option.value; })); };\n var isOptionDisabledByGeneralConfig = function (option) { return Array.isArray(availableGeography) && !availableGeography.includes(option.value); };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Select a geographic level\"),\n React.createElement(RadioGroup, { options: GEO_LEVELS, noSort: true, value: geoLevel, onChange: setGeoLevel, isOptionDisabled: isOptionDisabledByGeneralConfig || isOptionDisabled })));\n};\nGeoLevelTab.defaultProps = {\n tabId: 'geoLevelTab',\n tabName: 'Geography',\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { CheckboxGroup } from '../common';\nimport { DATA_SOURCES } from '../configs';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { CONSUMPTION_GROUP_OPTIONS } from '../lookupdata';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { IconTooltip } from '../common/icontooltip';\nimport { useGeneralConfigByDataSource } from '../hooks/useconfig';\nimport { useFilterCount } from './usefiltercount';\nimport { useEffectFilterEditingCount } from '../filterbar';\nimport { FilterCountLoading } from './filtercountloading';\nvar StyledFormGroup = styled(FormGroup)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 100%;\\n\"], [\"\\n width: 100%;\\n\"])));\nvar StyledTabPane = styled(TabPane)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n &.active {\\n display: flex;\\n }\\n\"], [\"\\n &.active {\\n display: flex;\\n }\\n\"])));\nvar StyledHeader = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledDiv = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nexport var useSupportConsumptionGroup = function (filterSetting) {\n var _a;\n var isAggregatedDataSource = filterSetting.isAggregatedDataSource;\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n return useMemo(function () {\n var _a;\n return isAggregatedDataSource || !cmsDataSource ? false : !!((_a = DATA_SOURCES[cmsDataSource]) === null || _a === void 0 ? void 0 : _a.supportConsumptionGroup);\n }, [isAggregatedDataSource, cmsDataSource]);\n};\nvar ConsumptionGroupTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSupportConsumptionGroup = useSupportConsumptionGroup(useFilterEditing());\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSupportConsumptionGroup })));\n};\nexport var ConsumptionGroupTab = function (props) {\n var _a = useFilterEditingValue('consumptionGroupClasses'), consumptionGroups = _a[0], setConsumptionGroups = _a[1];\n var isSupportConsumptionGroup = useSupportConsumptionGroup(useFilterEditing());\n var defaultFilter = useDefaultFilter();\n var availableConsumption = useGeneralConfigByDataSource('availableConsumption');\n var indexConfig = useHostnameIndexInfo();\n var _b = useFilterCount('CONSUMPTION_GROUP', indexConfig), consumptionGroupCount = _b[0], fetchConsumptionGroupCount = _b[1];\n var filterCountEnabled = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && props.filterCountEnabled;\n useEffectFilterEditingCount(function (body) {\n if (filterCountEnabled) {\n fetchConsumptionGroupCount(body);\n }\n }, props.filterCountEffectDeps);\n useEffect(function () {\n if (isSupportConsumptionGroup) {\n var consumptionDefault = defaultFilter.consumptionGroupClasses;\n if (availableConsumption) {\n consumptionDefault = _.intersection(defaultFilter.consumptionGroupClasses, availableConsumption);\n }\n setConsumptionGroups(consumptionDefault);\n }\n else {\n setConsumptionGroups([]);\n }\n }, [availableConsumption, defaultFilter.consumptionGroupClasses, isSupportConsumptionGroup, setConsumptionGroups]);\n var HelperText = function () {\n return (React.createElement(React.Fragment, null, \"Consumption groups are based on total Medicare costs per beneficiary. Each group represents a segment of Medicare FFS beneficiaries whose expenditures for the selected year places them in the specified percentile range. This filter option is intended to reflect a distribution of Medicare utilization.\"));\n };\n var isDisabled = React.useCallback(function (_a) {\n var value = _a.value;\n if (!availableConsumption)\n return false;\n return !availableConsumption.includes(value);\n }, [availableConsumption]);\n if (!isSupportConsumptionGroup)\n return null;\n return (React.createElement(StyledTabPane, { tabId: props.tabId },\n React.createElement(StyledFormGroup, null,\n React.createElement(StyledHeader, null,\n React.createElement(StyledDiv, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Consumption Group Class\")),\n React.createElement(StyledDiv, null,\n React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\", maxWidth: \"min(80vw, 28rem)\", maxHeight: \"calc(90vh - 10rem)\", autohide: false }))),\n React.createElement(CheckboxGroup, { options: CONSUMPTION_GROUP_OPTIONS, value: consumptionGroups, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n filterCountEnabled && (React.createElement(FilterCountLoading, { loading: consumptionGroupCount.requesting, value: (_a = consumptionGroupCount.data) === null || _a === void 0 ? void 0 : _a[i.value] }))));\n }, disabled: isDisabled, onChange: setConsumptionGroups, noSort: true, allText: \"All consumption groups\" }))));\n};\nConsumptionGroupTab.defaultProps = {\n tabId: 'ConsumptionGroupTab',\n tabName: 'Consumption Group',\n tabSelector: ConsumptionGroupTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, Children, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, TabContent, Card, ListGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport * as Yup from 'yup';\nimport { useResetFilterEditing, useFilterEditing } from '../state/filterediting';\nimport { exportFilterSettingPayload, useFilterSetting, useResetFilter } from '../state/filtersettings';\nimport { Button, AlertMessage, IconButton } from '../common';\nimport { LeftTabSelectorItem } from './tabselector';\nimport { useResetViewSetting, useViewValue } from '../state';\nimport { useDefaultFilter } from '../hostnameindexinfo';\nimport { getFlattenErrors, getValidationSchema, isEmpty } from '../utils';\nimport { useStoredUIValue } from '../storeduivalue';\nimport { useProviderSetting } from '../selectors';\nimport { RightPanelTypeEnum } from '../enums';\nimport { useToggle } from '../hooks';\nvar HAMBURGER_MEDIA_SCREEN = 995;\nvar StyledModal = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledRestoreDefaultButton = styled(Button)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-decoration: underline;\\n\"], [\"\\n text-decoration: underline;\\n\"])));\nvar StyledModalBody = styled(ModalBody)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"], [\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerGroup = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: none;\\n margin-bottom: -1rem;\\n padding: 0.5rem 0;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n display: none;\\n margin-bottom: -1rem;\\n padding: 0.5rem 0;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerButton = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(IconButton, __assign({}, props));\n})(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledTabSelectors = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(ListGroup, __assign({}, props));\n})(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 3rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"], [\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 3rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN, function (_a) {\n var show = _a.show;\n return (show ? 'display: block;' : '');\n});\nvar StyledTabContent = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"], [\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"])));\nvar validationAgeSchema = Yup.object().shape({\n demographics: Yup.object().shape({\n ages: Yup.array().of(Yup.object().shape({\n isCustom: Yup.boolean(),\n minAge: Yup.number().when('isCustom', {\n is: true,\n then: Yup.number().nullable().required('Custom Age: \"From\" is Required'),\n }),\n maxAge: Yup.number().when('isCustom', {\n is: true,\n then: Yup.number().nullable().required('Custom Age: \"To\" is Required'),\n }),\n })),\n }),\n});\nvar RestoreDefaultButton = function () {\n var defaultFilter = useDefaultFilter();\n var resetFilterEditing = useResetFilterEditing();\n var handleClick = function () {\n resetFilterEditing(defaultFilter);\n };\n return React.createElement(StyledRestoreDefaultButton, { color: \"link\", message: \"Restore defaults\", onClick: handleClick });\n};\nexport var FilterDialog = function (props) {\n var isOpen = props.isOpen, toggle = props.toggle;\n var _a = useState(props.defaultActiveTab), activeTab = _a[0], setActiveTab = _a[1];\n var _b = useViewValue('geoType'), geoLevel = _b[0], setGeoLevel = _b[1];\n var _c = useViewValue('selectedRegion'), setSelectedRegion = _c[1];\n var filterSetting = useFilterSetting();\n var resetFilterEditing = useResetFilterEditing();\n var editingFilter = useFilterEditing();\n var resetFilter = useResetFilter();\n var _d = useState(), error = _d[0], setError = _d[1];\n var defaultFilter = useDefaultFilter();\n var resetViewSetting = useResetViewSetting();\n var storedUIValueData = useStoredUIValue()[0];\n var _e = useProviderSetting(editingFilter), shouldDisabledProviderSelection = _e[0].disabled, setProviderSetting = _e[1];\n var validationSchemaProps = props.validationSchema ? validationAgeSchema.concat(getValidationSchema(props.validationSchema)) : validationAgeSchema;\n var _f = useToggle(), show = _f[0], toggleShow = _f[1], setShow = _f[2];\n useEffect(function () {\n var _a, _b;\n if (storedUIValueData.session) {\n var filterValue = __assign(__assign({}, defaultFilter), (_a = storedUIValueData.data) === null || _a === void 0 ? void 0 : _a.filterSetting);\n var selectedConditions = __spreadArrays((filterValue.primaryCoMorbidities || []), (filterValue.comorbidities || []));\n filterValue = __assign(__assign({}, filterValue), { primaryCoMorbidities: selectedConditions.filter(function (c) { var _a; return (_a = defaultFilter.indexPrimaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.includes(c); }), comorbidities: selectedConditions.filter(function (c) { var _a; return !((_a = defaultFilter.indexPrimaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.includes(c)); }) });\n var viewSetting = __assign({ geoType: filterValue.geoLevel }, (_b = storedUIValueData.data) === null || _b === void 0 ? void 0 : _b.viewSetting);\n var errors = filterValue.isAggregatedDataSource ? undefined : getFlattenErrors(validationSchemaProps, exportFilterSettingPayload(filterValue));\n resetFilter(__assign(__assign({}, filterValue), { available: isEmpty(errors) }));\n resetViewSetting(viewSetting);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [storedUIValueData.session]);\n useEffect(function () {\n setActiveTab(props.defaultActiveTab);\n }, [props.defaultActiveTab]);\n useEffect(function () {\n if (isOpen) {\n resetFilterEditing(__assign(__assign({}, filterSetting), { geoLevel: geoLevel }));\n setActiveTab(props.defaultActiveTab);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n var handleOK = function () {\n var errors;\n if (!editingFilter.isAggregatedDataSource) {\n errors = getFlattenErrors(validationSchemaProps, exportFilterSettingPayload(editingFilter));\n }\n setError(errors);\n if (!isEmpty(errors)) {\n return;\n }\n setGeoLevel(editingFilter.geoLevel);\n resetFilter(__assign(__assign({}, editingFilter), { available: true }));\n if (shouldDisabledProviderSelection) {\n setProviderSetting({});\n }\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n toggle();\n };\n var toggleTabSelector = function (tabId) {\n setActiveTab(tabId);\n setShow(false);\n };\n var tabSelectors = Children.map(props.children, function (child) {\n return (React.createElement(LeftTabSelectorItem, { activeTab: activeTab, toggleTab: toggleTabSelector, tabId: child.props.tabId, tabName: child.props.tabName, tabSelector: child.props.tabSelector }));\n });\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledModal, { size: \"lg\", unmountOnClose: false, isOpen: isOpen, toggle: toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: toggle },\n React.createElement(FontAwesomeIcon, { icon: \"filter\", size: \"lg\" }),\n React.createElement(\"span\", null, \" Filters \"),\n React.createElement(RestoreDefaultButton, null)),\n React.createElement(StyledModalBody, null,\n React.createElement(HamburgerGroup, null,\n React.createElement(HamburgerButton, { color: \"#000\", icon: show ? 'times' : 'bars', size: \"2x\", onClick: toggleShow }),\n React.createElement(\"h5\", { className: \"m-0\" }, React.Children.map(props.children, function (child) { return (child.props.tabId === activeTab ? child.props.tabName : null); }))),\n React.createElement(StyledTabSelectors, { show: show }, tabSelectors),\n React.createElement(StyledTabContent, null,\n React.createElement(Card, { body: true, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(TabContent, { activeTab: activeTab }, props.children)))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"secondary\", onClick: toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", onClick: handleOK }, \"Apply\"))),\n React.createElement(AlertMessage, { errors: error })));\n};\nexport * from './datayeartab';\nexport * from './datayearseasontab';\nexport * from './conditiontab';\nexport * from './statistictab';\nexport * from './sextab';\nexport * from './racetab';\nexport * from './agetab';\nexport * from './aggregateddemographictab';\nexport * from './geoleveltab';\nexport * from './tabselector';\nexport * from './consumptiongroup';\nexport * from './usefiltercount';\nexport * from './filtercountloading';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ReportTypeEnum;\n(function (ReportTypeEnum) {\n ReportTypeEnum[\"CongressionalDetailAnalysis\"] = \"CONGRESSIONAL_DETAIL_ANALYSIS\";\n ReportTypeEnum[\"ZipCodeDetailAnalysis\"] = \"ZIP_CODE_DETAIL_ANALYSIS\";\n})(ReportTypeEnum || (ReportTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\nimport { useCallback, useMemo } from 'react';\nimport { ChronicConditionSource, PrimaryConditionsSortTypeEnum, SecondaryConditionsSortTypeEnum, KeyCombineConditionSource, } from '../enums';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useCachedData, useFilterEditingValue } from '../state';\nimport _ from 'lodash';\nimport { useReportsDialogValue } from '../reportsdialogextension';\nvar LOOKUP_CONDITION_API = '/api/general/lookup/get-lookup-chronic-condition';\nexport var useLookupCondition = function (values) {\n var _a = useCachedData(LOOKUP_CONDITION_API), lookupConditionData = _a[0], res = _a.slice(1);\n var labeledValues = useMemo(function () {\n var _a;\n return ((values === null || values === void 0 ? void 0 : values.length) && ((_a = lookupConditionData.data) === null || _a === void 0 ? void 0 : _a.length)\n ? values === null || values === void 0 ? void 0 : values.map(function (value) { var _a; return (_a = lookupConditionData.data) === null || _a === void 0 ? void 0 : _a.find(function (option) { return option.chronicConditionCode === value; }); }).filter(function (option) { return !!option; }) : []);\n }, [values, lookupConditionData.data]);\n return __spreadArrays([__assign(__assign({}, lookupConditionData), { labeledValues: labeledValues })], res);\n};\nexport var LookupConditionComponent = function () {\n var _a = useLookupCondition(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\nexport var ConditionType;\n(function (ConditionType) {\n ConditionType[ConditionType[\"Primary\"] = 0] = \"Primary\";\n ConditionType[ConditionType[\"Key\"] = 1] = \"Key\";\n ConditionType[ConditionType[\"Other\"] = 2] = \"Other\";\n ConditionType[ConditionType[\"Secondary\"] = 3] = \"Secondary\";\n})(ConditionType || (ConditionType = {}));\nexport var getConditionsByDataSet = function (conditionByDataSet, cmsDataSource, dataYear, key) {\n if (key === void 0) { key = 'conditions'; }\n if (!conditionByDataSet)\n return undefined;\n var conditionByDataSource = cmsDataSource ? conditionByDataSet[cmsDataSource] : undefined;\n var conditionByDataSourceSetAllYear = conditionByDataSource === null || conditionByDataSource === void 0 ? void 0 : conditionByDataSource.find(function (conditions) { return conditions.dataYear === undefined; });\n var conditionByDataSourceAndDataYear = conditionByDataSource === null || conditionByDataSource === void 0 ? void 0 : conditionByDataSource.find(function (conditions) { return String(conditions.dataYear) === String(dataYear); });\n return _.get(conditionByDataSourceAndDataYear, key, undefined) || _.get(conditionByDataSourceSetAllYear, key, undefined);\n};\nvar compareCondition = function (a, b, indexConfig, cmsDataSource, dataYear, parameters) {\n var _a = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}, primaryConditions = _a.primaryConditions, primaryConditionsSortType = _a.primaryConditionsSortType, secondaryConditionsConfig = _a.secondaryConditions, secondaryConditionsSortType = _a.secondaryConditionsSortType, filtersConfigByDataSource = _a.filtersConfigByDataSource;\n var secondaryConditions = (parameters || {}).secondaryConditions;\n var primaryConditionByDataSourceAndYear = getConditionsByDataSet(filtersConfigByDataSource, cmsDataSource, dataYear);\n var primaryConditionWithoutClaims = getConditionsByDataSet(filtersConfigByDataSource, cmsDataSource, dataYear, 'primaryConditionWithoutClaims');\n var fullPrimaryCondition = primaryConditionWithoutClaims || primaryConditionByDataSourceAndYear || primaryConditions;\n var fullSecondaryConditions = secondaryConditions || secondaryConditionsConfig;\n return !a || !b\n ? 0\n : a.type - b.type\n ? a.type - b.type\n : b.type === ConditionType.Key\n ? parseInt(a.value, 10) - parseInt(b.value, 10)\n : b.type === ConditionType.Primary && fullPrimaryCondition && primaryConditionsSortType === PrimaryConditionsSortTypeEnum.Specifically\n ? fullPrimaryCondition.indexOf(a.value) - fullPrimaryCondition.indexOf(b.value)\n : b.type === ConditionType.Secondary && fullSecondaryConditions && secondaryConditionsSortType === SecondaryConditionsSortTypeEnum.Specifically\n ? fullSecondaryConditions.indexOf(a.value) - fullSecondaryConditions.indexOf(b.value)\n : a.label.toLocaleLowerCase().localeCompare(b.label.toLocaleLowerCase());\n};\nexport var useSynchronizedConditionReport = function (conditionType) {\n var _a, _b;\n if (conditionType === void 0) { conditionType = ConditionType.Primary; }\n var indexConfig = useHostnameIndexInfo();\n var _c = useReportsDialogValue('secondaryCormorbidities'), selectingSecondaryCormorbidities = _c[0], setSelectingSecondaryCormorbidities = _c[1];\n var lookupData = useLookupConditionSortByType()[0];\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[conditionType];\n var comorbiditiesDefaultFilter = useMemo(function () { var _a; return ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _a === void 0 ? void 0 : _a.comorbidities) || []; }, [(_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _b === void 0 ? void 0 : _b.comorbidities]);\n var doSynchronize = useCallback(function () {\n var conditionsValues = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n if (conditionType === ConditionType.Secondary) {\n var selectingComorbiditiesFilter = selectingSecondaryCormorbidities === null || selectingSecondaryCormorbidities === void 0 ? void 0 : selectingSecondaryCormorbidities.filter(function (condition) { return (conditionsValues === null || conditionsValues === void 0 ? void 0 : conditionsValues.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingSecondaryCormorbidities(selectingComorbiditiesFilter);\n }\n }, [\n conditionType,\n comorbiditiesDefaultFilter,\n primaryConditions,\n selectingSecondaryCormorbidities,\n setSelectingSecondaryCormorbidities,\n ]);\n return [doSynchronize];\n};\nexport var useSynchronizedPrimaryCondition = function (conditionTypes) {\n var _a;\n if (conditionTypes === void 0) { conditionTypes = [ConditionType.Primary]; }\n var _b = useFilterEditingValue('primaryConditions'), selectingPrimaryConditions = _b[0], setSelectingPrimaryConditions = _b[1];\n var _c = useFilterEditingValue('additionalConditions'), selectingAdditionalConditions = _c[0], setSelectingAdditionalConditions = _c[1];\n var _d = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryCoMorbidities = _d[0], setSelectingPrimaryCoMorbidities = _d[1];\n var _e = useFilterEditingValue('comorbidities'), selectingComorbidities = _e[0], setSelectingComorbidities = _e[1];\n var _f = useFilterEditingValue('primaryConditionWithClaimsOptionals'), selectingPrimaryConditionWithoutClaimsOptionals = _f[0], setSelectingPrimaryConditionWithoutClaimsOptionals = _f[1];\n var indexConfig = useHostnameIndexInfo();\n var useMBSFChronicCondition = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useMBSFChronicCondition;\n var lookupData = useLookupConditionSortByType()[0];\n var comorbiditiesDefaultFilter = useMemo(function () {\n var _a, _b, _c, _d;\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var primaryConditionsValues = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n if (!useMBSFChronicCondition)\n return ((_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _b === void 0 ? void 0 : _b.comorbidities) || [];\n return (_d = (_c = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _c === void 0 ? void 0 : _c.comorbidities) === null || _d === void 0 ? void 0 : _d.filter(function (condition) { return primaryConditionsValues === null || primaryConditionsValues === void 0 ? void 0 : primaryConditionsValues.includes(condition); });\n }, [\n (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _a === void 0 ? void 0 : _a.comorbidities,\n useMBSFChronicCondition,\n lookupData.groupedCondition,\n ]);\n var doSynchronize = useCallback(function () {\n var _a, _b, _c;\n if (conditionTypes.includes(ConditionType.Primary)) {\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var primaryConditionsValues_1 = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n var selectingPrimaryConditionsFilter = selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingComorbiditiesFilter = selectingComorbidities === null || selectingComorbidities === void 0 ? void 0 : selectingComorbidities.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingPrimaryCoMorbiditiesFilter = selectingPrimaryCoMorbidities === null || selectingPrimaryCoMorbidities === void 0 ? void 0 : selectingPrimaryCoMorbidities.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingPrimaryConditionWithoutClaimsOptionalsFilter = selectingPrimaryConditionWithoutClaimsOptionals === null || selectingPrimaryConditionWithoutClaimsOptionals === void 0 ? void 0 : selectingPrimaryConditionWithoutClaimsOptionals.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n setSelectingPrimaryConditions(selectingPrimaryConditionsFilter);\n setSelectingPrimaryCoMorbidities((selectingPrimaryCoMorbiditiesFilter === null || selectingPrimaryCoMorbiditiesFilter === void 0 ? void 0 : selectingPrimaryCoMorbiditiesFilter.length) ? selectingPrimaryCoMorbiditiesFilter : comorbiditiesDefaultFilter.slice(0, 1) || []);\n setSelectingComorbidities(selectingComorbiditiesFilter);\n setSelectingPrimaryConditionWithoutClaimsOptionals(selectingPrimaryConditionWithoutClaimsOptionalsFilter);\n return;\n }\n if (conditionTypes.includes(ConditionType.Secondary)) {\n var primaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Secondary];\n var primaryConditionsValues_2 = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n var selectingComorbiditiesFilter = selectingComorbidities === null || selectingComorbidities === void 0 ? void 0 : selectingComorbidities.filter(function (condition) { return (primaryConditionsValues_2 === null || primaryConditionsValues_2 === void 0 ? void 0 : primaryConditionsValues_2.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingComorbidities(selectingComorbiditiesFilter);\n }\n if (conditionTypes.includes(ConditionType.Other)) {\n var otherConditions = (_c = lookupData.groupedCondition) === null || _c === void 0 ? void 0 : _c[ConditionType.Other];\n var otherConditionsValues_1 = otherConditions === null || otherConditions === void 0 ? void 0 : otherConditions.map(function (condition) { return condition.value; });\n var selectingAdditionalConditionsFilter = selectingAdditionalConditions === null || selectingAdditionalConditions === void 0 ? void 0 : selectingAdditionalConditions.filter(function (condition) { return (otherConditionsValues_1 === null || otherConditionsValues_1 === void 0 ? void 0 : otherConditionsValues_1.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingAdditionalConditions(selectingAdditionalConditionsFilter);\n }\n }, [\n conditionTypes,\n comorbiditiesDefaultFilter,\n lookupData.groupedCondition,\n selectingPrimaryConditions,\n selectingPrimaryCoMorbidities,\n selectingComorbidities,\n selectingPrimaryConditionWithoutClaimsOptionals,\n selectingAdditionalConditions,\n setSelectingPrimaryConditions,\n setSelectingPrimaryCoMorbidities,\n setSelectingComorbidities,\n setSelectingPrimaryConditionWithoutClaimsOptionals,\n setSelectingAdditionalConditions,\n ]);\n return [doSynchronize];\n};\nvar ConditionCMSFilter = (_a = {},\n _a[KeyCombineConditionSource.lessThan2019] = [ChronicConditionSource.CMS_27, ChronicConditionSource.CMS_OTHER],\n _a[KeyCombineConditionSource.greaterOrEqual2019] = [ChronicConditionSource.CMS_30, ChronicConditionSource.CMS_OTHER],\n _a);\n/**\n * This is a Record variable, It'll save values to combine chronic condition source\n * With Greater value, We should order by DESC\n * Otherwise, We should order by ASC\n * Ex: Greater: 2016-; 2017-; 2018-;...\n * Smaller: -2015; -2014; -2013;...\n */\nvar ValueCombineCondition = {\n '2019-': KeyCombineConditionSource.greaterOrEqual2019,\n '-2018': KeyCombineConditionSource.lessThan2019,\n};\nvar getKeyCombine = function (year) {\n return ValueCombineCondition[Object.keys(ValueCombineCondition).find(function (k) {\n var splitKey = k.split('-');\n if (!Number(splitKey[0]) && Number(splitKey[1]) >= Number(year)) {\n return true;\n }\n if (!Number(splitKey[1]) && Number(splitKey[0]) <= Number(year)) {\n return true;\n }\n return false;\n }) || ''];\n};\nexport var useLookupConditionSortByType = function (indexConfig, dataYear, cmsDataSource, dataYearSeasonParam) {\n var _a = useLookupCondition(), lookupData = _a[0], rest = _a.slice(1);\n var hostednameIndexConfig = useHostnameIndexInfo();\n var dataYearFilterEditing = useFilterEditingValue('dataYear')[0];\n var dataYearSeasonEditing = useFilterEditingValue('dataYearSeason')[0];\n indexConfig = indexConfig || hostednameIndexConfig;\n var useMBSFChronicCondition = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useMBSFChronicCondition;\n var dataYearSeason = useMemo(function () { return dataYearSeasonParam || dataYearSeasonEditing; }, [dataYearSeasonParam, dataYearSeasonEditing]);\n var primaryConditionByDataSourceAndYear = useGeneralConfigByDataSource('conditions');\n var primaryConditionWithoutClaims = useGeneralConfigByDataSource('primaryConditionWithoutClaims', cmsDataSource, dataYearSeason, dataYear);\n var secondaryConditionsConfig = useGeneralConfigByDataSource('secondaryConditions', cmsDataSource, dataYearSeason, dataYear);\n var primaryConditionsByChronicConditionSourceConfig = useGeneralConfigByDataSource('primaryConditionsByChronicConditionSource', cmsDataSource, dataYearSeason, dataYear);\n var allConditionDefault = useMemo(function () {\n var _a, _b;\n var ccBySource = (_b = (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.filter(function (condition) { return primaryConditionsByChronicConditionSourceConfig === null || primaryConditionsByChronicConditionSourceConfig === void 0 ? void 0 : primaryConditionsByChronicConditionSourceConfig.includes(condition.chronicConditionSource); })) === null || _b === void 0 ? void 0 : _b.map(function (condition) { return condition.chronicConditionCode; });\n return _.union(indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions, primaryConditionByDataSourceAndYear, primaryConditionWithoutClaims, secondaryConditionsConfig, ccBySource);\n }, [\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions,\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions,\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions,\n primaryConditionByDataSourceAndYear,\n primaryConditionWithoutClaims,\n secondaryConditionsConfig,\n primaryConditionsByChronicConditionSourceConfig,\n lookupData.data,\n ]);\n var combinedData = useMemo(function () {\n var _a;\n return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) {\n var _a, _b, _c;\n var isPrimaryByCCSource = primaryConditionsByChronicConditionSourceConfig === null || primaryConditionsByChronicConditionSourceConfig === void 0 ? void 0 : primaryConditionsByChronicConditionSourceConfig.some(function (template) { return i.chronicConditionSource === template; });\n var isPrimaryByPrimaryConditionWithoutClaims = primaryConditionWithoutClaims === null || primaryConditionWithoutClaims === void 0 ? void 0 : primaryConditionWithoutClaims.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimaryByPrimaryConditionByDataSourceAndYear = primaryConditionByDataSourceAndYear === null || primaryConditionByDataSourceAndYear === void 0 ? void 0 : primaryConditionByDataSourceAndYear.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimaryByPrimaryCondition = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions) === null || _a === void 0 ? void 0 : _a.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimary = isPrimaryByCCSource || isPrimaryByPrimaryConditionWithoutClaims || isPrimaryByPrimaryConditionByDataSourceAndYear || isPrimaryByPrimaryCondition;\n var isSecondaryBySecondaryConditionsConfig = secondaryConditionsConfig === null || secondaryConditionsConfig === void 0 ? void 0 : secondaryConditionsConfig.some(function (v) { return v === i.chronicConditionCode; });\n var isSecondaryBySecondaryConditions = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions) === null || _b === void 0 ? void 0 : _b.some(function (v) { return v === i.chronicConditionCode; });\n var isSecondary = isSecondaryBySecondaryConditionsConfig || isSecondaryBySecondaryConditions;\n var isKey = (_c = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions) === null || _c === void 0 ? void 0 : _c.some(function (v) {\n var _a = v.split('-'), from = _a[0], to = _a[1];\n return (v === i.chronicConditionCode ||\n (parseInt(i.chronicConditionCode, 10) >= parseInt(from, 10) && parseInt(i.chronicConditionCode, 10) <= parseInt(to || from, 10)));\n });\n return {\n value: i.chronicConditionCode,\n label: i.chronicConditionName,\n type: isPrimary\n ? ConditionType.Primary\n : isKey\n ? ConditionType.Key\n : isSecondary\n ? ConditionType.Secondary\n : ConditionType.Other,\n source: i.chronicConditionSource,\n };\n }).filter(function (i) {\n var _a, _b, _c;\n var isIgnoreConditions = ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditions) === null || _a === void 0 ? void 0 : _a.some(function (v) {\n var _a = v.split('-'), from = _a[0], to = _a[1];\n return (v === i.value ||\n (parseInt(i.value, 10) >= parseInt(from, 10) && parseInt(i.value, 10) <= parseInt(to || from, 10)));\n })) || ((_c = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _b === void 0 ? void 0 : _b[\"\" + dataYear]) === null || _c === void 0 ? void 0 : _c.includes(i.value));\n return i.type !== ConditionType.Other || !isIgnoreConditions;\n }).sort(function (a, b) { return compareCondition(a, b, indexConfig, cmsDataSource, dataYear, { secondaryConditions: secondaryConditionsConfig }); });\n }, [\n lookupData.data,\n indexConfig,\n dataYear,\n cmsDataSource,\n primaryConditionByDataSourceAndYear,\n primaryConditionWithoutClaims,\n secondaryConditionsConfig,\n primaryConditionsByChronicConditionSourceConfig,\n ]);\n var combinedDataWithinReferenceYear = useMemo(function () {\n var groupedDataByReferenceYear = Object.keys(ConditionCMSFilter).reduce(function (acc, cur) {\n acc[cur] = (combinedData === null || combinedData === void 0 ? void 0 : combinedData.filter(function (c) {\n return ConditionCMSFilter[cur].includes(c.source) ||\n (c.type === ConditionType.Primary && c.source === ChronicConditionSource.NMQF_CUSTOM) ||\n (!useMBSFChronicCondition && allConditionDefault.includes(c.value));\n })) || [];\n return acc;\n }, {});\n var dataYearToFilter = dataYear || 0;\n if (dataYearSeason === null || dataYearSeason === void 0 ? void 0 : dataYearSeason.length)\n dataYearToFilter = dataYearSeason[0];\n if (dataYearFilterEditing)\n dataYearToFilter = dataYearFilterEditing;\n return groupedDataByReferenceYear[getKeyCombine(dataYearToFilter)];\n }, [\n dataYear,\n dataYearSeason,\n dataYearFilterEditing,\n combinedData,\n useMBSFChronicCondition,\n allConditionDefault,\n ]);\n var _b = useMemo(function () {\n return (combinedDataWithinReferenceYear || []).reduce(function (acc, curr) {\n acc.mapByValue[curr.value] = curr;\n if (!acc.groupedCondition[curr.type]) {\n acc.groupedCondition[curr.type] = Object.assign([]);\n }\n acc.groupedCondition[curr.type].push(curr);\n return acc;\n }, Object.assign({ mapByValue: {}, groupedCondition: {} }));\n }, [combinedDataWithinReferenceYear]), mapByValue = _b.mapByValue, groupedCondition = _b.groupedCondition;\n var sortValue = useCallback(function (a, b) { return compareCondition(mapByValue[a], mapByValue[b], indexConfig); }, [indexConfig, mapByValue]);\n return __spreadArrays([__assign(__assign({}, lookupData), { groupedCondition: groupedCondition, sortValue: sortValue })], rest);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a, _b;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { StatisticGroupEnum, StatisticTypeEnum } from '../enums';\nimport { safeDivide } from '../utils';\nvar STATISTIC_GROUPS = (_a = {},\n _a[StatisticGroupEnum.Population] = {\n value: StatisticGroupEnum.Population,\n label: 'Population',\n },\n _a[StatisticGroupEnum.Rate] = {\n value: StatisticGroupEnum.Rate,\n label: 'Rate of Acute Events',\n },\n _a[StatisticGroupEnum.Cost] = {\n value: StatisticGroupEnum.Cost,\n label: 'Cost of Acute Events',\n },\n _a);\nvar DEFAULT_STATISTIC_PRECISION = 2;\nvar STATISTIC_OPTION_BY_TYPE = (_b = {},\n _b[StatisticTypeEnum.Prevalence] = {\n value: StatisticTypeEnum.Prevalence,\n label: 'Prevalence',\n shortTerm: 'Prevalence',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Population],\n percentage: true,\n },\n _b[StatisticTypeEnum.TotalCount] = {\n value: StatisticTypeEnum.TotalCount,\n label: 'Total Count of Patients',\n shortTerm: 'Total Count',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Population],\n precision: 0,\n },\n _b[StatisticTypeEnum.HospitalizationRate] = {\n value: StatisticTypeEnum.HospitalizationRate,\n label: 'Hospitalization Rate',\n shortTerm: 'Hospitalization Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.ERVisitsRate] = {\n value: StatisticTypeEnum.ERVisitsRate,\n label: 'ER Visits Rate',\n shortTerm: 'ER Visits Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.HospitalEncounterRate] = {\n value: StatisticTypeEnum.HospitalEncounterRate,\n label: 'Hospital Encounters Rate',\n shortTerm: 'Hospital Encounters Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.DeathRate] = {\n value: StatisticTypeEnum.DeathRate,\n label: 'Death Rate',\n shortTerm: 'Death Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n precision: 4,\n },\n _b[StatisticTypeEnum.ReadmissionRate] = {\n value: StatisticTypeEnum.ReadmissionRate,\n label: 'Readmission Rate',\n shortTerm: 'Readmission Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n precision: 3,\n },\n _b[StatisticTypeEnum.HospitalizationCost] = {\n value: StatisticTypeEnum.HospitalizationCost,\n label: 'Total Annual Hospitalization Cost Per Patient',\n shortTerm: 'Hospitalization Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.ERCost] = {\n value: StatisticTypeEnum.ERCost,\n label: 'Total Annual ER Cost Per Patient',\n shortTerm: 'ER Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.OOPPartBDrugCost] = {\n value: StatisticTypeEnum.OOPPartBDrugCost,\n label: 'Total Annual Patient Out-of-pocket Part b Drug Cost Per Patient',\n shortTerm: 'Patient Out-of-pocket Part b Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.OOPPartDDrugCost] = {\n value: StatisticTypeEnum.OOPPartDDrugCost,\n label: 'Total Annual Patient Out-of-pocket Part d Drug Cost Per Patient',\n shortTerm: 'Patient Out-of-pocket Part d Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.MCRPartBDrugCost] = {\n value: StatisticTypeEnum.MCRPartBDrugCost,\n label: 'Total Annual MCR Part b Drug Payments Per Patient',\n shortTerm: 'Medicare Part b Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.MCRPartDDrugCost] = {\n value: StatisticTypeEnum.MCRPartDDrugCost,\n label: 'Total Annual MCR Part d Drug Payments Per Patient',\n shortTerm: 'Medicare Part d Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.TotalCost] = {\n value: StatisticTypeEnum.TotalCost,\n label: 'Total Annual Cost Per Patient',\n shortTerm: 'Total Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b);\nexport var GROUPED_STATISTIC_OPTIONS = Object.values(STATISTIC_GROUPS).map(function (group) { return (__assign(__assign({}, group), { options: Object.values(STATISTIC_OPTION_BY_TYPE).filter(function (i) { return i.group.value === group.value; }) })); });\nexport var getStatisticOptions = function (statistics) {\n return !statistics\n ? Object.values(STATISTIC_OPTION_BY_TYPE)\n : Object.values(STATISTIC_OPTION_BY_TYPE).filter(function (option) { return statistics.some(function (statistic) { return statistic === option.value; }); });\n};\nexport var getStatisticOption = function (statistic) { return statistic && STATISTIC_OPTION_BY_TYPE[statistic]; };\nexport var getStatisticShortName = function (statistic) { var _a; return (_a = getStatisticOption(statistic)) === null || _a === void 0 ? void 0 : _a.shortTerm; };\nexport var getStatisticPrecision = function (statistic) {\n var statisticOption = getStatisticOption(statistic);\n return (statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.precision) === undefined ? DEFAULT_STATISTIC_PRECISION : statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.precision;\n};\nexport function processStatisticValue(value, percentage, statistic) {\n return safeDivide(value, 1, percentage, getStatisticPrecision(statistic));\n}\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useCallback } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_STATE_API = '/api/general/lookup/get-list-state';\nexport var useLookupState = function (valueIsAbb) {\n var _a;\n var _b = useCachedData(LOOKUP_STATE_API), lookupStateData = _b[0], res = _b.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.data.sort(function (a, b) { return a.stateName.toLowerCase().localeCompare(b.stateName.toLowerCase()); }).map(function (i) { return (__assign(__assign({}, i), { value: valueIsAbb ? i.stateAbbreviation : i.stateCode, label: i.stateName })); }); }, [(_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.data, valueIsAbb]);\n var getStateByStateCode = useCallback(function (stateCode) { return data === null || data === void 0 ? void 0 : data.find(function (i) { return parseInt(i.stateCode, 10) === parseInt(stateCode, 10); }); }, [data]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var getNameByStateCode = useCallback(function (stateCode) { var _a; return ((_a = getStateByStateCode(stateCode)) === null || _a === void 0 ? void 0 : _a.stateName) || stateCode; }, [data]);\n var getNameByStateAbb = useCallback(function (stateAbb) { var _a; return ((_a = data === null || data === void 0 ? void 0 : data.find(function (i) { return i.stateAbbreviation === stateAbb; })) === null || _a === void 0 ? void 0 : _a.stateName) || stateAbb; }, [data]);\n return __spreadArrays([__assign(__assign({}, lookupStateData), { data: data, getStateByStateCode: getStateByStateCode, getNameByStateCode: getNameByStateCode, getNameByStateAbb: getNameByStateAbb })], res);\n};\nexport var LookupStateComponent = function () {\n var _a = useLookupState(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useCallback } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nimport { useLookupState } from './lookupstate';\nvar LOOKUP_ZIP_CODE_DISTRICT_API = '/api/general/lookup/get-data-for-drop-down-filtering-which-related-to-state';\nexport var useLookupZipCodeDistrict = function () {\n var _a;\n var _b = useCachedData(LOOKUP_ZIP_CODE_DISTRICT_API), data = _b[0], res = _b.slice(1);\n var lookupStateData = useLookupState()[0];\n var getStateCodeOfZipCode = useCallback(function (zipcode) {\n var _a;\n return zipcode && ((_a = data.data) === null || _a === void 0 ? void 0 : _a.data.stateByZipCode5[zipcode.padStart(5, '0')]);\n }, [data.data]);\n var getStateNameOfZipCode = useCallback(function (zipcode) {\n var stateCode = getStateCodeOfZipCode(zipcode);\n return stateCode && lookupStateData.getNameByStateCode(stateCode);\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [getStateCodeOfZipCode, lookupStateData.getNameByStateCode]);\n var getStateAbbOfZipCode = useCallback(function (zipcode) {\n var _a, _b;\n var stateCode = getStateCodeOfZipCode(zipcode);\n return stateCode ? (_b = (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.find(function (i) { return i.stateCode === stateCode; })) === null || _b === void 0 ? void 0 : _b.stateAbbreviation : 'N/A';\n }, [getStateCodeOfZipCode, lookupStateData]);\n return __spreadArrays([__assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.data, getStateCodeOfZipCode: getStateCodeOfZipCode, getStateNameOfZipCode: getStateNameOfZipCode, getStateAbbOfZipCode: getStateAbbOfZipCode })], res);\n};\nexport var LookupZipCodeDistrictComponent = function () {\n var _a = useLookupZipCodeDistrict(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_COUNTY_API = '/api/general/lookup/get-lookup-county';\nexport var useLookupCounty = function () {\n var _a = useCachedData(LOOKUP_COUNTY_API), data = _a[0], res = _a.slice(1);\n var countyByStateCode = useMemo(function () { var _a; return (_a = data.data) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) {\n if (!acc[curr.stateCode]) {\n acc[curr.stateCode] = [];\n }\n acc[curr.stateCode].push(curr);\n return acc;\n }, Object.assign({})); }, [data.data]);\n return __spreadArrays([__assign(__assign({}, data), { data: countyByStateCode })], res);\n};\nexport var LookupCountyComponent = function () {\n var _a = useLookupCounty(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_MSA_API = '/api/general/lookup/get-lookup-msa';\nexport var useLookupMSA = function () {\n return useCachedData(LOOKUP_MSA_API);\n};\nexport var LookupMSAComponent = function () {\n var _a = useLookupMSA(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar API_URL_LOOKUP_SEX_CODE = '/api/general/lookup/get-lookup-sex-code';\nvar IGNORE_SEX_NAME = 'Unknown';\nexport var useLookupSexCode = function (values) {\n var _a = useCachedData(API_URL_LOOKUP_SEX_CODE), lookupData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.sexName.toLowerCase() !== IGNORE_SEX_NAME.toLowerCase(); }).sort(function (a, b) { return parseInt(a.sexCode, 10) - parseInt(b.sexCode, 10); }).map(function (i) { return (__assign(__assign({}, i), { value: i.sexCode, label: i.sexName })); }); }, [lookupData.data]);\n var mappedValues = useMemo(function () { return ((values === null || values === void 0 ? void 0 : values.length) ? data === null || data === void 0 ? void 0 : data.filter(function (i) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === i.value; }); }) : undefined); }, [data, values]);\n return __spreadArrays([__assign(__assign({}, lookupData), { data: data, mappedValues: mappedValues })], rest);\n};\nexport var LookupSexCodeComponent = function () {\n var _a = useLookupSexCode(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useCachedData } from '../state';\nimport { RaceMethodologyEnum } from '../enums';\nimport { useMount } from '../hooks';\nvar API_URL_LOOKUP_RACE_CODE = '/api/general/lookup/get-lookup-race-code';\nvar API_URL_LOOKUP_RTI_RACE_CODE = '/api/general/lookup/get-lookup-rti-race-code';\nexport var useLookupRaceCode = function (methodology, values) {\n if (methodology === void 0) { methodology = RaceMethodologyEnum.Standard; }\n var _a = useCachedData(methodology === RaceMethodologyEnum.Standard ? API_URL_LOOKUP_RACE_CODE : API_URL_LOOKUP_RTI_RACE_CODE), lookupData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return (__assign(__assign({}, i), { value: i.raceCode, label: i.raceName, shortName: i.raceName === 'North American Native' ? 'N.Amer Native' : i.raceName })); }).sort(function (a, b) { return parseInt(a.raceCode, 10) - parseInt(b.raceCode, 10); }); }, [lookupData.data]);\n var mappedValues = useMemo(function () { return ((values === null || values === void 0 ? void 0 : values.length) ? data === null || data === void 0 ? void 0 : data.filter(function (i) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === i.value; }); }) : undefined); }, [data, values]);\n return __spreadArrays([__assign(__assign({}, lookupData), { data: data, mappedValues: mappedValues })], rest);\n};\nexport var LookupRaceCodeComponent = function () {\n var _a = useLookupRaceCode(RaceMethodologyEnum.Standard), fetchRaceLookupStandard = _a[1];\n var _b = useLookupRaceCode(RaceMethodologyEnum.RTI), fetchRaceLookupRTI = _b[1];\n useMount(function () {\n fetchRaceLookupStandard();\n fetchRaceLookupRTI();\n });\n return null;\n};\n","export var stringifyAgeValue = function (_a) {\n var minAge = _a.minAge, maxAge = _a.maxAge;\n return (minAge !== null && minAge !== void 0 ? minAge : '') + \"-\" + (maxAge !== null && maxAge !== void 0 ? maxAge : '');\n};\nexport var getAgeLabel = function (_a) {\n var _b = _a === void 0 ? {} : _a, minAge = _b.minAge, maxAge = _b.maxAge;\n return minAge !== undefined && maxAge !== undefined\n ? minAge + \" to \" + maxAge\n : maxAge !== undefined\n ? \"Under \" + (maxAge + 1)\n : minAge !== undefined\n ? minAge ? \"Over \" + (minAge - 1) : minAge + \"+\"\n : 'N/A';\n};\nvar transformAgeOption = function (value) { return ({\n value: value,\n stringified: stringifyAgeValue(value),\n label: getAgeLabel(value),\n}); };\nexport var AGE_OPTIONS = [18, 49, 64, 74, 80, 81].map(function (age, idx, arr) {\n var minAge = !idx ? undefined : idx === arr.length - 1 ? age : arr[idx - 1] + 1;\n var maxAge = idx === arr.length - 1 ? undefined : age;\n var value = { maxAge: maxAge, minAge: minAge };\n return transformAgeOption(value);\n});\nexport var ALL_AGE_VALUES = AGE_OPTIONS.map(function (i) { return i.value; });\nexport var mapAgeValues = function (values) {\n return (values === null || values === void 0 ? void 0 : values.length) ? values[0].isCustom\n ? [transformAgeOption(values[0])]\n : AGE_OPTIONS.filter(function (i) { return values.some(function (v) { return stringifyAgeValue(v) === i.stringified; }); })\n : undefined;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect, useMemo } from 'react';\nimport { useCachedData } from '../state';\nimport { DataSourceEnum } from '../enums';\nimport { useAggregatedYear } from '../filterdialog/aggregateddatasource';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nvar FETCH_DATA_YEAR_API_URL = '/api/general/get-list-data-year/{dataSource}/{indexName}';\nexport var useCMSDataYear = function (dataSource, onlyNumber) {\n if (dataSource === void 0) { dataSource = DataSourceEnum.MedicareFFS; }\n if (onlyNumber === void 0) { onlyNumber = false; }\n var indexName = useIndexName();\n var _a = useCachedData(FETCH_DATA_YEAR_API_URL, { dataSource: dataSource, indexName: indexName }), data = _a[0], res = _a.slice(1);\n var sortedYear = useMemo(function () { var _a; return (_a = data.data) === null || _a === void 0 ? void 0 : _a[dataSource].filter(function (y) { return (onlyNumber ? !isNaN(y) : true); }); }, [data.data, dataSource, onlyNumber]);\n return __spreadArrays([__assign(__assign({}, data), { data: sortedYear })], res);\n};\nexport var useCMSDataSeasonYear = function (filterSetting) {\n var _a;\n var indexConfiguration = useHostnameIndexInfo();\n var isSeasonStatistic = ((indexConfiguration === null || indexConfiguration === void 0 ? void 0 : indexConfiguration.generalInformation) || {}).isSeasonStatistic;\n var dataSource = ((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource) || DataSourceEnum.MedicareFFS;\n var indexName = useIndexName();\n var _b = useCachedData(FETCH_DATA_YEAR_API_URL, { dataSource: dataSource, indexName: indexName }), data = _b[0], res = _b.slice(1);\n var seasonYear = useMemo(function () {\n var _a;\n return !isSeasonStatistic ? [] : (_a = data.data) === null || _a === void 0 ? void 0 : _a[dataSource].map(function (item) {\n var rangeYear = getYearsBySeason(item);\n if (rangeYear.length < 2)\n return '';\n return rangeYear[0] + \" - \" + rangeYear[1];\n });\n }, [data.data, dataSource, isSeasonStatistic]);\n return __spreadArrays([__assign(__assign({}, data), { data: seasonYear })], res);\n};\nexport var useMixedYear = function (filterSetting, onlyNumber) {\n var _a;\n var cmsYearData = useCMSDataYear((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource, onlyNumber);\n var aggregatedYearData = useAggregatedYear(filterSetting);\n return filterSetting.isAggregatedDataSource ? aggregatedYearData : cmsYearData;\n};\nexport var LookupYearComponent = function (props) {\n var _a = useCMSDataYear(props.dataSource), fetchData = _a[1];\n useEffect(function () {\n if (props.dataSource) {\n fetchData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.dataSource]);\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nexport var CONSUMPTION_GROUP_OPTIONS = [\n {\n value: 1,\n label: (React.createElement(React.Fragment, null,\n \"Crisis - 99\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Crisis',\n },\n {\n value: 2,\n label: (React.createElement(React.Fragment, null,\n \"Heavy - 90 to 98\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Heavy',\n },\n {\n value: 3,\n label: (React.createElement(React.Fragment, null,\n \"Moderate - 75 to 89\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Moderate',\n },\n {\n value: 4,\n label: (React.createElement(React.Fragment, null,\n \"Light - 50 to 74\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Light',\n },\n {\n value: 5,\n label: (React.createElement(React.Fragment, null,\n \"Low - 1 to 49\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Low',\n },\n];\nexport var getConsumptionGroups = function (values) { return CONSUMPTION_GROUP_OPTIONS.filter(function (option) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === option.value; }); }); };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { GeoLevelEnum } from '../enums';\nexport var GEO_LEVELS = [\n {\n value: GeoLevelEnum.Zip5,\n label: 'Zip Code',\n },\n {\n value: GeoLevelEnum.Zip3,\n label: '3 Digit zip code',\n },\n {\n value: GeoLevelEnum.State,\n label: 'State',\n },\n {\n value: GeoLevelEnum.County,\n label: 'County',\n },\n {\n value: GeoLevelEnum.MSA,\n label: 'MSA',\n },\n {\n value: GeoLevelEnum.Congressional,\n label: 'US Congressional District',\n },\n {\n value: GeoLevelEnum.StateUpper,\n label: 'State Upper House District',\n },\n {\n value: GeoLevelEnum.StateLower,\n label: 'State Lower House District',\n },\n];\nexport var getGeoLevelLabel = function (geoLevel) { var _a; return geoLevel && ((_a = GEO_LEVELS.find(function (option) { return option.value === geoLevel; })) === null || _a === void 0 ? void 0 : _a.label); };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var CLAIM_NUMBERS = [1, 2, 3, 4];\nexport var CLAIM_DAYS = [\n {\n value: '-29',\n label: 'under 30',\n },\n {\n value: '30-',\n label: '30 or more',\n },\n];\nexport var getClaimDayLabel = function (value) { var _a; return (_a = CLAIM_DAYS.find(function (option) { return option.value === value; })) === null || _a === void 0 ? void 0 : _a.label; };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nimport { compareFunc } from '../utils';\nvar GET_VACCINE_CODE_LIST_API = '/api/general/lookup/get-list-vaccine';\nexport var useLookupVaccine = function () {\n var _a;\n var _b = useCachedData(GET_VACCINE_CODE_LIST_API), data = _b[0], res = _b.slice(1);\n return __spreadArrays([__assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.data.sort(function (a, b) { return compareFunc(a.cptCode, b.cptCode); }) })], res);\n};\nexport var LookupVaccineComponent = function () {\n var _a = useLookupVaccine(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar GET_FLU_VACCINE_CODE_LIST_API = '/api/fluvaccine/general/lookup/get-list-vaccine';\nexport var useLookupFluVaccine = function () {\n var _a, _b, _c;\n var _d = useCachedData(GET_FLU_VACCINE_CODE_LIST_API), data = _d[0], res = _d.slice(1);\n return __spreadArrays([__assign(__assign({}, data), { data: (_c = (_b = (_a = data.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.sort) === null || _c === void 0 ? void 0 : _c.call(_b, function (a, b) { return new Date(a.createDate).getTime() - new Date(b.createDate).getTime(); }) })], res);\n};\nexport var LookupFluVaccineComponent = function () {\n var _a = useLookupFluVaccine(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useCallback, useMemo } from 'react';\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { SET_VIEW_VALUE, RESET_VIEW_SETTING } from './reducer';\nexport function useViewValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_VIEW_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.view.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetViewSetting = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_VIEW_SETTING, payload: value }); }, [dispatch]);\n};\nexport var useViewSetting = function () {\n var view = useMappedState(useCallback(function (state) { return state.view; }, []));\n return useMemo(function () { return view.toJSON(); }, [view]);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a;\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useMemo, useCallback, useEffect, useState } from 'react';\nimport { Source, Layer } from 'react-map-gl';\nimport { useExtractGeoData, useMapData } from './patientchoroplethlayer/usemapdata';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../enums';\nimport { ENV_STATE_BORDER_COLOR } from '../env';\nimport { useGeoJson, useMount } from '../hooks';\nimport { useViewValue } from '../state/viewsetting';\nimport { MapFallback, useMapValue, useZoomToFeature } from './mapprovider';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupZipCodeDistrict } from '../lookupdata';\nimport { isFeatureInAState, isEmpty } from '../utils';\nexport var API_URL_STATE_GEO = '/assets/topojsons/cb_2021_us_state_500k_polyline_topo.json';\nexport var GEO_JSON_URL_BY_LEVEL = (_a = {},\n _a[GeoLevelEnum.Zip5] = '/assets/topojsons/tl_2021_us_zcta520_topo.json',\n _a[GeoLevelEnum.Zip3] = '/assets/topojsons/zip3_digit_topo.json',\n _a[GeoLevelEnum.State] = '/assets/topojsons/cb_2021_us_state_500k_topo.json',\n _a[GeoLevelEnum.MSA] = '/assets/topojsons/cb_2021_us_cbsa_500k_topo.json',\n _a[GeoLevelEnum.County] = '/assets/topojsons/cb_2021_us_county_500k_topo.json',\n _a[GeoLevelEnum.Congressional] = '/assets/topojsons/cb_2022_us_cd118_500k_topo.json',\n _a[GeoLevelEnum.StateUpper] = '/assets/topojsons/cb_2022_us_sldu_500k_topo.json',\n _a[GeoLevelEnum.StateLower] = '/assets/topojsons/cb_2022_us_sldl_500k_topo.json',\n _a);\nvar stateLayer = {\n id: 'statelayer',\n type: 'line',\n paint: {\n 'line-color': ENV_STATE_BORDER_COLOR,\n },\n};\nvar highlightLayer = {\n id: 'highlightlayer',\n type: 'line',\n paint: {\n 'line-color': '#666',\n 'line-width': 3,\n },\n};\nvar selectedLayer = {\n id: 'selectedlayer',\n type: 'line',\n paint: {\n 'line-color': '#027DFF',\n 'line-width': 4,\n },\n};\nexport var useSelectedGeoJson = function (option) {\n var _a = useViewValue('geoType')[0], geoLevel = _a === void 0 ? GeoLevelEnum.State : _a;\n return useGeoJson(GEO_JSON_URL_BY_LEVEL[geoLevel], option);\n};\nexport var SelectedGeographySource = function (props) {\n var _a;\n var _b = useMapData()[0], data = _b.data, mapDataRequesting = _b.requesting;\n var hoveringInfo = useMapValue('hoveringInfo')[0];\n var zoomToFeature = useZoomToFeature();\n var _c = useViewValue('selectedRegion'), selectedRegion = _c[0], setSelectedRegion = _c[1];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var _d = useViewValue('mapView', 'selectedGeoProperties'), setSelectedGeoProperties = _d[1];\n var _e = useViewValue('geoType')[0], geoLevel = _e === void 0 ? GeoLevelEnum.State : _e;\n var zipcodeData = useLookupZipCodeDistrict()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var zoomId = useViewValue('mapView', 'zoomId')[0];\n var filterForState = useMemo(function () { return (!singleState ? undefined : function (properties) { return isFeatureInAState(singleState, properties, GeoLevelEnum.State); }); }, [singleState]);\n var _f = useGeoJson(API_URL_STATE_GEO, {\n filter: filterForState,\n }), stateGeoJsonData = _f[0], fetchStateGeoJson = _f[1];\n var filterForGeo = useMemo(function () {\n return !singleState\n ? undefined\n : function (properties) { var _a; return isFeatureInAState(singleState, properties, geoLevel, (_a = zipcodeData.data) === null || _a === void 0 ? void 0 : _a.stateByZipCode5); };\n }, [singleState, geoLevel, zipcodeData.data]);\n var extractGeoData = useExtractGeoData();\n var propertyMapping = useCallback(function (properties) {\n var breakIdx = extractGeoData(properties === null || properties === void 0 ? void 0 : properties.id).breakIdx;\n return __assign(__assign({}, properties), { breakIdx: breakIdx });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data]);\n var _g = useSelectedGeoJson({ filter: filterForGeo, propertyMapping: propertyMapping, forceClean: !data }), geoJsonData = _g[0], fetchGeoJson = _g[1];\n var _h = useState(true), isCookingGeoJson = _h[0], setIsCookingGeoJson = _h[1];\n useMount(function () {\n fetchStateGeoJson();\n });\n useEffect(function () {\n fetchGeoJson();\n }, [fetchGeoJson]);\n useEffect(function () {\n var _a;\n setIsCookingGeoJson(true);\n var delay = Math.round((((_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features.length) || 0) / 20);\n var handler = setTimeout(function () {\n setIsCookingGeoJson(!!geoJsonData.requesting || !!mapDataRequesting);\n }, delay);\n return function () {\n clearTimeout(handler);\n };\n }, [geoJsonData.data, geoJsonData.requesting, mapDataRequesting]);\n var selectedFeature = useMemo(function () { var _a, _b; return !selectedId ? undefined : selectedId.endsWith('-') ? (_a = stateGeoJsonData.mapFeature) === null || _a === void 0 ? void 0 : _a[selectedId.replace('-', '')] : (_b = geoJsonData.mapFeature) === null || _b === void 0 ? void 0 : _b[selectedId]; }, [selectedId, stateGeoJsonData.mapFeature, geoJsonData.mapFeature]);\n useEffect(function () {\n if (selectedFeature && zoomId === selectedId) {\n zoomToFeature(selectedFeature);\n }\n if (selectedFeature && selectedId && !selectedId.endsWith('-')) {\n setSelectedGeoProperties(selectedFeature.properties);\n }\n else {\n setSelectedGeoProperties();\n }\n if (selectedId &&\n !selectedFeature &&\n !isEmpty(stateGeoJsonData.mapFeature) &&\n !isEmpty(geoJsonData.mapFeature) &&\n (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [geoJsonData.mapFeature, selectedFeature, selectedId, selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type, stateGeoJsonData.mapFeature, zoomId]);\n var hoveringId = (_a = hoveringInfo === null || hoveringInfo === void 0 ? void 0 : hoveringInfo[0]) === null || _a === void 0 ? void 0 : _a.id;\n var highlightGeoJson = useMemo(function () {\n var _a;\n return ({\n type: 'FeatureCollection',\n features: (hoveringId && [(_a = geoJsonData.mapFeature) === null || _a === void 0 ? void 0 : _a[hoveringId]]) || [],\n });\n }, [geoJsonData.mapFeature, hoveringId]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Source, { type: \"geojson\", data: geoJsonData.data, id: \"selectedgeographysource\" },\n props.children || React.createElement(React.Fragment, null),\n React.createElement(Layer, __assign({}, selectedLayer, { filter: ['==', 'id', selectedId || ''] }))),\n React.createElement(Source, { type: \"geojson\", data: highlightGeoJson },\n React.createElement(Layer, __assign({}, highlightLayer))),\n React.createElement(Source, { type: \"geojson\", data: stateGeoJsonData.data },\n React.createElement(Layer, __assign({}, stateLayer))),\n React.createElement(MapFallback, { requesting: isCookingGeoJson, error: geoJsonData.error, retry: fetchGeoJson })));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useExtractGeoData } from './usemapdata';\nimport { useFilterValue } from '../../state/filtersettings';\nimport { useViewValue } from '../../state/viewsetting';\nimport { useMapValue } from '../mapprovider';\nimport { useLookupState, useLookupZipCodeDistrict, getStatisticOption } from '../../lookupdata';\nimport { getDataFieldsByMapViewLevel } from './dataforgeo';\nimport { useDebounce } from '../../hooks';\nimport { MemoMarker } from '../memo';\nimport { StatisticTypeEnum } from '../../enums';\nimport { getDisplayText } from '../../utils';\nvar DELAY_SHOW_POPUP_TIME = 500;\nvar useStyles = makeStyles({\n arrow: {\n color: '#fff',\n },\n tooltip: {\n color: '#000',\n backgroundColor: '#fff',\n padding: 0,\n minWidth: '20rem',\n maxWidth: '25rem',\n textAlign: 'left',\n fontSize: '1rem',\n boxShadow: '0 1px 2px rgb(0 0 0 / 10%)',\n },\n});\nvar Header = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.75rem;\\n background-color: rgba(0, 0, 0, 0.06);\\n font-weight: bolder;\\n border-top-right-radius: 0.25rem;\\n max-width: 18rem;\\n min-width: 100%;\\n\"], [\"\\n padding: 0.75rem;\\n background-color: rgba(0, 0, 0, 0.06);\\n font-weight: bolder;\\n border-top-right-radius: 0.25rem;\\n max-width: 18rem;\\n min-width: 100%;\\n\"])));\nvar Body = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin: 0 1.5rem;\\n\"], [\"\\n margin: 0 1.5rem;\\n\"])));\nvar StyledCard = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding: 0.75rem 0;\\n &:not(:last-child) {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n }\\n display: flex;\\n align-items: center;\\n\"], [\"\\n padding: 0.75rem 0;\\n &:not(:last-child) {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n }\\n display: flex;\\n align-items: center;\\n\"])));\nvar CardTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n\"], [\"\\n flex: 1;\\n\"])));\nvar CardText = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: bolder;\\n padding-left: 0.5rem;\\n\"], [\"\\n font-weight: bolder;\\n padding-left: 0.5rem;\\n\"])));\nvar formatMetricValue = function (value, suffix, prefix) {\n var roundedValue = prefix === '$' && value ? Math.max(Math.round(value), 1) : value;\n return getDisplayText(roundedValue, suffix, prefix);\n};\nvar StatisticValue = function (props) {\n return React.createElement(React.Fragment, null, formatMetricValue(props.valueKey ? props[props.valueKey] : props.value, props.suffix, props.prefix));\n};\nvar Card = function (props) {\n var _a;\n return (React.createElement(StyledCard, null,\n React.createElement(CardTitle, null,\n React.createElement(\"div\", null, props.metricValue.title), (_a = props.secondaryValues) === null || _a === void 0 ? void 0 :\n _a.map(function (payload, idx) { return (React.createElement(\"div\", { key: idx, className: \"text-secondary\" },\n React.createElement(\"small\", null,\n payload.title,\n \": \",\n React.createElement(StatisticValue, __assign({}, payload, { valueKey: props.valueKey }))))); })),\n React.createElement(CardText, null,\n React.createElement(StatisticValue, __assign({}, props.metricValue, { valueKey: undefined })))));\n};\nvar GeoName = function (props) {\n var _a = getDataFieldsByMapViewLevel(props.geoLevel, props.geoProps, props.lookupStateData, props.lookupZipCode), secondLevel = _a[0], firstLevel = _a[1];\n return (React.createElement(React.Fragment, null, firstLevel ? (React.createElement(React.Fragment, null,\n React.createElement(\"strong\", null, firstLevel.value),\n \" \",\n secondLevel.value)) : (React.createElement(\"strong\", null, secondLevel.value))));\n};\nvar getMetricValues = function (geoData, geoName, region, regionData) {\n var metricValues = [];\n var isShowCohortValue = geoData.value !== geoData.geographic || geoData.numerator !== geoData.geographicNumerator || geoData.denominator !== geoData.geographicDenominator;\n if (isShowCohortValue) {\n metricValues.push({\n title: React.createElement(React.Fragment, null,\n geoName,\n \" (selected cohort)\"),\n valueKey: 'cohort',\n value: geoData.value,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n }\n metricValues.push({\n title: React.createElement(React.Fragment, null, geoName),\n valueKey: 'geo',\n value: geoData.geographic,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n if (region) {\n metricValues.push({\n title: React.createElement(\"strong\", null, region),\n valueKey: 'region',\n value: regionData === null || regionData === void 0 ? void 0 : regionData.value,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n metricValues.push({\n title: React.createElement(\"strong\", null, \"Illinois\"),\n valueKey: 'state',\n value: regionData === null || regionData === void 0 ? void 0 : regionData.stateValue,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n }\n metricValues.push({\n title: React.createElement(\"strong\", null, \"National\"),\n valueKey: 'national',\n value: geoData.national,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n return metricValues;\n};\nvar getFirstSecondaryValueTitle = function (statistic) {\n switch (statistic) {\n case StatisticTypeEnum.Prevalence:\n return 'Patient Count';\n case StatisticTypeEnum.HospitalizationRate:\n case StatisticTypeEnum.HospitalizationCost:\n return 'Total Visits';\n case StatisticTypeEnum.ERVisitsRate:\n case StatisticTypeEnum.ERCost:\n return 'Total ER Visits';\n case StatisticTypeEnum.HospitalEncounterRate:\n return 'Total Encounters';\n case StatisticTypeEnum.DeathRate:\n return 'Total Deaths';\n case StatisticTypeEnum.ReadmissionRate:\n return 'Total Readmissions';\n case StatisticTypeEnum.OOPPartBDrugCost:\n case StatisticTypeEnum.OOPPartDDrugCost:\n case StatisticTypeEnum.MCRPartBDrugCost:\n case StatisticTypeEnum.MCRPartDDrugCost:\n case StatisticTypeEnum.TotalCost:\n return 'Total';\n }\n};\nvar getSecondaryValues = function (geoData, statistic, regionData) {\n var firstSecondaryValueTitle = getFirstSecondaryValueTitle(statistic);\n if (statistic === StatisticTypeEnum.TotalCount) {\n return [\n {\n title: 'Patient Population',\n cohort: geoData.patientPopulation,\n geo: geoData.patientPopulation,\n national: geoData.nationalPatientPopulation,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.patientPopulation,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.statePatientPopulation,\n },\n ];\n }\n var secondaryValues = [\n {\n title: firstSecondaryValueTitle,\n cohort: geoData.numerator,\n geo: geoData.geographicNumerator,\n national: geoData.nationalNumerator,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.numerator,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateNumerator,\n prefix: geoData.prefix,\n },\n {\n title: statistic === StatisticTypeEnum.Prevalence ? 'Patient Population' : 'Patient Count',\n cohort: geoData.denominator,\n geo: geoData.geographicDenominator,\n national: geoData.nationalDenominator,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.denominator,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateDenominator,\n },\n ];\n if (statistic === StatisticTypeEnum.HospitalizationCost || statistic === StatisticTypeEnum.ERCost) {\n secondaryValues[0] = {\n title: firstSecondaryValueTitle,\n cohort: geoData.eventCount,\n geo: geoData.geographicEventCount,\n national: geoData.nationalEventCount,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.eventCount,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateEventCount,\n };\n }\n return secondaryValues;\n};\nvar PopperProps = {\n modifiers: {\n preventOverflow: {\n boundariesElement: 'viewport',\n },\n },\n};\nexport var InfoPopup = function (props) {\n var lookupStateData = useLookupState()[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var hoveringInfo = useMapValue('hoveringInfo')[0];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var geoLevel = useViewValue('geoType')[0];\n var showGeographyHoverDisplay = useViewValue('mapView', 'showGeographyHoverDisplay')[0];\n var extractGeoData = useExtractGeoData();\n var _a = useState(), show = _a[0], setShow = _a[1];\n var classes = useStyles();\n useEffect(function () {\n setShow(false);\n }, [hoveringInfo]);\n useDebounce(function () {\n setShow(true);\n }, [hoveringInfo], DELAY_SHOW_POPUP_TIME);\n if (!show || !showGeographyHoverDisplay || !(hoveringInfo === null || hoveringInfo === void 0 ? void 0 : hoveringInfo.length) || !hoveringInfo[0] || !statistic || !geoLevel)\n return null;\n var statisticOption = getStatisticOption(statistic);\n var geoName = React.createElement(GeoName, { geoLevel: geoLevel, geoProps: hoveringInfo[0], lookupStateData: lookupStateData, lookupZipCode: lookupZipCode });\n var geoData = extractGeoData(hoveringInfo[0].id);\n var metricValues = getMetricValues(geoData, geoName, props.region, props.regionData);\n var secondaryValues = getSecondaryValues(geoData, statistic, props.regionData);\n return (React.createElement(MemoMarker, { longitude: hoveringInfo[1], latitude: hoveringInfo[2], offsetTop: 0, offsetLeft: 0 },\n React.createElement(Tooltip, { open: true, placement: \"right\", classes: classes, disableFocusListener: true, disableHoverListener: true, disableTouchListener: true, PopperProps: PopperProps, title: React.createElement(React.Fragment, null,\n React.createElement(Header, null, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.label),\n React.createElement(Body, null, metricValues.map(function (card) { return (React.createElement(Card, { key: card.valueKey, valueKey: card.valueKey, metricValue: card, secondaryValues: secondaryValues })); }))) },\n React.createElement(\"div\", null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { useEffect, useMemo } from 'react';\nimport { point } from '@turf/helpers';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { useViewValue } from '../state';\nimport { ClusterPin, Pin } from '../common/pin';\nimport { MapFallback, useViewport } from '.';\nimport { useCluster } from './usecluster';\nimport { Popup } from './popup';\nimport { useMount } from '../hooks';\nimport { MemoMarker, PIN_SIZE } from './memo';\nvar StyledMultiplePinMenu = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: auto;\\n max-height: 30rem;\\n padding: 0.625rem;\\n margin: -0.625rem -0.625rem -0.9375rem;\\n border-radius: 3px;\\n max-width: 20rem;\\n\"], [\"\\n overflow: auto;\\n max-height: 30rem;\\n padding: 0.625rem;\\n margin: -0.625rem -0.625rem -0.9375rem;\\n border-radius: 3px;\\n max-width: 20rem;\\n\"])));\nvar StyledMultiplePinMenuItem = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.25rem;\\n margin-bottom: 0.5rem;\\n cursor: pointer;\\n \", \";\\n\"], [\"\\n padding: 0.25rem;\\n margin-bottom: 0.5rem;\\n cursor: pointer;\\n \", \";\\n\"])), function (props) { return (props.selected ? 'background-color: #deebff;' : ''); });\nvar MultiplePinMenuItem = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type && props.idFields.every(function (f) { var _a; return props.location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); });\n var handleClick = function () {\n setSelectedRegion({\n type: props.type,\n id: _.pick(props.location, props.idFields),\n longitude: props.longitude,\n latitude: props.latitude,\n });\n };\n return React.createElement(StyledMultiplePinMenuItem, __assign({}, props, { selected: selected, onClick: handleClick }));\n};\nexport var MultiplePinMenu = React.memo(function (props) {\n var _a = useViewValue('selectedMultiplePin'), selectedMultiplePin = _a[0], setSelectedMultiplePin = _a[1];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var show = props.type === (selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.type);\n var longitude = selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.geometry.coordinates[0];\n var latitude = selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.geometry.coordinates[1];\n useEffect(function () {\n if (selectedRegion) {\n setSelectedMultiplePin();\n }\n }, [selectedRegion, setSelectedMultiplePin]);\n return (React.createElement(Popup, { show: show, onClose: setSelectedMultiplePin, offsetTop: -(PIN_SIZE + 3), offsetLeft: 0, captureScroll: true, sortByDepth: true, closeButton: false, longitude: longitude, latitude: latitude },\n React.createElement(StyledMultiplePinMenu, null, selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.properties.locations.sort(function (a, b) { return (props.compareFn ? props.compareFn(a, b) : 0); }).map(function (location, idx) { return (React.createElement(MultiplePinMenuItem, { key: idx, type: props.type, location: location, idFields: props.idFields, longitude: longitude, latitude: latitude }, props.menuItemComponent && React.createElement(props.menuItemComponent, { location: location }))); }))));\n});\nvar SinglePinMarker = React.memo(function (props) {\n var _a;\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var location = props.point.properties.location;\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type && props.idFields.every(function (f) { var _a; return location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); });\n var longitude = props.point.geometry.coordinates[0];\n var latitude = props.point.geometry.coordinates[1];\n return (React.createElement(MemoMarker, { longitude: longitude, latitude: latitude },\n React.createElement(Pin, __assign({}, props, { selected: selected, onClick: setSelectedRegion, payload: { type: props.type, id: _.pick(location, props.idFields), longitude: longitude, latitude: latitude }, icon: props.icon || ((_a = props.getIcon) === null || _a === void 0 ? void 0 : _a.call(props, location)) }))));\n});\nvar MultiplePinMarker = React.memo(function (props) {\n var selectedRegion = useViewValue('selectedRegion')[0];\n var _a = useViewValue('selectedMultiplePin'), selectedMultiplePin = _a[0], setSelectedMultiplePin = _a[1];\n var pinPayload = useMemo(function () { return ((selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point) === props.point ? undefined : { type: props.type, point: props.point }); }, [\n props.point,\n props.type,\n selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point,\n ]);\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type &&\n props.point.properties.locations.some(function (location) { return props.idFields.every(function (f) { var _a; return location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); }); });\n return (React.createElement(MemoMarker, { longitude: props.point.geometry.coordinates[0], latitude: props.point.geometry.coordinates[1] },\n React.createElement(Pin, __assign({}, props, { icon: undefined, selected: selected, text: props.point.properties.point_count_abbreviated, payload: pinPayload, onClick: setSelectedMultiplePin }))));\n});\nvar ClusterPinMarker = React.memo(function (props) {\n var _a = useViewport(), updateViewPort = _a[1];\n var handleClick = function () {\n var _a;\n var zoom = (_a = props.getClusterExpansionZoom) === null || _a === void 0 ? void 0 : _a.call(props, props.point.properties.cluster_id);\n var _b = props.point.geometry.coordinates, longitude = _b[0], latitude = _b[1];\n updateViewPort({ zoom: zoom, longitude: longitude, latitude: latitude });\n };\n return (React.createElement(MemoMarker, { longitude: props.point.geometry.coordinates[0], latitude: props.point.geometry.coordinates[1] },\n React.createElement(ClusterPin, __assign({}, props, { text: props.point.properties.point_count_abbreviated, onClick: handleClick }))));\n});\nvar SimpleLocationLayer = React.memo(function (props) {\n var locations = props.locations, id = props.id, rest = __rest(props, [\"locations\", \"id\"]);\n return (React.createElement(React.Fragment, null, locations.map(function (location, idx) { return (React.createElement(SinglePinMarker, __assign({ key: idx }, rest, { type: id, point: point(location.lnglat || [location.lng, location.lat], { location: location }) }))); })));\n});\nvar ClusterLocationLayer = React.memo(function (props) {\n var locations = props.locations, id = props.id, clusterColor = props.clusterColor, rest = __rest(props, [\"locations\", \"id\", \"clusterColor\"]);\n var _a = useCluster(props.locations), clusters = _a[0], getClusterExpansionZoom = _a[1];\n var _b = useViewValue('selectedMultiplePin'), selectedMultiplePin = _b[0], setSelectedMultiplePin = _b[1];\n useEffect(function () {\n if ((selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.type) === id) {\n setSelectedMultiplePin();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clusters]);\n return (React.createElement(React.Fragment, null,\n clusters.map(function (c, idx) { return (React.createElement(React.Fragment, { key: idx }, !c.properties.cluster ? (React.createElement(SinglePinMarker, __assign({}, rest, { type: id, point: c }))) : c.properties.isSameLocation ? (React.createElement(MultiplePinMarker, __assign({}, rest, { type: id, point: c }))) : (React.createElement(ClusterPinMarker, __assign({}, rest, { getClusterExpansionZoom: getClusterExpansionZoom, type: id, color: clusterColor || props.color, point: c }))))); }),\n React.createElement(MultiplePinMenu, { type: props.id, compareFn: props.compareFn, menuItemComponent: props.menuItemComponent, idFields: props.idFields })));\n});\nvar LayerCount = function (props) {\n var _a = useViewValue('mapLayerCountNotifications', props.id), setMapLayerCountNotification = _a[1];\n useEffect(function () {\n setMapLayerCountNotification(null);\n if (props.show && props.displayingCount !== undefined && props.totalCount !== undefined) {\n setMapLayerCountNotification({ displayingCount: props.displayingCount, totalCount: props.totalCount, name: props.name });\n }\n return function () { return setMapLayerCountNotification(null); };\n }, [props.displayingCount, props.name, props.show, props.totalCount, setMapLayerCountNotification]);\n return null;\n};\nvar LocationDetailComponent = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var isSelected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.id;\n var id = isSelected ? selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.id : undefined;\n useMount(function () { return function () {\n if (isSelected) {\n setSelectedRegion();\n }\n }; });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var locationMap = useMemo(function () { return _.keyBy(props.locations, function (l) { return props.idFields.map(function (f) { return l[f]; }).join('-'); }); }, [props.locations]);\n var detailInfo = id && locationMap[props.idFields.map(function (f) { return id[f]; }).join('-')];\n useEffect(function () {\n if (props.requesting === false && id && !detailInfo) {\n setSelectedRegion();\n }\n }, [detailInfo, id, props.requesting, setSelectedRegion]);\n return null;\n};\nexport var LocationLayer = React.memo(function (props) {\n var show = props.show, _a = props.cluster, cluster = _a === void 0 ? true : _a, rest = __rest(props, [\"show\", \"cluster\"]);\n return (React.createElement(React.Fragment, null,\n props.show && (React.createElement(React.Fragment, null,\n cluster ? React.createElement(ClusterLocationLayer, __assign({}, rest)) : React.createElement(SimpleLocationLayer, __assign({}, rest)),\n React.createElement(MapFallback, { requesting: props.requesting, error: props.error, retry: props.retry }),\n React.createElement(LocationDetailComponent, __assign({}, props)))),\n React.createElement(LayerCount, { show: props.show, id: props.id, name: props.name, displayingCount: props.locations.length, totalCount: props.totalCount })));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport { useFilterSetting, exportFilterSettingPayload, useViewValue } from '../../state';\nimport { useMapRef, useViewport } from '../mapprovider';\nimport { useDebounce, useDebounceValue } from '../../hooks';\nimport { LocationLayer } from '../locationlayer';\nimport { useProviderSetting, useProviderData } from '../../selectors';\nimport { RightPanelTypeEnum } from '../../enums';\nvar VIEW_PORT_DEBOUNCE_TIME = 500;\nvar Row = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar RowLocationName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-size: 0.75rem;\\n\"], [\"\\n font-size: 0.75rem;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Row, null,\n props.location.providerFirstName || '',\n \" \",\n props.location.providerLastName || '',\n \" \",\n props.location.providerCredentialText || ''),\n React.createElement(RowLocationName, null, props.location.name || '')));\n};\nexport var ProviderLayer = React.memo(function () {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var _c = useProviderData(), providerLocatorData = _c[0], fetchProviderLocatorData = _c[1], clearData = _c[2];\n var viewport = useViewport()[0];\n var mapRef = useMapRef();\n var map = (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap();\n var providerSetting = useProviderSetting()[0];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var loadedUserActionsHistoryRef = useRef(false);\n var _d = providerSetting || {}, doGetPrimaryCareProvider = _d.doGetPrimaryCareProvider, doGetHospitalProvider = _d.doGetHospitalProvider, specialistProviders = _d.specialistProviders, available = _d.available;\n var show = available;\n var lngLatBounds = useDebounceValue(function () { return map === null || map === void 0 ? void 0 : map.getBounds().toArray(); }, [viewport.zoom, viewport.longitude, viewport.latitude], VIEW_PORT_DEBOUNCE_TIME);\n var locations = useMemo(function () { return (providerLocatorData.data ? Object.values(providerLocatorData.data.providers) : Object.assign([])); }, [\n providerLocatorData.data,\n ]);\n var fetchDataWrapped = function () {\n var payload = exportFilterSettingPayload(filterSetting);\n var userActionsHistory = !loadedUserActionsHistoryRef.current && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ProviderDetail\n ? {\n provider: selectedRegion.id,\n }\n : undefined;\n fetchProviderLocatorData(__assign(__assign({}, payload), { providerParam: {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n bottomLeftAndTopRightLngLatBound: lngLatBounds,\n }, userActionsHistory: userActionsHistory }));\n loadedUserActionsHistoryRef.current = true;\n };\n useDebounce(function () {\n if (filterSetting.forceUpdate && show) {\n fetchDataWrapped();\n }\n return clearData;\n }, [filterSetting.forceUpdate, lngLatBounds, doGetPrimaryCareProvider, doGetHospitalProvider, specialistProviders]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.ProviderDetail, locations: locations, show: show, color: \"#D00\", clusterColor: \"#be0712\", stroke: \"#000\", getIcon: function (provider) {\n return provider.providerBroadSpecialty === '1' ? 'clinic-medical' : provider.providerBroadSpecialty === '5' ? 'hospital-symbol' : 'stethoscope';\n }, requesting: providerLocatorData.requesting, error: providerLocatorData.error, retry: fetchDataWrapped, totalCount: (_b = providerLocatorData.data) === null || _b === void 0 ? void 0 : _b.total, compareFn: function (a, b) { var _a, _b; return ((_a = a.providerLastName) === null || _a === void 0 ? void 0 : _a.localeCompare(b.providerLastName || '')) || ((_b = a.providerFirstName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.providerFirstName || '')) || 0; }, menuItemComponent: MenuItem, name: \"providers\", idFields: ['providerNpiNumber'] }));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport styled from 'styled-components';\nimport { Collapse } from 'reactstrap';\nimport { useToggle } from '../hooks';\nimport { useViewSetting } from '../state';\nvar Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n top: 4.875rem;\\n font-weight: 500;\\n left: 2rem;\\n width: max-content;\\n padding: 0.2rem;\\n background-color: rgba(255, 255, 255, 0.8);\\n z-index: 2;\\n\"], [\"\\n position: absolute;\\n top: 4.875rem;\\n font-weight: 500;\\n left: 2rem;\\n width: max-content;\\n padding: 0.2rem;\\n background-color: rgba(255, 255, 255, 0.8);\\n z-index: 2;\\n\"])));\nvar ToggleButton = styled.button(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n border: none;\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n font-size: 0.75rem;\\n padding: 0;\\n outline: none !important;\\n\"], [\"\\n border: none;\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n font-size: 0.75rem;\\n padding: 0;\\n outline: none !important;\\n\"])));\nvar StyledAndText = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #6c757d;\\n margin-left: 1rem;\\n\"], [\"\\n color: #6c757d;\\n margin-left: 1rem;\\n\"])));\nvar getCountDisplay = function (layerItem) {\n var _a, _b, _c;\n if (!layerItem.totalCount) {\n return 'no';\n }\n if (layerItem.displayingCount === layerItem.totalCount) {\n return \"all \" + ((_a = layerItem.totalCount) === null || _a === void 0 ? void 0 : _a.toLocaleString());\n }\n return ((_b = layerItem.displayingCount) === null || _b === void 0 ? void 0 : _b.toLocaleString()) + \" of \" + ((_c = layerItem.totalCount) === null || _c === void 0 ? void 0 : _c.toLocaleString());\n};\nexport var CountNotification = function () {\n var _a = useToggle(), open = _a[0], toggle = _a[1];\n var mapLayerCountNotifications = useViewSetting().mapLayerCountNotifications;\n var _b = useMemo(function () { return Object.entries(mapLayerCountNotifications || {}).filter(function (_a) {\n var item = _a[1];\n return item;\n }); }, [mapLayerCountNotifications]), _c = _b[0], _d = _c === void 0 ? [] : _c, firstItem = _d[1], otherItems = _b.slice(1);\n if (!firstItem)\n return null;\n return (React.createElement(Wrapper, null,\n React.createElement(\"div\", null,\n \"Displaying\",\n React.createElement(\"b\", null,\n \" \",\n getCountDisplay(firstItem)),\n \" \",\n firstItem.name,\n otherItems.length ? React.createElement(ToggleButton, { onClick: toggle },\n \"\\u00A0(\",\n open ? 'less' : 'more',\n \")\") : null),\n React.createElement(Collapse, { isOpen: open }, otherItems.map(function (_a) {\n var key = _a[0], item = _a[1];\n return item && (React.createElement(\"div\", { key: key },\n React.createElement(StyledAndText, null, \"and\"),\n React.createElement(\"b\", null,\n \" \",\n getCountDisplay(item),\n \" \"),\n item.name));\n }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Editor, DrawPolygonMode, EditingMode, RENDER_STATE } from 'react-map-gl-draw';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faQuestion, faTrash, faVectorSquare } from '@fortawesome/free-solid-svg-icons';\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { useMapValue } from './mapprovider';\nvar getEditHandleStyle = function (_a) {\n var feature = _a.feature, state = _a.state;\n switch (state) {\n case RENDER_STATE.SELECTED:\n case RENDER_STATE.HOVERED:\n case RENDER_STATE.UNCOMMITTED:\n return {\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 1,\n stroke: 'rgb(255, 255, 255)',\n strokeWidth: 2,\n r: 7,\n };\n default:\n return {\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 1,\n stroke: 'rgb(255, 255, 255)',\n strokeWidth: 2,\n r: 5,\n };\n }\n};\nvar getFeatureStyle = function (_a) {\n var feature = _a.feature, index = _a.index, state = _a.state;\n switch (state) {\n case RENDER_STATE.SELECTED:\n case RENDER_STATE.HOVERED:\n case RENDER_STATE.UNCOMMITTED:\n case RENDER_STATE.CLOSING:\n return {\n stroke: 'rgb(60, 71, 208)',\n strokeWidth: 2,\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 0.3,\n strokeDasharray: '4,2',\n };\n default:\n return {\n stroke: 'rgb(0, 123, 255)',\n strokeWidth: 2,\n fill: 'rgb(0, 123, 255)',\n fillOpacity: 0.1,\n };\n }\n};\nvar StyledButton = styled.button(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'background-color: #007bff !important; color: #ffffff;' : ''); });\nvar StyledWrapperTool = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar DrawControl = function (props) {\n var _a = useToggle(), isOpenHelpDialog = _a[0], toggleHelpDialog = _a[1];\n return (React.createElement(StyledWrapperTool, null,\n React.createElement(\"div\", { className: \"mapboxgl-ctrl-top-right\" },\n React.createElement(\"div\", { className: \"mapboxgl-ctrl-group mapboxgl-ctrl\" },\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Polygon tool\", isActive: props.isOnDrawMode, onClick: props.toggleDrawMode },\n React.createElement(FontAwesomeIcon, { icon: faVectorSquare })),\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Delete\", onClick: props.onDelete },\n React.createElement(FontAwesomeIcon, { icon: faTrash })),\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Help\", onClick: toggleHelpDialog },\n React.createElement(FontAwesomeIcon, { icon: faQuestion })))),\n React.createElement(HelpDialog, { isOpen: isOpenHelpDialog, toggle: toggleHelpDialog })));\n};\nvar HelpDialog = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Modal, { size: \"lg\", isOpen: props.isOpen, toggle: props.toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Using the Polygon Selection Tool\"),\n React.createElement(ModalBody, null,\n React.createElement(\"video\", { width: \"100%\", height: \"auto\", controls: true },\n React.createElement(\"source\", { src: \"/assets/videos/polygon_selection_video.mp4\", type: \"video/mp4\" })),\n React.createElement(\"br\", null),\n React.createElement(\"p\", null, \"The polygon selection tool is used to highlight an area and select, for example, a group of providers or clinicals for export.\"),\n React.createElement(\"ol\", null,\n React.createElement(\"li\", null, \"Turn on the drawing tool by clicking the square icons\"),\n React.createElement(\"li\", null, \"Click on the map where you want to start the polygon\"),\n React.createElement(\"li\", null, \"Draw the polygon by clicking on each point of the shape\"),\n React.createElement(\"li\", null, \"When you reach the last point, double-click to complete the shape\"),\n React.createElement(\"li\", null, \"From the export menu choose the data you woold like to save\"),\n React.createElement(\"li\", null, \"Click the trash can icon the remove the selection\"))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"primary\", onClick: props.toggle }, \"Close\")))));\n};\nexport var useDrawPolygon = function () {\n var _a = useState(null), mode = _a[0], setMode = _a[1];\n var _b = useToggle(), isOnDrawMode = _b[0], toggleDrawMode = _b[1], setDrawMode = _b[2];\n var editorRef = useRef(null);\n var _c = useMapValue('editorRef'), setEditorRef = _c[1];\n useEffect(function () {\n var _a;\n if (isOnDrawMode && !((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures().length)) {\n setMode(new DrawPolygonMode());\n }\n }, [isOnDrawMode]);\n useEffect(function () {\n setEditorRef(isOnDrawMode ? editorRef : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOnDrawMode]);\n var onDelete = function () {\n var _a, _b;\n var features = (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures();\n if (features.length) {\n (_b = editorRef.current) === null || _b === void 0 ? void 0 : _b.deleteFeatures(0);\n setDrawMode(false);\n }\n };\n var onUpdate = function (_a) {\n var editType = _a.editType;\n if (editType === 'addFeature') {\n setMode(new EditingMode());\n }\n };\n return {\n editor: (React.createElement(\"div\", { hidden: !isOnDrawMode, className: \"w-100 h-100\" },\n React.createElement(Editor, { ref: editorRef, style: { width: '100%', height: '100%' }, clickRadius: 12, mode: mode, onUpdate: onUpdate, editHandleShape: 'circle', featureStyle: getFeatureStyle, editHandleStyle: getEditHandleStyle }))),\n drawControl: React.createElement(DrawControl, { isOnDrawMode: isOnDrawMode, toggleDrawMode: toggleDrawMode, onDelete: onDelete }),\n };\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nexport var StyledMapSidebar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 25rem;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33);\\n padding: 1rem;\\n padding-top: 0;\\n z-index: 3;\\n background-color: #fff;\\n min-height: calc(100%);\\n max-height: calc(100%);\\n overflow: auto;\\n max-width: 100vw;\\n\"], [\"\\n width: 25rem;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33);\\n padding: 1rem;\\n padding-top: 0;\\n z-index: 3;\\n background-color: #fff;\\n min-height: calc(100%);\\n max-height: calc(100%);\\n overflow: auto;\\n max-width: 100vw;\\n\"])));\nexport var MapSidebar = function (props) {\n return React.createElement(React.Fragment, null, props.children);\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport moment from 'moment';\nimport { useViewValue } from '../../state';\nimport { IconButton } from '../../common';\nimport { StyledMapSidebar } from '../sidebar';\nimport { RightPanelTypeEnum } from '../../enums';\nimport { useCustomMapLayerDetail } from '../../selectors';\nvar StyledLocationDetailPanel = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n margin-right: auto;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n margin-right: auto;\\n\"])));\nexport var ImportingLocationDetail = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type.startsWith(RightPanelTypeEnum.CustomMapLayer)) ? selectedRegion.id : undefined;\n var maplayerLocationDetail = useCustomMapLayerDetail(id);\n var clearSelectedClinicalTrialInfo = function () {\n setSelectedRegion();\n };\n if (!maplayerLocationDetail)\n return null;\n return (React.createElement(StyledLocationDetailPanel, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Location Information\"),\n React.createElement(IconButton, { onClick: clearSelectedClinicalTrialInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(\"div\", null,\n React.createElement(\"div\", { className: \"mb-3 font-weight-bold\" }, maplayerLocationDetail.trialName),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, maplayerLocationDetail.locationName),\n React.createElement(\"address\", null,\n maplayerLocationDetail.address1 && (React.createElement(React.Fragment, null,\n maplayerLocationDetail.address1,\n React.createElement(\"br\", null))),\n maplayerLocationDetail.address2 && (React.createElement(React.Fragment, null,\n maplayerLocationDetail.address2,\n React.createElement(\"br\", null))),\n maplayerLocationDetail.city && React.createElement(React.Fragment, null,\n maplayerLocationDetail.city,\n \", \"),\n maplayerLocationDetail.stateAbv,\n \" \",\n maplayerLocationDetail.zip)),\n React.createElement(\"div\", { className: \"mb-3\" },\n maplayerLocationDetail.recruitmentStatus && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Recruitment Status:\"),\n \" \",\n maplayerLocationDetail.recruitmentStatus)),\n maplayerLocationDetail.startDate && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Start Date:\"),\n \" \",\n moment(maplayerLocationDetail.startDate).format('LL'))),\n maplayerLocationDetail.estimatedCompletionDate && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Estimated Completion Date:\"),\n \" \",\n moment(maplayerLocationDetail.estimatedCompletionDate).format('LL')))),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Contact Info\"),\n React.createElement(\"div\", { className: \"mb-2\" },\n React.createElement(\"div\", null, maplayerLocationDetail.contactName1),\n React.createElement(\"div\", null, maplayerLocationDetail.contactPhone1),\n React.createElement(\"a\", { href: \"mailto:\" + maplayerLocationDetail.contactEmail1 }, maplayerLocationDetail.contactEmail1))),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Investigator Info\"),\n React.createElement(\"div\", { className: \"mb-2\" },\n React.createElement(\"div\", null,\n maplayerLocationDetail.investigatorName1,\n \" \",\n maplayerLocationDetail.investigatorCredentials1),\n React.createElement(\"div\", null, maplayerLocationDetail.investigatorOrganization1))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { exportFilterSettingPayload, useAPI, useFilterSetting, useViewValue } from '../../state';\nimport { ClinicalTrialOptionEnum, RightPanelTypeEnum } from '../../enums';\nimport { LocationLayer } from '../locationlayer';\nimport { useCustomMapLayerLocationData } from '../../selectors';\nvar GET_AVAIABLE_MAP_LAYER_LIST_API = '/api/map-layer/get-all-that-belong-to-the-logged-user-index';\nvar StyledBriefTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"])));\nvar StyledFacilityName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledBriefTitle, { id: \"manage-map-layer-location-\" + props.location.id }, props.location.trialName),\n React.createElement(UncontrolledTooltip, { placement: \"top\", target: \"manage-map-layer-location-\" + props.location.id }, props.location.trialName),\n React.createElement(StyledFacilityName, null, props.location.locationName)));\n};\nvar SingleImportingLocationLayer = function (props) {\n var _a;\n var _b = useCustomMapLayerLocationData(props.mapLayer.id), mapLayerLocationData = _b[0], fetchMapLayerLocationData = _b[1], clearData = _b[2];\n var selectingType = useViewValue('importingLocationTypes', \"\" + props.mapLayer.id)[0];\n var show = !!selectingType;\n var filterSetting = useFilterSetting();\n useEffect(function () {\n if (show) {\n var payload = exportFilterSettingPayload(filterSetting);\n fetchMapLayerLocationData({\n comorbidities: selectingType === ClinicalTrialOptionEnum.TrialsRelated ? payload.comorbidities : undefined,\n });\n }\n return clearData;\n }, [clearData, fetchMapLayerLocationData, filterSetting, selectingType, show]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.CustomMapLayer + \"-\" + props.mapLayer.id, locations: mapLayerLocationData.data || [], show: show, color: props.mapLayer.displayColor, icon: props.mapLayer.displayIcon, requesting: mapLayerLocationData.requesting, error: mapLayerLocationData.error, retry: fetchMapLayerLocationData, totalCount: (_a = mapLayerLocationData.data) === null || _a === void 0 ? void 0 : _a.length, compareFn: function (a, b) { var _a, _b; return ((_a = a.trialName) === null || _a === void 0 ? void 0 : _a.localeCompare(b.trialName || '')) || ((_b = a.locationName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.locationName || '')) || 0; }, menuItemComponent: MenuItem, name: props.mapLayer.name, idFields: ['id', 'mapLayerId'] }));\n};\nexport var ImportingLocationLayers = React.memo(function () {\n var _a;\n var allMapLayers = useAPI(GET_AVAIABLE_MAP_LAYER_LIST_API)[0];\n return (React.createElement(React.Fragment, null, (_a = allMapLayers.data) === null || _a === void 0 ? void 0 : _a.map(function (ml) { return (React.createElement(SingleImportingLocationLayer, { key: ml.id, mapLayer: ml })); })));\n});\nexport * from './detail';\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { PieComponent } from '../../demographicchart/pie';\nimport { useFilterSetting } from '../../state';\nimport { useLookupSexCode, useLookupRaceCode, mapAgeValues, AGE_OPTIONS } from '../../lookupdata';\nimport { getDisplayText } from '../../utils';\nvar ChartContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar ChartContainerTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n // height: 8.5rem;\\n\"], [\"\\n // height: 8.5rem;\\n\"])));\nvar StyledLegendFormatter = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\"])));\nvar legendFormatter = function (value, entry) {\n return (React.createElement(StyledLegendFormatter, null,\n React.createElement(\"div\", null, value),\n React.createElement(\"div\", { className: \"pl-1 ml-auto\" }, (entry === null || entry === void 0 ? void 0 : entry.dataValue) && getDisplayText(entry.dataValue))));\n};\nvar ProviderPieComponent = function (props) {\n return (React.createElement(StyledChartComponent, null,\n React.createElement(PieComponent, { type: props.type, data: props.data, className: \"flex-row\", width: 160, height: \"8.5rem\", legendFormatter: legendFormatter })));\n};\nexport var SexChart = function (props) {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var lookupSexData = useLookupSexCode((_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.sexCodes)[0];\n var data = (_b = (lookupSexData.mappedValues || lookupSexData.data)) === null || _b === void 0 ? void 0 : _b.map(function (i) { return ({\n id: i.value,\n name: i.label,\n value: props.data[i.value],\n }); }).filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Sex\"),\n React.createElement(ProviderPieComponent, { type: \"sex\", data: data })));\n};\nexport var RaceChart = function (props) {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var lookupRaceData = useLookupRaceCode(filterSetting.raceMethodology, (_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.raceCodes)[0];\n var data = (_b = (lookupRaceData.mappedValues || lookupRaceData.data)) === null || _b === void 0 ? void 0 : _b.map(function (i) { return ({\n id: i.value,\n name: i.shortName,\n value: props.data[i.value],\n }); }).filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Race/Ethnicity\"),\n React.createElement(ProviderPieComponent, { type: \"race\", data: data })));\n};\nexport var AgeChart = function (props) {\n var _a;\n var filterSetting = useFilterSetting();\n var ageOptions = mapAgeValues((_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.ages) || AGE_OPTIONS;\n var data = ageOptions\n .map(function (i) { return ({\n id: i.stringified,\n name: i.label,\n value: props.data[i.stringified],\n }); })\n .filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Age\"),\n React.createElement(ProviderPieComponent, { type: \"age\", data: data })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { useViewValue } from '../../state';\nimport { IconButton } from '../../common';\nimport { SexChart, RaceChart, AgeChart } from './demographicchart';\nimport { StyledMapSidebar } from '../sidebar';\nimport { RightPanelTypeEnum } from '../../enums';\nimport { useProviderDetail } from '../../selectors';\nvar StyledProviderDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar ProviderName = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.125rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.125rem;\\n\"])));\nvar ProviderInfo = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar ProviderAddress = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n color: #6c757d;\\n\"], [\"\\n color: #6c757d;\\n\"])));\nvar PatientDemographics = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\"], [\"\"])));\nexport var ProviderDetail = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ProviderDetail ? selectedRegion.id : undefined;\n var selectedProviderInfo = useProviderDetail(id);\n var clearSelectedProviderInfo = function () {\n setSelectedRegion();\n };\n if (!selectedProviderInfo)\n return null;\n return (React.createElement(StyledProviderDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Provider Information\"),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: clearSelectedProviderInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(ProviderInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" },\n selectedProviderInfo.providerFirstName,\n \" \",\n selectedProviderInfo.providerLastName,\n \" \",\n selectedProviderInfo.providerCredentialText),\n React.createElement(ProviderName, null, selectedProviderInfo.name),\n React.createElement(ProviderAddress, null,\n selectedProviderInfo.address1,\n selectedProviderInfo.address2 && (React.createElement(React.Fragment, null,\n React.createElement(\"br\", null),\n selectedProviderInfo.address2)),\n React.createElement(\"br\", null),\n selectedProviderInfo.city,\n \", \",\n selectedProviderInfo.state,\n \" \",\n selectedProviderInfo.zip)),\n React.createElement(PatientDemographics, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Patient Demographics\"),\n selectedProviderInfo.sex && React.createElement(SexChart, { data: selectedProviderInfo.sex }),\n selectedProviderInfo.age && React.createElement(AgeChart, { data: selectedProviderInfo.age }),\n selectedProviderInfo.race && React.createElement(RaceChart, { data: selectedProviderInfo.race }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { getDisplayText } from '../../../utils';\nimport styled from 'styled-components';\nvar CardWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n\"])));\nvar CardValue = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nexport var DataRowForCard = function (props) { return (React.createElement(CardWrapper, null,\n React.createElement(CardValue, null,\n props.label,\n \":\"),\n React.createElement(CardValue, null, getDisplayText(props.value, props.suffix, props.prefix)))); };\nexport var StatisticDataForCard = function (props) {\n var geoId = props.geoId, geoValue = props.geoValue;\n return React.createElement(DataRowForCard, __assign({}, props, { value: geoId && !geoId.endsWith('-') ? geoValue : '-' }));\n};\nexport var StatisticDataForNational = function (props) {\n var nationalValue = props.nationalValue;\n return React.createElement(DataRowForCard, __assign({}, props, { value: nationalValue }));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PrevalenceDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Prevalence\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.national, nationalValue: props.data.national, suffix: \"%\" })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Prevalence\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.national, nationalValue: props.data.national, suffix: \"%\" }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nexport var AggregatedDataBannerDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: props.statisticName, geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalAggregatedValue, nationalValue: props.data.nationalAggregatedValue, suffix: props.data.suffix, prefix: props.data.prefix })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: props.statisticName, geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalAggregatedValue, nationalValue: props.data.nationalAggregatedValue, suffix: props.data.suffix, prefix: props.data.prefix }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nexport var TotalCountDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospitalizationRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ERVisitRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospEncounterRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Encounters\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Encounters\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var DeathRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Deaths', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Deaths', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ReadmissionRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Readmissions', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Readmissions', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospitalCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ERVisitCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PatientOutOfPocketPartBDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PatientOutOfPocketPartDDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var MedicarePartBDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var MedicarePartDDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var TotalCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useSelectedGeoIdInfo } from '../../geoselectedinfo';\nimport { getStatisticShortName } from '../../../lookupdata';\nimport { extractGeoData } from '../..';\nimport { StatisticTypeEnum } from '../../../enums';\nimport { PrevalenceDashBoard } from './prevalencedashboard';\nimport { AggregatedDataBannerDashBoard } from './aggregateddatabannerdashboard';\nimport { TotalCountDashBoard } from './totalcountdashboard';\nimport { HospitalizationRateDashBoard } from './hospitalizationratedashboard';\nimport { ERVisitRateDashBoard } from './ervisitratedashboard';\nimport { HospEncounterRateDashBoard } from './hospencounterratedashboard';\nimport { DeathRateDashBoard } from './deathratedashboard';\nimport { ReadmissionRateDashBoard } from './readmissionratedashboard';\nimport { HospitalCostDashBoard } from './hospitalcostdashboard';\nimport { ERVisitCostDashBoard } from './ervisitcostdashboard';\nimport { PatientOutOfPocketPartBDrugCostDashBoard } from './patientoutofpocketpartbdrugcostdashboard';\nimport { PatientOutOfPocketPartDDrugCostDashBoard } from './patientoutofpocketpartddrugcostdashboard';\nimport { MedicarePartBDrugCostDashBoard } from './medicarepartbdrugcostdashboard';\nimport { MedicarePartDDrugCostDashBoard } from './medicarepartddrugcostdashboard';\nimport { TotalCostDashBoard } from './totalcostdashboard';\nimport { ENV_LEGEND_COLORS } from '../../../env';\nimport { useFilterSetting, useViewSetting } from '../../../state';\nimport { useMapData } from '../../patientchoroplethlayer/usemapdata';\nvar CardTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.5rem 0;\\n font-weight: 500;\\n\"], [\"\\n padding: 0.5rem 0;\\n font-weight: 500;\\n\"])));\nvar CardContent = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 100%;\\n padding: 0.75rem;\\n vertical-align: middle;\\n position: relative;\\n\"], [\"\\n width: 100%;\\n padding: 0.75rem;\\n vertical-align: middle;\\n position: relative;\\n\"])));\nvar CardColor = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n background-color: \", \";\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n opacity: 0.7;\\n\"], [\"\\n background-color: \", \";\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n opacity: 0.7;\\n\"])), function (props) { return props.backgroundColor; });\nvar Text = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n position: relative;\\n\"], [\"\\n position: relative;\\n\"])));\nexport var Card = function (props) {\n var _a;\n var _b = useSelectedGeoIdInfo(props.viewSetting), firstLevel = _b[1], secondLevel = _b[2];\n var makeSelection = !((_a = props.viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties);\n return (React.createElement(React.Fragment, null,\n React.createElement(CardTitle, null, makeSelection ? ('Make Selection') : (React.createElement(React.Fragment, null,\n firstLevel,\n \" \",\n secondLevel))),\n React.createElement(CardContent, null,\n React.createElement(CardColor, { backgroundColor: props.backgroundColor }),\n React.createElement(Text, null, props.children))));\n};\nexport var NationalCard = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(CardTitle, null, \"National\"),\n React.createElement(CardContent, null,\n React.createElement(CardColor, { backgroundColor: \"#ccc\" }),\n React.createElement(Text, null, props.children))));\n};\nexport var StatisticCard = function () {\n var _a, _b, _c;\n var filterSetting = useFilterSetting();\n var viewSetting = useViewSetting();\n var mapData = useMapData()[0].data;\n var geoLevel = viewSetting.geoType;\n var selectedId = (_b = (_a = viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties) === null || _b === void 0 ? void 0 : _b.id;\n var statistic = (_c = filterSetting.statistic) === null || _c === void 0 ? void 0 : _c.statisticOption;\n var statisticName = getStatisticShortName(statistic);\n var extractedGeoData = extractGeoData(selectedId, filterSetting, geoLevel, mapData);\n var getStatisticComponent = function () {\n if (filterSetting.isAggregatedDataSource) {\n return AggregatedDataBannerDashBoard;\n }\n switch (statistic) {\n case StatisticTypeEnum.Prevalence:\n return PrevalenceDashBoard;\n case StatisticTypeEnum.TotalCount:\n return TotalCountDashBoard;\n case StatisticTypeEnum.HospitalizationRate:\n return HospitalizationRateDashBoard;\n case StatisticTypeEnum.ERVisitsRate:\n return ERVisitRateDashBoard;\n case StatisticTypeEnum.HospitalEncounterRate:\n return HospEncounterRateDashBoard;\n case StatisticTypeEnum.DeathRate:\n return DeathRateDashBoard;\n case StatisticTypeEnum.ReadmissionRate:\n return ReadmissionRateDashBoard;\n case StatisticTypeEnum.HospitalizationCost:\n return HospitalCostDashBoard;\n case StatisticTypeEnum.ERCost:\n return ERVisitCostDashBoard;\n case StatisticTypeEnum.OOPPartBDrugCost:\n return PatientOutOfPocketPartBDrugCostDashBoard;\n case StatisticTypeEnum.OOPPartDDrugCost:\n return PatientOutOfPocketPartDDrugCostDashBoard;\n case StatisticTypeEnum.MCRPartBDrugCost:\n return MedicarePartBDrugCostDashBoard;\n case StatisticTypeEnum.MCRPartDDrugCost:\n return MedicarePartDDrugCostDashBoard;\n case StatisticTypeEnum.TotalCost:\n return TotalCostDashBoard;\n default:\n return null;\n }\n };\n var StatisticComponent = getStatisticComponent();\n return (React.createElement(React.Fragment, null, StatisticComponent && (React.createElement(StatisticComponent, { backgroundColor: ENV_LEGEND_COLORS[extractedGeoData.breakIdx], viewSetting: viewSetting, data: extractedGeoData, geoId: selectedId, statisticName: statisticName }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { DropdownMenu, DropdownToggle, UncontrolledDropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, Select } from '../../common';\nimport { useMixedYear } from '../../lookupdata';\nimport { useFilterSetting, useViewValue } from '../../state';\nimport { TrendLineContainer } from '../../trendline';\nimport { useTrendLineData } from '../../trendline/usetrendlinedata';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"])));\nvar Header = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"])));\nvar StyledDropdownToggle = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar Title = styled.b(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledTitle = styled.b(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"], [\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"])));\nvar StyledDropdownMenu = styled(DropdownMenu)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar StyledSelectYearItem = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"], [\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"])));\nexport var TrendLine = function () {\n var _a = useViewValue('chartView', 'startingYear'), fromYear = _a[0], setFromYear = _a[1];\n var _b = useViewValue('chartView', 'endingYear'), toYear = _b[0], setToYear = _b[1];\n var _c = useTrendLineData(), trendlineData = _c[0], fetchTrendlineData = _c[1];\n var filterSettings = useFilterSetting();\n var lookupYearData = useMixedYear(filterSettings, true)[0];\n var selectYearItem = (React.createElement(React.Fragment, null,\n React.createElement(StyledTitle, null, \"From\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromYear, onChange: setFromYear, isOptionDisabled: function (option) { return !!toYear && option.value > toYear; }, isLoading: lookupYearData.requesting }),\n ' ',\n React.createElement(StyledTitle, null, \"to\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toYear, onChange: setToYear, isOptionDisabled: function (option) { return !!fromYear && option.value < fromYear; }, isLoading: lookupYearData.requesting })));\n return (React.createElement(StyledTrendLineComponent, null,\n React.createElement(Header, null,\n React.createElement(Title, null, \"National Trend\"),\n React.createElement(UncontrolledDropdown, null,\n React.createElement(StyledDropdownToggle, { size: \"2x\", caret: true },\n React.createElement(StyledTitle, null,\n fromYear,\n \" to \",\n toYear)),\n React.createElement(StyledDropdownMenu, { right: true },\n React.createElement(StyledSelectYearItem, null, selectYearItem)))),\n React.createElement(FallbackComponent, { requesting: trendlineData.requesting || lookupYearData.requesting, error: trendlineData.error, retry: fetchTrendlineData },\n React.createElement(TrendLineContainer, { data: trendlineData.data }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport React from 'react';\nimport { DropdownMenu, DropdownToggle, UncontrolledDropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, Select } from '../../common';\nimport { useCMSDataSeasonYear } from '../../lookupdata';\nimport { useFilterSetting, useViewValue } from '../../state';\nimport { TrendLineContainer } from '../../trendline';\nimport { useTrendLineDataForSeason } from '../../trendline/usetrendlinedata';\nimport { getYearsBySeason } from '../../utils';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"])));\nvar Header = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"])));\nvar StyledDropdownToggle = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar Title = styled.b(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledTitle = styled.b(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"], [\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"])));\nvar StyledDropdownMenu = styled(DropdownMenu)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar StyledSelectYearItem = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"], [\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"])));\nexport var TrendLineSeason = function () {\n var _a = useViewValue('chartView', 'startingSeasonYear'), fromSeasonYear = _a[0], setFromYear = _a[1];\n var _b = useViewValue('chartView', 'endingSeasonYear'), toSeasonYear = _b[0], setToYear = _b[1];\n var _c = useTrendLineDataForSeason(), trendlineData = _c[0], fetchTrendlineData = _c[1];\n var filterSettings = useFilterSetting();\n var lookupSeasonYearData = useCMSDataSeasonYear(filterSettings)[0];\n var selectYearItem = (React.createElement(React.Fragment, null,\n React.createElement(StyledTitle, null, \"From\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromSeasonYear, onChange: setFromYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(item.value)[0];\n var firstTo = getYearsBySeason(toSeasonYear)[0];\n return !!toSeasonYear && firstFrom > firstTo;\n }, isLoading: lookupSeasonYearData.requesting }),\n ' ',\n React.createElement(StyledTitle, null, \"to\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toSeasonYear, onChange: setToYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(fromSeasonYear)[0];\n var firstTo = getYearsBySeason(item.value)[0];\n return !!fromSeasonYear && firstFrom > firstTo;\n }, isLoading: lookupSeasonYearData.requesting })));\n return (React.createElement(StyledTrendLineComponent, null,\n React.createElement(Header, null,\n React.createElement(Title, null, \"National Trend\"),\n React.createElement(UncontrolledDropdown, null,\n React.createElement(StyledDropdownToggle, { size: \"2x\", caret: true },\n React.createElement(StyledTitle, null,\n fromSeasonYear,\n \" to \",\n toSeasonYear)),\n React.createElement(StyledDropdownMenu, { right: true },\n React.createElement(StyledSelectYearItem, null, selectYearItem)))),\n React.createElement(FallbackComponent, { requesting: trendlineData.requesting || lookupSeasonYearData.requesting, error: trendlineData.error, retry: fetchTrendlineData },\n React.createElement(TrendLineContainer, { data: trendlineData.data, keyValue: \"seasonYear\" }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useChartData } from '../../demographicchart/usechartdata';\nimport { FallbackComponent } from '../../common';\nimport { useFilterValue } from '../../state';\nimport { PieComponent } from '../../demographicchart/pie';\nimport { DemographicTypeEnum, StatisticTypeEnum } from '../../enums';\nvar StyledDemographicChart = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar Title = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 700;\\n\"], [\"\\n font-weight: 700;\\n\"])));\nvar StyledNational = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: normal;\\n\"], [\"\\n font-weight: normal;\\n\"])));\nvar Body = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledChartContainer = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\"], [\"\"])));\nvar ChartContainerTitle = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n // height: 8.5rem;\\n\"], [\"\\n // height: 8.5rem;\\n\"])));\nvar ChartContainer = function (props) {\n var _a;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var _b = props.data || [], data = _b[0], retry = _b[1];\n if (!((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.length))\n return null;\n return (React.createElement(StyledChartContainer, null,\n React.createElement(ChartContainerTitle, null, props.title),\n React.createElement(StyledChartComponent, null,\n React.createElement(FallbackComponent, { requesting: data === null || data === void 0 ? void 0 : data.requesting, error: data === null || data === void 0 ? void 0 : data.error, retry: retry },\n React.createElement(PieComponent, { type: props.type, data: data === null || data === void 0 ? void 0 : data.data, percentage: statistic === StatisticTypeEnum.Prevalence, className: \"flex-row\", width: \"45%\", height: \"8.5rem\" })))));\n};\nexport var DemographicChart = function () {\n var _a, _b, _c;\n var _d = useChartData(), chartData = _d[0], fetchChartData = _d[1];\n return (React.createElement(StyledDemographicChart, null,\n React.createElement(Title, null,\n \"Demographics - \",\n React.createElement(StyledNational, null, \"National\")),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: chartData.requesting !== false, error: chartData.error, retry: fetchChartData },\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Sex, title: \"Sex\", data: (_a = chartData.data) === null || _a === void 0 ? void 0 : _a.sex }),\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Age, title: \"Age\", data: (_b = chartData.data) === null || _b === void 0 ? void 0 : _b.age }),\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Race, title: \"Race/Ethnicity\", data: (_c = chartData.data) === null || _c === void 0 ? void 0 : _c.race })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { StatisticCard } from './statisticcard';\nimport { TrendLine } from './trendline';\nimport { TrendLineSeason } from './trendlineseason';\nimport { DemographicChart } from './demographicchart';\nimport { useHostnameIndexInfo } from '../../hostnameindexinfo';\nvar Space = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nvar TrendLineStatisticDetail = function () {\n var indexConfiguration = useHostnameIndexInfo();\n var isSeasonStatistic = ((indexConfiguration === null || indexConfiguration === void 0 ? void 0 : indexConfiguration.generalInformation) || {}).isSeasonStatistic;\n return isSeasonStatistic ? React.createElement(TrendLineSeason, null) : React.createElement(TrendLine, null);\n};\nexport var StatisticDetail = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(StatisticCard, null),\n React.createElement(Space, null),\n React.createElement(TrendLineStatisticDetail, null),\n React.createElement(Space, null),\n React.createElement(DemographicChart, null)));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { prependingHttpToUrlIfMissing } from '../../../utils';\nvar DataBody = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n word-break: break-word;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n word-break: break-word;\\n\"])));\nvar RepresentativePhoto = styled.img(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 6.5rem;\\n height: 8rem;\\n object-fit: cover;\\n margin-right: 0.5rem;\\n\"], [\"\\n width: 6.5rem;\\n height: 8rem;\\n object-fit: cover;\\n margin-right: 0.5rem;\\n\"])));\nvar RepresentativeInfo = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n // width: calc(100% - 7rem);\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n\"], [\"\\n // width: calc(100% - 7rem);\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n\"])));\nvar DataRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar DataRowAddress = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-size: 0.875rem;\\n\"], [\"\\n font-size: 0.875rem;\\n\"])));\nvar DataRowPhone = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: 550;\\n\"], [\"\\n font-weight: 550;\\n\"])));\nexport var FederalRepresentativeDetail = function (props) {\n var onErrorFunc = function (e) {\n e.target.onError = null;\n e.target.style.display = 'none';\n };\n if (!props.data)\n return null;\n return (React.createElement(DataBody, null,\n props.data.frPhotoLink && React.createElement(RepresentativePhoto, { src: prependingHttpToUrlIfMissing(props.data.frPhotoLink), onError: function (e) { return onErrorFunc(e); }, alt: \"\" }),\n React.createElement(RepresentativeInfo, null,\n props.data.frAddress && React.createElement(DataRowAddress, { className: \"mb-3\" }, props.data.frAddress.replace('Building', 'Bldg')),\n props.data.frPhoneNumber && React.createElement(DataRowPhone, { className: \"mb-3\" }, props.data.frPhoneNumber),\n React.createElement(DataRow, null,\n React.createElement(\"a\", { href: props.data.frWebSite, target: \"_blank\", rel: \"noopener noreferrer\" },\n \"Website\\u00A0\",\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt }))))));\n};\nexport var StateRepresentativeDetail = function (props) {\n var onErrorFunc = function (e) {\n e.target.onError = null;\n e.target.style.display = 'none';\n };\n if (!props.data)\n return null;\n return (React.createElement(DataBody, null,\n props.data.srPhotoLink && React.createElement(RepresentativePhoto, { src: prependingHttpToUrlIfMissing(props.data.srPhotoLink), onError: function (e) { return onErrorFunc(e); }, alt: \"\" }),\n React.createElement(RepresentativeInfo, null,\n props.data.srAddress && React.createElement(DataRowAddress, { className: \"mb-3\" }, props.data.srAddress.replace('Building', 'Bldg').replaceAll(';', ' ')),\n props.data.srPhoneNumber && React.createElement(DataRowPhone, { className: \"mb-3\" }, props.data.srPhoneNumber),\n React.createElement(DataRow, null,\n React.createElement(\"a\", { href: props.data.srWebSite, target: \"_blank\", rel: \"noopener noreferrer\" },\n \"Website\\u00A0\",\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt }))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { FederalRepresentativeDetail, StateRepresentativeDetail } from './representativedetail';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../../enums';\nimport { getDisplayUserName, separateGeoLevelId } from '../../../utils';\nimport { useLookupState, useLookupZipCodeDistrict } from '../../../lookupdata';\nimport { useCachedData, useViewValue } from '../../../state';\nimport { FallbackComponent } from '../../../common';\nimport { useToggle } from '../../../hooks';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faDemocrat, faRepublican, faFlagUsa } from '@fortawesome/free-solid-svg-icons';\nvar GET_FEDERAL_REPRESENTATIVES_API = '/api/general/representative/get-federal-representatives';\nvar GET_STATE_REPRESENTATIVES_UPPER_API = '/api/general/representative/get-state-representatives/UPPER';\nvar GET_STATE_REPRESENTATIVES_LOWER_API = '/api/general/representative/get-state-representatives/LOWER';\nvar StyledGroup = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.25rem 0;\\n\"], [\"\\n padding: 0.25rem 0;\\n\"])));\nvar GroupTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: bold;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: bold;\\n font-size: 1.25rem;\\n\"])));\nvar GroupContent = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \";\\n padding: 0.5rem 1rem;\\n cursor: pointer;\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n \", \";\\n padding: 0.5rem 1rem;\\n cursor: pointer;\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 0.5rem;\\n\"])), function (props) { return (props.expanded ? 'background-color: #007bff; color: white;' : 'background-color: #ededed'); });\nvar StyledRowExpanded = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding: 0.5rem 0.5rem 0.5rem 1rem;\\n background-color: white;\\n\"], [\"\\n padding: 0.5rem 0.5rem 0.5rem 1rem;\\n background-color: white;\\n\"])));\nvar StyledFullName = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: bold;\\n\"], [\"\\n font-weight: bold;\\n\"])));\nvar StyledIcon = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n color: \", \";\\n\"], [\"\\n color: \", \";\\n\"])), function (props) { return (props.expanded ? 'white' : props.isRepublican ? 'red' : 'blue'); });\nvar FederalRepresentativeItem = function (props) {\n var _a;\n var _b = useToggle(), expandedFederal = _b[0], toggleExpandFederal = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledRow, { onClick: toggleExpandFederal, expanded: expandedFederal },\n React.createElement(\"div\", null,\n React.createElement(StyledFullName, null,\n getDisplayUserName(props.data.frFirstName, props.data.frLastName, props.data.frMiddleName),\n \"\\u00A0 (\",\n props.data.frParty.charAt(0).toUpperCase(),\n \")\"),\n React.createElement(\"div\", null,\n props.data.frDistrict ? 'Representative' : 'Senator',\n \"\\u00A0\",\n props.data.frDistrict ? \"(\" + props.data.frStateAbbreviation + \" \" + ((_a = props.data.frDistrict) === null || _a === void 0 ? void 0 : _a.padStart(2, '0')) + \")\" : \"(\" + props.data.frStateAbbreviation + \")\")),\n React.createElement(StyledIcon, { expanded: expandedFederal, isRepublican: props.data.frParty.charAt(0).toUpperCase() === 'R' },\n React.createElement(FontAwesomeIcon, { size: \"3x\", icon: props.data.frParty.charAt(0).toUpperCase() === 'D' ? faDemocrat : props.data.frParty.charAt(0).toUpperCase() === 'R' ? faRepublican : faFlagUsa }))),\n React.createElement(StyledRowExpanded, { hidden: !expandedFederal },\n React.createElement(FederalRepresentativeDetail, { data: props.data }))));\n};\nvar StateRepresentativeItem = function (props) {\n var _a;\n var _b = useToggle(), expandedState = _b[0], toggleExpandState = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledRow, { onClick: toggleExpandState, expanded: expandedState },\n React.createElement(\"div\", null,\n React.createElement(StyledFullName, null,\n getDisplayUserName(props.data.srFirstName, props.data.srLastName, props.data.srMiddleName),\n \"\\u00A0 (\",\n props.data.srParty.charAt(0).toUpperCase(),\n \")\"),\n React.createElement(\"div\", null,\n props.data.srChamber === 'upper' ? 'State Senator' : 'State Representative',\n \"\\u00A0\",\n React.createElement(\"span\", null, props.data.srDistrict ? \"(\" + props.data.stState + \" \" + ((_a = props.data.srDistrict) === null || _a === void 0 ? void 0 : _a.padStart(2, '0')) + \")\" : \"(\" + props.data.stState + \")\"))),\n React.createElement(StyledIcon, { expanded: expandedState, isRepublican: props.data.srParty.charAt(0).toUpperCase() === 'R' },\n React.createElement(FontAwesomeIcon, { size: \"3x\", icon: props.data.srParty.charAt(0).toUpperCase() === 'D' ? faDemocrat : props.data.srParty.charAt(0).toUpperCase() === 'R' ? faRepublican : faFlagUsa }))),\n React.createElement(StyledRowExpanded, { hidden: !expandedState },\n React.createElement(StateRepresentativeDetail, { data: props.data }))));\n};\nvar DataGroup = function (props) {\n var _a;\n return (React.createElement(StyledGroup, null,\n React.createElement(GroupTitle, null, props.title),\n React.createElement(GroupContent, null, (_a = props.data) === null || _a === void 0 ? void 0 : _a.map(function (rep) { return (React.createElement(props.itemComponent, { key: rep.id, data: rep })); }))));\n};\nvar useRepresentativePanel = function (apiUrl) {\n var lookupState = useLookupState()[0].data;\n var selectedRegion = useViewValue('selectedRegion')[0];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var geoLevel = useViewValue('geoType')[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var _a = useCachedData(apiUrl), _b = _a[0], requesting = _b.requesting, apiRes = _b.data, error = _b.error, fetchData = _a[1];\n useEffect(function () {\n fetchData();\n }, [fetchData]);\n var _c = useMemo(function () {\n var _a;\n var _b = separateGeoLevelId(selectedId), stateCode = _b[0], district = _b[1];\n if (geoLevel !== GeoLevelEnum.Zip5 || (selectedId === null || selectedId === void 0 ? void 0 : selectedId.endsWith('-'))) {\n return [(stateCode && ((_a = lookupState === null || lookupState === void 0 ? void 0 : lookupState.find(function (lookup) { return lookup.stateCode === stateCode.padStart(2, '0'); })) === null || _a === void 0 ? void 0 : _a.stateAbbreviation)) || '', district];\n }\n else {\n return [lookupZipCode.getStateAbbOfZipCode(selectedId) || '', district];\n }\n }, [selectedId, geoLevel, lookupZipCode, lookupState]), stateAbb = _c[0], district = _c[1];\n return {\n stateAbb: stateAbb,\n district: district,\n requesting: requesting,\n apiData: apiRes === null || apiRes === void 0 ? void 0 : apiRes.data,\n error: error,\n fetchData: fetchData,\n };\n};\nexport var LegislatorsComponent = function (props) {\n var _a, _b;\n var data = useRepresentativePanel(GET_FEDERAL_REPRESENTATIVES_API);\n return (React.createElement(FallbackComponent, { requesting: data.requesting, error: data.error, retry: data.fetchData },\n React.createElement(DataGroup, { title: \"U.S. Senators\", data: (_a = data.apiData) === null || _a === void 0 ? void 0 : _a.senators[data.stateAbb], itemComponent: FederalRepresentativeItem }),\n props.type === GeoLevelEnum.Congressional && (React.createElement(DataGroup, { title: \"U.S. Representative\", data: (_b = data.apiData) === null || _b === void 0 ? void 0 : _b.representatives[data.stateAbb + \"-\" + data.district], itemComponent: FederalRepresentativeItem }))));\n};\nexport var StateDelegatesComponent = function (props) {\n var _a, _b, _c, _d;\n var apiUrl = '';\n if (props.type === GeoLevelEnum.StateUpper) {\n apiUrl = GET_STATE_REPRESENTATIVES_UPPER_API;\n }\n else if (props.type === GeoLevelEnum.StateLower) {\n apiUrl = GET_STATE_REPRESENTATIVES_LOWER_API;\n }\n var data = useRepresentativePanel(apiUrl);\n if (props.type !== GeoLevelEnum.StateUpper && props.type !== GeoLevelEnum.StateLower)\n return null;\n return (React.createElement(FallbackComponent, { requesting: data.requesting, error: data.error, retry: data.fetchData },\n props.type === GeoLevelEnum.StateUpper && ((_a = data.apiData) === null || _a === void 0 ? void 0 : _a[data.stateAbb + \"-\" + data.district]) && (React.createElement(DataGroup, { title: \"State Senator\", data: (_b = data.apiData) === null || _b === void 0 ? void 0 : _b[data.stateAbb + \"-\" + data.district], itemComponent: StateRepresentativeItem })),\n props.type === GeoLevelEnum.StateLower && ((_c = data.apiData) === null || _c === void 0 ? void 0 : _c[data.stateAbb + \"-\" + data.district]) && (React.createElement(DataGroup, { title: \"State Representative\", data: (_d = data.apiData) === null || _d === void 0 ? void 0 : _d[data.stateAbb + \"-\" + data.district], itemComponent: StateRepresentativeItem }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { ListGroup, ListGroupItem, TabContent, TabPane } from 'reactstrap';\nimport { IconButton } from '../../common';\nimport { useFilterValue, useViewSetting, useViewValue } from '../../state';\nimport { StyledMapSidebar } from '../sidebar';\nimport { getStatisticShortName } from '../../lookupdata';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../enums';\nimport { useSelectedGeoIdInfo } from '../geoselectedinfo';\nimport { StatisticDetail } from './statisticdetail';\nimport { LegislatorsComponent, StateDelegatesComponent } from './representatives';\nimport { useMount } from '../../hooks';\nimport { deviceType } from '../../utils';\nvar PanelHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.5rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.5rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"])));\nvar Title = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar StyledTabsContainer = styled(ListGroup)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"])));\nvar StyleTabSelector = styled(ListGroupItem)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"], [\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"])));\nvar TabSelector = React.memo(function (props) {\n var setActiveTab = props.setActiveTab;\n var handleClick = useCallback(function () {\n setActiveTab(props.tabId);\n }, [props.tabId, setActiveTab]);\n return (React.createElement(StyleTabSelector, { action: true, disabled: props.disabled, active: props.activeTab === props.tabId, onClick: handleClick }, props.children));\n});\nexport var RegionDetail = React.memo(function () {\n var _a;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var _c = useState('1'), activeTab = _c[0], setActiveTab = _c[1];\n var viewSetting = useViewSetting();\n var _d = useSelectedGeoIdInfo(viewSetting), firstLevelLabel = _d[1], secondLevelLabel = _d[2];\n var makeSelection = !((_a = viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties);\n var isDisabledRepresentativesTab = makeSelection || viewSetting.geoType === GeoLevelEnum.MSA;\n useMount(function () {\n if (!(selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) && deviceType() !== 'mobile') {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n else if (deviceType() === 'mobile' && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail && !selectedRegion.id) {\n setSelectedRegion();\n }\n });\n useEffect(function () {\n if (isDisabledRepresentativesTab) {\n setActiveTab('1');\n }\n }, [isDisabledRepresentativesTab]);\n var closePanel = useCallback(function () {\n setSelectedRegion();\n }, [setSelectedRegion]);\n if ((selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) !== RightPanelTypeEnum.RegionDetail)\n return null;\n return (React.createElement(StyledMapSidebar, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, makeSelection ? ('United States') : (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: secondLevelLabel ? 'font-weight-bold' : '' }, firstLevelLabel),\n \" \",\n secondLevelLabel))),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: closePanel, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(StyledTabsContainer, { horizontal: true },\n React.createElement(TabSelector, { tabId: \"1\", activeTab: activeTab, setActiveTab: setActiveTab }, statisticName),\n React.createElement(TabSelector, { disabled: isDisabledRepresentativesTab, tabId: \"2\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Representatives\")),\n React.createElement(TabContent, { activeTab: activeTab },\n React.createElement(TabPane, { tabId: \"1\" },\n React.createElement(StatisticDetail, null)),\n React.createElement(TabPane, { tabId: \"2\" },\n React.createElement(LegislatorsComponent, { type: viewSetting.geoType }),\n React.createElement(StateDelegatesComponent, { type: viewSetting.geoType })))));\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect } from 'react';\nimport { TabPane, TabContent } from 'reactstrap';\nimport ReactMapGL, { NavigationControl } from 'react-map-gl';\nimport styled from 'styled-components';\nimport { FallbackComponent } from '../common';\nimport { useMapData } from './patientchoroplethlayer/usemapdata';\nimport { useViewValue } from '../state/viewsetting';\nimport { useViewport, useMapValue, useMapRef, useMapFallback } from './mapprovider';\nimport { LegendOverlay } from './patientchoroplethlayer/legend';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { RightPanelTypeEnum, ViewModeEnum } from '../enums';\nimport { CountNotification } from './countnotification';\nimport { MapSidebar } from './sidebar';\nimport { ImportingLocationDetail } from './importinglocationlayer';\nimport { ProviderDetail } from './providerdetail';\nimport { RegionDetail } from './regiondetail';\nimport { useDrawPolygon } from './drawpolygon';\nimport { isTouchEnabled } from '../utils';\nvar StyledMapContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n\"], [\"\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n\"])));\nvar StyledNavigationControl = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n bottom: 2.5rem;\\n left: 0.5rem;\\n .disabled-zoom-out .mapboxgl-ctrl-zoom-out {\\n &:focus,\\n &:active {\\n box-shadow: none;\\n }\\n cursor: default !important;\\n span {\\n background-color: #f4f4f4;\\n background-image: url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23bbb'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\") !important;\\n }\\n }\\n\"], [\"\\n position: absolute;\\n bottom: 2.5rem;\\n left: 0.5rem;\\n .disabled-zoom-out .mapboxgl-ctrl-zoom-out {\\n &:focus,\\n &:active {\\n box-shadow: none;\\n }\\n cursor: default !important;\\n span {\\n background-color: #f4f4f4;\\n background-image: url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23bbb'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\") !important;\\n }\\n }\\n\"])));\nvar StyledRightOverlay = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: absolute;\\n display: flex;\\n flex-direction: row-reverse;\\n align-items: flex-end;\\n right: 0;\\n top: 3.875rem;\\n bottom: 0;\\n\"], [\"\\n position: absolute;\\n display: flex;\\n flex-direction: row-reverse;\\n align-items: flex-end;\\n right: 0;\\n top: 3.875rem;\\n bottom: 0;\\n\"])));\nexport var MapComponent = function (props) {\n var _a = useMapData(), mapData = _a[0], fetchMapData = _a[1], resetMapData = _a[2];\n var _b = useViewport(), viewport = _b[0], setViewport = _b[1];\n var _c = useMapValue('hoveringInfo'), setHoveringInfo = _c[1];\n var indexConfig = useHostnameIndexInfo();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var show = viewMode === ViewModeEnum.Map;\n var _d = useMapFallback(), fallbackData = _d[0], setFallbackData = _d[1];\n var _e = useViewValue('selectedRegion'), setSelectedRegion = _e[1];\n var _f = useViewValue('mapView', 'zoomId'), setZoomId = _f[1];\n var _g = useDrawPolygon(), editor = _g.editor, drawControl = _g.drawControl;\n useEffect(function () {\n resetMapData();\n fetchMapData();\n }, [fetchMapData, resetMapData]);\n useEffect(function () {\n setFallbackData({ requesting: mapData.requesting, error: mapData.error, retry: fetchMapData });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapData.requesting, mapData.error]);\n var updateViewport = useCallback(function (newViewport) {\n var zoom = newViewport.zoom;\n var minZoom = viewport.minZoom, maxZoom = viewport.maxZoom;\n if (minZoom && zoom < minZoom) {\n zoom = minZoom;\n }\n if (maxZoom && zoom > maxZoom) {\n zoom = maxZoom;\n }\n setViewport(__assign(__assign({}, newViewport), { minZoom: minZoom, maxZoom: maxZoom, zoom: zoom }));\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [viewport.minZoom, viewport.maxZoom]);\n var handleHover = useCallback(function (event) {\n var properties = null;\n var lngLat = [0, 0];\n var feature = (event.features || [])[0];\n if (!isTouchEnabled() && feature && event.target.className === 'overlays') {\n (lngLat = event.lngLat);\n (properties = feature.properties);\n setHoveringInfo(__spreadArrays([properties], lngLat));\n }\n else {\n setHoveringInfo();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var handleMouseOut = useCallback(function () {\n setHoveringInfo();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var hanldeClick = useCallback(function (event) {\n var feature = (event.features || [])[0];\n if (feature && event.target.className === 'overlays') {\n setZoomId(feature.properties.id);\n setHoveringInfo();\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail, id: feature.properties.id });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var mapEvents = {};\n if (show) {\n mapEvents = {\n onHover: handleHover,\n onMouseOut: handleMouseOut,\n onClick: hanldeClick,\n };\n }\n return (React.createElement(TabContent, { activeTab: viewMode },\n React.createElement(TabPane, { tabId: ViewModeEnum.Map },\n React.createElement(FallbackComponent, { requesting: fallbackData.requesting, error: fallbackData.error, retry: fallbackData.retry, overlay: true },\n React.createElement(StyledMapContent, null,\n React.createElement(ReactMapGL, __assign({ ref: mapRef, mapboxApiAccessToken: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.mapboxToken, mapStyle: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.mapboxStyle }, viewport, { width: \"100%\", height: \"100%\", onViewportChange: updateViewport, interactiveLayerIds: ['patientchoroplethlayer'] }, mapEvents, { doubleClickZoom: false }),\n React.createElement(StyledNavigationControl, null,\n React.createElement(NavigationControl, { className: \"\" + (viewport.minZoom >= viewport.zoom ? 'disabled-zoom-out' : ''), showCompass: false })),\n React.Children.map(props.children, function (child) { return ((child === null || child === void 0 ? void 0 : child.type) !== MapSidebar ? child : null); }),\n editor,\n React.createElement(CountNotification, null)),\n React.createElement(StyledRightOverlay, null,\n React.createElement(MapSidebar, null,\n React.createElement(RegionDetail, null),\n React.createElement(ProviderDetail, null),\n React.createElement(ImportingLocationDetail, null),\n React.Children.map(props.children, function (child) { return ((child === null || child === void 0 ? void 0 : child.type) === MapSidebar ? child : null); })),\n React.createElement(\"div\", { className: \"position-relative h-100\" },\n drawControl,\n React.createElement(LegendOverlay, null))))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useRef } from 'react';\nimport styled from 'styled-components';\nimport moment from 'moment';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { exportFilterSettingPayload, useFilterSetting, useViewValue } from '../../state';\nimport { useMapRef, useViewport } from '../mapprovider';\nimport { useDebounce, useDebounceValue } from '../../hooks';\nimport { ClinicalTrialOptionEnum, RightPanelTypeEnum } from '../../enums';\nimport { LocationLayer } from '../locationlayer';\nimport { useClinicalTrialGovApi } from '../../selectors';\nvar VIEW_PORT_DEBOUNCE_TIME = 500;\nvar StyledBriefTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"])));\nvar StyledFacilityName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledBriefTitle, { key: props.location.nctId, id: props.location.nctId }, props.location.briefTitle || ''),\n React.createElement(UncontrolledTooltip, { placement: \"top\", target: props.location.nctId }, props.location.briefTitle),\n React.createElement(StyledFacilityName, null, props.location.facilityName || '')));\n};\nexport var ClinicalTrialLayer = React.memo(function () {\n var _a, _b, _c;\n var filterSetting = useFilterSetting();\n var _d = useClinicalTrialGovApi(), clinicalTrialLocatorData = _d[0], fetchClinicalTrialLocatorData = _d[1], clearData = _d[2];\n var clinicalTrialOption = useViewValue('clinicalTrial', 'clinicalTrialOption')[0];\n var filterRecruitmentStatuses = useViewValue('clinicalTrialStatus', 'filterRecruitmentStatuses')[0];\n var viewport = useViewport()[0];\n var mapRef = useMapRef();\n var map = (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap();\n var show = !!clinicalTrialOption;\n var lngLatBounds = useDebounceValue(function () { return map === null || map === void 0 ? void 0 : map.getBounds().toArray(); }, [viewport.zoom, viewport.longitude, viewport.latitude], VIEW_PORT_DEBOUNCE_TIME);\n var selectedRegion = useViewValue('selectedRegion')[0];\n var loadedUserActionsHistoryRef = useRef(false);\n var fetchDataWrapped = function () {\n var payload = exportFilterSettingPayload(filterSetting);\n var userActionsHistory = !loadedUserActionsHistoryRef.current && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ClinicalTrialDetail\n ? {\n clinicalTrial: selectedRegion.id,\n }\n : undefined;\n fetchClinicalTrialLocatorData(__assign(__assign({}, payload), { primaryCoMorbidities: clinicalTrialOption === ClinicalTrialOptionEnum.AllTrials ? undefined : filterSetting.primaryCoMorbidities, currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, bottomLeftAndTopRightLngLatBound: lngLatBounds, userActionsHistory: userActionsHistory,\n filterRecruitmentStatuses: filterRecruitmentStatuses }));\n loadedUserActionsHistoryRef.current = true;\n };\n useDebounce(function () {\n if (filterSetting.forceUpdate && show) {\n fetchDataWrapped();\n }\n return clearData;\n }, [filterSetting.forceUpdate, show, lngLatBounds, clinicalTrialOption, filterRecruitmentStatuses]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.ClinicalTrialDetail, locations: ((_b = clinicalTrialLocatorData.data) === null || _b === void 0 ? void 0 : _b.clinicalTrials) || [], show: show, color: \"#4472C5\", icon: \"notes-medical\", requesting: clinicalTrialLocatorData.requesting, error: clinicalTrialLocatorData.error, retry: fetchDataWrapped, totalCount: (_c = clinicalTrialLocatorData.data) === null || _c === void 0 ? void 0 : _c.totalCount, compareFn: function (a, b) { var _a, _b; return ((_a = a.briefTitle) === null || _a === void 0 ? void 0 : _a.localeCompare(b.briefTitle || '')) || ((_b = a.facilityName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.facilityName || '')) || 0; }, menuItemComponent: MenuItem, name: \"clinical trial sites\", idFields: ['nctId', 'facilityName', 'zipcode'] }));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCloudDownloadAlt, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport moment from 'moment';\nimport { useAuth } from '../authentication';\nimport { useViewValue } from '../state';\nimport { IconButton } from '../common';\nimport { StyledMapSidebar } from './sidebar';\nimport { RightPanelTypeEnum } from '../enums';\nimport { useClinicalTrialDetail } from '../selectors';\nvar EXPORT_CSV_API = '/api/clinical-trials/export-to-excel-file';\nvar StyledClinicalTrialDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar ClinicalTrialLink = styled.a(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"], [\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"])));\nvar ClinicalTrialText = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n\"], [\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n\"])));\nvar ClinicalTrialInfo = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar ClinicalTrialLocation = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n padding-top: 1rem;\\n\"], [\"\\n padding-top: 1rem;\\n\"])));\nvar ClinicalTrialDate = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n padding-top: 1rem;\\n\"], [\"\\n padding-top: 1rem;\\n\"])));\nvar ClinicalTrialDateText = styled.span(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n padding-left: 0.25rem;\\n\"], [\"\\n padding-left: 0.25rem;\\n\"])));\nvar ClinicalTrialContactInfo = styled.div(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n padding-top: 2rem;\\n\"], [\"\\n padding-top: 2rem;\\n\"])));\nvar ClinicalTrialInvestigatorInfo = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n padding-top: 2rem;\\n\"], [\"\\n padding-top: 2rem;\\n\"])));\nvar StyledDiv = styled.div(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\"], [\"\"])));\nvar Location = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledEmail = styled.a(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\"], [\"\"])));\nexport var ClinicalTrialDetail = function () {\n var _a, _b, _c;\n var auth = useAuth();\n var _d = useViewValue('selectedRegion'), selectedRegion = _d[0], setSelectedRegion = _d[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ClinicalTrialDetail ? selectedRegion.id : undefined;\n var selectedClinicalTrialSite = useClinicalTrialDetail(id);\n var clearSelectedClinicalTrialInfo = function () {\n setSelectedRegion();\n };\n var onDownloadClinicalTrial = function () {\n var form = document.createElement('form');\n form.action = EXPORT_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify({\n clinicalTrialSites: [selectedClinicalTrialSite],\n dateTimeStringForExportingCsv: moment().format('YYYYMMDD HHmmss'),\n }),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!selectedClinicalTrialSite)\n return null;\n return (React.createElement(StyledClinicalTrialDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Clinical Trial Information\"),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: onDownloadClinicalTrial, icon: faCloudDownloadAlt, color: \"warning\", size: \"2x\" }),\n React.createElement(IconButton, { onClick: clearSelectedClinicalTrialInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(ClinicalTrialInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedClinicalTrialSite.briefTitle),\n React.createElement(ClinicalTrialLink, { href: \"https://clinicaltrials.gov/ct2/show/\" + selectedClinicalTrialSite.nctId, target: \"_blank\" },\n React.createElement(ClinicalTrialText, null, \"View in ClinicalTrials.gov\"),\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt })),\n React.createElement(ClinicalTrialLocation, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedClinicalTrialSite.facilityName),\n React.createElement(Location, null,\n selectedClinicalTrialSite.city,\n \", \",\n selectedClinicalTrialSite.stateAbv,\n \" \",\n selectedClinicalTrialSite.zipcode)),\n React.createElement(ClinicalTrialDate, null,\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Recruitment Status:\"),\n React.createElement(ClinicalTrialDateText, null, (_a = selectedClinicalTrialSite.recruimentStatuses) === null || _a === void 0 ? void 0 : _a.join(', ')),\n React.createElement(\"br\", null),\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Start Date:\"),\n React.createElement(ClinicalTrialDateText, null, moment(selectedClinicalTrialSite.startDate).format('LL')),\n React.createElement(\"br\", null),\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Estimated Completion Date:\"),\n React.createElement(ClinicalTrialDateText, null, moment(selectedClinicalTrialSite.completionDate).format('LL')),\n React.createElement(\"br\", null)),\n React.createElement(ClinicalTrialContactInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Contact Info\"), (_b = selectedClinicalTrialSite.contacts) === null || _b === void 0 ? void 0 :\n _b.map(function (item, idx) { return (React.createElement(\"div\", { key: idx, className: \"mb-2\" },\n React.createElement(StyledDiv, null, item.contactName),\n React.createElement(StyledDiv, null, item.contactPhone),\n React.createElement(StyledEmail, { href: \"mailto:\" + item.contactEmail }, item.contactEmail))); })),\n React.createElement(ClinicalTrialInvestigatorInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Investigator Info\"), (_c = selectedClinicalTrialSite.investigators) === null || _c === void 0 ? void 0 :\n _c.map(function (item, idx) { return (React.createElement(\"div\", { key: idx, className: \"mb-2\" },\n React.createElement(StyledDiv, null, item.investigatorName),\n React.createElement(StyledDiv, null, item.investigatorAffiliation))); })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTimesCircle, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { StyledMapSidebar } from './sidebar';\nimport { useViewValue } from '../state';\nimport { useQuestDiagnosticsDetail } from '../selectors';\nimport { IconButton } from '../common';\nvar StyledQuestDiagnosticsDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n right: 0;\\n top: 0.5rem;\\n\"], [\"\\n position: absolute;\\n right: 0;\\n top: 0.5rem;\\n\"])));\nvar LogoHeader = styled.img(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: 100%\\n\"], [\"\\n width: 100%\\n\"])));\nvar QuestDiagnosticsLink = styled.a(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"], [\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"])));\nvar QuestDiagnosticsText = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n font-size: 10pt;\\n\"], [\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n font-size: 10pt;\\n\"])));\nvar CountyText = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n color: #7F7F7F;\\n\"], [\"\\n color: #7F7F7F;\\n\"])));\nvar EmptyText = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n height: 2rem;\\n\"], [\"\\n height: 2rem;\\n\"])));\nexport var QuestDiagnosticsSitesDetails = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.id) || undefined;\n var selectedQuestDiagnosticsSites = useQuestDiagnosticsDetail(id);\n var clearSelectedQuestDiagnosticsSitesInfo = function () {\n setSelectedRegion();\n };\n if (!selectedQuestDiagnosticsSites)\n return null;\n return (React.createElement(StyledQuestDiagnosticsDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(IconButton, { onClick: clearSelectedQuestDiagnosticsSitesInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(LogoHeader, { src: '/assets/images/logos/quest-diagnostics-sites-logo.png', alt: '' }),\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedQuestDiagnosticsSites.site_name),\n React.createElement(CountyText, null, selectedQuestDiagnosticsSites.county),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", null, selectedQuestDiagnosticsSites.address_1),\n React.createElement(\"div\", null, selectedQuestDiagnosticsSites.address_2),\n React.createElement(\"div\", null,\n selectedQuestDiagnosticsSites.city,\n \", \",\n selectedQuestDiagnosticsSites.state_abbreviation,\n \", \",\n selectedQuestDiagnosticsSites.zip_code),\n React.createElement(QuestDiagnosticsLink, { href: \"https://www.google.com/maps/search/?api=1&query=\" + selectedQuestDiagnosticsSites.lat + \",\" + selectedQuestDiagnosticsSites.lng, target: \"_blank\" },\n React.createElement(QuestDiagnosticsText, null, \"Directions\"),\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt })),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", null,\n \"Phone 1: \",\n selectedQuestDiagnosticsSites.phone_1),\n React.createElement(\"div\", null,\n \"Phone 2: \",\n selectedQuestDiagnosticsSites.phone_2),\n React.createElement(\"div\", null,\n \"Tax: \",\n selectedQuestDiagnosticsSites.fax),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Hours Of Operation: \"),\n React.createElement(\"span\", null, selectedQuestDiagnosticsSites.operation_hours_desc)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { Marker } from 'react-map-gl';\nexport var PIN_SIZE = 35;\nexport var MemoMarker = React.memo(function (props) {\n return React.createElement(Marker, __assign({ offsetLeft: -PIN_SIZE / 2, offsetTop: -PIN_SIZE }, props));\n});\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { Layer } from 'react-map-gl';\nimport { ENV_LEGEND_COLORS } from '../../env';\nimport { useMapValue } from '../mapprovider';\nvar patientChoroplethLayer = function (transparency) {\n if (transparency === void 0) { transparency = 70; }\n return ({\n id: 'patientchoroplethlayer',\n type: 'fill',\n paint: {\n 'fill-color': ['to-color', ['at', ['get', 'breakIdx'], ['array', ['literal', ENV_LEGEND_COLORS]]]],\n 'fill-opacity': transparency / 100,\n },\n });\n};\nexport var PatientChoroplethLayer = function () {\n var transparency = useMapValue('transparency')[0];\n return React.createElement(Layer, __assign({ source: \"selectedgeographysource\" }, patientChoroplethLayer(transparency)));\n};\nexport * from './infopopup';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Supercluster from 'supercluster';\nimport { point } from '@turf/helpers';\nimport { useMapRef } from './mapprovider';\nimport { groupBy } from '../utils';\nvar CLUSTER_OPTIONS = {\n radius: 35,\n};\nvar getClusterOptions = function () { return (__assign(__assign({}, CLUSTER_OPTIONS), { map: function (props) { return ({ locations: [props.location], isSameLocation: false }); }, reduce: function (acc, props) {\n acc.locations = __spreadArrays(acc.locations, props.locations);\n } })); };\nexport var useCluster = function (data, options) {\n var _a, _b;\n var map = (_b = (_a = useMapRef()) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.getMap();\n var indexRef = useRef();\n var _c = useState([]), cookedclusters = _c[0], setCookedClusters = _c[1];\n var recalculateClusters = useCallback(function () {\n var index = indexRef.current;\n if (map && index) {\n var zoom = map.getZoom();\n var bounds = map.getBounds().toArray();\n var bbox = __spreadArrays(bounds[0], bounds[1]);\n var clusters = index.getClusters(bbox, Math.floor(zoom)).map(function (i) {\n if (!i.properties.cluster) {\n return i;\n }\n var _a = i.properties.locations, point = _a[0], points = _a.slice(1);\n i.properties.isSameLocation = points.every(function (p) { return p.lng === point.lng && p.lat === point.lat; });\n return i;\n });\n var groupByLngLat = groupBy(clusters, function (i) { return JSON.stringify(i.geometry.coordinates); });\n clusters = Object.values(groupByLngLat).map(function (points, idx) {\n if (points.length === 1) {\n return points[0];\n }\n return point(points[0].geometry.coordinates, {\n point_count: points.length,\n point_count_abbreviated: points.length,\n locations: points.map(function (p) { return p.properties.location; }),\n isSameLocation: true,\n cluster: true,\n cluster_id: idx,\n });\n });\n setCookedClusters(clusters);\n }\n }, [map]);\n useEffect(function () {\n map === null || map === void 0 ? void 0 : map.on('moveend', recalculateClusters);\n return function () {\n map === null || map === void 0 ? void 0 : map.off('moveend', recalculateClusters);\n };\n }, [map, recalculateClusters]);\n useEffect(function () {\n var index = new Supercluster(getClusterOptions());\n indexRef.current = index;\n index.load((data || []).map(function (payload) { return point([payload.lng, payload.lat], { location: payload }); }));\n recalculateClusters();\n }, [data, recalculateClusters]);\n var getClusterExpansionZoom = useCallback(function (clusterId) { return indexRef.current && indexRef.current.getClusterExpansionZoom(clusterId) + 2; }, []);\n return [cookedclusters, getClusterExpansionZoom];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { Popup as MapboxPopup } from 'react-map-gl';\nexport var Popup = function (props) {\n var show = props.show, onClose = props.onClose, resprops = __rest(props, [\"show\", \"onClose\"]);\n useEffect(function () {\n if (show && onClose) {\n var handleKeyDown_1 = function (event) {\n var key = event.key || event.keyCode;\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n onClose();\n }\n };\n document.addEventListener('keydown', handleKeyDown_1);\n return function () {\n document.removeEventListener('keydown', handleKeyDown_1);\n };\n }\n }, [onClose, show]);\n if (!show)\n return null;\n return React.createElement(MapboxPopup, __assign({}, resprops));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback, useMemo } from 'react';\nimport { RESET_FILTERS, SET_FILTER_VALUE } from './reducer';\nimport { ALL_AGE_VALUES } from '../../lookupdata';\nexport function useFilterValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_FILTER_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.filter.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetFilter = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_FILTERS, payload: value }); }, [dispatch]);\n};\nexport var useFilterSetting = function () {\n var filter = useMappedState(useCallback(function (state) { return state.filter; }, []));\n return useMemo(function () { return filter.toJSON(); }, [filter]);\n};\nexport var exportFilterSettingPayload = function (values) {\n var _a, _b, _c, _d, _e;\n if (values.isAggregatedDataSource) {\n return {\n statisticType: values.statisticType,\n statisticOptionType: values.statisticOptionType,\n dataSourceName: values.dataSourceName,\n year: values.year,\n filteringCategoryType: values.filteringCategoryType,\n filteringCategoryValue: values.filteringCategoryValue,\n };\n }\n return {\n consumptionGroupClasses: values.consumptionGroupClasses,\n additionalConditions: values.additionalConditions,\n primaryConditions: values.primaryConditions,\n primaryCoMorbidities: (_a = values.primaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.slice(0, 1),\n comorbidities: Array.from(new Set(__spreadArrays((values.primaryCoMorbidities || []), (values.comorbidities || [])))).sort(),\n demographics: __assign(__assign({}, values.demographics), { ages: ((_c = (_b = values.demographics) === null || _b === void 0 ? void 0 : _b.ages) === null || _c === void 0 ? void 0 : _c.length) ? (_d = values.demographics) === null || _d === void 0 ? void 0 : _d.ages : ALL_AGE_VALUES }),\n raceMethodology: values.raceMethodology,\n dataYear: isNaN(values.dataYear || 0) ? 9999 : values.dataYear,\n dataYearSeason: values.dataYearSeason,\n statistic: values.statistic,\n claimNumber: values.claimNumber,\n claimDay: values.claimDay,\n singleStateCode: values.singleStateCode,\n singleStateAbb: values.singleStateAbb,\n vaccineCptCodes: values.vaccineCptCodes,\n fluVaccineCptCodes: values.fluVaccineCptCodes,\n primaryConditionWithClaims: (_e = values.primaryCoMorbidities) === null || _e === void 0 ? void 0 : _e.map(function (condition) {\n var _a;\n return ({\n chronicCode: Number(condition),\n minClaimNumber: (_a = values.primaryConditionWithClaims) === null || _a === void 0 ? void 0 : _a[condition],\n });\n }).filter(function (i) { return i.minClaimNumber && i.chronicCode; }),\n primaryConditionWithClaimsOptionals: values.primaryConditionWithClaimsOptionals,\n patientPopulationReferenceYear: values.patientPopulationReferenceYear,\n useMBSFChronicCondition: values.useMBSFChronicCondition,\n };\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useEffect, useState } from 'react';\nimport { useMount } from '../hooks';\nimport { useIndexName } from '../hostnameindexinfo';\nimport { useAPI } from '../state';\nvar FETCH_AGGREGATED_DATA_SOURCES_API_URL = '/api/data-file/get-data-source-names-for-an-index/{indexName}';\nexport var useAggregatedDataSource = function () {\n var indexName = useIndexName();\n var _a = useAPI(FETCH_AGGREGATED_DATA_SOURCES_API_URL, { indexName: indexName }), agrregatedData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceGeos.some(function (geo) { return geo.geoLevelLookup.geoName !== 'NATIONAL'; }); }); }, [\n agrregatedData.data,\n ]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], rest);\n};\nexport var useAggregatedDataSourceName = function () {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n // transform & remove duplicated & sort\n var data = useMemo(function () { var _a; return (_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.dataSourceName; }).filter(function (name, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === name; }); }).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); }, [agrregatedData.data]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// year by source name\nexport var useAggregatedYear = function (filterSetting) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n // search & transform & remove duplicated & sort\n var data = useMemo(function () {\n var _a;\n return filterSetting.isAggregatedDataSource\n ? (_a = agrregatedData === null || agrregatedData === void 0 ? void 0 : agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName; }).map(function (i) { return i.year; }).filter(function (year, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === year; }); }).sort() : undefined;\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// statistic by source name + year\nexport var useAggregatedStatistic = function (filterSetting) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n var _b = useState(), data = _b[0], setData = _b[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year; }).map(function (i) { return i.dataTypeName; }).filter(function (i, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === i; }); }));\n }\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName, filterSetting.year]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// demographic by source name + year\nexport var useAggregatedDemogaphic = function (filterSetting, demographic) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n var _b = useState(), data = _b[0], setData = _b[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year; }).flatMap(function (i) { return i.dataSourceColumnDefinitions.filter(function (cd) { return cd.category === demographic; }); }).filter(function (i, idx, arr) { return (idx === arr.findIndex(function (curr) { return curr.name === i.name; })); }));\n }\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName, filterSetting.year, demographic]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// geo level by source name + year + statistic\nexport var useAggregatedGeoLevel = function (filterSetting) {\n var _a;\n var _b = useAggregatedDataSource(), agrregatedData = _b[0], res = _b.slice(1);\n var _c = useState(), data = _c[0], setData = _c[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { var _a; return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year && i.dataTypeName === ((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption); }).flatMap(function (i) { return i.dataSourceGeos; }).map(function (i) { return i.geoLevelLookup.geoName; }).filter(function (i, idx, arr) { return i !== 'NATIONAL' && idx === arr.findIndex(function (curr) { return curr === i; }); }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.year, (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\nexport var AggregatedDataSourceComponent = function () {\n var _a = useAggregatedDataSource(), fetchAggregatedData = _a[1];\n useMount(function () {\n fetchAggregatedData();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ENV_MIN_PATIENT_BUSINESS_RULE = parseInt(process.env.REACT_APP_MIN_PATIENT_BUSINESS_RULE || '11', 10);\nexport var ENV_LEGEND_COLORS = (process.env.REACT_APP_LEGEND_COLORS || '#ccc,#ffff00,#ffd226,#ffa143,#f27151,#d9434c,#b71933,#8b0000').split(',');\nexport var ENV_STATE_BORDER_COLOR = process.env.REACT_APP_STATE_BORDER_COLOR || '#A9A9A9';\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar _a;\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nexport var REPORT_TYPE_OPTIONS = (_a = {},\n _a[ReportTypeEnum.CongressionalDetailAnalysis] = {\n value: ReportTypeEnum.CongressionalDetailAnalysis,\n label: 'Congressional Detail Analysis',\n },\n _a[ReportTypeEnum.ZipCodeDetailAnalysis] = {\n value: ReportTypeEnum.ZipCodeDetailAnalysis,\n label: 'Zip Code Detail Analysis',\n },\n _a);\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label, FormGroup, Col } from 'reactstrap';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { Select } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nimport { REPORT_TYPE_OPTIONS } from '../configs/reportoptions';\nexport var ReportsTab = function (props) {\n var _a;\n var indexConfig = useHostnameIndexInfo();\n var _b = useReportsDialogValue('reportType'), reportType = _b[0], setReportType = _b[1];\n var allReportTypeOptions = React.useMemo(function () {\n var _a, _b, _c;\n if (!((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _a === void 0 ? void 0 : _a.reportTypes))\n return [REPORT_TYPE_OPTIONS[ReportTypeEnum.CongressionalDetailAnalysis]];\n return (_c = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _b === void 0 ? void 0 : _b.reportTypes) === null || _c === void 0 ? void 0 : _c.map(function (reportType) { return REPORT_TYPE_OPTIONS[reportType]; });\n }, [(_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _a === void 0 ? void 0 : _a.reportTypes]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Select Report Type\"),\n React.createElement(FormGroup, { row: true },\n React.createElement(Col, { sm: 10 },\n React.createElement(Select, { placeholder: \"Select report type\", options: allReportTypeOptions, name: \"reportType\", value: reportType, onChange: setReportType, isClearable: false })))));\n};\nReportsTab.defaultProps = {\n tabId: 'ReportsTab',\n tabName: 'Reports',\n tabField: ['reportType'],\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport { Select, FallbackComponent } from '../common';\nimport { LookupYearComponent, useCMSDataYear } from '../lookupdata';\nimport { DATA_SOURCES } from '../configs';\nimport { REPORT_DATA_SOURCES, useReportsDialogValue } from './reportsdialogprovider';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport _ from 'lodash';\nvar DataYearReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: isSeasonStatistic })));\n};\nexport var DataYearReportsDialogTab = function (props) {\n var _a;\n var _b = useReportsDialogValue('dataSourceType'), dataSourceType = _b[0], setDataSourceType = _b[1];\n var _c = useReportsDialogValue('dataYear'), dataYear = _c[0], setDataYear = _c[1];\n var listYearData = useCMSDataYear(dataSourceType)[0];\n var _d = useReportsDialogValue('conditions'), conditions = _d[0], setConditions = _d[1];\n var indexConfig = useHostnameIndexInfo();\n var defaultFilter = useDefaultFilter();\n useEffect(function () {\n var _a;\n if (((_a = listYearData.data) === null || _a === void 0 ? void 0 : _a.length) && !listYearData.data.includes(dataYear)) {\n var yearDataLatest = listYearData.data[listYearData.data.length - 1];\n if (!_.isNaN(Number(yearDataLatest)))\n setDataYear(yearDataLatest);\n }\n }, [dataYear, listYearData.data, setDataYear]);\n var handleChangeDataSource = function (value, name, option) {\n setDataSourceType(value);\n };\n var handleChangeYear = function (value) {\n var _a;\n setDataYear(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setConditions(conditions === null || conditions === void 0 ? void 0 : conditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: ((_a = defaultFilter.report) === null || _a === void 0 ? void 0 : _a.cmsDataSource) || REPORT_DATA_SOURCES, optionsTransform: function (v) { return DATA_SOURCES[v]; }, noSort: true, value: dataSourceType, onChange: handleChangeDataSource })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: listYearData.requesting, error: listYearData.error },\n React.createElement(Select, { name: \"dataYear\", options: listYearData.data, noSort: true, value: dataYear, onChange: handleChangeYear, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); } }))),\n React.createElement(LookupYearComponent, { dataSource: dataSourceType })));\n};\nDataYearReportsDialogTab.defaultProps = {\n tabId: 'DataYearTab',\n tabName: 'Data Set',\n tabField: ['dataSourceType', 'dataYear'],\n tabSelector: DataYearReportsTabSelector,\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, FormGroup, Label } from 'reactstrap';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { CheckboxGroup } from '../common';\nimport { ConditionType, useLookupConditionSortByType, useSynchronizedConditionReport } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks';\nexport var ConditionReportsDialogTab = function (props) {\n var _a, _b;\n var dataYear = useReportsDialogValue('dataYear')[0];\n var cmsDataSource = useReportsDialogValue('dataSourceType')[0];\n var lookupData = useLookupConditionSortByType(undefined, dataYear, cmsDataSource)[0];\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var _c = useReportsDialogValue('conditions'), conditions = _c[0], setConditions = _c[1];\n var _d = useReportsDialogValue('conditionClaimOptionals'), conditionsClaimOption = _d[0], setConditionsClaimOption = _d[1];\n var primaryConditionWithoutClaims = useGeneralConfigByDataSource('primaryConditionWithoutClaims', cmsDataSource, undefined, dataYear);\n useEffect(function () {\n if (props.condition) {\n setConditions([props.condition]);\n }\n }, [props.condition, setConditions]);\n var isExistedPrimaryConditionWithoutClaims = useMemo(function () { return Array.isArray(primaryConditionWithoutClaims) && primaryConditionWithoutClaims.length; }, [primaryConditionWithoutClaims]);\n useEffect(function () {\n if (isExistedPrimaryConditionWithoutClaims && conditions.length) {\n setConditions([]);\n }\n else if (!isExistedPrimaryConditionWithoutClaims && (conditionsClaimOption === null || conditionsClaimOption === void 0 ? void 0 : conditionsClaimOption.length)) {\n setConditionsClaimOption([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataYear, cmsDataSource]);\n var conditionSelected = useMemo(function () {\n if (isExistedPrimaryConditionWithoutClaims) {\n return conditionsClaimOption || [];\n }\n return conditions || [];\n }, [conditions, conditionsClaimOption, isExistedPrimaryConditionWithoutClaims]);\n var conditionOption = (_b = lookupData.data) === null || _b === void 0 ? void 0 : _b.filter(function (s) { return s.chronicConditionCode === props.condition; }).map(function (i) { return ({\n value: i.chronicConditionCode,\n label: i.chronicConditionName,\n }); });\n var onChange = function (values) {\n if (isExistedPrimaryConditionWithoutClaims) {\n setConditionsClaimOption(values);\n }\n else {\n setConditions(values);\n }\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Primary Conditions\"),\n React.createElement(CheckboxGroup, { options: primaryConditions || conditionOption, noAll: true, noSort: true, value: conditionSelected, onChange: onChange, sortValue: lookupData.sortValue })),\n props.hasSecondaryCondition && React.createElement(SecondaryCondition, null)));\n};\nvar SecondaryCondition = function () {\n var _a;\n var dataYear = useReportsDialogValue('dataYear')[0];\n var dataYearSeason = useReportsDialogValue('dataYearSeason')[0];\n var cmsDataSource = useReportsDialogValue('dataSourceType')[0];\n var lookupData = useLookupConditionSortByType(undefined, dataYear, cmsDataSource, dataYearSeason)[0];\n var secondaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Secondary];\n var _b = useReportsDialogValue('secondaryCormorbidities'), selectingConditions = _b[0], setSelectingConditions = _b[1];\n var doSyncSecondary = useSynchronizedConditionReport(ConditionType.Secondary)[0];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(doSyncSecondary, [dataYearSeason]);\n return (React.createElement(React.Fragment, null,\n React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Secondary Conditions\"),\n React.createElement(CheckboxGroup, { options: secondaryConditions, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue }))));\n};\nConditionReportsDialogTab.defaultProps = {\n tabId: 'ConditionTab',\n tabName: 'Conditions',\n tabField: ['conditions'],\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, FormGroup, Label } from 'reactstrap';\nimport { CheckboxGroup } from '../common';\nimport { GROUPED_STATISTIC_OPTIONS } from '../lookupdata';\nimport { useReportSetting, useReportsDialogValue } from './reportsdialogprovider';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { DATA_SOURCES } from '../configs';\nexport var StatisticReportsDialogTab = function (props) {\n var filterReports = useReportSetting()[0];\n var _a = useReportsDialogValue('statistics'), statistics = _a[0], setStatistics = _a[1];\n var cmsDataSource = filterReports.dataSourceType;\n var availableStatisticsConfig = useGeneralConfigByDataSource('availableStatistic');\n var availableStatistics = availableStatisticsConfig || DATA_SOURCES[cmsDataSource].availableStatistic;\n var isOptionDisabled = function (option) {\n return !!availableStatistics && !(availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.some(function (i) { return i === option.value; }));\n };\n // Filter statistics which not available\n useMount(function () {\n if (Array.isArray(availableStatistics) && availableStatistics.length) {\n var statisticFilterAvalable = statistics.filter(function (s) { return availableStatistics.includes(s); });\n setStatistics(statisticFilterAvalable);\n }\n });\n return (React.createElement(TabPane, { tabId: props.tabId }, GROUPED_STATISTIC_OPTIONS.map(function (group) { return (React.createElement(FormGroup, { tag: \"fieldset\", key: group.value },\n React.createElement(Label, { className: \"font-weight-bold\" }, group.label),\n React.createElement(CheckboxGroup, { options: group.options, noSort: true, noAll: true, value: statistics, onChange: setStatistics, disabled: isOptionDisabled }))); })));\n};\nStatisticReportsDialogTab.defaultProps = {\n tabId: 'StatisticTab',\n tabName: 'Statistics',\n tabField: ['statistics'],\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { FallbackComponent, CheckboxGroup } from '../common';\nimport { useLookupSexCode, LookupSexCodeComponent } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nexport var SexReportsDialogTab = function (props) {\n var _a = useLookupSexCode(), lookupSexCodeData = _a[0], fetchLookupSexCode = _a[1];\n var _b = useReportsDialogValue('sexCodes'), sexCodes = _b[0], setSexCodes = _b[1];\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupSexCodeData.requesting, error: lookupSexCodeData.error, retry: fetchLookupSexCode },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Sex\"),\n React.createElement(CheckboxGroup, { options: lookupSexCodeData.data, noSort: true, value: sexCodes, onChange: setSexCodes })),\n React.createElement(LookupSexCodeComponent, null)));\n};\nSexReportsDialogTab.defaultProps = {\n tabId: 'SexTab',\n tabName: 'Sex',\n tabField: ['sexCodes'],\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, CheckboxGroup, Select } from '../common';\nimport { useLookupRaceCode, LookupRaceCodeComponent } from '../lookupdata';\nimport { RaceMethodologyEnum, DataSourceEnum } from '../enums';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nvar METHODOLOGY_OPTIONS = [\n {\n value: RaceMethodologyEnum.Standard,\n label: 'Standard',\n },\n {\n value: RaceMethodologyEnum.RTI,\n label: 'RTI',\n },\n];\nvar StyledMethodologySelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 15rem;\\n\"], [\"\\n width: 15rem;\\n\"])));\nexport var RaceReportsDialogTab = function (props) {\n var dataSourceType = useReportsDialogValue('dataSourceType')[0];\n var _a = useReportsDialogValue('raceMethodology'), methodology = _a[0], setMethodology = _a[1];\n var _b = useReportsDialogValue('raceCodes'), raceCodes = _b[0], setRaceCodes = _b[1];\n var _c = useLookupRaceCode(methodology), lookupRaceCodeData = _c[0], fetchLookupRaceCode = _c[1];\n useEffect(function () {\n if (dataSourceType === DataSourceEnum.Medicaid) {\n setMethodology(RaceMethodologyEnum.Standard);\n }\n }, [dataSourceType, setMethodology]);\n useEffect(function () {\n if (lookupRaceCodeData.data && !(raceCodes === null || raceCodes === void 0 ? void 0 : raceCodes.length)) {\n setRaceCodes(lookupRaceCodeData.data.map(function (i) { return i.value; }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupRaceCodeData.data]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n dataSourceType !== DataSourceEnum.Medicaid && (React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Methodology\"),\n React.createElement(StyledMethodologySelect, { name: \"methodology\", options: METHODOLOGY_OPTIONS, noSort: true, value: methodology, onChange: setMethodology }))),\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Race\"),\n React.createElement(FallbackComponent, { requesting: lookupRaceCodeData.requesting, error: lookupRaceCodeData.error, retry: fetchLookupRaceCode },\n React.createElement(CheckboxGroup, { options: lookupRaceCodeData.data, noSort: true, value: raceCodes, onChange: setRaceCodes })),\n React.createElement(LookupRaceCodeComponent, null)));\n};\nRaceReportsDialogTab.defaultProps = {\n tabId: 'RaceTab',\n tabName: 'Race/Ethnicity',\n tabField: ['raceCodes'],\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { CheckboxGroup, Input, SimpleCheckbox } from '../common';\nimport { AGE_OPTIONS } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nvar MAX_AGE_RANGE = 999;\nvar StyledCustomAgeInput = styled(Input)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 5rem;\\n display: inline-block;\\n\"], [\"\\n width: 5rem;\\n display: inline-block;\\n\"])));\nexport var AgeReportsDialogTab = function (props) {\n var _a, _b;\n var _c = useReportsDialogValue('ages'), ages = _c[0], setAges = _c[1];\n var _d = useState(false), isCustomAge = _d[0], setIsCustomAge = _d[1];\n useEffect(function () {\n if (isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages[0]) && !ages[0].isCustom) {\n setIsCustomAge(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ages]);\n var handleChangeCustomAgeCheckbox = function (event) {\n setIsCustomAge(event.target.checked);\n setAges();\n };\n var handleChangeCustomAgeInput = function (value, name) {\n var _a;\n var newValue = __assign(__assign({}, ages === null || ages === void 0 ? void 0 : ages[0]), (_a = { isCustom: true }, _a[name] = value, _a));\n if (value === undefined && (ages === null || ages === void 0 ? void 0 : ages[0]) && newValue.minAge === undefined && newValue.maxAge === undefined) {\n setAges();\n }\n else {\n setAges([newValue]);\n }\n };\n var customMinAge = isCustomAge ? (_a = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _a === void 0 ? void 0 : _a.minAge : undefined;\n var customMaxAge = isCustomAge ? (_b = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _b === void 0 ? void 0 : _b.maxAge : undefined;\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Age\"),\n React.createElement(CheckboxGroup, { options: AGE_OPTIONS, noSort: true, value: ages, onChange: setAges, disabled: function (i) { return isCustomAge; } }),\n React.createElement(FormGroup, { check: true },\n React.createElement(SimpleCheckbox, { checked: isCustomAge, onChange: handleChangeCustomAgeCheckbox, disabled: !isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages.length), label: ' Custom: From ' }),\n \"\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"minAge\", type: \"number\", disabled: !isCustomAge, min: 0, max: customMaxAge !== undefined ? customMaxAge : MAX_AGE_RANGE, value: customMinAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0To\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"maxAge\", type: \"number\", disabled: !isCustomAge, min: customMinAge || 0, max: MAX_AGE_RANGE, value: customMaxAge, setFieldValue: handleChangeCustomAgeInput }))));\n};\nAgeReportsDialogTab.defaultProps = {\n tabId: 'AgeTab',\n tabName: 'Age',\n tabField: ['ages'],\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup, Col, ListGroupItem } from 'reactstrap';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { Select } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupState, useLookupZipCodeDistrict } from '../lookupdata';\nimport styled from 'styled-components';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nvar StlyledLabel = styled(Label)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n margin-left: 1rem;\\n font-size: inherit;\\n line-height: 1.5;\\n\"], [\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n margin-left: 1rem;\\n font-size: inherit;\\n line-height: 1.5;\\n\"])));\nvar ShowByReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var reportType = useReportsDialogValue('reportType')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: reportType !== ReportTypeEnum.CongressionalDetailAnalysis })));\n};\nexport var ShowByReportsDialogTab = function (props) {\n var _a;\n var lookupStateData = useLookupState()[0];\n var districtByStateData = useLookupZipCodeDistrict()[0];\n var indexConfig = useHostnameIndexInfo();\n var _b = useReportsDialogValue('firstLevel'), firstLevel = _b[0], setFirstLevel = _b[1];\n var _c = useReportsDialogValue('secondLevel'), secondLevel = _c[0], setSecondLevel = _c[1];\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var secondLevelOptions = useMemo(function () {\n var _a, _b;\n return firstLevel\n ? (_b = (_a = districtByStateData.data) === null || _a === void 0 ? void 0 : _a.congressionalDistrictByState[firstLevel]) === null || _b === void 0 ? void 0 : _b.sort(function (a, b) { return (\"\" + a).padStart(5, '0').localeCompare((\"\" + b).padStart(5, '0')); }) : undefined;\n }, [firstLevel, districtByStateData.data]);\n useEffect(function () {\n if ((secondLevelOptions === null || secondLevelOptions === void 0 ? void 0 : secondLevelOptions.length) && (!secondLevel || !secondLevelOptions.includes(secondLevel))) {\n setSecondLevel(secondLevelOptions[0]);\n }\n }, [secondLevel, secondLevelOptions, setSecondLevel]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, { row: true },\n React.createElement(StlyledLabel, { className: \"font-weight-bold\" }, \"State\"),\n React.createElement(Col, { sm: 5 },\n React.createElement(Select, { options: (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return !singleState || parseInt(i.stateCode, 10) === singleState.stateCode; }), name: \"firstLevel\", value: firstLevel, onChange: setFirstLevel, isLoading: lookupStateData.requesting })),\n React.createElement(StlyledLabel, { className: \"font-weight-bold\" }, \"District\"),\n React.createElement(Col, { sm: 3 },\n React.createElement(Select, { width: \"6\", options: secondLevelOptions, optionsTransform: function (value) { return ({ value: value, label: value }); }, noSort: true, name: \"secondLevel\", value: secondLevel, onChange: setSecondLevel, isLoading: !!firstLevel && districtByStateData.requesting })))));\n};\nShowByReportsDialogTab.defaultProps = {\n tabId: 'geoLevelTab',\n tabName: 'Show by',\n tabField: ['firstLevel', 'secondLevel'],\n tabSelector: ShowByReportsTabSelector,\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, Children, useEffect, useRef } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, TabContent, Card, ListGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport * as Yup from 'yup';\nimport qs from 'qs';\nimport { Button, AlertMessage, SimpleCheckbox, IconButton } from '../common';\nimport { getErrors, getFlattenErrors, isEmpty } from '../utils';\nimport { LeftTabSelectorItem } from '../filterdialog';\nimport { useReportsDialogValue, useReportSetting } from './reportsdialogprovider';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { GeoLevelEnum } from '../enums';\nimport { useLookupState } from '../lookupdata';\nimport { useAuth } from '../authentication';\nimport { ReportsTab } from './reportstab';\nimport { useAPI } from '../state';\nimport { useMount, useToggle } from '../hooks';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nexport var REPORT_SETTING_API = '/api/general/report-setting';\nvar HAMBURGER_MEDIA_SCREEN = 995;\nvar StyledModal = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledModalBody = styled(ModalBody)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"], [\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerGroup = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: none;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n display: none;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerButton = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(IconButton, __assign({}, props));\n})(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledTabSelectors = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(ListGroup, __assign({}, props));\n})(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n min-width: fit-content;\\n\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 2rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"], [\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n min-width: fit-content;\\n\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 2rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN, function (_a) {\n var show = _a.show;\n return (show ? 'display: block;' : '');\n});\nvar StyledTabContent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"], [\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"])));\nvar StyledSimpleCheckbox = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 1;\\n margin-left: 1.5rem;\\n\"], [\"\\n flex: 1;\\n margin-left: 1.5rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n isSeasonStatistic: Yup.bool().nullable(),\n reportType: Yup.string().nullable().required('Report Type is required'),\n firstLevel: Yup.string().nullable().when('reportType', {\n is: ReportTypeEnum.CongressionalDetailAnalysis,\n then: Yup.string().nullable().required('State is required'),\n }),\n secondLevel: Yup.string().nullable().when('reportType', {\n is: ReportTypeEnum.CongressionalDetailAnalysis,\n then: Yup.string().nullable().required('District is required'),\n }),\n zipCodes: Yup.object().when('reportType', {\n is: ReportTypeEnum.ZipCodeDetailAnalysis,\n then: Yup.object().shape({\n zipCode: Yup.array().nullable().when(['startWith', 'allInState'], {\n is: function (startWith, allInState) { return (startWith === null || startWith === void 0 ? void 0 : startWith.length) === 0 && (allInState === null || allInState === void 0 ? void 0 : allInState.length) === 0; },\n then: Yup.array().nullable().required('Please select at least one zip code'),\n }),\n startWith: Yup.array().when(['zipCode', 'allInState'], {\n is: function (zipCode, allInState) { return (zipCode === null || zipCode === void 0 ? void 0 : zipCode.length) === 0 && (allInState === null || allInState === void 0 ? void 0 : allInState.length) === 0; },\n then: Yup.array().nullable().required('Please select at least one zip code'),\n }),\n allInState: Yup.array().when(['zipCode', 'startWith'], {\n is: function (zipCode, startWith) { return (zipCode === null || zipCode === void 0 ? void 0 : zipCode.length) === 0 && (startWith === null || startWith === void 0 ? void 0 : startWith.length) === 0; },\n then: Yup.array().nullable().required('Please select at least one zip code'),\n }),\n }, [['startWith', 'allInState'], ['zipCode', 'allInState'], ['zipCode', 'startWith']])\n }),\n dataSourceType: Yup.string().nullable().required('Data Source is required'),\n dataYear: Yup.number().nullable().when('isSeasonStatistic', {\n is: false,\n then: Yup.number().nullable().required('Data Year is required'),\n }),\n dataYearSeason: Yup.array().nullable().when('isSeasonStatistic', {\n is: true,\n then: Yup.array().nullable().required('Data Year is required').min(1, 'Data Year is required'),\n }),\n fluVaccineCptCodes: Yup.array().nullable().when('isSeasonStatistic', {\n is: true,\n then: Yup.array().nullable().required('Please select at least one of the Vaccines').min(1, 'Please select at least one of the Vaccines'),\n }),\n statistics: Yup.array().nullable().required('Statistic is required').min(1, 'Please select at least one of the Statistic'),\n conditions: Yup.array().when(['isSeasonStatistic', 'conditionClaimOptionals'], {\n is: function (isSeasonStatistic, conditionClaimOptionals) {\n if (!!isSeasonStatistic)\n return false;\n return conditionClaimOptionals === undefined || (conditionClaimOptionals === null || conditionClaimOptionals === void 0 ? void 0 : conditionClaimOptionals.length) === 0;\n },\n then: Yup.array().nullable().required('Condition is Required'),\n }),\n conditionClaimOptionals: Yup.array().when(['isSeasonStatistic', 'conditions'], {\n is: function (isSeasonStatistic, conditions) {\n if (!!isSeasonStatistic)\n return false;\n return conditions === undefined || (conditions === null || conditions === void 0 ? void 0 : conditions.length) === 0;\n },\n then: Yup.array().nullable().required('Condition is Required'),\n }),\n ages: Yup.array().nullable().required('Age is required'),\n sexCodes: Yup.array().nullable().required('Sex is required'),\n raceCodes: Yup.array().nullable().required('Race is required'),\n}, [['conditions', 'conditionClaimOptionals']]);\nvar PRIVATE_REPORT_EXTENSION = (_a = {},\n _a[ReportTypeEnum.CongressionalDetailAnalysis] = { pathname: 'privatecongressionalreportextension', geolevel: GeoLevelEnum.Congressional },\n _a[ReportTypeEnum.ZipCodeDetailAnalysis] = { pathname: 'privatezipcodeanalysisreport', geolevel: GeoLevelEnum.Zip5 },\n _a);\nexport var ReportsDialogExtension = function (props) {\n var isOpen = props.isOpen, toggle = props.toggle;\n var _a = useState(), activeTab = _a[0], setActiveTab = _a[1];\n var _b = useState(), error = _b[0], setError = _b[1];\n var _c = useReportSetting(), reportSetting = _c[0], setReportSetting = _c[1];\n var indexName = useIndexName();\n var indexConfig = useHostnameIndexInfo();\n var lookupStateData = useLookupState()[0];\n var auth = useAuth();\n var isUnMount = useRef(false);\n var _d = useState(false), requesting = _d[0], setRequesting = _d[1];\n var _e = useReportsDialogValue('isRememberSettings'), isRememberSettings = _e[0], setIsRememberSettings = _e[1];\n var _f = useAPI(REPORT_SETTING_API), rememberSettingData = _f[0], fetchRememberSettingData = _f[1];\n var _g = useAPI(REPORT_SETTING_API, undefined, 'POST'), fetchRememberSettings = _g[1];\n var _h = useToggle(), show = _h[0], toggleShow = _h[1];\n useEffect(function () {\n if (isOpen) {\n fetchRememberSettingData();\n }\n }, [fetchRememberSettingData, isOpen]);\n useEffect(function () {\n var _a;\n if ((_a = rememberSettingData.data) === null || _a === void 0 ? void 0 : _a.isRememberSettings) {\n setReportSetting(rememberSettingData.data);\n }\n }, [rememberSettingData.data, setReportSetting]);\n var requiredField;\n if (reportSetting) {\n requiredField = Object.keys(getErrors(validationSchema, reportSetting));\n }\n useMount(function () { return function () {\n isUnMount.current = true;\n }; });\n useEffect(function () {\n var _a;\n if (isOpen) {\n setActiveTab((_a = ReportsTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId);\n }\n }, [isOpen]);\n var handleOK = function () { return __awaiter(void 0, void 0, void 0, function () {\n var errors, fileNameStateName, filename, search, shortToken, url;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (reportSetting) {\n errors = getFlattenErrors(validationSchema, reportSetting);\n }\n setError(errors);\n if (!isEmpty(errors)) {\n return [2 /*return*/];\n }\n fileNameStateName = reportSetting.reportType === ReportTypeEnum.CongressionalDetailAnalysis ?\n [reportSetting.firstLevel && lookupStateData.getNameByStateCode(reportSetting.firstLevel), (\"\" + (reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.secondLevel)).padStart(2, '0')] :\n ['zip5'];\n filename = __spreadArrays([\n indexName,\n 'CDA'\n ], fileNameStateName, [\n new Date().toISOString().slice(0, 10).replace(/-/g, ''),\n ]).join(' ');\n search = qs.stringify((__assign(__assign({}, reportSetting), { primaryCormorbidities: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.conditions, primaryConditions: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.conditions, geolevel: PRIVATE_REPORT_EXTENSION[reportSetting.reportType].geolevel, filename: filename, demographics: {\n ages: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.ages,\n sexCodes: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.sexCodes,\n raceCodes: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.raceCodes,\n }, raceMethodology: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.raceMethodology, reporting: (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _a === void 0 ? void 0 : _a.reporting, hostname: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname })));\n setRequesting(true);\n return [4 /*yield*/, auth.exportToken()];\n case 1:\n shortToken = _b.sent();\n if (!shortToken) return [3 /*break*/, 3];\n url = \"/api/pdf/statistics/private/\" + shortToken + \"/\" + PRIVATE_REPORT_EXTENSION[reportSetting.reportType].pathname;\n return [4 /*yield*/, fetch(url, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ query: search })\n })\n .then(function (response) { return response.blob(); })\n .then(function (blob) {\n var link = document.createElement('a');\n link.href = window.URL.createObjectURL(blob);\n link.download = filename;\n link.click();\n })];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n if (isRememberSettings) {\n fetchRememberSettings(reportSetting);\n }\n else {\n fetchRememberSettings();\n }\n toggle();\n if (!isUnMount.current) {\n setRequesting(false);\n }\n return [2 /*return*/];\n }\n });\n }); };\n var toggleTabSelector = function (tabId) {\n setActiveTab(tabId);\n toggleShow();\n };\n var tabSelectors = Children.map(props.children, function (child) {\n return (React.createElement(LeftTabSelectorItem, { activeTab: activeTab, toggleTab: toggleTabSelector, tabId: child.props.tabId, tabName: child.props.tabName, tabSelector: child.props.tabSelector, showRequiredDot: child.props.tabField.some(function (v) { return requiredField.includes(v); }) }));\n });\n var handleCheckRememberSettings = function (event) {\n setIsRememberSettings(event.target.checked);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledModal, { size: \"lg\", unmountOnClose: false, isOpen: isOpen, toggle: toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: toggle },\n React.createElement(FontAwesomeIcon, { icon: \"file-alt\", size: \"lg\" }),\n React.createElement(\"span\", null, \" Reports \")),\n React.createElement(StyledModalBody, null,\n React.createElement(HamburgerGroup, null,\n React.createElement(HamburgerButton, { color: \"#000\", icon: show ? 'times' : 'bars', size: \"2x\", onClick: toggleShow }),\n React.createElement(\"h5\", { className: \"m-0\" }, React.Children.map(props.children, function (child) { return (child.props.tabId === activeTab ? child.props.tabName : null); }))),\n React.createElement(StyledTabSelectors, { show: show }, tabSelectors),\n React.createElement(StyledTabContent, null,\n React.createElement(Card, { body: true, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(TabContent, { activeTab: activeTab }, props.children)))),\n React.createElement(ModalFooter, null,\n React.createElement(StyledSimpleCheckbox, null,\n React.createElement(SimpleCheckbox, { checked: isRememberSettings, onChange: handleCheckRememberSettings, label: \"Remember Settings\" })),\n React.createElement(Button, { color: \"secondary\", disabled: requesting, onClick: toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", loading: requesting, onClick: handleOK }, \"Show Report\"))),\n React.createElement(AlertMessage, { errors: error })));\n};\nexport * from './datayeartab';\nexport * from './conditiontab';\nexport * from './statistictab';\nexport * from './sextab';\nexport * from './racetab';\nexport * from './agetab';\nexport * from './showbytab';\nexport * from './reportstab';\nexport * from './reportsdialogprovider';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n"],"sourceRoot":""}