{"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/index.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/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/maplayermenu/questdiagnosticsmenu.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/map/questdiagnosticslayer/index.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","claimCondition","isOpen","toggle","defaultActiveTab","DataYearTab","defaultProps","tabId","IndexMapComponent","providerLayer","clinicalTrailsGovLayer","questDiagnosticsLayer","StyledDashboard","styled","div","StyledViewMode","IndexDashboard","setDefaultActiveTab","useToggle","showFilterDialog","toggleFilterDialog","handleToggleFilterDialog","combinedReducers","combineReducers","reducers","middlewares","thunk","promiseMiddleware","store","applyMiddleware","createStore","createStoreWithMiddleware","ReactDOM","render","Provider","path","exact","to","document","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","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","toString","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","URL","searchParams","get","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","ProviderDownloadButton","auth","useAuth","useProviderSetting","doGetPrimaryCareProvider","doGetHospitalProvider","specialistProviders","available","form","action","method","token","jwt","filtering","providerParam","bottomLeftAndTopRightLngLatBound","getBounds","toArray","dateTimeStringForExportingCsv","moment","format","polygonPoints","geometry","coordinates","lng","lat","input","appendChild","submit","removeChild","ClinicalTrialDownloadButton","clinicalTrialOption","filterRecruitmentStatuses","show","ClinicalTrialOptionEnum","AllTrials","currentDate","date","month","QuestDiagnosticsSitesDownloadButton","checkedQuestDiagnosticsStatus","BeneficiaryExportButton","handleExport","DownloadButton","Authenticated","roles","RoleEnum","SystemAdmin","GeneralUser","IndexManager","SingleIndexUserManager","SingleIndexDataManager","StyledFilterBar","Separator","LeftSide","RightSide","Navbar","HamburgerButton","ListIcon","FilterBar","setShow","tag","rel","host","useFetchIndexConfiguration","HostNameIndexInfoProvider","fetchIndexGeneralInfo","isCheckingToken","setIsCheckingToken","refreshToken","retry","useIndexName","indexName","useDefaultFilter","defaultFilter","filterOnload","singleStateCode","singleStateAbb","indexPrimaryCoMorbidities","primaryConditions","reportTypes","useMBSFChronicCondition","HostNameMetaTagManager","indexInfo","indexTitle","indexOwner","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","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","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","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","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","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","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","toggleLicenseAgreementModal","Col","sm","Recaptcha","sitekey","verifyCallback","expiredCallback","JWTStrategy","addEventListener","syncLogout","__jwt","subscribers","__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","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","reportCondition","hasSecondaryCondition","StatisticReportsDialogTab","ShowByReportsDialogTab","SexReportsDialogTab","RaceReportsDialogTab","AgeReportsDialogTab","UserMenu","publicIndex","methodologyDocument","isOpenMethodologyModal","toggleMethodologyModal","isOpenUserProfileModal","toggleUserProfileModal","isOpenChangePasswordModal","toggleChangePasswordModal","isOpenAboutModal","toggleAboutModal","disabledReport","landscape","isPrintMap","StyledHeader","IndexLogoAndNameLink","IndexLogo","IndexName","IndexNameH3","h3","IndexNameH5","Header","squareLogo","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","ImportingLocationMenu","mapLayerData","ml","LocationMenu","StyledSpecialists","ProviderSelectItem","ProviderMenu","specialistsData","fetchSpecialistsData","toggleDoGetPrimaryCareProvider","setDoGetPrimaryCareProvider","toggleDoGetHospitalProvider","setDoGetHospitalProvider","setSpecialistProviders","providerSetting","setProviderSetting","disabledSpecialistProvider","specialistsSearchText","setSpecialistsSearchText","providerSettingRef","CLINICALTRIALS_GOV_OPTIONS","CLINICAL_TRIAL_STATUS_DATA","NotYetRecruiting","Recruiting","EnrollingByInvitation","ActiveNotRecruiting","ALL_CLINICAL_TRIAL_STATUS","StyledSubMenuClinicalTrialsItem","StyledSubMenuClinicalTrialsStatusItem","StyledClinicalTrialOption","ClinicalTrialMenu","setClinicalTrialOption","clinicalTrialStatus","setClinicalTrialStatus","setFilterRecruitmentStatuses","clinicalTrialStatusRef","QuestDiagnosticsSites","questDiagnosticsStatus","setQuestDiagnosticsChecked","DropdownMenuStyle","MapLayerMenu","showMapLayerMenu","fetchMapLayerData","hasFixedChildren","Children","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","edittingFilterSetting","checkingSetting","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","ClaimCondition","setClaimNumber","setClaimDay","CLAIM_NUMBERS","cn","CLAIM_DAYS","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","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","clusters","getClusters","cluster","locations","point","points","isSameLocation","groupByLngLat","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","ProviderLayer","providerLocatorData","fetchProviderLocatorData","loadedUserActionsHistoryRef","lngLatBounds","fetchDataWrapped","userActionsHistory","ProviderDetail","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","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","ClinicalTrialLayer","clinicalTrialLocatorData","fetchClinicalTrialLocatorData","ClinicalTrialDetail","clinicalTrial","StyledClinicalTrialDetail","ClinicalTrialLink","ClinicalTrialText","ClinicalTrialInfo","ClinicalTrialLocation","ClinicalTrialDate","ClinicalTrialDateText","ClinicalTrialContactInfo","ClinicalTrialInvestigatorInfo","Location","StyledEmail","selectedClinicalTrialSite","clinicalTrialSites","faCloudDownloadAlt","recruimentStatuses","completionDate","contacts","contactName","contactPhone","contactEmail","investigators","investigatorName","investigatorAffiliation","QuestDiagnosticsSitesLayer","fetchQuestDiagnosticsData","site","site_name","StyledQuestDiagnosticsDetail","LogoHeader","QuestDiagnosticsLink","QuestDiagnosticsText","CountyText","EmptyText","QuestDiagnosticsSitesDetails","selectedQuestDiagnosticsSites","county","address_1","address_2","state_abbreviation","phone_1","phone_2","fax","operation_hours_desc","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.26b00e3d.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 ClaimCondition,\n useHostnameIndexInfo,\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 primaryCoMorbidities: Yup.array().nullable().required('Please select one of the primary conditions').min(1, 'Please select one of the primary conditions'),\n});\n\nexport const IndexFilterDialog: React.FC = (props) => {\n const indexConfig = useHostnameIndexInfo();\n const { claimCondition } = indexConfig?.generalInformation || {};\n\n return (\n \n \n \n \n \n {claimCondition && }\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 {\n MapComponent,\n SelectedGeographySource,\n PatientChoroplethLayer,\n ImportingLocationLayers,\n InfoPopup,\n ClinicalTrialLayer,\n ClinicalTrialDetail,\n MapSidebar,\n useHostnameIndexInfo,\n ProviderLayer,\n QuestDiagnosticsSitesLayer,\n QuestDiagnosticsSitesDetails,\n} from 'nmqf-common-ui';\n\nexport const IndexMapComponent: React.FC = () => {\n const indexConfig = useHostnameIndexInfo();\n const { providerLayer, clinicalTrailsGovLayer, questDiagnosticsLayer } = indexConfig?.generalInformation || {};\n\n return (\n \n \n \n {providerLayer ? : <>}\n {clinicalTrailsGovLayer ? : <>}\n {questDiagnosticsLayer ? : <>}\n \n \n \n \n {clinicalTrailsGovLayer && }\n {questDiagnosticsLayer && }\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 ClinicalTrialMenu,\n ClinicalTrialDownloadButton,\n QuestDiagnosticsSitesDownloadButton,\n useHostnameIndexInfo,\n ProviderMenu,\n ProviderDownloadButton,\n QuestDiagnosticsSites,\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 const indexConfig = useHostnameIndexInfo();\n const { providerLayer, clinicalTrailsGovLayer, questDiagnosticsLayer } = indexConfig?.generalInformation || {};\n\n const handleToggleFilterDialog = (tabId?: string) => {\n setDefaultActiveTab(tabId);\n toggleFilterDialog();\n };\n\n return (\n \n \n \n \n \n {providerLayer && }\n \n {clinicalTrailsGovLayer && }\n {questDiagnosticsLayer && }\n \n \n \n {providerLayer && }\n {clinicalTrailsGovLayer && }\n {questDiagnosticsLayer && }\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, Redirect, Route, Switch } 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 {\n AuthProvider,\n Authenticate,\n Header,\n NMQFGlobalStyle,\n HostNameIndexInfoProvider,\n reducers,\n HostNameMetaTagManager,\n FallbackStoredUIValueComponent,\n} 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);\n\nReactDOM.render(\n <>\n \n \n \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","/*\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","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 { 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","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from \"react\";\nimport { DropdownItemCheck } from \"../common\";\nimport { useFilterSetting, useViewValue } from \"../state\";\nexport var QuestDiagnosticsSites = function () {\n var _a = useViewValue('checkedQuestDiagnosticsStatus'), questDiagnosticsStatus = _a[0], setQuestDiagnosticsChecked = _a[1];\n var filterSetting = useFilterSetting();\n var _b = useViewValue('showMapLayerMenu'), setShowMapLayerMenu = _b[1];\n var disabled = !filterSetting.available;\n var handleClickQuestDiagnostics = function (checked) {\n setQuestDiagnosticsChecked(!checked);\n setShowMapLayerMenu();\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItemCheck, { value: !!questDiagnosticsStatus, disabled: disabled, checked: !!questDiagnosticsStatus, onChange: handleClickQuestDiagnostics, img: \"quest-diagnostics-sites-pin\" },\n React.createElement(\"span\", { className: \"flex-grow-1\" }, \"Quest Diagnostics Sites\"))));\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, { 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};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useRef } from \"react\";\nimport moment from 'moment';\nimport { exportFilterSettingPayload, useFilterSetting, useViewValue } from \"../../state\";\nimport { useMapRef, useViewport } from \"../mapprovider\";\nimport { useDebounce, useDebounceValue } from \"../../hooks\";\nimport { LocationLayer } from \"../locationlayer\";\nimport { useQuestDiagnosticsApi } from \"../../selectors\";\nvar VIEW_PORT_DEBOUNCE_TIME = 500;\nexport var QuestDiagnosticsSitesLayer = function () {\n var _a, _b, _c;\n var filterSetting = useFilterSetting();\n var _d = useQuestDiagnosticsApi(), questDiagnosticsData = _d[0], fetchQuestDiagnosticsData = _d[1], clearData = _d[2];\n var checkedQuestDiagnosticsStatus = useViewValue('checkedQuestDiagnosticsStatus')[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 selectedRegion = useViewValue('selectedRegion')[0];\n var loadedUserActionsHistoryRef = useRef(false);\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 show = !!checkedQuestDiagnosticsStatus;\n var fetchDataWrapped = function () {\n var payload = exportFilterSettingPayload(filterSetting);\n var userActionsHistory = !loadedUserActionsHistoryRef.current && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === 'QuestDiagnosticsSitesLayer'\n ? {\n site: selectedRegion.id,\n }\n : undefined;\n fetchQuestDiagnosticsData(__assign(__assign({}, payload), { currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, bottomLeftAndTopRightLngLatBound: lngLatBounds, userActionsHistory: userActionsHistory }));\n loadedUserActionsHistoryRef.current = true;\n };\n useDebounce(function () {\n if (filterSetting.forceUpdate && show) {\n fetchDataWrapped();\n }\n return clearData;\n }, [filterSetting.forceUpdate, show, lngLatBounds]);\n return (React.createElement(LocationLayer, { id: 'QuestDiagnosticsSitesLayer', locations: ((_b = questDiagnosticsData.data) === null || _b === void 0 ? void 0 : _b.questDiagnosticsSites) || [], show: show, color: \"#135B23\", imgPin: 'quest-diagnostics-sites-pin', requesting: questDiagnosticsData.requesting, error: questDiagnosticsData.error, retry: fetchDataWrapped, totalCount: (_c = questDiagnosticsData.data) === null || _c === void 0 ? void 0 : _c.totalCount, compareFn: function (a, b) { var _a, _b; return ((_a = a.site_name) === null || _a === void 0 ? void 0 : _a.localeCompare(b.site_name || '')) || ((_b = a.site_name) === null || _b === void 0 ? void 0 : _b.localeCompare(b.site_name || '')) || 0; }, \n // menuItemComponent={MenuItem}\n name: \"quest diagnostics sites\", idFields: ['id', 'site_code', 'zip_code'] }));\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":""}