{"version":3,"sources":["../../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","../../nmqf-common-ui/dist/storeduivalue/index.js","../../nmqf-common-ui/dist/filterbar/useeffectfiltercount.js","serviceWorker.ts","components/filterdialog/index.tsx","components/filterbar/index.tsx","components/map/illinoisregionlayer/index.tsx","components/map/illinoisregionlayer/regionpopup.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/index.js","../../nmqf-common-ui/dist/state/filterediting/index.js","../../nmqf-common-ui/dist/state/filtersettings/reducer.js","../../nmqf-common-ui/dist/state/filterediting/reducer.js","../../nmqf-common-ui/dist/state/viewsetting/reducer.js","../../nmqf-common-ui/dist/tableview/index.js","../../nmqf-common-ui/dist/userprofile/index.js","../../nmqf-common-ui/dist/userchangepassword/index.js","../../nmqf-common-ui/dist/aboutmodal/licenseagreementmodal.js","../../nmqf-common-ui/dist/enums/geolevelenum.js","../../nmqf-common-ui/dist/enums/statistictypeenum.js","../../nmqf-common-ui/dist/enums/datasourceenum.js","../../nmqf-common-ui/dist/enums/displayoptionenum.js","../../nmqf-common-ui/dist/enums/demographictypeenum.js","../../nmqf-common-ui/dist/enums/roleenum.js","../../nmqf-common-ui/dist/enums/racemethodologyenum.js","../../nmqf-common-ui/dist/enums/clinicaltrialoptionenum.js","../../nmqf-common-ui/dist/enums/conditionssorttypeenum.js","../../nmqf-common-ui/dist/enums/rightpaneltypeenum.js","../../nmqf-common-ui/dist/enums/userlogintypeenum.js","../../nmqf-common-ui/dist/enums/chronicconditionsourceenum.js","../../nmqf-common-ui/dist/reportsdialogextension/reportsdialogprovider.js","../../nmqf-common-ui/dist/state/api/reducer.js","../../nmqf-common-ui/dist/state/message/reducer.js","../../nmqf-common-ui/dist/state/api/index.js","../../nmqf-common-ui/dist/state/message/index.js","../../nmqf-common-ui/dist/state/index.js","../../nmqf-common-ui/dist/configs/filteroptions.js","../../nmqf-common-ui/dist/configs/viewoptions.js","../../nmqf-common-ui/dist/map/mapprovider.js","../../nmqf-common-ui/dist/common/spinner.js","../../nmqf-common-ui/dist/common/button.js","../../nmqf-common-ui/dist/common/fallback.js","../../nmqf-common-ui/dist/common/select.js","../../nmqf-common-ui/dist/common/checkboxgroup.js","../../nmqf-common-ui/dist/common/dropdownmenu.js","../../nmqf-common-ui/dist/common/messagebox.js","../../nmqf-common-ui/dist/common/constants.js","../../nmqf-common-ui/dist/common/radiogroup.js","../../nmqf-common-ui/dist/common/input.js","../../nmqf-common-ui/dist/common/datatable/index.js","../../nmqf-common-ui/dist/common/mainview.js","../../nmqf-common-ui/dist/common/index.js","../../nmqf-common-ui/dist/common/phoneinput.js","../../nmqf-common-ui/dist/common/datatable/pager.js","../../nmqf-common-ui/dist/authentication/changepasswordrequired.js","../../nmqf-common-ui/dist/authentication/resetpasswordrequired.js","../../nmqf-common-ui/dist/authentication/login.js","../../nmqf-common-ui/dist/authentication/confirmforgotpassword.js","../../nmqf-common-ui/dist/authentication/forgotpassword.js","../../nmqf-common-ui/dist/authentication/signup.js","../../nmqf-common-ui/dist/authentication/index.js","../../nmqf-common-ui/dist/types/index.js","../../nmqf-common-ui/dist/filterresultdashboard/index.js","../../nmqf-common-ui/dist/aboutmodal/index.js","../../nmqf-common-ui/dist/reportsdialogextension/showbyzipcodetab.js","../../nmqf-common-ui/dist/methodologymodal/constants.js","../../nmqf-common-ui/dist/methodologymodal/index.js","../../nmqf-common-ui/dist/reportsdialogextension/datayearseasontab.js","../../nmqf-common-ui/dist/reportsdialogextension/fluvaccinetab.js","../../nmqf-common-ui/dist/header/usermenu.js","../../nmqf-common-ui/dist/header/index.js","../../nmqf-common-ui/dist/filtersidebar/filtertab.js","../../nmqf-common-ui/dist/map/overlays/transparencycontrol.js","../../nmqf-common-ui/dist/filtersidebar/legendsidebar.js","../../nmqf-common-ui/dist/filtersidebar/legendtransparencytab.js","../../nmqf-common-ui/dist/filtersidebar/index.js","../../nmqf-common-ui/dist/maplayermenu/locationmenu.js","../../nmqf-common-ui/dist/maplayermenu/providermenu.js","../../nmqf-common-ui/dist/maplayermenu/clinicaltrialmenu.js","../../nmqf-common-ui/dist/maplayermenu/index.js","../../nmqf-common-ui/dist/demographicchart/bar.js","../../nmqf-common-ui/dist/demographicchart/index.js","../../nmqf-common-ui/dist/selectors/providersetting.js","../../nmqf-common-ui/dist/selectors/clinicaltrialgov.js","../../nmqf-common-ui/dist/selectors/provider.js","../../nmqf-common-ui/dist/selectors/custommaplayer.js","../../nmqf-common-ui/dist/selectors/questdiagnosticslayer.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/usemapdata.js","../../nmqf-common-ui/dist/i18n.js","../../nmqf-common-ui/dist/fontawesome.js","../../nmqf-common-ui/dist/filterdialog/tabselector.js","../../nmqf-common-ui/dist/filterdialog/datayeartab.js","../../nmqf-common-ui/dist/filterdialog/datayearseasontab.js","../../nmqf-common-ui/dist/filterdialog/usefiltercount.js","../../nmqf-common-ui/dist/filterdialog/filtercountloading.js","../../nmqf-common-ui/dist/filterdialog/conditiontab.js","../../nmqf-common-ui/dist/filterdialog/statistictab.js","../../nmqf-common-ui/dist/filterdialog/sextab.js","../../nmqf-common-ui/dist/filterdialog/racetab.js","../../nmqf-common-ui/dist/filterdialog/agetab.js","../../nmqf-common-ui/dist/filterdialog/aggregateddemographictab.js","../../nmqf-common-ui/dist/filterdialog/geoleveltab.js","../../nmqf-common-ui/dist/filterdialog/consumptiongroup.js","../../nmqf-common-ui/dist/filterdialog/index.js","../../nmqf-common-ui/dist/enums/reporttypeenum.js","../../nmqf-common-ui/dist/lookupdata/lookupcondition.js","../../nmqf-common-ui/dist/lookupdata/lookupstatistic.js","../../nmqf-common-ui/dist/lookupdata/lookupstate.js","../../nmqf-common-ui/dist/lookupdata/lookupzipcodedistrict.js","../../nmqf-common-ui/dist/lookupdata/lookupcounty.js","../../nmqf-common-ui/dist/lookupdata/lookupmsa.js","../../nmqf-common-ui/dist/lookupdata/lookupsexcode.js","../../nmqf-common-ui/dist/lookupdata/lookupracecode.js","../../nmqf-common-ui/dist/lookupdata/lookupage.js","../../nmqf-common-ui/dist/lookupdata/lookupyear.js","../../nmqf-common-ui/dist/lookupdata/lookupconsumptiongroup.js","../../nmqf-common-ui/dist/lookupdata/lookupgeolevel.js","../../nmqf-common-ui/dist/lookupdata/lookupclaim.js","../../nmqf-common-ui/dist/lookupdata/lookupvaccine.js","../../nmqf-common-ui/dist/lookupdata/lookupfluvaccine.js","../../nmqf-common-ui/dist/state/viewsetting/index.js","../../nmqf-common-ui/dist/map/selectedgeographysource.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/infopopup.js","../../nmqf-common-ui/dist/map/locationlayer.js","../../nmqf-common-ui/dist/map/providerlayer/index.js","../../nmqf-common-ui/dist/map/countnotification.js","../../nmqf-common-ui/dist/map/drawpolygon.js","../../nmqf-common-ui/dist/map/sidebar.js","../../nmqf-common-ui/dist/map/importinglocationlayer/detail.js","../../nmqf-common-ui/dist/map/importinglocationlayer/index.js","../../nmqf-common-ui/dist/map/providerdetail/demographicchart.js","../../nmqf-common-ui/dist/map/providerdetail/index.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/statisticdataforcard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/prevalencedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/aggregateddatabannerdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/totalcountdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospitalizationratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/ervisitratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospencounterratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/deathratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/readmissionratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospitalcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/ervisitcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/patientoutofpocketpartbdrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/patientoutofpocketpartddrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/medicarepartbdrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/medicarepartddrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/totalcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/index.js","../../nmqf-common-ui/dist/map/regiondetail/trendline.js","../../nmqf-common-ui/dist/map/regiondetail/trendlineseason.js","../../nmqf-common-ui/dist/map/regiondetail/demographicchart.js","../../nmqf-common-ui/dist/map/regiondetail/statisticdetail.js","../../nmqf-common-ui/dist/map/regiondetail/representatives/representativedetail.js","../../nmqf-common-ui/dist/map/regiondetail/representatives/index.js","../../nmqf-common-ui/dist/map/regiondetail/index.js","../../nmqf-common-ui/dist/map/mapcontent.js","../../nmqf-common-ui/dist/map/clinicaltrialsitelayer/index.js","../../nmqf-common-ui/dist/map/clinicaltrialdetail.js","../../nmqf-common-ui/dist/map/questdiagnosticssitesdetail.js","../../nmqf-common-ui/dist/map/memo.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/index.js","../../nmqf-common-ui/dist/map/usecluster.js","../../nmqf-common-ui/dist/map/popup.js","../../nmqf-common-ui/dist/state/filtersettings/index.js","../../nmqf-common-ui/dist/filterdialog/aggregateddatasource.js","../../nmqf-common-ui/dist/env.js"],"names":["_a","REPORT_TYPE_OPTIONS","ReportTypeEnum","CongressionalDetailAnalysis","value","label","ZipCodeDetailAnalysis","ReportsTab","props","indexConfig","useHostnameIndexInfo","_b","useReportsDialogValue","reportType","setReportType","allReportTypeOptions","React","useMemo","_c","generalInformation","reportTypes","map","createElement","TabPane","tabId","Label","className","FormGroup","row","Col","sm","Select","placeholder","options","name","onChange","isClearable","defaultProps","tabName","tabField","__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__rest","e","indexOf","getOwnPropertySymbols","propertyIsEnumerable","DataYearReportsDialogTab","dataSourceType","setDataSourceType","dataYear","setDataYear","listYearData","useCMSDataYear","_d","conditions","setConditions","defaultFilter","useDefaultFilter","useEffect","data","includes","yearDataLatest","_","isNaN","Number","report","cmsDataSource","REPORT_DATA_SOURCES","optionsTransform","v","DATA_SOURCES","noSort","option","FallbackComponent","spinnerSize","requesting","error","ignoreConditionsByYear","filter","cc","year","LookupYearComponent","dataSource","tabSelector","resprops","isSeasonStatistic","ListGroupItem","hidden","ConditionReportsDialogTab","lookupData","useLookupConditionSortByType","undefined","primaryConditions","groupedCondition","ConditionType","Primary","conditionsClaimOption","setConditionsClaimOption","primaryConditionWithoutClaims","useGeneralConfigByDataSource","condition","isExistedPrimaryConditionWithoutClaims","Array","isArray","conditionSelected","conditionOption","chronicConditionCode","chronicConditionName","tag","CheckboxGroup","noAll","values","sortValue","hasSecondaryCondition","SecondaryCondition","dataYearSeason","secondaryConditions","Secondary","selectingConditions","setSelectingConditions","doSyncSecondary","useSynchronizedConditionReport","Fragment","StatisticReportsDialogTab","filterReports","useReportSetting","statistics","setStatistics","availableStatistics","availableStatistic","isOptionDisabled","some","useMount","statisticFilterAvalable","GROUPED_STATISTIC_OPTIONS","group","key","disabled","SexReportsDialogTab","useLookupSexCode","lookupSexCodeData","fetchLookupSexCode","sexCodes","setSexCodes","retry","LookupSexCodeComponent","templateObject_1","__makeTemplateObject","cooked","raw","defineProperty","METHODOLOGY_OPTIONS","RaceMethodologyEnum","Standard","RTI","StyledMethodologySelect","styled","RaceReportsDialogTab","methodology","setMethodology","raceCodes","setRaceCodes","useLookupRaceCode","lookupRaceCodeData","fetchLookupRaceCode","DataSourceEnum","Medicaid","LookupRaceCodeComponent","StyledCustomAgeInput","Input","AgeReportsDialogTab","ages","setAges","useState","isCustomAge","setIsCustomAge","isCustom","handleChangeCustomAgeInput","newValue","minAge","maxAge","customMinAge","customMaxAge","AGE_OPTIONS","check","SimpleCheckbox","checked","event","target","type","min","max","setFieldValue","StlyledLabel","ShowByReportsDialogTab","lookupStateData","useLookupState","districtByStateData","useLookupZipCodeDistrict","firstLevel","setFirstLevel","secondLevel","setSecondLevel","singleState","secondLevelOptions","congressionalDistrictByState","sort","a","b","padStart","localeCompare","parseInt","stateCode","isLoading","width","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","templateObject_7","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","result","done","then","__generator","body","f","y","g","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","push","__spreadArrays","il","r","k","j","jl","StyledModal","Modal","StyledModalBody","ModalBody","HamburgerGroup","div","HamburgerButton","show","IconButton","StyledTabSelectors","ListGroup","StyledTabContent","StyledSimpleCheckbox","validationSchema","Yup","shape","nullable","required","when","is","zipCodes","zipCode","startWith","allInState","fluVaccineCptCodes","conditionClaimOptionals","PRIVATE_REPORT_EXTENSION","pathname","geolevel","GeoLevelEnum","Congressional","Zip5","ReportsDialogExtension","requiredField","isOpen","toggle","activeTab","setActiveTab","setError","reportSetting","setReportSetting","indexName","useIndexName","auth","useAuth","isUnMount","useRef","setRequesting","_e","isRememberSettings","setIsRememberSettings","_f","useAPI","rememberSettingData","fetchRememberSettingData","fetchRememberSettings","_h","useToggle","toggleShow","keys","getErrors","current","toggleTabSelector","tabSelectors","Children","children","child","LeftTabSelectorItem","toggleTab","showRequiredDot","size","unmountOnClose","scrollable","ModalHeader","FontAwesomeIcon","icon","color","onClick","Card","TabContent","ModalFooter","Button","loading","errors","fileNameStateName","filename","search","shortToken","url","getFlattenErrors","isEmpty","getNameByStateCode","Date","toISOString","slice","replace","join","qs","stringify","primaryCormorbidities","demographics","raceMethodology","reporting","hostname","exportToken","fetch","method","headers","JSON","query","response","blob","link","document","href","window","URL","createObjectURL","download","click","AlertMessage","getSessionStorageItem","initialValue","item","sessionStorage","getItem","parse","setUIValueSessionStorage","picks","omits","storedValue","santifiedValue","pick","omit","setItem","useShareableLink","fetchData","clearData","location","useLocation","ignoreQueryPrefix","comma","split","id","title","viewSetting","selectedRegion","longitude","latitude","viewport","useStoredUIValue","storedUIValueData","fetchStoredUIValueData","clearStoredUIValueData","sessionUIValue","session","shouldRequest","safeFetchData","useCallback","useUIValueSessionStorage","initialSessionValue","setStoredValue","storedValueRef","picksString","valueToStore","Function","UIValueComponent","history","useHistory","hash","FallbackStoredUIValueComponent","useEffectFilterCount","filterSetting","effect","addDeps","ignore","statistic","isAggregatedDataSource","primaryCoditions","primaryCoMorbidities","comorbidities","deps","claimNumber","claimDay","useDebounce","filterCount","payload","exportFilterSettingPayload","useEffectFilterEditingCount","useFilterEditing","useEffectFilterSettingCount","useFilterSetting","Boolean","match","IndexFilterDialog","defaultActiveTab","DataYearTab","ILLINOIS_REGIONS","StyledSubMenuItem","UncontrolledDropdown","RegionSelectItem","DataRegionOverlay","header","direction","partial","stopPropagation","caret","DropdownMenu","region","regionLayer","paint","IllinoisRegionLayer","memo","regionData","fetchRegionData","forceUpdateRef","isShowingRegions","regions","fetchDataWrapped","displayOption","displayOptionType","ViewModeEnum","Map","mapView","regionOverlayParam","regionNames","stateAbb","forceUpdate","geojsonData","features","geojson","properties","Region","extractRegionData","numerator","denominator","eventCount","targetRegionData","percentage","getStatisticOption","processStatisticValue","populationStatisticData","mapPatientCount","rateOfAcuteEventsStatisticData","mapTotalRateOfAcuteEventSelectedDemographic","costOfAcuteEventsStatisticData","mapCostOfAcuteEventSelectedDemographic","StatisticTypeEnum","TotalCount","mapPatientPopulationCount","mapPatientCountSelectedDemographic","mapCostOfAcuteEventHospitalizationVisit","patientPopulation","stateNumerator","statePatientCount","stateTotalRateOfAcuteEventSelectedDemographic","stateCostOfAcuteEventSelectedDemographic","stateDenominator","statePatientPopulationCount","statePatientCountSelectedDemographic","stateValue","statePatientPopulation","stateEventCount","stateCostOfAcuteEventHospitalizationVisit","IndexMapComponent","useMapValue","hoveringInfo","mapStatisticResponsingData","useFilterValue","hoveringRegionName","entries","GeoCodesByRegion","reduce","acc","forEach","geo","isShowRegionPopup","StyledDashboard","StyledViewMode","IndexDashboard","setDefaultActiveTab","showFilterDialog","toggleFilterDialog","setRegions","regionsRef","useViewValue","geoLevel","isSupportRegions","handleToggleFilterDialog","combinedReducers","combineReducers","reducers","middlewares","thunk","promiseMiddleware","store","applyMiddleware","createStore","createStoreWithMiddleware","ReactDOM","render","Provider","path","exact","getElementById","navigator","serviceWorker","ready","registration","unregister","catch","console","message","getLinear","arr","xKey","yKey","xStart","xEnd","sumMult","xSum","ySum","sumXSq","x","m","useStatisticYearlyData","calculateStatisticAttachHostname","extractHostname","yearlyData","res","statisticOption","getDataByYear","isNA","useAggregatedYearlyData","overall","useTrendLineData","statisticYearlyData","aggregatedYearlyData","filterSettings","from","to","fetchDataWrapper","Chart","chartView","ChartViewEnum","Trends","combinedData","yearData","suffix","prefix","preUnit","linear","useTrendLineDataForSeason","fromSeasonYear","toSeasonYear","safeNumber","isEqualSeasonYear","putToSeasonYear","seasonYear","arg1","arg2","arg1Split","getYearsBySeason","arg2Split","arg","DELIMITER_SEASON_YEAR","getDisplayText","src","parts","toString","getUserInitials","firstName","lastName","trim","charAt","toUpperCase","getDisplayUserName","middleName","prependingHttpToUrlIfMissing","isObject","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","validateSync","abortEarly","inner","setIn","validationError","index","getDirectionUrl","searchParams","get","isFeatureInAState","state","stateByZipCode5","MSA","groupBy","items","substituteParams","str","params","isTouchEnabled","maxTouchPoints","msMaxTouchPoints","deviceType","ua","userAgent","test","String","setIsOpen","curr","castValues","cast","useForm","initialValues","setValues","setErrors","touched","setTouched","isSubmitting","setIsSubmitting","_g","submitCount","setSubmitCount","initialValuesRef","validationSchemaRef","setInitialValues","field","setFieldTouched","isTouched","handleChange","handleBlur","handleReset","handleSubmit","submitFormHandler","preventDefault","setNestedObjectValues","getError","getIn","isFirstFieldError","isFirstError","firstErrorName","err","hasError","callback","depends","delay","mountedRef","unmountHandeler","handler","setTimeout","clearTimeout","useDebounceValue","setValue","handler_1","combineGeoJson","propertyMapping","forceClean","turf","useGeoJson","keyName","geoType","useCachedData","topology","object","objects","geometries","featureCollection","feature","mapFeature","mapGeometry","topoJsonData","doRequest","resetStateAPI","combinedGeoJson","useSelectedGeoIdInfo","stateName","lookupZipCode","lookupMsa","useLookupMSA","countyData","useLookupCounty","selectedId","RightPanelTypeEnum","RegionDetail","selectedGeoProperties","geoLevelLabel","getGeoLevelLabel","firstLevelLabel","secondLevelLabel","State","firstLevelCode","secondLevelCode","endsWith","find","lookup","msaNumber","msaName","getStateNameOfZipCode","County","ct","countyCode","countyName","useChartData","statisticChartData","chartData","lookupSexData","resLookupSex","lookupRaceData","resLookupRace","dataByDemographic","DemographicTypeEnum","Sex","mappedValues","Race","Age","mapAgeValues","combinedAgeKeyData","age","subGroups","stringifyAgeValue","patientCount","aggregateValue","demographic","stringified","shortName","useStatisticData","aggregatedChartData","aggregatedDataCategoryList","dataValue","dataSourceColumnDefinition","category","toLowerCase","uiName","useAggregatedData","ageRanges","Demographic","ALL_AGE_VALUES","templateObject_8","EXCLUDE_STATE_COUNT_INDEXES","StyledParentOption","StyledChildOption","usePatientCountForState","useFilterCount","countData","formatOptionLabel","showLabelCount","transformLookupStateForGeoId","useCombineTwoGeoLevel","dataByStateCode","sortFn","transformFn","isCombineKey","lookupState","setOptions","flatMap","parent","transformedChild","childValue","Option","useZipCodeDistrictSelectProps","StyledOption","SingleValue","GeoSelectComponent","setSelectedRegion","setZoomId","resetViewport","useViewport","indicatorIcon","SEARCH_COMPONENT_BY_GEO","selectProps","Zip3","LookupCountyComponent","re","RegExp","LookupMSAComponent","StateUpper","StateLower","GeoSearchComponent","fetchPatientCountForState","SearchCoponent","DisplayOption","StyledViewModeOption","SearchLabel","StyledComponentWithScreen","MapViewOption","viewMode","setGeoLevel","aggregatedGeoLevelData","useAggregatedGeoLevel","availableGeography","Table","minMenuHeight","maxMenuHeight","GEO_LEVELS","StyledCheckIcon","StyleSelectChartView","ChartViewSearchOption","isParent","ChartViewDemographicValue","childrenName","ChartViewTrendValue","statisticName","getStatisticShortName","ChartViewOption","chartViewType","setChartViewType","setDemographics","selectingChildrenMap","CHART_VIEW_OPTIONS","childrenSelecting","childrenSelecting_1","setter","ViewModeComponent","setViewMode","selectingOption","VIEW_MODES","DropdownToggleIcon","placement","right","opt","DropdownItem","DisplayOptionComponent","ShareLinkButton","btnRef","isOpenNotify","setIsOpenNotify","shareableLinkData","fetchShareableLinkData","clearShareableLinkData","isUnmounted","clipboard","writeText","ref","Tooltip","hideArrow","useExport","viewSettings","useViewSetting","exportGeoData","mapData","useMapData","geoJsonData","useSelectedGeoJson","lookupGeo","extractTableData","useExtractTableData","mapRef","useMapRef","editorRef","intersectionIds","poly","getFeatures","bbox","minLng","minLat","maxLng","maxLat","getMap","selectedFeatures","queryRenderedFeatures","project","layers","intersect","columns","col","text","rows","dataField","displayText","useExportGeoData","exportDemographicChartData","demographicChartData","lookupSex","lookupRace","customAge","targetLookup","getAgeLabel","useExportDemographicChartData","exportTrendYearlyData","trendData","useExportTrendYearlyData","fileName","lookupCondition","useLookupCondition","csvNameArr","selectedGeoInfo","dataSourceName","abbreviation","labeledValues","startingYear","endingYear","partName","useFileName","getExportData","processCell","cell","csvFile","Blob","encodedUri","StyledDropdownItem","BeneficiaryExportButton","handleExport","DownloadButton","Authenticated","roles","RoleEnum","SystemAdmin","GeneralUser","IndexManager","SingleIndexUserManager","SingleIndexDataManager","StyledFilterBar","Separator","LeftSide","RightSide","Navbar","ListIcon","FilterBar","setShow","rel","host","useFetchIndexConfiguration","HostNameIndexInfoProvider","fetchIndexGeneralInfo","isCheckingToken","setIsCheckingToken","refreshToken","available","filterOnload","singleStateCode","singleStateAbb","indexPrimaryCoMorbidities","useMBSFChronicCondition","FilterSidebarConst","InfluenzaVaccine","Vaccine","PrimaryCondition","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","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","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","MedicareFFS","filtersConfig","filtersConfigByDataSource","configByDataSource","configByDataYear","config","configByDataYearSeason","valueByKey","configByAllYear","StyledLegendOverlay","StyledLegend","LegendTitle","LegendItem","Color","SelectedStatistic","StatisticCategoryLabel","StatisticConfigLabel","LegendComponent","ENV_LEGEND_COLORS","LegendByFilter","extractGeneralFilterInfo","breakLegendInfo","LegendOverlay","statisticConfig","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","inline","StyledPin","img","svg","pointer","selected","Pin","height","viewBox","d","cx","cy","style","fill","imgPin","xlinkHref","dy","fontSize","textAnchor","alignmentBaseline","ClusterPin","COLORS_BY_DEMOGRAPHIC","sex","race","StyledPieComponent","ResponsiveContainerWrapper","NoDataMessage","PieComponent","useTranslation","myRef","meetMinimumThreshold","colors","total","tooltipFomatter","totalCount","percent","integerPortion","floor","numberOfDecimalPlaces","calculatePieSlicePercent","PieChart","onMouseMove","tooltipWrapper","getElementsByClassName","getBoundingClientRect","innerWidth","onMouseLeave","Pie","labelLine","startAngle","endAngle","minAngle","outerRadius","Cell","wrapperStyle","zIndex","Legend","position","legendFormatter","keyPath","_i","dispatch","useDispatch","stringifiedPath","SET_FILTER_EDITING_VALUE","getter","filterediting","useMappedState","useResetFilterEditing","RESET_FILTER_EDITING","toJSON","RESET_FILTERS","SET_FILTER_VALUE","initialState","actionHandlers","reducer","action","fn","updatedState","toObject","set","removeIn","RESET_VIEW_SETTING","SET_VIEW_VALUE","DEFAULT_VIEW_SETTING","StyledTableViewComponent","Title","Body","extractGeoData","useExtractGeoData","lookupGeoData","selectedFeatureId","isSelectedFirstLevel","filteredFetures","getStateCodeOfZipCode","startsWith","fieldsForMapViewLevel","fieldsForStatistic","sortFunc","getColumns","f1","f2","geoData","TableViewComponent","tableColumns","setTableColumns","tableData","setTableData","DataTable","hover","sizePerPage","keyField","pagination","NOTIFICATION_PREFERENCES","ModalWrapper","UserProfile","stateData","fetchStateData","editProfile","UserProfileEditForm","principalUser","onCancel","onSave","organization","address1","address2","city","zipcode","phoneNumber","notificationPreference","stateList","matches","ZIP_CODE_PATTERN","excludeEmptyString","PHONE_NUMBER_PATTERN","_j","_k","_l","_m","_o","username","roleName","role","onSubmit","Form","Row","onBlur","invalid","FormFeedback","PhoneInput","st","stateAbbreviation","menuPlacement","Description","currentPassword","newPassword","notOneOf","PASSWORD_PATTERN","PASSWORD_RULE_MSG","passwordConfirmation","oneOf","UserChangePassword","user","useUser","userChangePasswordData","userChangePassword","resetStore","password","new_password","MessageBox","PASSWORD_DESCRIPTION","LicenseAgreementModal","StatisticGroupEnum","ClinicalTrialOptionEnum","ClinicalTrialStatusEnum","PrimaryConditionsSortTypeEnum","SecondaryConditionsSortTypeEnum","UserLoginTypeEnum","ChronicConditionSource","KeyCombineConditionSource","ReportsDialogContext","createContext","useContext","updateState","updateData","ReportsDialogProvider","INITIAL_VALUE","secondaryCormorbidities","defaultReportType","contextValue","timeout","abortController","statusCode","remove","failFetch","errorMessage","APIClient","authStrategy","getKey","getMethod","getUrl","abort","api","resetState","_this","getState","request","parseData","requestOptions","contentType","e_1","AbortController","startFetch","now","getRequestOptions","signal","status","onUnauthorized","onForbidden","json","statusText","substitutions","parseDataRef","AuthContext","substitutedUrl","substitutedKey","client","force","ignoreRequest","useMessage","messageId","view","supportConsumptionGroup","MedicareAdvantage","MedicareAll","MedicareFfsFluSeason","DEMOGRAPHIC_CHART_OPTIONS","ALL_DEMOGRAPHIC_CHART_OPTIONS","showLegend","showGeographyHoverDisplay","importingLocationTypes","mapLayerCountNotifications","provider","checkedQuestDiagnosticsStatus","INITIAL_VIEW_PORT","zoom","pitch","bearing","MapContext","ViewportContext","useMapFallback","fallback","v4","oldState","fallbackObj","MapFallback","updateViewport","singleStateBBox","shouldResetViewport","webMercatorViewport","WebMercatorViewport","fitBounds","minZoom","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","buttonRef","innerRef","faSpinner","spin","tooltipRef","FallbackOverlay","StyledErrorMsg","StyledWarningIcon","ErrorTitle","ErrorBody","ErrorMsg","overlay","loadingDotAnimations","keyframes","LoadingDot","span","isOffset","ThreeDotLoading","InputGroupWrapper","DropdownIndicator","MenuList","searchedOptionsSize","MenuListMemo","prev","menuOptionsPrev","selectRef","select","menuOptions","menuOptionsNext","IconOption","inputBoxValue","inputValue","setInputValue","setSearchedOptionsSize","flatedOptions","__disabled","isMulti","AsyncSelect","isDisabled","defaultOptions","loadOptions","input","filterIncludes","filterStartWith","noCheckFilter","filteredOptions","isFilterStartWith","focusedOption","indicatorProps","IndicatorSeparator","menuListProps","onSelectToRenderOptions","menuPosition","onInputChange","onInputBoxValueChange","closeMenuOnSelect","controlShouldRenderValue","styles","menu","provided","indeterminateStyle","StyledCheckbox","indeterminate","Checkbox","every","groupValue","gv","allText","Radio","RadioGroup","reverse","MIN_SAFE_INTEGER","RsInput","onKeyPress","fromCharCode","charCode","which","StyledDropdownItemIcon","StyledImageDropdownItem","checkMark","rest","RSDropdownItem","CheckIcon","alt","DropdownItemCheck","DropdownItemCheckList","StyledMessageBox","Alert","messageBoxRef","scrollIntoView","behavior","msg","RSFormFeedback","MessageWithState","setMessage","clearMessage","maxLength","currentTarget","selectionEnd","cleaned","newSelection_1","setSelectionRange","formatedValue","PaginationItem","active","first","previous","last","ellipsis","page","handleClick","content","RSPaginationItem","PaginationLink","Pagination","pages","onPageChange","hidePageListOnlyOnePage","totalPages","activePage","previousPageIsEllipsis","nextPageIsEllipsis","number","RSPagination","Pager","StyledDataTableComponent","minWidth","headerClasses","bordered","nameUnitItemTable","rowClasses","rowClassesProps","restProps","paginationSize","ceil","paginationOptions","paginationFactory","hideSizePerPage","showTotal","paginationTotalRenderer","pageListRenderer","propsPager","rowIndex","BootstrapTable","bootstrap4","classes","noDataIndication","sortCaret","NMQFGlobalStyle","createGlobalStyle","ChangePasswordContent","FormWrapper","H5Style","h5","ChangePasswordComponent","changePasswordData","changePassword","session_id","sessionId","plaintext","ConfirmResetPasswordContent","ButtonGroup","verificationCode","ConfirmResetPasswordComponent","requestData","confirmResetPassword","WrapperWithFlexGrow","Wrapper","form","LoginComponent","changePasswordRequired","toggleChangePasswordRequired","resetPasswordRequired","toggleResetPasswordRequired","authChallenge","getAuthChallenge","setErrorMessage","resetErrorAndChallenge","ChallengeName","code","authenticate","LoginPage","Link","Session","LinkWrapper","ConfirmText","ConfirmForgotPasswordContent","ConfirmForgotPassword","redirectToHomeURL","setRedirectToHomeURL","confirmForgotPasswordData","confirmForgotPassword","Redirect","ForgotPasswordWrapper","ForgotPasswordContent","ForgotPasswordComponent","usernameSubmitted","setUsernameSubmitted","forgotPasswordData","forgotPassword","resetData","Margin","recaptchaResponse","email","SignUpComponent","recaptchaSiteKey","fetchRecaptchaSiteKey","isOpenLicenseModal","setIsOpenLicenseModal","recaptchaRef","signUpData","signUp","reset","indexTitle","toggleLicenseAgreementModal","Recaptcha","sitekey","verifyCallback","expiredCallback","JWTStrategy","addEventListener","syncLogout","__jwt","subscribers","jwt","__user","jsonwebtoken","enumerable","configurable","localStorage","removeItem","reload","setAuthChallenge","Authorization","FormData","referrer","refreshTokenPromise","credentials","authResponse","loginData","e_2","JWT","concat","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","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","repository","AboutModal","licenseModal","setLicenseModal","moment","utc","METHODOLOGY_TYPE","PREVALENCE","pdfFileType","TOTAL_COUNTS","HOSPITALIZATIONS","COSTS","MethodologyModal","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","zipCodeItem","zipCodeExisted","zipCodesSelectedRefCurrent","newZipCodes","faUndo","splice","removeZipCodeSelected","DataYearSeasonReportsDialogTab","dataYearSeasonUi","setDataYearSeasonUi","setDataYearSeason","lookupSeasonYearData","setPatientPopulationRefYear","patientPopulationRefYearFilter","patientPopulationReferenceYear","lateYear","earlyYear","fullYearSeason","valueOf","dataYearSeasonValueUi","yearSeasonInDataYear","handleChangeYearSeason","FluVaccineReportsDialogTab","setFluVaccineCptCodes","useLookupFluVaccine","lookupVaccine","fetchLookupVaccine","hcpcsPctCodes","hcpcsDescription","UserInfo","AvatarCircle","Initials","PrincipalUser","UserMenuStyle","LogOutItem","StyledSpace","UserMenuToggle","DialogManager","showReportDialog","toggleReportDialog","reportCondition","UserMenu","publicIndex","methodologyDocument","isOpenMethodologyModal","toggleMethodologyModal","isOpenUserProfileModal","toggleUserProfileModal","isOpenChangePasswordModal","toggleChangePasswordModal","isOpenAboutModal","toggleAboutModal","disabledReport","token","landscape","isPrintMap","appendChild","submit","removeChild","StyledHeader","IndexLogoAndNameLink","IndexLogo","IndexName","IndexNameH3","h3","IndexNameH5","Header","squareLogo","indexOwner","StyledFiltersHeader","FiltersValue","Result","FiltersHeader","isHidden","FilterTab","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","indexHostname","lookupPrimaryCondition","lookupConditionData","ageData","consumptionGroupClassesDefaultFilter","consumptionGroupClasses","consumptionGroups","getConsumptionGroups","shortTerm","primaryConditionName","otherContitionName","claimDayLabel","getClaimDayLabel","mainPrimaryConditionName","primaryConditionWithClaims","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","StyleTabSelector","TabSelector","FilterSidebar","toggleCollapsed","horizontal","useMapLayerListAPI","ImportingLocationSubType","setShowMapLayerMenu","selectingType","setSelectingType","ImportingLocationItem","TrialsRelated","displayIcon","AllTrials","ImportingLocationMenu","mapLayerData","ml","LocationMenu","CLINICAL_TRIAL_STATUS_DATA","NotYetRecruiting","Recruiting","EnrollingByInvitation","ActiveNotRecruiting","DropdownMenuStyle","MapLayerMenu","showMapLayerMenu","fetchMapLayerData","hasFixedChildren","toArray","c","Dropdown","CHART_COMPONENT_BY_TYPE","pie","bar","tickFormatter","tooltipFormatter","ComposedChart","interval","angle","tickLine","Bar","maxBarSize","StyledDemographicChart","StyledChartContainer","ChartContainerTitle","StyledChartComponent","ChartControl","StyledSwitchTypeButton","ChartTypeButton","activeType","ChartContainer","chartType","setChartType","ChartComponent","faChartPie","faChartBar","DemographicChartComponent","fetchChartData","useProviderSetting","edittingFilterSetting","providerSetting","setProviderSetting","checkingSetting","doGetPrimaryCareProvider","doGetHospitalProvider","specialistProviders","clinicalTrialMapSelector","createSelector","clinicalTrials","keyBy","nctId","facilityName","useClinicalTrialGovApi","useClinicalTrialDetail","clinicalTrialGovData","createClinicalTrialSelector","clinicalTrialSelector","providerMapSelector","providers","useProviderData","useProviderDetail","providerData","providerNpiNumber","createProviderDetailSelector","providerDetailSelector","mapLayerLocationMapSelector","mapLayerLocations","useCustomMapLayerLocationData","mapLayerId","useCustomMapLayerDetail","customMapLayerLocationData","createMapLayerLocationSelector","questDiagnosticsMapSelector","questDiagnosticsSites","questDiagnostics","site_code","zip_code","useQuestDiagnosticsApi","useQuestDiagnosticsDetail","questDiagnosticsData","createQuestDiagnosticsSelector","questDiagnosticsSelector","apiUrl","fetchMapData","extractedData","getStatisticPrecision","fetchMapDataWrapped","_0","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","geographicNumerator","geographicDenominator","geographicEventCount","nationalDemographic","nationalDemographicNumerator","nationalDemographicDenominator","nationalDemographicEventCount","nationalAggregatedValue","nationalPatientPopulation","_16","aggregatedId","preAggregatedPopulationStatisticData","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","Component","CMSSourceTabSelector","AggregatedSourceTabSelector","agrregatedData","useAggregatedDataSourceName","setCmsDataSource","setStatisticYear","setAggregatedYear","setIsAggregatedDataSource","aggregatedDataSourceName","setAggregatedDataSourceName","fetchYearData","selectingPrimaryConditions","setSelectingPrimaryConditions","doSynchronized","useSynchronizedPrimaryCondition","Other","handleChangeYear","allDataSourceOptions","dataSources","AggregatedDataSourceComponent","setAggregatedYearSeason","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","keyConditions","Key","selectingPrimaryCondition","combinedKeyConditions","useCheckboxesForPrimaryConditions","AdditionalConditionSection","isSingleSection","additionalConditions","setSelectingAdditionalConditions","overrideCondition","optionConditions","PrimaryConditionSection","primaryConditionOptions","primaryConditionCount","fetchPrimaryConditionCount","selectingPrimaryCoMorbidities","setSelectingPrimaryCoMorbidities","setSelectingPrimaryCondition","cond","setTextSearch","fetchLookupCondition","fetchConditionCountData","shouldCountOnConditionChange","filterCountEffectDeps","statisticType","setStatisticType","setStatisticGroup","setStatisticTypeAggregated","setStatisticGroupAggregated","staticsticGroup","useStatisticEditing","filterEditing","aggregatedData","useAggregatedStatistic","availableStatisticsConfig","getStatisticOptions","sexCodeCountData","fetchSexCodeCount","StyledDiv","BlueTitle","raceCodeCountData","fetchRaceCodeCount","rtiRaceCodeCountData","fetchRTIRaceCodeCount","AGE_GROUP_CODE","AgeCountComponent","useAgeGroupCount","ageGroupCount","fetchAgeGroupCount","filterCountEnabled","handleFetchAgeGroupCount","getAgeGroupCode","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","StyledRestoreDefaultButton","validationAgeSchema","of","RestoreDefaultButton","resetFilterEditing","FilterDialog","editingFilter","resetFilter","useResetFilter","resetViewSetting","useResetViewSetting","shouldDisabledProviderSelection","validationSchemaProps","filterValue","selectedConditions","fetchLookup","getConditionsByDataSet","conditionByDataSet","conditionByDataSource","conditionByDataSourceSetAllYear","conditionByDataSourceAndDataYear","compareCondition","parameters","primaryConditionsSortType","secondaryConditionsConfig","secondaryConditionsSortType","primaryConditionByDataSourceAndYear","fullPrimaryCondition","fullSecondaryConditions","Specifically","toLocaleLowerCase","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","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","useCMSDataSeasonYear","indexConfiguration","rangeYear","cmsYearData","aggregatedYearData","useAggregatedYear","STATISTIC_GROUPS","Population","Rate","Cost","STATISTIC_OPTION_BY_TYPE","CLAIM_NUMBERS","CLAIM_DAYS","createDate","getTime","GEO_JSON_URL_BY_LEVEL","stateLayer","ENV_STATE_BORDER_COLOR","highlightLayer","selectedLayer","SelectedGeographySource","mapDataRequesting","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","firstSecondaryValueTitle","getFirstSecondaryValueTitle","cohort","PopperProps","boundariesElement","InfoPopup","geoName","metricValues","getMetricValues","disableFocusListener","disableHoverListener","disableTouchListener","card","PatientChoroplethLayer","patientChoroplethLayer","CLUSTER_OPTIONS","useCluster","indexRef","cookedclusters","setCookedClusters","recalculateClusters","getZoom","bounds","getBounds","clusters","getClusters","cluster","locations","point","points","isSameLocation","lng","lat","groupByLngLat","geometry","coordinates","point_count","point_count_abbreviated","cluster_id","on","off","Supercluster","load","clusterId","getClusterExpansionZoom","Popup","onClose","handleKeyDown_1","keyCode","removeEventListener","MapboxPopup","StyledMultiplePinMenu","StyledMultiplePinMenuItem","MultiplePinMenuItem","idFields","MultiplePinMenu","selectedMultiplePin","setSelectedMultiplePin","captureScroll","sortByDepth","closeButton","compareFn","menuItemComponent","SinglePinMarker","getIcon","MultiplePinMarker","pinPayload","ClusterPinMarker","updateViewPort","SimpleLocationLayer","lnglat","ClusterLocationLayer","clusterColor","LayerCount","setMapLayerCountNotification","displayingCount","LocationDetailComponent","isSelected","locationMap","l","detailInfo","LocationLayer","RowLocationName","MenuItem","providerFirstName","providerLastName","providerCredentialText","providerLocatorData","fetchProviderLocatorData","loadedUserActionsHistoryRef","lngLatBounds","userActionsHistory","ProviderDetail","providerParam","bottomLeftAndTopRightLngLatBound","providerBroadSpecialty","StyledAndText","getCountDisplay","layerItem","toLocaleString","CountNotification","firstItem","otherItems","getEditHandleStyle","RENDER_STATE","SELECTED","HOVERED","UNCOMMITTED","fillOpacity","getFeatureStyle","CLOSING","StyledWrapperTool","DrawControl","isOpenHelpDialog","toggleHelpDialog","isOnDrawMode","toggleDrawMode","faVectorSquare","onDelete","faTrash","faQuestion","HelpDialog","controls","StyledMapSidebar","MapSidebar","StyledLocationDetailPanel","ImportingLocationDetail","CustomMapLayer","maplayerLocationDetail","faTimesCircle","trialName","locationName","stateAbv","zip","recruitmentStatus","startDate","format","estimatedCompletionDate","contactName1","contactPhone1","contactEmail1","investigatorName1","investigatorCredentials1","investigatorOrganization1","StyledBriefTitle","StyledFacilityName","SingleImportingLocationLayer","mapLayer","mapLayerLocationData","fetchMapLayerLocationData","displayColor","ImportingLocationLayers","allMapLayers","StyledLegendFormatter","ProviderPieComponent","SexChart","RaceChart","AgeChart","StyledProviderDetail","ProviderName","ProviderInfo","ProviderAddress","PatientDemographics","selectedProviderInfo","CardWrapper","CardValue","DataRowForCard","StatisticDataForCard","geoId","geoValue","StatisticDataForNational","nationalValue","CardInfo","Space","PrevalenceDashBoard","nationalDemographicValue","NationalCard","AggregatedDataBannerDashBoard","TotalCountDashBoard","HospitalizationRateDashBoard","ERVisitRateDashBoard","HospEncounterRateDashBoard","DeathRateDashBoard","ReadmissionRateDashBoard","HospitalCostDashBoard","ERVisitCostDashBoard","PatientOutOfPocketPartBDrugCostDashBoard","PatientOutOfPocketPartDDrugCostDashBoard","MedicarePartBDrugCostDashBoard","MedicarePartDDrugCostDashBoard","TotalCostDashBoard","CardContent","CardColor","Text","makeSelection","StatisticCard","extractedGeoData","StatisticComponent","getStatisticComponent","StyledDropdownToggle","StyledTitle","StyledDropdownMenu","StyledSelectYearItem","TrendLine","trendlineData","fetchTrendlineData","selectYearItem","TrendLineSeason","firstFrom","firstTo","StyledNational","DemographicChart","TrendLineStatisticDetail","StatisticDetail","DataBody","RepresentativePhoto","RepresentativeInfo","DataRow","DataRowAddress","DataRowPhone","FederalRepresentativeDetail","frPhotoLink","onError","display","onErrorFunc","frAddress","frPhoneNumber","frWebSite","faExternalLinkAlt","StateRepresentativeDetail","srPhotoLink","srAddress","replaceAll","srPhoneNumber","srWebSite","StyledGroup","GroupTitle","GroupContent","StyledRow","expanded","StyledRowExpanded","StyledFullName","StyledIcon","isRepublican","FederalRepresentativeItem","expandedFederal","toggleExpandFederal","frFirstName","frLastName","frMiddleName","frParty","frDistrict","frStateAbbreviation","faDemocrat","faRepublican","faFlagUsa","StateRepresentativeItem","expandedState","toggleExpandState","srFirstName","srLastName","srMiddleName","srParty","srChamber","srDistrict","stState","DataGroup","rep","itemComponent","useRepresentativePanel","apiRes","district","apiData","LegislatorsComponent","senators","representatives","StateDelegatesComponent","isDisabledRepresentativesTab","closePanel","StyledMapContent","StyledNavigationControl","StyledRightOverlay","MapComponent","resetMapData","setHoveringInfo","fallbackData","setFallbackData","mode","setMode","setDrawMode","setEditorRef","DrawPolygonMode","editor","Editor","clickRadius","onUpdate","editType","EditingMode","editHandleShape","featureStyle","editHandleStyle","drawControl","deleteFeatures","useDrawPolygon","newViewport","maxZoom","handleHover","lngLat","handleMouseOut","hanldeClick","mapEvents","onHover","onMouseOut","ReactMapGL","mapboxApiAccessToken","mapboxToken","mapStyle","mapboxStyle","onViewportChange","interactiveLayerIds","doubleClickZoom","NavigationControl","showCompass","briefTitle","clinicalTrialLocatorData","fetchClinicalTrialLocatorData","clinicalTrialOption","filterRecruitmentStatuses","ClinicalTrialDetail","clinicalTrial","currentDate","date","month","statisticOptionType","filteringCategoryValue","Set","chronicCode","minClaimNumber","primaryConditionWithClaimsOptionals","useAggregatedDataSource","dataSourceGeos","geoLevelLookup","setData","dataTypeName","dataSourceColumnDefinitions","fetchAggregatedData","ENV_MIN_PATIENT_BUSINESS_RULE","process","REACT_APP_MIN_PATIENT_BUSINESS_RULE","REACT_APP_LEGEND_COLORS","REACT_APP_STATE_BORDER_COLOR"],"mappings":"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","file":"static/js/main.a3290b08.chunk.js","sourcesContent":["/*\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","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 {\n FilterDialog,\n DataYearTab,\n ConditionTab,\n PrimaryConditionSection,\n AdditionalConditionSection,\n StatisticTab,\n SexTab,\n RaceTab,\n AgeTab,\n AggregatedDemographicTab,\n AggregatedSexTab,\n AggregatedRaceTab,\n AggregatedAgeTab,\n GeoLevelTab,\n PrioritizedConditionSection,\n ConsumptionGroupTab,\n} from 'nmqf-common-ui';\n\ninterface IndexFilterDialogProps {\n isOpen: boolean;\n toggle: () => void;\n defaultActiveTab?: string;\n}\n\nexport const IndexFilterDialog: React.FC = (props) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport styled from 'styled-components';\n\nimport { DropdownItem, DropdownItemCheck, DropdownItemCheckList, DropdownToggleIcon } from 'nmqf-common-ui';\nimport { DropdownMenu, UncontrolledDropdown } from 'reactstrap';\n\nexport const ILLINOIS_REGIONS = ['Bellwood', 'Champaign', 'Edwardsville', 'Marion', 'Peoria', 'Rockford', 'West Chicago'];\n\nconst StyledSubMenuItem = styled(UncontrolledDropdown)`\n cursor: pointer;\n display: flex;\n padding-right: 0;\n`;\nconst RegionSelectItem = styled.div`\n cursor: pointer;\n`;\n\ninterface DataRegionOverlayProps {\n value?: string[];\n onChange: (v?: string[]) => void;\n}\n\nexport const DataRegionOverlay: React.FC = (props) => {\n const checked = !!props.value?.length;\n\n const handleClickRegion = () => {\n props.onChange(checked ? undefined : ILLINOIS_REGIONS);\n };\n\n return (\n <>\n Overlays\n \n Illinois Region\n event.stopPropagation()} caret color=\"warning\" className=\"py-0\" />\n event.stopPropagation()}>\n {ILLINOIS_REGIONS.map((region) => (\n \n ))}\n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React, { useEffect, useMemo, useRef } from 'react';\nimport { Layer, Source } from 'react-map-gl';\n\nimport { exportFilterSettingPayload, GeoLevelEnum, useAPI, useFilterSetting, ViewModeEnum, MapFallback } from 'nmqf-common-ui';\nimport geojson from './regions.json';\nimport { ILLINOIS_REGIONS } from '../../filterbar';\n\nconst REGION_STATISTIC_DATA = '/api/stats/calculate-statistic-region-overlay';\n\nconst regionLayer = {\n id: 'region-layer',\n type: 'line',\n paint: {\n 'line-color': '#007FFF',\n 'line-width': 2,\n },\n};\n\ninterface IllinoisRegionLayerProps {\n regions?: string[];\n}\n\nexport const IllinoisRegionLayer: React.FC = React.memo((props) => {\n const [regionData, fetchRegionData, clearData] = useAPI(REGION_STATISTIC_DATA, undefined, 'POST');\n const filterSetting = useFilterSetting();\n const forceUpdateRef = useRef();\n const isShowingRegions = !!props.regions?.length;\n\n const fetchDataWrapped = () => {\n const payload = exportFilterSettingPayload(filterSetting);\n fetchRegionData({\n ...payload,\n displayOption: {\n displayOptionType: ViewModeEnum.Map,\n mapView: { type: GeoLevelEnum.Zip5 },\n },\n regionOverlayParam: {\n regionNames: ILLINOIS_REGIONS,\n stateAbb: 'IL',\n stateCode: 17,\n },\n });\n };\n\n useEffect(() => {\n if (isShowingRegions && forceUpdateRef.current !== filterSetting.forceUpdate) {\n clearData();\n fetchDataWrapped();\n forceUpdateRef.current = filterSetting.forceUpdate;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterSetting.forceUpdate, isShowingRegions]);\n\n const geojsonData: any = useMemo(\n () => ({\n type: 'FeatureCollection',\n features: geojson.features.filter((f) => props.regions?.some((v) => v === f.properties.Region)),\n }),\n [props.regions]\n );\n\n if(!isShowingRegions) return null;\n return (\n <>\n {regionData.data && (\n \n \n \n )}\n \n \n );\n});\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport { StatisticTypeEnum, processStatisticValue, getStatisticOption } from 'nmqf-common-ui';\n\ninterface DataRowRegionOverlayProps {\n name?: string;\n value?: string | number;\n zipCodeValue?: string | number;\n regionValue?: string | number;\n suffix?: string;\n prefix?: string;\n isNoFormat?: boolean;\n}\n\nexport const extractRegionData = (statistic: StatisticTypeEnum | undefined, region: string, regionData?: any) => {\n let numerator, denominator, value, eventCount, stateValue;\n const targetRegionData = regionData?.[region];\n const stateCode = '17';\n const { percentage } = getStatisticOption(statistic) || {};\n\n numerator = processStatisticValue(\n targetRegionData?.populationStatisticData?.mapPatientCount[stateCode] ||\n targetRegionData?.rateOfAcuteEventsStatisticData?.mapTotalRateOfAcuteEventSelectedDemographic[stateCode] ||\n targetRegionData?.costOfAcuteEventsStatisticData?.mapCostOfAcuteEventSelectedDemographic[stateCode],\n false,\n statistic\n );\n denominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : targetRegionData?.populationStatisticData?.mapPatientPopulationCount[stateCode] ||\n targetRegionData?.rateOfAcuteEventsStatisticData?.mapPatientCountSelectedDemographic[stateCode] ||\n targetRegionData?.costOfAcuteEventsStatisticData?.mapPatientCountSelectedDemographic[stateCode];\n value = processStatisticValue(numerator && denominator && numerator / denominator, percentage, statistic);\n eventCount = targetRegionData?.costOfAcuteEventsStatisticData?.mapCostOfAcuteEventHospitalizationVisit?.[stateCode];\n const patientPopulation = targetRegionData?.populationStatisticData?.mapPatientPopulationCount[stateCode];\n\n const stateNumerator = processStatisticValue(\n regionData?.statePatientCount || regionData?.stateTotalRateOfAcuteEventSelectedDemographic || regionData?.stateCostOfAcuteEventSelectedDemographic,\n false,\n statistic\n );\n const stateDenominator =\n statistic === StatisticTypeEnum.TotalCount ? 1 : regionData?.statePatientPopulationCount || regionData?.statePatientCountSelectedDemographic;\n stateValue = processStatisticValue(stateNumerator && stateDenominator && stateNumerator / stateDenominator, percentage, statistic);\n const statePatientPopulation = regionData?.statePatientPopulationCount;\n const stateEventCount = regionData?.stateCostOfAcuteEventHospitalizationVisit;\n\n return {\n numerator,\n denominator,\n value,\n eventCount,\n stateValue,\n stateNumerator,\n stateDenominator,\n patientPopulation,\n statePatientPopulation,\n stateEventCount,\n };\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React, { useMemo } from 'react';\nimport {\n SelectedGeographySource,\n PatientChoroplethLayer,\n InfoPopup,\n useMapValue,\n useAPI,\n ImportingLocationLayers,\n MapComponent,\n useFilterValue,\n} from 'nmqf-common-ui';\nimport { IllinoisRegionLayer } from './illinoisregionlayer';\nimport { extractRegionData } from './illinoisregionlayer/regionpopup';\n\ninterface IndexMapComponentProps {\n regions?: string[];\n}\n\nexport const IndexMapComponent: React.FC = (props) => {\n const [hoveringInfo] = useMapValue('hoveringInfo');\n const [regionData] = useAPI('/api/stats/calculate-statistic-region-overlay', undefined, 'POST');\n const mapStatisticResponsingData = regionData.data?.mapStatisticResponsingData;\n const [statistic] = useFilterValue('statistic', 'statisticOption');\n\n const regionByGeoCode = useMemo(\n () =>\n Object.entries(mapStatisticResponsingData?.GeoCodesByRegion || {}).reduce((acc, [region, geocodes]) => {\n (geocodes as string[]).forEach((geo) => {\n acc[geo] = region;\n });\n return acc;\n }, Object.assign({})),\n [mapStatisticResponsingData]\n );\n\n const hoveringRegionName = regionByGeoCode[hoveringInfo?.[0]?.id];\n const isShowRegionPopup = useMemo(() => !!hoveringRegionName && props.regions?.some((v) => v === hoveringRegionName), [hoveringRegionName, props.regions]);\n\n return (\n \n \n \n \n \n \n \n \n );\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';\n\nimport {\n useToggle,\n FilterSidebar,\n FilterResultDashboard,\n DemographicChartComponent,\n TrendLineComponent,\n TableViewComponent,\n MapProvider,\n FilterBar,\n MapLayerMenu,\n useViewValue,\n GeoLevelEnum,\n useFilterValue,\n LocationMenu,\n DownloadButton,\n useUIValueSessionStorage,\n} from 'nmqf-common-ui';\nimport { IndexFilterDialog } from '../filterdialog';\nimport { IndexMapComponent } from '../map';\nimport { DataRegionOverlay } from '../filterbar';\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 [regions, setRegions] = useUIValueSessionStorage('regions');\n const regionsRef = useRef();\n const [geoLevel] = useViewValue('geoType');\n const [isAggregatedDataSource] = useFilterValue('isAggregatedDataSource');\n const isSupportRegions = !isAggregatedDataSource && geoLevel === GeoLevelEnum.Zip5;\n\n useEffect(() => {\n if (!isSupportRegions) {\n regionsRef.current = regions;\n }\n if (isSupportRegions && regionsRef.current) {\n setRegions(regionsRef.current);\n } else if (!isSupportRegions) {\n setRegions([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isSupportRegions]);\n\n const handleToggleFilterDialog = (tabId?: string) => {\n setDefaultActiveTab(tabId);\n toggleFilterDialog();\n };\n\n return (\n \n \n \n \n \n {isSupportRegions && }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport * as serviceWorker from './serviceWorker';\nimport { createStore, applyMiddleware, combineReducers } from 'redux';\nimport { BrowserRouter, Route } from 'react-router-dom';\nimport thunk from 'redux-thunk';\nimport promiseMiddleware from 'redux-promise';\nimport { StoreContext } from 'redux-react-hook';\n\nimport 'bootstrap/dist/css/bootstrap.css';\n\nimport { AuthProvider, Authenticate, Header, NMQFGlobalStyle, HostNameIndexInfoProvider, reducers, FallbackStoredUIValueComponent } from 'nmqf-common-ui';\n\nimport { IndexDashboard } from './components/indexdashboard';\n\nconst combinedReducers = combineReducers(reducers);\nconst middlewares = [thunk, promiseMiddleware];\nconst createStoreWithMiddleware = applyMiddleware(...middlewares)(createStore);\nconst store = createStoreWithMiddleware(combinedReducers);\n\nReactDOM.render(\n <>\n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useCallback } from 'react';\nimport { useFilterSetting, useFilterValue, useViewValue, exportFilterSettingPayload } from '../state';\nimport { ViewModeEnum, ChartViewEnum, StatisticTypeEnum, GeoLevelEnum } from '../enums';\nimport { useAPI } from '../state';\nimport { getStatisticOption, processStatisticValue } from '../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nvar SAFE_SEASON_YEAR = 100;\nvar FETCH_AGGREGATED_DATA_API_URL = '/api/data-file/get-aggregated-data-for-yearly-linechart';\nvar FETCH_YEARLY_DATA_API_URL = '/api/stats/{hostname}/calculate-statistic-for-yearly-linechart';\nvar FETCH_YEARLY_DATA_API_URL_PROXY = '/api/{hostname}/calculate-statistic-for-yearly-linechart';\nvar getLinear = function (arr, xKey, yKey) {\n if (!arr.length)\n return [];\n var xStart = arr[0][xKey];\n var xEnd = arr[arr.length - 1][xKey];\n var n = xEnd - xStart + 1;\n var sumMult = 0;\n var xSum = 0;\n var ySum = 0;\n var sumXSq = 0;\n arr.forEach(function (i) {\n var x = i[xKey];\n var y = i[yKey];\n sumMult += y * x;\n xSum += x;\n ySum += y;\n sumXSq += x * x;\n });\n var x1 = n * sumMult;\n var x2 = xSum * ySum;\n var y1 = n * sumXSq;\n var y2 = xSum * xSum;\n // slope = m = (a - b) / (c - d)\n var m = (x1 - x2) / (y1 - y2);\n var e = ySum;\n var f = m * xSum;\n // y-intercept = b = (e - f) / n\n var b = (e - f) / n;\n // y = mx + b\n return [m * xStart + b, m * xEnd + b];\n};\nvar useStatisticYearlyData = function () {\n var _a;\n var indexConfig = useHostnameIndexInfo();\n var _b = useAPI((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname) ? FETCH_YEARLY_DATA_API_URL_PROXY\n : FETCH_YEARLY_DATA_API_URL, { hostname: extractHostname() }, 'POST'), yearlyData = _b[0], res = _b.slice(1);\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticOption = getStatisticOption(statistic);\n var getDataByYear = useCallback(function (year) {\n var _a;\n var _b = ((_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData[year]) || {}, numerator = _b.numerator, denominator = _b.denominator;\n var value = numerator || 0;\n var isNA = !numerator;\n if (!isNA && statistic !== StatisticTypeEnum.TotalCount) {\n isNA = !denominator;\n value = isNA ? 0 : value / (denominator || 1);\n }\n return {\n value: value,\n isNA: isNA,\n percentage: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.percentage,\n };\n }, [statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.percentage, (_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData]);\n return __spreadArrays([__assign(__assign({}, yearlyData), { getDataByYear: getDataByYear })], res);\n};\nvar useAggregatedYearlyData = function () {\n var _a = useAPI(FETCH_AGGREGATED_DATA_API_URL, undefined, 'POST'), yearlyData = _a[0], res = _a.slice(1);\n var getDataByYear = useCallback(function (year) {\n var _a;\n var _b = ((_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData[year]) || {}, percentage = _b.percentage, overall = _b.overall;\n var isNA = overall === undefined || overall === null || overall < 0;\n var value = (isNA ? 0 : overall);\n return {\n value: value,\n isNA: isNA,\n percentage: percentage,\n };\n }, [yearlyData.data]);\n return __spreadArrays([__assign(__assign({}, yearlyData), { getDataByYear: getDataByYear })], res);\n};\nexport var useTrendLineData = function () {\n var _a;\n var statisticYearlyData = useStatisticYearlyData();\n var aggregatedYearlyData = useAggregatedYearlyData();\n var filterSettings = useFilterSetting();\n var _b = filterSettings.isAggregatedDataSource ? aggregatedYearlyData : statisticYearlyData, data = _b[0], fetchData = _b[1], res = _b.slice(2);\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var from = useViewValue('chartView', 'startingYear')[0];\n var to = useViewValue('chartView', 'endingYear')[0];\n var fetchDataWrapper = useCallback(function () {\n if (filterSettings.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Trends,\n },\n } }));\n }\n }, [fetchData, filterSettings]);\n var combinedData = useMemo(function () {\n var result = [];\n if (from && to) {\n for (var year = from; year <= to; year += 1) {\n var yearData = data.getDataByYear(year);\n var value = processStatisticValue(yearData.value, yearData.percentage, statistic) || 0;\n result.push(__assign(__assign({}, yearData), { year: year,\n value: value, suffix: yearData.percentage ? '%' : '', prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit }));\n }\n var linear = getLinear(result, 'year', 'value');\n result[0].linear = linear[0];\n result[result.length - 1].linear = linear[1];\n }\n return result;\n }, [from, to, data, statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit]);\n return __spreadArrays([__assign(__assign({}, data), { data: combinedData }), fetchDataWrapper], res);\n};\nexport var useTrendLineDataForSeason = function () {\n var _a;\n var statisticYearlyData = useStatisticYearlyData();\n var filterSettings = useFilterSetting();\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var aggregatedYearlyData = useAggregatedYearlyData();\n var _b = filterSettings.isAggregatedDataSource ? aggregatedYearlyData : statisticYearlyData, data = _b[0], fetchData = _b[1], res = _b.slice(2);\n var fromSeasonYear = useViewValue('chartView', 'startingSeasonYear')[0];\n var toSeasonYear = useViewValue('chartView', 'endingSeasonYear')[0];\n var fetchDataWrapper = useCallback(function () {\n if (filterSettings.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Trends,\n },\n } }));\n }\n }, [fetchData, filterSettings]);\n var combinedData = useMemo(function () {\n var result = [];\n if (fromSeasonYear && toSeasonYear) {\n var year = fromSeasonYear;\n var safeNumber = 0;\n while (!isEqualSeasonYear(year, putToSeasonYear(toSeasonYear, 1)) && safeNumber < SAFE_SEASON_YEAR) {\n var yearData = data.getDataByYear(year);\n var value = processStatisticValue(yearData.value, yearData.percentage, statistic) || 0;\n result.push(__assign(__assign({}, yearData), { year: 0, seasonYear: year, value: value, suffix: yearData.percentage ? '%' : '', prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit }));\n year = putToSeasonYear(year, 1);\n safeNumber++;\n }\n var linear = getLinear(result, 'seasonYear', 'value');\n result[0].linear = linear[0];\n result[result.length - 1].linear = linear[1];\n }\n return result;\n }, [fromSeasonYear, toSeasonYear, data, statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit]);\n return __spreadArrays([__assign(__assign({}, data), { data: combinedData }), fetchDataWrapper], res);\n};\nvar isEqualSeasonYear = function (arg1, arg2) {\n var arg1Split = getYearsBySeason(arg1);\n var arg2Split = getYearsBySeason(arg2);\n return arg1Split[0] === arg2Split[0] && arg1Split[1] === arg2Split[1];\n};\nvar putToSeasonYear = function (seasonYear, year) {\n var arg1Split = getYearsBySeason(seasonYear);\n return arg1Split.map(function (arg) { return Number(arg) + year; }).join(DELIMITER_SEASON_YEAR);\n};\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { ENV_MIN_PATIENT_BUSINESS_RULE } from '../env';\nimport { setIn } from 'formik';\nimport { GeoLevelEnum } from '../enums';\nexport var applyMinBusinessRule = function (number) { return (number && number >= ENV_MIN_PATIENT_BUSINESS_RULE ? number : undefined); };\nexport var getDisplayText = function (src, suffix, prefix) {\n if (suffix === void 0) { suffix = ''; }\n if (prefix === void 0) { prefix = ''; }\n if (typeof src === 'string')\n return src;\n if (src === undefined || src === null)\n return 'N/A';\n var parts = src.toString().split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n return \"\" + prefix + parts.join('.') + suffix;\n};\nexport var getUserInitials = function (firstName, lastName) {\n if (firstName === void 0) { firstName = ''; }\n if (lastName === void 0) { lastName = ''; }\n return \"\" + firstName.trim().charAt(0).toUpperCase() + lastName.trim().charAt(0).toUpperCase();\n};\nexport var getDisplayUserName = function (firstName, lastName, middleName) {\n var arr = [];\n if (firstName) {\n arr.push(firstName);\n }\n if (middleName) {\n arr.push(middleName);\n }\n if (lastName) {\n arr.push(lastName);\n }\n return arr.join(' ');\n};\nexport var prependingHttpToUrlIfMissing = function (url) {\n if (!url || url.match(/^[a-zA-Z]+:\\/\\//)) {\n return url;\n }\n return \"http://\" + url;\n};\nexport var isObject = function (value) {\n var type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n};\nexport var isEmpty = function (value) {\n if (isObject(value)) {\n if (Object.keys(value).length === 0) {\n return true;\n }\n else {\n return false;\n }\n }\n return value === undefined || value === null || value === '';\n};\nexport function cleanFormattingPhoneNumber(phoneFormated) {\n return phoneFormated.replace(/\\D/g, '');\n}\nexport function formatPhoneNumber(phoneNumberString) {\n if (!phoneNumberString) {\n return phoneNumberString;\n }\n var cleaned = cleanFormattingPhoneNumber(phoneNumberString);\n var match = cleaned.match(/^(\\d{3}|\\d+)(\\d{3}|\\d+)?(\\d{4}|\\d+)?$/);\n var arr = [];\n if (match) {\n var separation = '';\n for (var i = 1; i < match.length; i += 1) {\n if (match[i]) {\n arr.push(separation);\n arr.push(match[i]);\n separation = '-';\n }\n }\n }\n return arr.join('');\n}\nexport function roundNumber(value, precision) {\n if (precision === void 0) { precision = 0; }\n if (value === undefined || value === null) {\n return undefined;\n }\n return parseFloat((value + Number.EPSILON).toFixed(precision));\n}\nexport function safeDivide(numerator, denominator, percentage, precision) {\n if (percentage === void 0) { percentage = false; }\n if (precision === void 0) { precision = 0; }\n if (numerator !== undefined && numerator !== null && denominator) {\n return roundNumber((numerator / denominator) * (percentage ? 100 : 1), precision);\n }\n return undefined;\n}\nexport var cookLegendBreaks = function (originPoints, percentage, precision) {\n if (originPoints === void 0) { originPoints = []; }\n if (percentage === void 0) { percentage = false; }\n if (precision === void 0) { precision = 0; }\n var gradeDelta = 1 / Math.pow(10, precision);\n var prevGrade = -1;\n return originPoints.map(function (grade, idx) {\n var currGrade = idx === 0 || idx % 2 === 1 ? grade * (percentage ? 100 : 1) : prevGrade + gradeDelta;\n currGrade = roundNumber(currGrade, precision);\n if (currGrade < prevGrade) {\n currGrade = prevGrade;\n }\n prevGrade = currGrade;\n return currGrade;\n });\n};\nexport var getBreakIdx = function (breakPoints, value) {\n return !value || !breakPoints ? 0 : (__spreadArrays(breakPoints, [Number.MAX_SAFE_INTEGER]).findIndex(function (grade, idx) { return idx % 2 === 1 && value <= grade; }) + 1) / 2;\n};\nexport var compareFunc = function (a, b, order) {\n if (a === void 0) { a = ''; }\n if (b === void 0) { b = ''; }\n if (order === void 0) { order = 'asc'; }\n return (a < b ? -1 : a > b ? 1 : 0) * (order === 'desc' ? -1 : 1);\n};\nexport var separateGeoLevelId = function (id) {\n var components = (id === null || id === void 0 ? void 0 : id.split('-')) || [];\n return [components.shift(), components.join('-')];\n};\nexport function getValidationSchema(validationSchema) {\n if (typeof validationSchema === 'function') {\n return validationSchema();\n }\n return validationSchema;\n}\nexport function getErrors(validationSchema, values) {\n var parseErrors = function (validationError) {\n return validationError.inner.reduce(function (errors, error) { return setIn(errors, error.path, error.errors[0]); }, Object.assign({}));\n };\n try {\n validationSchema && getValidationSchema(validationSchema).validateSync(values, { abortEarly: false });\n return Object.assign({});\n }\n catch (error) {\n return parseErrors(error);\n }\n}\nexport function getFlattenErrors(validationSchema, values) {\n var parseErrors = function (validationError) { return validationError.errors.filter(function (error, index) { return validationError.errors.indexOf(error) === index; }); };\n try {\n validationSchema && getValidationSchema(validationSchema).validateSync(values, { abortEarly: false });\n return Object.assign([]);\n }\n catch (error) {\n return parseErrors(error);\n }\n}\nexport var getDirectionUrl = function (url) {\n var title = new URL(window.document.location.toString()).searchParams.get('title');\n return \"\" + url + (title !== null ? \"?title=\" + title : '');\n};\nexport var isFeatureInAState = function (state, properties, geoLevel, stateByZipCode5) {\n var _a, _b;\n if (stateByZipCode5 === void 0) { stateByZipCode5 = {}; }\n if (geoLevel === GeoLevelEnum.Zip5) {\n return state.stateCode === parseInt(stateByZipCode5[properties === null || properties === void 0 ? void 0 : properties.zipCode], 10);\n }\n else if (geoLevel === GeoLevelEnum.MSA) {\n return (_b = (_a = properties === null || properties === void 0 ? void 0 : properties.name) === null || _a === void 0 ? void 0 : _a.split(', ')[1]) === null || _b === void 0 ? void 0 : _b.split('-').some(function (i) { return i === state.stateAbb; });\n }\n else {\n return state.stateCode === parseInt(properties === null || properties === void 0 ? void 0 : properties.stateCode, 10);\n }\n};\nexport var groupBy = function (items, key) { return items === null || items === void 0 ? void 0 : items.reduce(function (result, item) {\n var _a;\n var k = typeof key === 'string' ? item[key] : key(item);\n return __assign(__assign({}, result), (_a = {}, _a[k] = __spreadArrays((result[k] || []), [item]), _a));\n}, Object.assign({})); };\nexport var keyBy = function (array, key) { return (array || []).reduce(function (r, x) {\n var _a;\n return (__assign(__assign({}, r), (_a = {}, _a[key ? x[key] : x] = x, _a)));\n}, {}); };\nexport var substituteParams = function (str, params) {\n return params !== undefined ? Object.keys(params).reduce(function (current, key) { return current.replace(\"{\" + key + \"}\", \"\" + params[key]); }, str) : str;\n};\nexport var isTouchEnabled = function () {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n};\nexport var deviceType = function () {\n var ua = navigator.userAgent;\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\n return 'tablet';\n }\n else if (/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {\n return 'mobile';\n }\n return 'desktop';\n};\nexport var getYearsBySeason = function (seasonYear) {\n return String(seasonYear).match(/\\d+/g) || [];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useState, useCallback } from 'react';\nexport var useToggle = function (initialValue) {\n if (initialValue === void 0) { initialValue = false; }\n var _a = useState(initialValue), isOpen = _a[0], setIsOpen = _a[1];\n var toggle = useCallback(function () {\n setIsOpen(function (curr) { return !curr; });\n }, []);\n return [isOpen, toggle, setIsOpen];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport { useState, useCallback, useEffect, useRef } from 'react';\nimport { getIn, setIn, setNestedObjectValues } from 'formik';\nimport { isEmpty, getValidationSchema, getErrors } from '../utils';\nexport function castValues(values, validationSchema) {\n return !validationSchema ? values : getValidationSchema(validationSchema).cast(values);\n}\nvar isFirstError = function (errors, name, path) {\n if (path === void 0) { path = []; }\n if (isEmpty(errors)) {\n return false;\n }\n var firstErrorName = Array.isArray(errors) ? \"\" + errors.findIndex(function (err) { return !isEmpty(err); }) : Object.keys(errors)[0];\n path.push(firstErrorName);\n if (name === path.join('.')) {\n return true;\n }\n var nameDepth = name.split('.');\n if (nameDepth.length !== path.length) {\n return isFirstError(errors[firstErrorName], name, path);\n }\n return false;\n};\nexport var useForm = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, initialValues = _b.initialValues, validationSchema = _b.validationSchema;\n var _c = useState(Object.assign({}, initialValues)), values = _c[0], setValues = _c[1];\n var _d = useState(Object.assign({})), errors = _d[0], setErrors = _d[1];\n var _e = useState(Object.assign({})), touched = _e[0], setTouched = _e[1];\n var _f = useState(false), isSubmitting = _f[0], setIsSubmitting = _f[1];\n var _g = useState(0), submitCount = _g[0], setSubmitCount = _g[1];\n var isUnMount = useRef(false);\n var initialValuesRef = useRef(Object.assign({}, initialValues));\n var validationSchemaRef = useRef(validationSchema);\n useEffect(function () {\n return function () {\n isUnMount.current = true;\n };\n }, []);\n useEffect(function () {\n validationSchemaRef.current = validationSchema;\n if (typeof validationSchema === 'function') {\n setValues(function (values) { return (__assign({}, values)); });\n }\n }, [validationSchema]);\n useEffect(function () {\n setErrors(getErrors(validationSchemaRef.current, values));\n }, [values]);\n var setInitialValues = useCallback(function (initialValues) {\n initialValuesRef.current = initialValues;\n setValues(Object.assign({}, initialValues));\n setTouched(Object.assign({}));\n }, []);\n var setFieldValue = useCallback(function (value, field) {\n setValues(function (values) { return setIn(values, field, value); });\n }, []);\n var setFieldTouched = useCallback(function (isTouched, field) {\n setTouched(function (touched) { return setIn(touched, field, isTouched); });\n }, []);\n var handleChange = useCallback(function (event) {\n var name = event.target.name;\n var value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\n setFieldValue(value, name);\n }, [setFieldValue]);\n var handleBlur = useCallback(function (event) {\n var name = event.target.name;\n setFieldTouched(true, name);\n }, [setFieldTouched]);\n var handleSubmit = function (submitFormHandler) { return function (event) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n event === null || event === void 0 ? void 0 : event.preventDefault();\n if (isSubmitting) {\n return [2 /*return*/];\n }\n setSubmitCount(function (curr) { return curr + 1; });\n setIsSubmitting(true);\n setTouched(setNestedObjectValues(initialValuesRef.current, true));\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 4, 5]);\n if (!isEmpty(errors)) return [3 /*break*/, 3];\n return [4 /*yield*/, submitFormHandler(castValues(values, validationSchemaRef.current))];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [3 /*break*/, 5];\n case 4:\n if (!isUnMount.current) {\n setIsSubmitting(false);\n }\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n }); }; };\n var handleReset = useCallback(function () {\n setValues(initialValuesRef.current);\n setTouched(Object.assign({}));\n }, []);\n var getError = function (name) { return (getIn(touched, name) ? getIn(errors, name) : undefined); };\n var isFirstFieldError = function (name) { return isFirstError(errors, name); };\n return {\n setInitialValues: setInitialValues,\n values: values,\n handleChange: handleChange,\n handleBlur: handleBlur,\n setFieldValue: setFieldValue,\n setFieldTouched: setFieldTouched,\n handleSubmit: handleSubmit,\n isSubmitting: isSubmitting,\n handleReset: handleReset,\n getError: getError,\n isFirstFieldError: isFirstFieldError,\n submitCount: submitCount,\n hasError: !isEmpty(errors),\n };\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect, useRef, useState } from 'react';\nexport var useDebounce = function (callback, depends, delay) {\n if (delay === void 0) { delay = 0; }\n var mountedRef = useRef(false);\n useEffect(function () {\n var unmountHandeler;\n var handler = setTimeout(function () {\n unmountHandeler = callback();\n }, !mountedRef.current ? 0 : delay);\n mountedRef.current = true;\n return function () {\n clearTimeout(handler);\n unmountHandeler && unmountHandeler();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, __spreadArrays([delay], depends));\n};\nexport var useDebounceValue = function (callback, depends, delay) {\n if (delay === void 0) { delay = 0; }\n var _a = useState(callback), value = _a[0], setValue = _a[1];\n var mountedRef = useRef(false);\n useEffect(function () {\n if (mountedRef.current) {\n var handler_1 = setTimeout(function () {\n setValue(callback());\n }, delay);\n return function () {\n clearTimeout(handler_1);\n };\n }\n mountedRef.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, __spreadArrays([delay], depends));\n return value;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { feature } from 'topojson-client';\nimport * as turf from '@turf/helpers';\nimport * as _ from 'lodash';\nimport { useCachedData } from '../state';\nimport { useDebounceValue } from './usedebounce';\nexport var combineGeoJson = function (data, filter, propertyMapping, forceClean) {\n if (forceClean || !data) {\n return turf.featureCollection([]);\n }\n var features = data.features;\n features = filter ? features.filter(function (f) { return filter(f.properties); }) : features;\n features = propertyMapping ? features.map(function (f) { return (__assign(__assign({}, f), { properties: propertyMapping(f.properties) })); }) : features;\n return turf.featureCollection(features);\n};\nvar parseTopoJsonToGeoJson = function (keyName, geoType) {\n if (keyName === void 0) { keyName = 'id'; }\n if (geoType === void 0) { geoType = 'unknown'; }\n return function (topology) {\n if (topology) {\n var object = Object.values(topology.objects)[0];\n object.geometries = object.geometries.map(function (geo) { return (__assign(__assign({}, geo), { properties: __assign(__assign({}, geo.properties), { geoType: geoType }) })); });\n var featureCollection = feature(topology, object);\n var mapFeature = _.keyBy(featureCollection.features, \"properties.\" + keyName);\n var mapGeometry = _.keyBy(object.geometries, \"properties.\" + keyName);\n return { topology: topology, featureCollection: featureCollection, mapFeature: mapFeature, mapGeometry: mapGeometry };\n }\n };\n};\nexport var useGeoJson = function (url, option) {\n var _a, _b;\n var _c = useCachedData(url || '', undefined, undefined, undefined, parseTopoJsonToGeoJson(option === null || option === void 0 ? void 0 : option.keyName, option === null || option === void 0 ? void 0 : option.geoType)), topoJsonData = _c[0], doRequest = _c[1], resetStateAPI = _c[2];\n var _d = useDebounceValue(function () {\n var _a, _b;\n return ({\n featureCollection: (_a = topoJsonData.data) === null || _a === void 0 ? void 0 : _a.featureCollection,\n combinedGeoJson: combineGeoJson((_b = topoJsonData.data) === null || _b === void 0 ? void 0 : _b.featureCollection, option === null || option === void 0 ? void 0 : option.filter, option === null || option === void 0 ? void 0 : option.propertyMapping, option === null || option === void 0 ? void 0 : option.forceClean),\n });\n }, [option === null || option === void 0 ? void 0 : option.filter, option === null || option === void 0 ? void 0 : option.forceClean, option === null || option === void 0 ? void 0 : option.propertyMapping, (_a = topoJsonData.data) === null || _a === void 0 ? void 0 : _a.featureCollection]), featureCollection = _d.featureCollection, combinedGeoJson = _d.combinedGeoJson;\n return [\n __assign(__assign(__assign({}, topoJsonData), topoJsonData.data), { data: combinedGeoJson, requesting: topoJsonData.requesting || featureCollection !== ((_b = topoJsonData.data) === null || _b === void 0 ? void 0 : _b.featureCollection) }),\n doRequest,\n resetStateAPI,\n ];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect } from 'react';\nexport * from './usetoggle';\nexport * from './useform';\nexport * from './usedebounce';\nexport * from './usegeojson';\nexport * from './useconfig';\nexport var useMount = function (effect) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(effect, []);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\n// Common component use for both UI & Reports\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../enums';\nimport { useLookupState, useLookupZipCodeDistrict, useLookupMSA, useLookupCounty, getGeoLevelLabel } from '../../lookupdata';\nimport { separateGeoLevelId } from '../../utils';\nexport var useSelectedGeoIdInfo = function (viewSetting, stateName) {\n var _a, _b, _c, _d, _e, _f, _g;\n var lookupStateData = useLookupState()[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var lookupMsa = useLookupMSA()[0];\n var countyData = useLookupCounty()[0];\n var geoLevel = viewSetting.geoType;\n var selectedId = ((_a = viewSetting.selectedRegion) === null || _a === void 0 ? void 0 : _a.type) === RightPanelTypeEnum.RegionDetail ? viewSetting.selectedRegion.id : undefined;\n var selectedGeoProperties = (_b = viewSetting.mapView) === null || _b === void 0 ? void 0 : _b.selectedGeoProperties;\n var geoLevelLabel = getGeoLevelLabel(geoLevel);\n var firstLevelLabel = 'All';\n var secondLevelLabel = geoLevel !== GeoLevelEnum.State && geoLevel !== GeoLevelEnum.MSA ? 'All' : undefined;\n var _h = separateGeoLevelId(selectedId), firstLevelCode = _h[0], secondLevelCode = _h[1];\n if (firstLevelCode) {\n if (geoLevel === GeoLevelEnum.Zip5 && !(selectedId === null || selectedId === void 0 ? void 0 : selectedId.endsWith('-'))) {\n secondLevelLabel = firstLevelCode.padStart(5, '0');\n firstLevelLabel = stateName || lookupZipCode.getStateNameOfZipCode(secondLevelLabel);\n }\n else if (geoLevel === GeoLevelEnum.MSA) {\n firstLevelLabel = ((_d = (_c = lookupMsa.data) === null || _c === void 0 ? void 0 : _c.find(function (lookup) { return lookup.msaNumber === firstLevelCode; })) === null || _d === void 0 ? void 0 : _d.msaName) || (selectedGeoProperties === null || selectedGeoProperties === void 0 ? void 0 : selectedGeoProperties.name);\n }\n else {\n firstLevelLabel = lookupStateData.getNameByStateCode(firstLevelCode);\n }\n }\n if (firstLevelCode && secondLevelCode) {\n if (geoLevel === GeoLevelEnum.County) {\n secondLevelLabel = (_g = (_f = (_e = countyData.data) === null || _e === void 0 ? void 0 : _e[firstLevelCode.padStart(2, '0')]) === null || _f === void 0 ? void 0 : _f.find(function (ct) { return ct.countyCode === secondLevelCode; })) === null || _g === void 0 ? void 0 : _g.countyName;\n }\n else if (geoLevel === GeoLevelEnum.Congressional) {\n secondLevelLabel = secondLevelCode.padStart(2, '0');\n }\n else {\n // zip 3, upper district, lower district\n secondLevelLabel = secondLevelCode.padStart(3, '0');\n }\n }\n return [geoLevelLabel, firstLevelLabel, secondLevelLabel].filter(function (label) { return !!label; });\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useCallback, useMemo } from 'react';\nimport { useAPI, useFilterSetting, exportFilterSettingPayload } from '../state';\nimport { DemographicTypeEnum, ViewModeEnum, ChartViewEnum, GeoLevelEnum } from '../enums';\nimport { useLookupSexCode, useLookupRaceCode, mapAgeValues, stringifyAgeValue, AGE_OPTIONS, ALL_AGE_VALUES, getStatisticOption, processStatisticValue, } from '../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../hostnameindexinfo';\nvar FETCH_AGGREGATED_DATA_API_URL = '/api/data-file/get-aggregated-data-for-demographic-piechart';\nvar FETCH_CHART_DATA_API_URL = '/api/stats/{hostname}/calculate-statistic-for-demographic-piechart';\nvar FETCH_CHART_DATA_API_URL_PROXY = '/api/{hostname}/calculate-statistic-for-demographic-piechart';\nvar useStatisticData = function () {\n var _a;\n var _b, _c, _d, _e;\n var indexConfig = useHostnameIndexInfo();\n var _f = useAPI((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname) ? FETCH_CHART_DATA_API_URL_PROXY\n : FETCH_CHART_DATA_API_URL, {\n hostname: extractHostname()\n }, 'POST'), chartData = _f[0], res = _f.slice(1);\n var filterSettings = useFilterSetting();\n var statistic = (_b = filterSettings.statistic) === null || _b === void 0 ? void 0 : _b.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var _g = useLookupSexCode((_c = filterSettings.demographics) === null || _c === void 0 ? void 0 : _c.sexCodes), lookupSexData = _g[0], resLookupSex = _g.slice(1);\n var _h = useLookupRaceCode(filterSettings.raceMethodology, (_d = filterSettings.demographics) === null || _d === void 0 ? void 0 : _d.raceCodes), lookupRaceData = _h[0], resLookupRace = _h.slice(1);\n var dataByDemographic = (_a = {},\n _a[DemographicTypeEnum.Sex] = __spreadArrays([__assign(__assign({}, lookupSexData), { data: lookupSexData.mappedValues || lookupSexData.data })], resLookupSex),\n _a[DemographicTypeEnum.Race] = __spreadArrays([__assign(__assign({}, lookupRaceData), { data: lookupRaceData.mappedValues || lookupRaceData.data })], resLookupRace),\n _a[DemographicTypeEnum.Age] = [{ data: mapAgeValues((_e = filterSettings.demographics) === null || _e === void 0 ? void 0 : _e.ages) || AGE_OPTIONS }, function () { }, function () { }],\n _a);\n var data = useMemo(function () {\n var combinedAgeKeyData = chartData.data && __assign(__assign({}, chartData.data.mapStatisticResponsingData), { age: chartData.data.mapStatisticResponsingData.age.subGroups.reduce(function (acc, curr) {\n acc[stringifyAgeValue(curr)] = curr.patientCount || curr.aggregateValue;\n return acc;\n }, Object.assign({})) });\n return [DemographicTypeEnum.Sex, DemographicTypeEnum.Race, DemographicTypeEnum.Age].reduce(function (acc, demographic) {\n var _a;\n var _b = dataByDemographic[demographic], data = _b[0], res = _b.slice(1);\n acc[demographic] = __spreadArrays([\n __assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return ({\n id: i.stringified || i.value,\n name: i.shortName || i.label,\n value: processStatisticValue((combinedAgeKeyData === null || combinedAgeKeyData === void 0 ? void 0 : combinedAgeKeyData[demographic][i.stringified || i.value]) || 0, false, statistic),\n prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit,\n }); }).filter(function (i) { return !!i.value; }) })\n ], res);\n return acc;\n }, Object.assign({}));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [chartData.data, lookupSexData.data, lookupRaceData.data]);\n return __spreadArrays([\n __assign(__assign({}, chartData), { data: data })\n ], res);\n};\nvar useAggregatedData = function () {\n var _a;\n var _b = useAPI(FETCH_AGGREGATED_DATA_API_URL, undefined, 'POST'), chartData = _b[0], res = _b.slice(1);\n var filterSettings = useFilterSetting();\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var data = useMemo(function () {\n var _a;\n var _b;\n return (_b = chartData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData.aggregatedDataCategoryList.reduce(function (acc, curr) {\n var _a, _b;\n if (curr.dataValue >= 0 && acc[curr.dataSourceColumnDefinition.category.toLowerCase()]) {\n acc[curr.dataSourceColumnDefinition.category.toLowerCase()][0].data.push({\n name: curr.dataSourceColumnDefinition.uiName,\n value: processStatisticValue(curr.dataValue, (_a = chartData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData.percentage, statistic),\n key: curr.dataSourceColumnDefinition.id,\n prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit,\n suffix: ((_b = chartData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData.percentage) ? '%' : '',\n });\n }\n return acc;\n }, (_a = {}, _a[DemographicTypeEnum.Sex] = [{ data: [] }], _a[DemographicTypeEnum.Race] = [{ data: [] }], _a[DemographicTypeEnum.Age] = [{ data: [] }], _a));\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [chartData.data]);\n return __spreadArrays([\n __assign(__assign({}, chartData), { data: data })\n ], res);\n};\nexport var useChartData = function () {\n var statisticChartData = useStatisticData();\n var aggregatedChartData = useAggregatedData();\n var filterSettings = useFilterSetting();\n var _a = filterSettings.isAggregatedDataSource ? aggregatedChartData : statisticChartData, data = _a[0], fetchData = _a[1], res = _a.slice(2);\n var fetchDataWrapper = useCallback(function () {\n var _a;\n if (filterSettings.forceUpdate) {\n var ageRanges = (_a = filterSettings.demographics) === null || _a === void 0 ? void 0 : _a.ages;\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Demographic,\n ageRanges: (ageRanges === null || ageRanges === void 0 ? void 0 : ageRanges.length) ? ageRanges : ALL_AGE_VALUES,\n },\n } }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterSettings.forceUpdate]);\n return __spreadArrays([data, fetchDataWrapper], res);\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useCallback, useState } from 'react';\nimport styled from 'styled-components';\nimport { components } from 'react-select';\nimport { useViewValue, useFilterSetting } from '../state';\nimport { Select } from '../common';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../enums';\nimport { getDisplayText } from '../utils';\nimport { useLookupState, useLookupZipCodeDistrict, LookupMSAComponent, useLookupMSA, LookupCountyComponent, useLookupCounty, } from '../lookupdata';\nimport { useEffectFilterSettingCount } from './useeffectfiltercount';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useViewport } from '../map';\nimport { useFilterCount } from '../filterdialog';\nvar EXCLUDE_STATE_COUNT_INDEXES = ['lupus', 'fluvaccine'];\nvar StyledParentOption = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledChildOption = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar usePatientCountForState = function () {\n var indexConfig = useHostnameIndexInfo();\n var _a = useFilterCount('STATE_CODE', indexConfig), countData = _a[0], res = _a.slice(1);\n var filterSetting = useFilterSetting();\n var formatOptionLabel = useCallback(function (i) {\n var _a;\n var showLabelCount = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && !filterSetting.isAggregatedDataSource\n // NMQF-2098: Skip filter count for STATE_CODE in Lupus index\n && !EXCLUDE_STATE_COUNT_INDEXES.includes(indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname);\n return \"\" + i.stateName + (showLabelCount ? \" (\" + getDisplayText((_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.stateCode]) + \")\" : '');\n }, [countData.data, filterSetting.isAggregatedDataSource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname]);\n return __spreadArrays([__assign(__assign({}, countData), { formatOptionLabel: formatOptionLabel })], res);\n};\nvar transformLookupStateForGeoId = function (i, suffix) {\n if (suffix === void 0) { suffix = ''; }\n return (__assign(__assign({}, i), { value: \"\" + parseInt(i.stateCode, 10) + suffix, label: i.stateName }));\n};\nvar useCombineTwoGeoLevel = function (dataByStateCode, sortFn, transformFn, isCombineKey, key) {\n if (isCombineKey === void 0) { isCombineKey = true; }\n var lookupState = useLookupState()[0];\n var countData = usePatientCountForState()[0];\n var _a = useState([]), options = _a[0], setOptions = _a[1];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n useEffect(function () {\n var _a;\n setOptions((_a = lookupState.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return !singleState || parseInt(i.stateCode, 10) === singleState.stateCode; }).flatMap(function (i) {\n var _a, _b;\n var parent = transformLookupStateForGeoId(i, '-');\n var data = key ? (_a = dataByStateCode.data) === null || _a === void 0 ? void 0 : _a[key] : dataByStateCode.data;\n var children = (_b = data === null || data === void 0 ? void 0 : data[i.stateCode]) === null || _b === void 0 ? void 0 : _b.sort(sortFn).map(function (child) {\n var transformedChild = transformFn(child);\n var childValue = (\"\" + transformedChild.value).replace(/^0+(\\d+)$/, '$1');\n return __assign(__assign({}, transformedChild), { value: isCombineKey ? \"\" + parent.value + childValue : childValue, parent: parent });\n });\n return (children === null || children === void 0 ? void 0 : children.length) ? __spreadArrays([__assign(__assign({}, parent), { children: children })], children) : [];\n }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupState.data, dataByStateCode.data]);\n var formatOptionLabel = function (i) { var _a; return (((_a = i.children) === null || _a === void 0 ? void 0 : _a.length) ? countData.formatOptionLabel(i) : i.label); };\n return {\n options: options,\n noSort: true,\n isLoading: lookupState.requesting || dataByStateCode.requesting,\n components: { Option: Option },\n formatOptionLabel: formatOptionLabel,\n };\n};\nvar useZipCodeDistrictSelectProps = function (key, isCombineKey) {\n var dataByStateCode = useLookupZipCodeDistrict()[0];\n var sortFn = function (a, b) { return (\"\" + a).padStart(5, '0').localeCompare((\"\" + b).padStart(5, '0')); };\n var transformFn = function (value) { return ({ value: value, label: value }); };\n return useCombineTwoGeoLevel(dataByStateCode, sortFn, transformFn, isCombineKey, key);\n};\nvar Option = function (props) {\n var _a;\n var StyledOption = ((_a = props.data.children) === null || _a === void 0 ? void 0 : _a.length) ? StyledParentOption : StyledChildOption;\n return (React.createElement(components.Option, __assign({}, props),\n React.createElement(StyledOption, null, props.children)));\n};\nvar SingleValue = function (props) {\n return (React.createElement(components.SingleValue, __assign({}, props),\n props.data.parent && React.createElement(\"b\", null,\n props.data.parent.label,\n \"\\u00A0\"),\n props.data.label));\n};\nvar GeoSelectComponent = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var _b = useViewValue('mapView', 'zoomId'), setZoomId = _b[1];\n var _c = useViewport(), resetViewport = _c[2];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : null;\n var handleChange = function (id) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail, id: id });\n setZoomId(id);\n if (!id) {\n resetViewport();\n }\n };\n return (React.createElement(Select, __assign({}, props, { components: __assign(__assign({}, props.components), { SingleValue: SingleValue }), isClearable: true, width: \"17\", name: \"selectId\", indicatorIcon: \"search\", value: selectedId, onChange: handleChange })));\n};\nvar ZipCodeComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('zipCode5ByState', false);\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or Zip Code\" }, selectProps));\n};\nvar Zip3Component = function () {\n var selectProps = useZipCodeDistrictSelectProps('zipCode3ByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or Zip Code\" }, selectProps));\n};\nvar CongrestionalComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('congressionalDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar StateUpperComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('upperHouseDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar StateLowerComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('lowerHouseDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar CountyComponent = function () {\n var countyData = useLookupCounty()[0];\n var sortFn = function (a, b) { return a.countyName.toLowerCase().localeCompare(b.countyName.toLowerCase()); };\n var transformFn = function (i) { return ({ value: i.countyCode, label: i.countyName }); };\n var selectProps = useCombineTwoGeoLevel(countyData, sortFn, transformFn);\n return (React.createElement(React.Fragment, null,\n React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or County\" }, selectProps)),\n React.createElement(LookupCountyComponent, null)));\n};\nvar StateComponent = function () {\n var lookupState = useLookupState()[0];\n var countData = usePatientCountForState()[0];\n return (React.createElement(GeoSelectComponent, { placeholder: \"Search State\", isLoading: lookupState.requesting, options: lookupState.data, optionsTransform: function (i) { return transformLookupStateForGeoId(i); }, formatOptionLabel: countData.formatOptionLabel }));\n};\nvar MSAComponent = function () {\n var _a;\n var lookupMsa = useLookupMSA()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var re = new RegExp(\"^[^,]*,.*(?: |-)(\" + (singleState === null || singleState === void 0 ? void 0 : singleState.stateAbb) + \")(?:$| |-)\");\n var options = singleState ? (_a = lookupMsa.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return re.test(i.msaName); }) : lookupMsa.data;\n return (React.createElement(React.Fragment, null,\n React.createElement(GeoSelectComponent, { placeholder: \"Search MSA\", isLoading: lookupMsa.requesting, options: options, optionsTransform: function (i) { return ({ value: i.msaNumber, label: i.msaName }); } }),\n React.createElement(LookupMSAComponent, null)));\n};\nvar SEARCH_COMPONENT_BY_GEO = (_a = {},\n _a[GeoLevelEnum.Zip5] = ZipCodeComponent,\n _a[GeoLevelEnum.Zip3] = Zip3Component,\n _a[GeoLevelEnum.State] = StateComponent,\n _a[GeoLevelEnum.County] = CountyComponent,\n _a[GeoLevelEnum.MSA] = MSAComponent,\n _a[GeoLevelEnum.Congressional] = CongrestionalComponent,\n _a[GeoLevelEnum.StateUpper] = StateUpperComponent,\n _a[GeoLevelEnum.StateLower] = StateLowerComponent,\n _a);\nexport var GeoSearchComponent = function () {\n var _a = usePatientCountForState(), fetchPatientCountForState = _a[1];\n var geoLevel = useViewValue('geoType')[0];\n var SearchCoponent = geoLevel && SEARCH_COMPONENT_BY_GEO[geoLevel];\n useEffectFilterSettingCount(function (body, indexConfig) {\n // NMQF-2098: Skip filter count for STATE_CODE in Lupus index\n if (!EXCLUDE_STATE_COUNT_INDEXES.includes(indexConfig.hostname)) {\n fetchPatientCountForState(body);\n }\n });\n return React.createElement(React.Fragment, null, SearchCoponent && React.createElement(SearchCoponent, null));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport styled from 'styled-components';\nimport { components } from 'react-select';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useViewValue, useFilterValue, useFilterSetting } from '../state';\nimport { VIEW_MODES, CHART_VIEW_OPTIONS } from '../configs';\nimport { DropdownToggleIcon, DropdownItem, Select } from '../common';\nimport { ViewModeEnum, ChartViewEnum, RightPanelTypeEnum } from '../enums';\nimport { GeoSearchComponent } from './geosearch';\nimport { useAggregatedGeoLevel } from '../filterdialog/aggregateddatasource';\nimport { getStatisticShortName, GEO_LEVELS } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks';\nvar DisplayOption = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) {\\n margin-left: auto;\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) {\\n margin-left: auto;\\n }\\n\"])));\nvar StyledViewModeOption = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0 0.5rem;\\n display: flex;\\n color: #000;\\n display: flex;\\n align-items: center;\\n\"], [\"\\n padding: 0 0.5rem;\\n display: flex;\\n color: #000;\\n display: flex;\\n align-items: center;\\n\"])));\nvar SearchLabel = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #fff;\\n margin-right: 0.5rem;\\n\"], [\"\\n color: #fff;\\n margin-right: 0.5rem;\\n\"])));\nvar StyledComponentWithScreen = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n @media only screen and (max-width: 720px) {\\n display: none;\\n }\\n\"], [\"\\n @media only screen and (max-width: 720px) {\\n display: none;\\n }\\n\"])));\nexport var MapViewOption = function () {\n var viewMode = useViewValue('viewMode')[0];\n var _a = useViewValue('geoType'), geoLevel = _a[0], setGeoLevel = _a[1];\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var filterSettings = useFilterSetting();\n var aggregatedGeoLevelData = useAggregatedGeoLevel(filterSettings)[0];\n var availableGeography = useGeneralConfigByDataSource('availableGeography');\n var isOptionDisabled = function (option) { var _a; return !!filterSettings.isAggregatedDataSource && !((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.some(function (i) { return i === option.value; })); };\n var isOptionDisabledByGeneralConfig = function (option) { return Array.isArray(availableGeography) && !availableGeography.includes(option.value); };\n var handleChangeGeoLevel = function (value) {\n setGeoLevel(value);\n if (value !== geoLevel && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n };\n if (viewMode !== ViewModeEnum.Map && viewMode !== ViewModeEnum.Table)\n return null;\n return (React.createElement(StyledViewModeOption, null,\n viewMode === ViewModeEnum.Map && (React.createElement(React.Fragment, null,\n React.createElement(SearchLabel, null, \"Show\"),\n React.createElement(Select, { minMenuHeight: 330, maxMenuHeight: 500, width: \"16\", className: \"mr-1\", name: \"geoLevel\", options: GEO_LEVELS, noSort: true, value: geoLevel, onChange: handleChangeGeoLevel, isOptionDisabled: isOptionDisabledByGeneralConfig || isOptionDisabled }))),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(GeoSearchComponent, null))));\n};\nvar StyledCheckIcon = styled(FontAwesomeIcon)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n position: absolute;\\n left: 1.25rem;\\n\"], [\"\\n position: absolute;\\n left: 1.25rem;\\n\"])));\nvar StyleSelectChartView = styled(Select)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n max-width: calc(100vw - 7rem);\\n\"], [\"\\n max-width: calc(100vw - 7rem);\\n\"])));\nvar ChartViewSearchOption = function (props) {\n return (React.createElement(components.Option, __assign({}, props, { className: props.data.isParent ? 'font-weight-bold' : 'pl-5 position-relative' }),\n props.data.checked && React.createElement(StyledCheckIcon, { className: \"position-absolute\", icon: \"check\" }),\n props.children));\n};\nvar ChartViewDemographicValue = function (props) {\n var _a;\n var demographics = useViewValue('chartView', 'demographics')[0];\n var childrenName = (_a = props.data.children) === null || _a === void 0 ? void 0 : _a.filter(function (child) { return demographics === null || demographics === void 0 ? void 0 : demographics.some(function (v) { return v === child.value; }); }).map(function (child) { return child.label; }).join(', ');\n return (React.createElement(components.SingleValue, __assign({}, props),\n React.createElement(\"b\", null, props.children),\n \"\\u00A0\",\n React.createElement(\"span\", null, childrenName)));\n};\nvar ChartViewTrendValue = function (props) {\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n return (React.createElement(components.SingleValue, __assign({}, props),\n React.createElement(\"b\", null, props.children),\n \"\\u00A0\",\n React.createElement(\"span\", null,\n \"Yearly \",\n statisticName)));\n};\nexport var ChartViewOption = function () {\n var viewMode = useViewValue('viewMode')[0];\n var _a = useViewValue('chartView', 'type'), chartViewType = _a[0], setChartViewType = _a[1];\n var _b = useViewValue('chartView', 'demographics'), demographics = _b[0], setDemographics = _b[1];\n var selectingChildrenMap = useMemo(function () {\n var _a;\n return (_a = {},\n _a[ChartViewEnum.Demographic] = [demographics, setDemographics],\n _a[ChartViewEnum.Trends] = undefined,\n _a);\n }, [demographics, setDemographics]);\n var options = useMemo(function () {\n return CHART_VIEW_OPTIONS.flatMap(function (option) {\n var childrenSelecting = (selectingChildrenMap[option.value] || [])[0];\n return __spreadArrays([\n __assign(__assign({}, option), { isParent: true })\n ], (option.children || []).map(function (child) { return (__assign(__assign({}, child), { parent: option, checked: childrenSelecting === null || childrenSelecting === void 0 ? void 0 : childrenSelecting.some(function (v) { return v === child.value; }) })); }));\n });\n }, [selectingChildrenMap]);\n var handleChange = function (value, name, values) {\n var _a, _b;\n if (values.isParent) {\n setChartViewType(value);\n }\n else {\n var _c = selectingChildrenMap[values.parent.value] || [], childrenSelecting_1 = _c[0], setter = _c[1];\n var isChecking = !!(childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return v === value; }));\n if (isChecking) {\n setter === null || setter === void 0 ? void 0 : setter((_a = values.parent.children) === null || _a === void 0 ? void 0 : _a.filter(function (option) { return (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.length) === 1 || (option.value !== value && (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return option.value === v; }))); }).map(function (option) { return option.value; }));\n }\n else {\n setter === null || setter === void 0 ? void 0 : setter((_b = values.parent.children) === null || _b === void 0 ? void 0 : _b.filter(function (option) { return option.value === value || (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return option.value === v; })); }).map(function (option) { return option.value; }));\n }\n }\n };\n if (viewMode !== ViewModeEnum.Chart)\n return null;\n return (React.createElement(StyledViewModeOption, null,\n React.createElement(SearchLabel, null, \"Show\"),\n React.createElement(StyleSelectChartView, { name: \"chartViewType\", width: \"22\", options: options, noSort: true, value: chartViewType, onChange: handleChange, indicatorIcon: \"search\", components: {\n Option: ChartViewSearchOption,\n SingleValue: chartViewType === ChartViewEnum.Demographic ? ChartViewDemographicValue : ChartViewTrendValue,\n }, isOptionDisabled: function (i) { return !!i.parent && chartViewType !== i.parent.value; } })));\n};\nexport var ViewModeComponent = function () {\n var _a = useViewValue('viewMode'), viewMode = _a[0], setViewMode = _a[1];\n var selectingOption = VIEW_MODES[viewMode];\n return (React.createElement(UncontrolledDropdown, null,\n React.createElement(DropdownToggleIcon, { icon: selectingOption.icon, size: \"2x\", caret: true, title: \"Change view\", placement: \"top\" }),\n React.createElement(DropdownMenu, { right: true }, Object.values(VIEW_MODES).map(function (opt) { return (React.createElement(DropdownItem, { key: opt.value, icon: opt.icon, label: opt.label, value: opt.value, onChange: setViewMode })); }))));\n};\nexport var DisplayOptionComponent = function () {\n return (React.createElement(DisplayOption, null,\n React.createElement(MapViewOption, null),\n React.createElement(ChartViewOption, null),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(ViewModeComponent, null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { DropdownItem, DropdownMenu, UncontrolledDropdown } from 'reactstrap';\nimport moment from 'moment';\nimport { Authenticated, useAuth } from '../authentication';\nimport { DropdownToggleIcon } from '../common';\nimport { ClinicalTrialOptionEnum, RoleEnum, ViewModeEnum } from '../enums';\nimport { exportFilterSettingPayload, useFilterSetting, useViewSetting, useViewValue } from '../state';\nimport { useMapRef, useMapValue } from '../map';\nimport styled from 'styled-components';\nimport { getGeoLevelLabel, getStatisticShortName } from '../lookupdata';\nimport { useExport } from '../export';\nimport { useProviderSetting } from '../selectors';\nvar EXPORT_CSV_API = '/api/provider/export-csv';\nvar EXPORT_CLINICAL_TRIAL_CSV_API = '/api/clinical-trials/export-to-excel-file';\nvar EXPORT_QUEST_DIAGNOSTICS_SIE_CSV_API = '/api/quest-diagnostics/export-to-excel-file';\nvar StyledDropdownItem = styled(DropdownItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-left: 3rem;\\n position: relative;\\n\"], [\"\\n padding-left: 3rem;\\n position: relative;\\n\"])));\nexport var ProviderDownloadButton = function () {\n var auth = useAuth();\n var filterSetting = useFilterSetting();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var editorRef = useMapValue('editorRef')[0];\n var providerSetting = useProviderSetting()[0];\n var _a = providerSetting || {}, doGetPrimaryCareProvider = _a.doGetPrimaryCareProvider, doGetHospitalProvider = _a.doGetHospitalProvider, specialistProviders = _a.specialistProviders, available = _a.available;\n var show = available && viewMode === ViewModeEnum.Map;\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { providerParam: {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(),\n dateTimeStringForExportingCsv: moment().format('YYYYMMDD HHmmss'),\n polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1),\n } })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!show)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Providers\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Patient Demographics for Providers in Region\")));\n};\nexport var ClinicalTrialDownloadButton = function () {\n var auth = useAuth();\n var filterSetting = useFilterSetting();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var clinicalTrialOption = useViewValue('clinicalTrial', 'clinicalTrialOption')[0];\n var filterRecruitmentStatuses = useViewValue('clinicalTrialStatus', 'filterRecruitmentStatuses')[0];\n var editorRef = useMapValue('editorRef')[0];\n var show = !!clinicalTrialOption;\n show = show && viewMode === ViewModeEnum.Map;\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_CLINICAL_TRIAL_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { primaryCoMorbidities: clinicalTrialOption === ClinicalTrialOptionEnum.AllTrials ? undefined : filterSetting.primaryCoMorbidities, bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(), currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1), filterRecruitmentStatuses: filterRecruitmentStatuses })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!show)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Clinical Trials\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Trials in Region\")));\n};\nexport var QuestDiagnosticsSitesDownloadButton = function () {\n var auth = useAuth();\n var checkedQuestDiagnosticsStatus = useViewValue('checkedQuestDiagnosticsStatus')[0];\n var filterSetting = useFilterSetting();\n var viewMode = useViewValue('viewMode')[0];\n var mapRef = useMapRef();\n var editorRef = useMapValue('editorRef')[0];\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_QUEST_DIAGNOSTICS_SIE_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(), currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1) })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!checkedQuestDiagnosticsStatus || viewMode !== ViewModeEnum.Map)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Quest Diagnostics Sites\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Quest Diagnostics in Region\")));\n};\nexport var BeneficiaryExportButton = function () {\n var _a;\n var filterSetting = useFilterSetting();\n var viewSetting = useViewSetting();\n var geoLevel = viewSetting.geoType;\n var geoLevelLabel = getGeoLevelLabel(geoLevel);\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticName = getStatisticShortName(statistic);\n var _b = useExport(), disabled = _b[0], handleExport = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Beneficiaries\"),\n React.createElement(StyledDropdownItem, { onClick: handleExport, disabled: disabled },\n statisticName,\n \" by \",\n geoLevelLabel)));\n};\nexport var DownloadButton = function (props) {\n return (React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.GeneralUser, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(UncontrolledDropdown, null,\n React.createElement(DropdownToggleIcon, { icon: \"cloud-download-alt\", size: \"2x\", placement: \"top\", title: \"Download data\" }),\n React.createElement(DropdownMenu, null,\n React.createElement(BeneficiaryExportButton, null),\n props.children))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { IconButton } from '../common';\nimport { ViewModeEnum } from '../enums';\nimport { useViewValue } from '../state';\nimport { DisplayOptionComponent, ViewModeComponent } from './displayoption';\nimport { GeoSearchComponent } from './geosearch';\nimport { ShareLinkButton } from './sharelinkbutton';\nvar StyledFilterBar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 100%;\\n display: flex;\\n align-items: center;\\n padding: 0.75rem;\\n // box-shadow: 0 5px 10px -5px;\\n flex: 0 0 auto !important;\\n min-width: 17rem;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 599;\\n color: #fff;\\n\"], [\"\\n width: 100%;\\n display: flex;\\n align-items: center;\\n padding: 0.75rem;\\n // box-shadow: 0 5px 10px -5px;\\n flex: 0 0 auto !important;\\n min-width: 17rem;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 599;\\n color: #fff;\\n\"])));\nvar Separator = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n align-self: stretch;\\n background-color: #fff;\\n width: 1px;\\n margin: 0.25rem 0.5rem;\\n display: none;\\n\\n @media only screen and (max-width: 720px) {\\n display: block;\\n border-bottom: 1px solid #ffffff;\\n width: 19.5rem;\\n }\\n\"], [\"\\n align-self: stretch;\\n background-color: #fff;\\n width: 1px;\\n margin: 0.25rem 0.5rem;\\n display: none;\\n\\n @media only screen and (max-width: 720px) {\\n display: block;\\n border-bottom: 1px solid #ffffff;\\n width: 19.5rem;\\n }\\n\"])));\nvar LeftSide = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n flex: auto;\\n display: flex;\\n justify-content: left;\\n align-items: center;\\n\"], [\"\\n flex: auto;\\n display: flex;\\n justify-content: left;\\n align-items: center;\\n\"])));\nvar RightSide = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"], [\"\\n flex: 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"])));\nvar Navbar = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n flex-grow: 1;\\n\\n @media only screen and (max-width: 720px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n flex-direction: column;\\n align-items: flex-start;\\n \", \"\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n flex-grow: 1;\\n\\n @media only screen and (max-width: 720px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n flex-direction: column;\\n align-items: flex-start;\\n \", \"\\n }\\n\"])), function (_a) {\n var show = _a.show;\n return show ? 'display: flex;' : '';\n});\nvar HamburgerButton = styled(IconButton)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n display: none;\\n\\n @media only screen and (max-width: 940px) {\\n display: flex;\\n }\\n\"], [\"\\n display: none;\\n\\n @media only screen and (max-width: 940px) {\\n display: flex;\\n }\\n\"])));\nvar ListIcon = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) and (max-width: 940px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n align-items: flex-start;\\n \", \"\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) and (max-width: 940px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n align-items: flex-start;\\n \", \"\\n }\\n\"])), function (_a) {\n var show = _a.show;\n return show ? 'display: flex;' : '';\n});\nvar StyledComponentWithScreen = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"], [\"\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"])));\nexport var FilterBar = function (props) {\n var location = useLocation();\n var viewMode = useViewValue('viewMode')[0];\n var _a = useState(false), show = _a[0], setShow = _a[1];\n return (React.createElement(StyledFilterBar, null,\n React.createElement(LeftSide, null,\n React.createElement(HamburgerButton, { icon: show ? 'times' : 'bars', size: '2x', onClick: function () { return setShow(!show); } }),\n React.createElement(Navbar, { show: show },\n React.createElement(ListIcon, { show: show },\n React.createElement(IconButton, { icon: \"filter\", size: \"2x\", onClick: function () { return props.toggleFilterDialog(); }, title: \"Set filter criteria\", placement: \"top\" }),\n props.children,\n React.createElement(ShareLinkButton, null),\n React.createElement(IconButton, { icon: \"share\", size: \"2x\", tag: \"a\", href: location.search, target: \"_blank\", rel: \"opener\", title: \"Open current view in new tab\", placement: \"top\" }),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(ViewModeComponent, null))),\n React.createElement(Separator, null),\n React.createElement(DisplayOptionComponent, null))),\n React.createElement(RightSide, null, (viewMode === ViewModeEnum.Map || viewMode === ViewModeEnum.Table) && React.createElement(GeoSearchComponent, null))));\n};\nexport * from './downloadbutton';\nexport * from './useeffectfiltercount';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Tooltip } from 'reactstrap';\nimport { IconButton } from '../common';\nimport { useShareableLink } from '../storeduivalue';\nexport var ShareLinkButton = function (props) {\n var btnRef = useRef(null);\n var _a = useState(false), isOpenNotify = _a[0], setIsOpenNotify = _a[1];\n var _b = useShareableLink(), shareableLinkData = _b[0], fetchShareableLinkData = _b[1], clearShareableLinkData = _b[2];\n var isUnmounted = useRef(false);\n useEffect(function () {\n isUnmounted.current = false;\n return function () {\n isUnmounted.current = true;\n };\n }, []);\n useEffect(function () {\n if (isOpenNotify) {\n var handler_1 = setTimeout(setIsOpenNotify, 3000, false);\n return function () { return clearTimeout(handler_1); };\n }\n }, [isOpenNotify]);\n useEffect(function () {\n var createClipboardLink = function (url) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.clipboard.writeText(url)];\n case 1:\n _a.sent();\n if (!isUnmounted.current) {\n setIsOpenNotify(true);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (shareableLinkData.data) {\n createClipboardLink(shareableLinkData.data);\n return clearShareableLinkData;\n }\n }, [clearShareableLinkData, shareableLinkData.data]);\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { ref: btnRef },\n React.createElement(IconButton, { loading: shareableLinkData.requesting, icon: \"link\", size: \"2x\", onClick: fetchShareableLinkData, title: \"Copy link of current view to clipboard\" })),\n btnRef.current && (React.createElement(Tooltip, { isOpen: isOpenNotify, target: btnRef.current, placement: \"bottom-start\", hideArrow: true }, \"A link to this view was copied to your clipboard.\"))));\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport bbox from '@turf/bbox';\nimport intersect from '@turf/intersect';\nimport { useViewSetting, useFilterSetting, useFilterValue } from '../state';\nimport { ViewModeEnum, ChartViewEnum, DemographicTypeEnum } from '../enums';\nimport { DATA_SOURCES } from '../configs';\nimport { useLookupCondition, getStatisticShortName, useLookupSexCode, useLookupRaceCode, useLookupZipCodeDistrict, useCMSDataYear, useLookupState, AGE_OPTIONS, getAgeLabel, stringifyAgeValue, } from '../lookupdata';\nimport { useSelectedGeoIdInfo } from '../map/geoselectedinfo';\nimport { useMapData } from '../map/patientchoroplethlayer/usemapdata';\nimport { useMapRef, useMapValue, useSelectedGeoJson } from '../map';\nimport { useChartData } from '../demographicchart/usechartdata';\nimport { useTrendLineData } from '../trendline/usetrendlinedata';\nimport { getDisplayText } from '../utils';\nimport { useExtractTableData } from '../tableview';\nexport var exportCSV = function (data, fileName) {\n var processCell = function (cell) { return (cell === null ? '' : \"\\\"\" + cell.toString().replace(/\"/g, '\"\"') + \"\\\"\"); };\n var processRow = function (row) { return row.map(processCell).join(','); };\n var csvFile = data.map(processRow).join('\\n');\n var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });\n var encodedUri = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = encodedUri;\n link.download = fileName + \".csv\";\n link.click();\n};\nexport var useFileName = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var filterSettings = useFilterSetting();\n var viewSettings = useViewSetting();\n var lookupCondition = useLookupCondition(filterSettings.comorbidities)[0];\n var csvNameArr = [];\n var selectedGeoInfo = useSelectedGeoIdInfo(viewSettings);\n if (viewSettings.viewMode !== ViewModeEnum.Chart || ((_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.type) !== ChartViewEnum.Trends) {\n csvNameArr.push(filterSettings.dataYear);\n }\n var dataSource = (_b = filterSettings.statistic) === null || _b === void 0 ? void 0 : _b.cmsDataSource;\n csvNameArr.push(filterSettings.isAggregatedDataSource ? filterSettings.dataSourceName : dataSource && DATA_SOURCES[dataSource].abbreviation);\n if (!filterSettings.isAggregatedDataSource) {\n csvNameArr.push((_c = lookupCondition.labeledValues) === null || _c === void 0 ? void 0 : _c.slice(0, 2).map(function (option) { return option.chronicConditionName; }).join(' '));\n }\n csvNameArr.push(getStatisticShortName((_d = filterSettings.statistic) === null || _d === void 0 ? void 0 : _d.statisticOption));\n if (viewSettings.viewMode === ViewModeEnum.Map || viewSettings.viewMode === ViewModeEnum.Table) {\n csvNameArr.push(selectedGeoInfo.join('-'));\n }\n else if (((_e = viewSettings.chartView) === null || _e === void 0 ? void 0 : _e.type) === ChartViewEnum.Demographic) {\n csvNameArr.push('Demographics');\n csvNameArr.push((_f = viewSettings.chartView.demographics) === null || _f === void 0 ? void 0 : _f.join(''));\n }\n else {\n csvNameArr.push('Trends');\n csvNameArr.push(((_g = viewSettings.chartView) === null || _g === void 0 ? void 0 : _g.startingYear) + \"-\" + ((_h = viewSettings.chartView) === null || _h === void 0 ? void 0 : _h.endingYear));\n }\n csvNameArr.push(new Date().toISOString().slice(0, 10).replace(/-/g, ''));\n return csvNameArr.map(function (partName) { return (\"\" + partName).toLowerCase().replace(/[ /]/g, ''); }).join('_');\n};\nvar useExportGeoData = function (viewMode) {\n var _a;\n var mapData = useMapData()[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var lookupState = useLookupState()[0];\n var lookupGeo = useLookupZipCodeDistrict()[0];\n var extractTableData = useExtractTableData();\n var mapRef = useMapRef();\n var editorRef = useMapValue('editorRef')[0];\n var disabled = mapData.requesting || !!mapData.error || !((_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features.length) || !lookupState.data || !lookupGeo.data;\n var getExportData = function () {\n var _a, _b;\n var intersectionIds;\n var poly = (_a = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures()[0];\n if (viewMode === ViewModeEnum.Map && poly) {\n try {\n var _c = bbox(poly), minLng = _c[0], minLat = _c[1], maxLng = _c[2], maxLat = _c[3];\n var map = (_b = mapRef.current) === null || _b === void 0 ? void 0 : _b.getMap();\n var selectedFeatures = map === null || map === void 0 ? void 0 : map.queryRenderedFeatures([map.project([minLng, minLat]), map.project([maxLng, maxLat])], {\n layers: ['patientchoroplethlayer'],\n });\n intersectionIds = selectedFeatures === null || selectedFeatures === void 0 ? void 0 : selectedFeatures.reduce(function (acc, _a) {\n var _b;\n var properties = _a.properties;\n var id = properties.id;\n var feature = (_b = geoJsonData.mapFeature) === null || _b === void 0 ? void 0 : _b[id];\n if (feature && intersect(poly, feature)) {\n acc[id] = id;\n }\n return acc;\n }, Object.assign({}));\n }\n catch (e) {\n console.error(e);\n }\n }\n var _d = extractTableData(intersectionIds), columns = _d[0], data = _d[1];\n var header = columns.map(function (col) { return col.text; });\n var rows = data.map(function (row) { return columns.map(function (col) { return row[col.dataField].displayText; }); });\n return __spreadArrays([header], rows);\n };\n return [disabled, getExportData];\n};\nvar useExportDemographicChartData = function () {\n var _a, _b, _c;\n var demographicChartData = useChartData()[0];\n var lookupSex = useLookupSexCode()[0];\n var filterSettings = useFilterSetting();\n var lookupRace = useLookupRaceCode(filterSettings.raceMethodology)[0];\n var viewSettings = useViewSetting();\n var customAge = ((_c = (_b = (_a = filterSettings.demographics) === null || _a === void 0 ? void 0 : _a.ages) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.isCustom) ? filterSettings.demographics.ages[0] : undefined;\n var disabled = demographicChartData.requesting || !!demographicChartData.error || !lookupSex.data || !lookupRace.data;\n var getExportData = function () {\n var _a, _b;\n var header = [];\n var row = [];\n (_b = (_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.demographics) === null || _b === void 0 ? void 0 : _b.forEach(function (type) {\n var _a;\n var data = (_a = demographicChartData.data) === null || _a === void 0 ? void 0 : _a[type][0].data;\n if (filterSettings.isAggregatedDataSource) {\n data === null || data === void 0 ? void 0 : data.forEach(function (item) {\n header.push(item.name);\n row.push(getDisplayText(item.value, item.suffix, item.prefix));\n });\n }\n else {\n var targetLookup = type === DemographicTypeEnum.Sex\n ? lookupSex.data\n : type === DemographicTypeEnum.Race\n ? lookupRace.data\n : __spreadArrays(AGE_OPTIONS, [{ value: customAge && stringifyAgeValue(customAge), label: \"Custom \" + getAgeLabel(customAge) }]);\n targetLookup === null || targetLookup === void 0 ? void 0 : targetLookup.forEach(function (option) {\n header.push(option.label);\n var item = data === null || data === void 0 ? void 0 : data.find(function (_a) {\n var id = _a.id;\n return id === (option.stringified || option.value);\n });\n row.push(getDisplayText(item === null || item === void 0 ? void 0 : item.value, item === null || item === void 0 ? void 0 : item.suffix, item === null || item === void 0 ? void 0 : item.prefix));\n });\n }\n });\n return [header, row];\n };\n return [disabled, getExportData];\n};\nexport var useExportTrendYearlyData = function () {\n var dataSource = useFilterValue('statistic', 'cmsDataSource')[0];\n var yearData = useCMSDataYear(dataSource)[0];\n var trendData = useTrendLineData()[0];\n var disabled = trendData.requesting || !!trendData.error || !yearData.data;\n var getExportData = function () {\n var _a;\n var header = [];\n var row = [];\n (_a = trendData.data) === null || _a === void 0 ? void 0 : _a.forEach(function (i) {\n header.push(\"\" + i.year);\n row.push(getDisplayText(i.value, i.suffix, i.prefix));\n });\n return [header, row];\n };\n return [disabled, getExportData];\n};\nexport var useExport = function () {\n var _a;\n var viewSettings = useViewSetting();\n var exportGeoData = useExportGeoData(viewSettings.viewMode);\n var exportDemographicChartData = useExportDemographicChartData();\n var exportTrendYearlyData = useExportTrendYearlyData();\n var fileName = useFileName();\n var _b = viewSettings.viewMode === ViewModeEnum.Map || viewSettings.viewMode === ViewModeEnum.Table\n ? exportGeoData\n : ((_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.type) === ChartViewEnum.Demographic\n ? exportDemographicChartData\n : exportTrendYearlyData, disabled = _b[0], getExportData = _b[1];\n var handleExport = function () {\n var data = getExportData();\n var processCell = function (cell) { return (cell === null ? '' : \"\\\"\" + cell.toString().replace(/\"/g, '\"\"') + \"\\\"\"); };\n var processRow = function (row) { return row.map(processCell).join(','); };\n var csvFile = data.map(processRow).join('\\n');\n var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });\n var encodedUri = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = encodedUri;\n link.download = fileName + \".csv\";\n link.click();\n };\n return [disabled, handleExport];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { useAPI } from '../state';\nimport { FallbackComponent } from '../common';\nimport { useMount } from '../hooks';\nimport { useAuth } from '../authentication';\nimport { useState } from 'react';\nvar GET_INDEX_CONFIGURATION_API_URL = '/api/general/get-index-configuration/{hostname}';\nexport var extractHostname = function () {\n return window.location.host.split('.')[0];\n};\nvar useFetchIndexConfiguration = function () {\n var hostname = extractHostname();\n return useAPI(GET_INDEX_CONFIGURATION_API_URL, { hostname: hostname });\n};\nexport var HostNameIndexInfoProvider = function (props) {\n var _a = useFetchIndexConfiguration(), data = _a[0], fetchIndexGeneralInfo = _a[1];\n var auth = useAuth();\n var _b = useState(true), isCheckingToken = _b[0], setIsCheckingToken = _b[1];\n useMount(function () {\n fetchIndexGeneralInfo();\n var refreshToken = function () { return __awaiter(void 0, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, auth.refreshToken()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n return [3 /*break*/, 3];\n case 3:\n setIsCheckingToken(false);\n return [2 /*return*/];\n }\n });\n }); };\n refreshToken();\n });\n return (React.createElement(FallbackComponent, { requesting: isCheckingToken || data.requesting === undefined || data.requesting, error: data.error, retry: fetchIndexGeneralInfo }, props.children));\n};\nexport var useIndexName = function () {\n var data = useFetchIndexConfiguration()[0].data;\n return (data === null || data === void 0 ? void 0 : data.indexName) || '';\n};\nexport var useHostnameIndexInfo = function () {\n return useFetchIndexConfiguration()[0].data;\n};\nexport var useDefaultFilter = function () {\n var data = useFetchIndexConfiguration()[0].data;\n return useMemo(function () {\n var _a, _b, _c, _d, _e;\n return (__assign(__assign({}, data === null || data === void 0 ? void 0 : data.defaultFilter), { comorbidities: [], primaryCoMorbidities: ((_a = data === null || data === void 0 ? void 0 : data.defaultFilter.comorbidities) === null || _a === void 0 ? void 0 : _a.slice(0, 1)) || [], available: data === null || data === void 0 ? void 0 : data.generalInformation.filterOnload, singleStateCode: (_b = data === null || data === void 0 ? void 0 : data.generalInformation.singleState) === null || _b === void 0 ? void 0 : _b.stateCode, singleStateAbb: (_c = data === null || data === void 0 ? void 0 : data.generalInformation.singleState) === null || _c === void 0 ? void 0 : _c.stateAbb, indexPrimaryCoMorbidities: data === null || data === void 0 ? void 0 : data.generalInformation.primaryConditions, reportTypes: data === null || data === void 0 ? void 0 : data.generalInformation.reportTypes, useMBSFChronicCondition: data === null || data === void 0 ? void 0 : data.generalInformation.useMBSFChronicCondition, dataYear: ((_d = data === null || data === void 0 ? void 0 : data.defaultFilter) === null || _d === void 0 ? void 0 : _d.dataYearSeason) ? undefined : (_e = data === null || data === void 0 ? void 0 : data.defaultFilter) === null || _e === void 0 ? void 0 : _e.dataYear }));\n }, [data]);\n};\nexport var HostNameMetaTagManager = function () {\n var indexInfo = useHostnameIndexInfo();\n useEffect(function () {\n if (indexInfo) {\n var _a = indexInfo.generalInformation, indexTitle = _a.indexTitle, indexOwner = _a.indexOwner;\n document.title = \"\" + indexTitle + (indexOwner && \" - \" + indexOwner);\n }\n }, [indexInfo]);\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var FilterSidebarConst = {\n InfluenzaVaccine: {\n tabId: 'influenzavaccinestab',\n title: 'Vaccine',\n },\n Vaccine: {\n tabId: 'vaccinestab',\n title: 'Vaccine',\n },\n PrimaryCondition: {\n tabId: 'primaryConditionTab',\n title: 'Primary Conditions',\n },\n SecondaryCondition: {\n tabId: 'secondaryConditionTab',\n title: 'Secondary Conditions',\n },\n AdditionalCondition: {\n tabId: 'additionalConditionTab',\n title: 'Additional Conditions',\n }\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nexport var overlayRule = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n background-color: #fff;\\n position: relative;\\n padding: 0.75rem;\\n border-radius: 0.25rem;\\n\"], [\"\\n background-color: #fff;\\n position: relative;\\n padding: 0.75rem;\\n border-radius: 0.25rem;\\n\"])));\nexport var StyledPanel = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n\"], [\"\\n \", \"\\n \", \"\\n\"])), overlayRule, function (_a) {\n var _b = _a.show, show = _b === void 0 ? true : _b;\n return (!show ? 'display:none;' : '');\n});\nvar StyledCloseButton = styled.button(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n \", \"\\n background-color: inherit;\\n padding: 0;\\n position: absolute;\\n cursor: pointer;\\n width: 2rem;\\n height: 2rem;\\n top: -0.85rem;\\n right: -0.85rem;\\n border-radius: 100%;\\n border: 0;\\n &:focus {\\n outline: none;\\n }\\n &:hover {\\n opacity: 0.8;\\n }\\n\"], [\"\\n \", \"\\n background-color: inherit;\\n padding: 0;\\n position: absolute;\\n cursor: pointer;\\n width: 2rem;\\n height: 2rem;\\n top: -0.85rem;\\n right: -0.85rem;\\n border-radius: 100%;\\n border: 0;\\n &:focus {\\n outline: none;\\n }\\n &:hover {\\n opacity: 0.8;\\n }\\n\"])), overlayRule);\nexport var CloseButton = function (props) {\n if (!props.onClick)\n return null;\n return (React.createElement(StyledCloseButton, { onClick: props.onClick },\n React.createElement(FontAwesomeIcon, { icon: faTimes })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { GeoLevelEnum, StatisticTypeEnum } from '../../enums';\nimport { getDisplayText } from '../../utils';\nimport { getStatisticShortName } from '../../lookupdata';\nvar createDataFieldObject = function (fieldName, fieldValue, suffix, prefix, loading) {\n if (suffix === void 0) { suffix = ''; }\n if (prefix === void 0) { prefix = ''; }\n return {\n key: fieldName,\n name: fieldName,\n value: getDisplayText(fieldValue, suffix, prefix),\n originalValue: fieldValue,\n loading: loading,\n };\n};\nfunction getDataFieldsForZip5Digit(props, lookupState, lookupZipCode) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Zip Code', \"\\t\" + props.zipCode));\n dataFields.push(createDataFieldObject('State', lookupZipCode.getStateNameOfZipCode(props.zipCode), undefined, undefined, lookupState.requesting || lookupZipCode.requesting));\n return dataFields;\n}\nvar getDataFieldsForZip3Digit = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Zip Code', \"\\t\" + props.zip3));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateAbb(props.stateAbb), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateLevel = function (props) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State', props === null || props === void 0 ? void 0 : props.name));\n return dataFields;\n};\nvar getDataFieldsForCountyLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('County', props.name));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForMSALevel = function (props) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('MSA', props.name));\n return dataFields;\n};\nvar getDataFieldsForCongressionalLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('US Congress District', props.cd));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateUpperLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State Upper House District', props.sldu));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateLowerLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State Lower House District', props.sldl));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldForAggregatedDataSource = function (data, statistic) {\n var dataFields = [];\n dataFields.push(createDataFieldObject(getStatisticShortName(statistic), data.value, data.suffix, data.prefix));\n return dataFields;\n};\nvar getDataFieldsForPrevalence = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Patient Population', data.denominator));\n dataFields.push(createDataFieldObject('Patient Count', data.numerator));\n dataFields.push(createDataFieldObject('Prevalence', data.value, '%'));\n dataFields.push(createDataFieldObject('National Prevalence', data.national, '%'));\n return dataFields;\n};\nvar getDataFieldsForTotalCountStatistic = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Patient Count', data.value));\n return dataFields;\n};\nvar getDataFieldForHospitalRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total hospital visits', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hospital rate', data.value));\n dataFields.push(createDataFieldObject('Geographic hospital rate', data.geographic));\n dataFields.push(createDataFieldObject('National hospital rate', data.national));\n return dataFields;\n};\nvar getDataFieldForERVisitRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total ER visits', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort ER visit rate', data.value));\n dataFields.push(createDataFieldObject('Geographic ER visit rate', data.geographic));\n dataFields.push(createDataFieldObject('National ER visit rate', data.national));\n return dataFields;\n};\nvar getDataFieldForHospitalEncounterRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # hosp encounters', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hosp encounter rate', data.value));\n dataFields.push(createDataFieldObject('Geographic hosp encounter rate', data.geographic));\n dataFields.push(createDataFieldObject('National hosp encounter rate', data.national));\n return dataFields;\n};\nvar getDataFieldForDeathRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # deaths', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort death rate', data.value));\n dataFields.push(createDataFieldObject('Geographic death rate', data.geographic));\n dataFields.push(createDataFieldObject('National death rate', data.national));\n return dataFields;\n};\nvar getDataFieldForReadmissionRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # readmissions', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort readmission rate', data.value));\n dataFields.push(createDataFieldObject('Geographic readmission rate', data.geographic));\n dataFields.push(createDataFieldObject('National readmission rate', data.national));\n return dataFields;\n};\nvar getDataFieldForHospitalCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total hospital visits', data.eventCount));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hosp cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic hosp cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National hosp cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForERCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total ER visits', data.eventCount));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort ER cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic ER cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National ER cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForPatientOutOfPocketPartBDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Patient Part b Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForPatientOutOfPocketPartDDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Patient Part d Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForMedicarePartBDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Part b Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForMedicarePartDDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Part d Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForTotalCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total annual costs', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nexport var getDataFieldsByMapViewLevel = function (mapViewType, properties, lookupState, lookupZipCode) {\n var _a;\n var targetFunctionMapping = (_a = {},\n _a[GeoLevelEnum.Zip5] = getDataFieldsForZip5Digit,\n _a[GeoLevelEnum.Zip3] = getDataFieldsForZip3Digit,\n _a[GeoLevelEnum.State] = getDataFieldsForStateLevel,\n _a[GeoLevelEnum.County] = getDataFieldsForCountyLevel,\n _a[GeoLevelEnum.MSA] = getDataFieldsForMSALevel,\n _a[GeoLevelEnum.Congressional] = getDataFieldsForCongressionalLevel,\n _a[GeoLevelEnum.StateUpper] = getDataFieldsForStateUpperLevel,\n _a[GeoLevelEnum.StateLower] = getDataFieldsForStateLowerLevel,\n _a);\n if (mapViewType && targetFunctionMapping[mapViewType]) {\n return targetFunctionMapping[mapViewType](properties, lookupState, lookupZipCode);\n }\n return [];\n};\nexport var getDataFieldByStatisticType = function (data, statistic) {\n var _a;\n var isAggregated = data.isAggregated;\n if (isAggregated) {\n return getDataFieldForAggregatedDataSource(data, statistic);\n }\n var targetFunctionMapping = (_a = {},\n _a[StatisticTypeEnum.Prevalence] = getDataFieldsForPrevalence,\n _a[StatisticTypeEnum.TotalCount] = getDataFieldsForTotalCountStatistic,\n _a[StatisticTypeEnum.HospitalizationRate] = getDataFieldForHospitalRate,\n _a[StatisticTypeEnum.ERVisitsRate] = getDataFieldForERVisitRate,\n _a[StatisticTypeEnum.HospitalEncounterRate] = getDataFieldForHospitalEncounterRate,\n _a[StatisticTypeEnum.DeathRate] = getDataFieldForDeathRate,\n _a[StatisticTypeEnum.ReadmissionRate] = getDataFieldForReadmissionRate,\n _a[StatisticTypeEnum.HospitalizationCost] = getDataFieldForHospitalCost,\n _a[StatisticTypeEnum.ERCost] = getDataFieldForERCost,\n _a[StatisticTypeEnum.OOPPartBDrugCost] = getDataFieldForPatientOutOfPocketPartBDrugCost,\n _a[StatisticTypeEnum.OOPPartDDrugCost] = getDataFieldForPatientOutOfPocketPartDDrugCost,\n _a[StatisticTypeEnum.MCRPartBDrugCost] = getDataFieldForMedicarePartBDrugCost,\n _a[StatisticTypeEnum.MCRPartDDrugCost] = getDataFieldForMedicarePartDDrugCost,\n _a[StatisticTypeEnum.TotalCost] = getDataFieldForTotalCost,\n _a);\n if (statistic && targetFunctionMapping[statistic]) {\n return targetFunctionMapping[statistic](data);\n }\n return [];\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useRef, useState } from 'react';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled from 'styled-components';\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\nimport { useMount } from '../hooks';\nvar StyledIconTooltip = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n color: #212529;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n color: #212529;\\n }\\n &:focus,\\n &:active {\\n color: #212529;\\n }\\n\"], [\"\\n color: #212529;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n color: #212529;\\n }\\n &:focus,\\n &:active {\\n color: #212529;\\n }\\n\"])));\nvar StyledUncontrolledTooltip = styled(function (_a) {\n var maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, props = __rest(_a, [\"maxWidth\", \"maxHeight\"]);\n return React.createElement(UncontrolledTooltip, __assign({}, props));\n})(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n .tooltip.show {\\n opacity: 1;\\n }\\n .tooltip-inner {\\n color: #212529;\\n background-color: #fff;\\n border: 1px solid #cccccc;\\n text-align: left;\\n max-width: \", \";\\n overflow-y: scroll;\\n max-height: \", \";\\n }\\n\"], [\"\\n .tooltip.show {\\n opacity: 1;\\n }\\n .tooltip-inner {\\n color: #212529;\\n background-color: #fff;\\n border: 1px solid #cccccc;\\n text-align: left;\\n max-width: \", \";\\n overflow-y: scroll;\\n max-height: \", \";\\n }\\n\"])), function (props) { return (typeof props.maxWidth === 'number' ? props.maxWidth / 16 + \"rem\" : props.maxWidth || '16rem'); }, function (props) { return (typeof props.maxHeight === 'number' ? props.maxHeight / 16 + \"rem\" : props.maxHeight); });\nexport var IconTooltip = function (props) {\n var iconRef = useRef();\n var _a = useState(), ready = _a[0], setReady = _a[1];\n useMount(function () {\n setReady(true);\n });\n return (React.createElement(StyledIconTooltip, null,\n React.createElement(FontAwesomeIcon, { icon: faInfoCircle, size: props.size, fixedWidth: true, forwardedRef: iconRef }),\n props.title && ready && iconRef.current && (React.createElement(StyledUncontrolledTooltip, { hideArrow: true, placement: props.placement, target: iconRef.current, fade: false, autohide: props.autohide, maxWidth: props.maxWidth, maxHeight: props.maxHeight, modifiers: {\n preventOverflow: {\n enabled: false,\n },\n hide: { enabled: false },\n }, flip: false }, props.title))));\n};\nvar templateObject_1, templateObject_2;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useFilterEditingValue } from '../state';\nimport _ from 'lodash';\nimport { DataSourceEnum } from '../enums';\nexport var useGeneralConfigByDataSource = function (key, cmsDataSourceParam, dataYearSeasonParam, dataYearParam) {\n var indexConfig = useHostnameIndexInfo();\n var dataYearFilter = useFilterEditingValue('dataYear')[0];\n var dataYearSeasonFilter = useFilterEditingValue('dataYearSeason')[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource')[0], cmsDataSourceFilter = _a === void 0 ? DataSourceEnum.MedicareFFS : _a;\n var filtersConfig = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filtersConfigByDataSource;\n var cmsDataSource = useMemo(function () { return cmsDataSourceParam || cmsDataSourceFilter; }, [cmsDataSourceParam, cmsDataSourceFilter]);\n var dataYearSeason = useMemo(function () { return dataYearSeasonParam || dataYearSeasonFilter; }, [dataYearSeasonParam, dataYearSeasonFilter]);\n var dataYear = useMemo(function () { return dataYearParam || dataYearFilter; }, [dataYearParam, dataYearFilter]);\n var result = useMemo(function () {\n if (cmsDataSource && filtersConfig && key) {\n var configByDataSource = filtersConfig === null || filtersConfig === void 0 ? void 0 : filtersConfig[cmsDataSource];\n var configByDataYear = configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { return String(config.dataYear) === String(dataYear); });\n // Format of data year season ' - '\n var configByDataYearSeason = dataYearSeason ? configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { var _a; return ((_a = config.dataYearSeason) === null || _a === void 0 ? void 0 : _a.join(DELIMITER_SEASON_YEAR)) === dataYearSeason.join(DELIMITER_SEASON_YEAR); }) : undefined;\n var valueByKey = _.get(configByDataYearSeason, key, undefined);\n if (valueByKey)\n return valueByKey;\n valueByKey = _.get(configByDataYear, key, undefined);\n if (valueByKey)\n return valueByKey;\n var configByAllYear = configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { return !config.dataYear && !config.dataYearSeason; });\n return _.get(configByAllYear, key, undefined);\n }\n return undefined;\n }, [cmsDataSource, filtersConfig, dataYearSeason, key, dataYear]);\n return result;\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getDisplayText } from '../../utils';\nimport { extractGeneralFilterInfo, useMapData } from './usemapdata';\nimport { useFilterSetting, useFilterValue } from '../../state/filtersettings';\nimport { CloseButton, StyledPanel } from '../overlays/styled';\nimport { useViewValue } from '../../state';\nimport { getStatisticOption } from '../../lookupdata';\nimport { ENV_LEGEND_COLORS } from '../../env';\nvar StyledLegendOverlay = styled(StyledPanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n right: 1.5rem;\\n bottom: 2rem;\\n width: max-content;\\n\"], [\"\\n position: absolute;\\n right: 1.5rem;\\n bottom: 2rem;\\n width: max-content;\\n\"])));\nvar StyledLegend = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.125rem 0;\\n\"], [\"\\n padding: 0.125rem 0;\\n\"])));\nvar LegendTitle = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-top: 0.5rem;\\n margin-bottom: 0.25rem;\\n\"], [\"\\n font-weight: 700;\\n margin-top: 0.5rem;\\n margin-bottom: 0.25rem;\\n\"])));\nvar LegendItem = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-bottom: 0.125rem;\\n line-height: 1;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-bottom: 0.125rem;\\n line-height: 1;\\n\"])));\nvar Color = styled.div(function (props) { return \"\\n background-color: \" + props.color + \";\\n width: 1rem;\\n height: 1rem;\\n margin-right: 0.25rem;\\n\"; });\nvar SelectedStatistic = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n max-width: 16rem;\\n line-height: initial;\\n font-weight: 700;\\n\"], [\"\\n max-width: 16rem;\\n line-height: initial;\\n font-weight: 700;\\n\"])));\nvar Label = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticCategoryLabel = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticConfigLabel = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"], [\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"])));\n// Common Legend Component use for UI & Reports\nexport var LegendComponent = function (props) {\n var _a;\n return (React.createElement(StyledLegend, null,\n props.title && React.createElement(LegendTitle, null, \"Legend\"),\n React.createElement(LegendItem, null,\n React.createElement(Color, { color: ENV_LEGEND_COLORS[0] }),\n React.createElement(Label, null, \"N/A\")), (_a = props.payload) === null || _a === void 0 ? void 0 :\n _a.map(function (grade, idx, arr) {\n return !(idx % 2) ? (React.createElement(LegendItem, { key: grade },\n React.createElement(Color, { color: ENV_LEGEND_COLORS[idx / 2 + 1] }),\n React.createElement(Label, null,\n getDisplayText(grade, props.suffix, props.prefix),\n idx !== arr.length - 1 ? \" - \" + getDisplayText(arr[idx + 1], props.suffix) : '+'))) : null;\n })));\n};\nexport var LegendByFilter = function () {\n var _a;\n var filterSetting = useFilterSetting();\n var data = useMapData()[0].data;\n var _b = extractGeneralFilterInfo(data, (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption), suffix = _b.suffix, prefix = _b.prefix;\n return React.createElement(LegendComponent, { payload: data === null || data === void 0 ? void 0 : data.breakLegendInfo, suffix: suffix, prefix: prefix });\n};\nexport var LegendOverlay = function () {\n var _a = useViewValue('mapView', 'showLegend'), show = _a[0], setShow = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticConfig = getStatisticOption(statistic);\n var toggle = function () { return setShow(!show); };\n if (!show)\n return null;\n return (React.createElement(StyledLegendOverlay, null,\n React.createElement(CloseButton, { onClick: toggle }),\n React.createElement(SelectedStatistic, null,\n React.createElement(StatisticCategoryLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.group.label),\n React.createElement(StatisticConfigLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.label)),\n React.createElement(LegendByFilter, null)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ReferenceLine } from 'recharts';\nimport styled from 'styled-components';\nimport { useViewSetting, useFilterSetting, useViewValue } from '../state';\nimport { getDisplayText, getYearsBySeason } from '../utils';\nimport { ViewModeEnum, ChartViewEnum } from '../enums';\nimport { useTrendLineData, useTrendLineDataForSeason } from './usetrendlinedata';\nimport { FallbackComponent, Select } from '../common';\nimport { LookupYearComponent, useMixedYear, getStatisticShortName, useCMSDataSeasonYear } from '../lookupdata';\nvar FROM_YEAR_DISTANCE = 3;\nvar LINE_COLOR = '#00008b';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem;\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relatived;\\n min-height: 15rem;\\n height: 100%;\\n\"], [\"\\n padding: 1rem;\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relatived;\\n min-height: 15rem;\\n height: 100%;\\n\"])));\nvar TrendLineTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar TrendLineTitleText = styled.h4(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: inline-block;\\n\"], [\"\\n display: inline-block;\\n\"])));\nvar StyledTrendLineContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n min-height: 6.25rem;\\n max-height: 25rem;\\n max-width: 75rem;\\n min-width: 10rem;\\n position: relative;\\n\"], [\"\\n flex: 1;\\n min-height: 6.25rem;\\n max-height: 25rem;\\n max-width: 75rem;\\n min-width: 10rem;\\n position: relative;\\n\"])));\nexport var TrendLineContainer = function (_a) {\n var _b = _a.keyValue, keyValue = _b === void 0 ? 'year' : _b, data = _a.data;\n var tooltipFomatter = function (value, name, entry) {\n if (name === 'linear')\n return [];\n if (entry.payload.isNA)\n return ['NA', entry.payload[keyValue]];\n return [getDisplayText(value, entry.payload.suffix, entry.payload.prefix), entry.payload[keyValue]];\n };\n return (React.createElement(StyledTrendLineContainer, null,\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(LineChart, { data: data },\n React.createElement(CartesianGrid, { vertical: false }),\n React.createElement(XAxis, { dataKey: keyValue, padding: { left: 30, right: 30 } }),\n React.createElement(YAxis, { allowDataOverflow: true, padding: { top: 10, bottom: 0 } }),\n React.createElement(Tooltip, { isAnimationActive: false, labelFormatter: function () { return ''; }, formatter: tooltipFomatter }),\n React.createElement(ReferenceLine, { y: 0, stroke: \"#000\" }),\n React.createElement(Line, { dataKey: \"value\", isAnimationActive: false, stroke: LINE_COLOR, dot: { strokeWidth: 12 }, activeDot: { r: 12 }, strokeWidth: 5 }),\n React.createElement(Line, { dataKey: \"linear\", isAnimationActive: false, connectNulls: true, dot: false, activeDot: false, stroke: LINE_COLOR, strokeDasharray: \"5 5\", strokeWidth: 5 })))));\n};\nexport var TrendLineComponent = function () {\n var _a, _b, _c;\n var _d = useViewValue('chartView', 'startingYear'), fromYear = _d[0], setFromYear = _d[1];\n var _e = useViewValue('chartView', 'endingYear'), toYear = _e[0], setToYear = _e[1];\n var _f = useTrendLineData(), trendLineData = _f[0], fetchTrendLineData = _f[1];\n var filterSettings = useFilterSetting();\n var lookupYearData = useMixedYear(filterSettings, true)[0];\n var statisticName = getStatisticShortName((_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption);\n var viewSetting = useViewSetting();\n var isShow = viewSetting.viewMode === ViewModeEnum.Chart && ((_b = viewSetting.chartView) === null || _b === void 0 ? void 0 : _b.type) === ChartViewEnum.Trends;\n useEffect(function () {\n fetchTrendLineData();\n }, [fetchTrendLineData]);\n useEffect(function () {\n var _a;\n if ((_a = lookupYearData.data) === null || _a === void 0 ? void 0 : _a.length) {\n var newToYear = toYear;\n if (!newToYear || !lookupYearData.data.includes(newToYear)) {\n newToYear = lookupYearData.data[lookupYearData.data.length - 1];\n }\n var newFromYear = fromYear;\n if (!newFromYear || newFromYear > newToYear || !lookupYearData.data.includes(newFromYear)) {\n var fromYearIdx = lookupYearData.data.length - FROM_YEAR_DISTANCE;\n fromYearIdx = fromYearIdx < 0 ? 0 : fromYearIdx;\n newFromYear = lookupYearData.data[fromYearIdx];\n }\n setFromYear(newFromYear);\n setToYear(newToYear);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupYearData.data, setFromYear, setToYear]);\n return (React.createElement(React.Fragment, null,\n React.createElement(LookupYearComponent, { dataSource: (_c = filterSettings.statistic) === null || _c === void 0 ? void 0 : _c.cmsDataSource }),\n isShow && (React.createElement(StyledTrendLineComponent, null,\n React.createElement(TrendLineTitle, null,\n React.createElement(TrendLineTitleText, null,\n \"Yearly \",\n statisticName,\n \" from\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromYear, onChange: setFromYear, isOptionDisabled: function (option) { return !!toYear && option.value > toYear; }, isLoading: lookupYearData.requesting }),\n ' ',\n React.createElement(TrendLineTitleText, null, \"to\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toYear, onChange: setToYear, isOptionDisabled: function (option) { return !!fromYear && option.value < fromYear; }, isLoading: lookupYearData.requesting })),\n React.createElement(FallbackComponent, { requesting: trendLineData.requesting || lookupYearData.requesting, error: trendLineData.error, retry: fetchTrendLineData },\n React.createElement(TrendLineContainer, { data: trendLineData.data }))))));\n};\nexport var TrendLineSeasonComponent = function () {\n var _a, _b, _c;\n var filterSettings = useFilterSetting();\n var lookupSeasonYearData = useCMSDataSeasonYear(filterSettings)[0];\n var _d = useTrendLineDataForSeason(), trendLineData = _d[0], fetchTrendLineData = _d[1];\n var _e = useViewValue('chartView', 'startingSeasonYear'), fromSeasonYear = _e[0], setFromSeasonYear = _e[1];\n var _f = useViewValue('chartView', 'endingSeasonYear'), toSeasonYear = _f[0], setToSeasonYear = _f[1];\n var viewSetting = useViewSetting();\n var statisticName = getStatisticShortName((_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption);\n var isShow = viewSetting.viewMode === ViewModeEnum.Chart && ((_b = viewSetting.chartView) === null || _b === void 0 ? void 0 : _b.type) === ChartViewEnum.Trends;\n useEffect(function () {\n fetchTrendLineData();\n }, [fetchTrendLineData]);\n useEffect(function () {\n var lookupSeasonYearDataByCMS = lookupSeasonYearData.data || [];\n if (lookupSeasonYearDataByCMS.length) {\n var newFromSeasonYear = fromSeasonYear;\n var newToSeasonYear = toSeasonYear;\n if (!newToSeasonYear || !lookupSeasonYearDataByCMS.includes(newToSeasonYear)) {\n newToSeasonYear = lookupSeasonYearDataByCMS[lookupSeasonYearDataByCMS.length - 1];\n }\n if (!newFromSeasonYear || !lookupSeasonYearDataByCMS.includes(newFromSeasonYear)) {\n newFromSeasonYear = lookupSeasonYearDataByCMS[0];\n }\n setFromSeasonYear(newFromSeasonYear);\n setToSeasonYear(newToSeasonYear);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupSeasonYearData.data, setFromSeasonYear, setToSeasonYear]);\n return (React.createElement(React.Fragment, null,\n React.createElement(LookupYearComponent, { dataSource: (_c = filterSettings.statistic) === null || _c === void 0 ? void 0 : _c.cmsDataSource }),\n isShow && (React.createElement(StyledTrendLineComponent, null,\n React.createElement(TrendLineTitle, null,\n React.createElement(TrendLineTitleText, null,\n \"Yearly \",\n statisticName,\n \" from\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"12\", name: \"from\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromSeasonYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(item.value)[0];\n var firstTo = getYearsBySeason(toSeasonYear)[0];\n return !!toSeasonYear && firstFrom > firstTo;\n }, onChange: setFromSeasonYear, isLoading: lookupSeasonYearData.requesting }),\n ' ',\n React.createElement(TrendLineTitleText, null, \"to\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"12\", name: \"to\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toSeasonYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(fromSeasonYear)[0];\n var firstTo = getYearsBySeason(item.value)[0];\n return !!fromSeasonYear && firstFrom > firstTo;\n }, onChange: setToSeasonYear, isLoading: lookupSeasonYearData.requesting })),\n React.createElement(FallbackComponent, { requesting: trendLineData.requesting || lookupSeasonYearData.requesting, error: trendLineData.error, retry: fetchTrendLineData },\n React.createElement(TrendLineContainer, { data: trendLineData.data, keyValue: \"seasonYear\" }))))));\n};\nexport * from './usetrendlinedata';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport styled from 'styled-components';\nvar ICON = \"M20.2,15.7L20.2,15.7c1.1-1.6,1.8-3.6,1.8-5.7c0-5.6-4.5-10-10-10S2,4.5,2,10c0,2,0.6,3.9,1.6,5.4c0,0.1,0.1,0.2,0.2,0.3\\n c0,0,0.1,0.1,0.1,0.2c0.2,0.3,0.4,0.6,0.7,0.9c2.6,3.1,7.4,7.6,7.4,7.6s4.8-4.5,7.4-7.5c0.2-0.3,0.5-0.6,0.7-0.9\\n C20.1,15.8,20.2,15.8,20.2,15.7z\";\nvar ImagePin = styled.img(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 20px;\\n\"], [\"\\n width: 20px;\\n\"])));\nvar SIZE = 35;\nvar StyledPin = styled.svg(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: \", \";\\n fill: \", \";\\n stroke: \", \";\\n color: \", \";\\n\"], [\"\\n cursor: \", \";\\n fill: \", \";\\n stroke: \", \";\\n color: \", \";\\n\"])), function (props) { return (props.pointer ? 'pointer' : 'default'); }, function (props) { return (props.selected ? '#000' : props.color); }, function (props) { return (props.selected ? '#000' : props.stroke || props.color); }, function (props) { return (props.selected ? '#000' : props.stroke || props.color); });\nexport var Pin = React.memo(function (props) {\n var _a = props.size, size = _a === void 0 ? SIZE : _a;\n var onClick = function () {\n var _a;\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.payload);\n };\n return (React.createElement(StyledPin, { className: props.className, pointer: !!props.onClick, color: props.color, stroke: props.stroke, selected: props.selected, height: size, width: size, viewBox: \"0 0 24 24\", onClick: onClick },\n React.createElement(\"path\", { d: ICON }),\n React.createElement(\"circle\", { cx: 12, cy: 10, r: 8, style: { fill: 'white', stroke: props.stroke } }),\n props.icon && React.createElement(FontAwesomeIcon, { height: 11, y: 4, icon: props.icon }),\n props.imgPin && React.createElement(\"image\", { height: 10, y: 5, x: 7, xlinkHref: \"/assets/images/icons/\" + props.imgPin + \".png\" }),\n props.text && (React.createElement(\"text\", { x: \"50%\", y: \"50%\", dy: \"-0.15rem\", style: { fill: '#000', stroke: 'none', fontSize: '8px', textAnchor: 'middle', alignmentBaseline: 'central' } }, props.text))));\n});\nexport var ClusterPin = React.memo(function (props) {\n var _a = props.size, size = _a === void 0 ? SIZE : _a;\n return (React.createElement(StyledPin, { height: size, width: size, viewBox: \"0 0 24 24\", pointer: true, onClick: props.onClick },\n React.createElement(\"circle\", { cx: 12, cy: 12, r: 11.5, style: { fill: props.color, stroke: props.stroke || props.color, strokeWidth: '0.5px' } }),\n React.createElement(\"text\", { x: \"50%\", y: \"50%\", style: { fill: '#fff', stroke: 'none', fontSize: '8px', textAnchor: 'middle', alignmentBaseline: 'central' } }, props.text)));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useMemo, useRef } from 'react';\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from 'recharts';\nimport styled from 'styled-components';\nimport { useTranslation } from 'react-i18next';\nimport { getDisplayText } from '../utils';\nvar COLORS_BY_DEMOGRAPHIC = {\n sex: ['#00008b', '#ffa500'],\n race: ['#800080', '#a8135f', '#b6443a', '#a77217', '#ac8d02', '#cd9d00', '#ffa500'],\n age: ['#ffeabd', '#ffd59b', '#ffa474', '#f47461', '#db4551', '#b81b34', '#8b0000'],\n};\nvar StyledPieComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n height: 100%;\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n\"], [\"\\n height: 100%;\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n\"])));\nvar ResponsiveContainerWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"], [\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"])), function (props) { return (typeof props.width === 'string' ? props.width : props.width ? props.width / 16 + \"rem\" : '100%'); }, function (props) { return (typeof props.height === 'string' ? props.height : props.height ? props.height / 16 + \"rem\" : '100%'); });\nvar StyledLegend = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n min-height: 2.25rem;\\n min-width: 8.5rem;\\n flex: 1;\\n .recharts-legend-item {\\n display: \", \"flex !important;\\n align-items: center;\\n text-align: left;\\n .recharts-legend-item-text {\\n flex: 1;\\n }\\n }\\n\"], [\"\\n min-height: 2.25rem;\\n min-width: 8.5rem;\\n flex: 1;\\n .recharts-legend-item {\\n display: \", \"flex !important;\\n align-items: center;\\n text-align: left;\\n .recharts-legend-item-text {\\n flex: 1;\\n }\\n }\\n\"])), function (props) { return (props.inline ? 'inline-' : ''); });\nvar NoDataMessage = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n text-align: center;\\n font-style: italic;\\n\"], [\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n text-align: center;\\n font-style: italic;\\n\"])));\nvar calculatePieSlicePercent = function (value, totalCount) {\n var percent = (value / totalCount) * 100;\n var integerPortion = Math.floor(percent);\n var numberOfDecimalPlaces = 3;\n if (integerPortion > 1 && integerPortion < 10) {\n numberOfDecimalPlaces = 2;\n }\n else if (integerPortion < 100) {\n numberOfDecimalPlaces = 1;\n }\n return parseFloat(percent.toFixed(numberOfDecimalPlaces));\n};\nexport var PieComponent = function (props) {\n var _a, _b, _c;\n var t = useTranslation().t;\n var myRef = useRef(null);\n var meetMinimumThreshold = !!((_a = props.data) === null || _a === void 0 ? void 0 : _a.length);\n var data = useMemo(function () { return (meetMinimumThreshold ? props.data : [{ name: 'NA', value: 1 }]); }, [props.data, meetMinimumThreshold]);\n var colors = useMemo(function () { return COLORS_BY_DEMOGRAPHIC[props.type]; }, [props.type]);\n var total = useMemo(function () { var _a; return ((_a = props.data) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) { return acc + curr.value; }, 0)) || 0; }, [props.data]);\n var tooltipFomatter = useCallback(function (value, name, entry) {\n return props.percentage\n ? getDisplayText(calculatePieSlicePercent(entry.payload.value, total), '%')\n : getDisplayText(entry.payload.value, entry.payload.suffix, entry.payload.prefix);\n }, [props.percentage, total]);\n var onPieEnter = function () {\n var _a;\n var tooltipWrapper = (_a = myRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('recharts-tooltip-wrapper')[0];\n if (tooltipWrapper) {\n tooltipWrapper.style.right = 'auto';\n if (tooltipWrapper.getBoundingClientRect().right > window.innerWidth) {\n tooltipWrapper.style.right = '0';\n }\n }\n };\n var onPieLeave = function () {\n var _a;\n var tooltipWrapper = (_a = myRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('recharts-tooltip-wrapper')[0];\n if (tooltipWrapper) {\n tooltipWrapper.style.right = 'auto';\n }\n };\n return (React.createElement(StyledPieComponent, { className: props.className, ref: myRef },\n React.createElement(ResponsiveContainerWrapper, { width: props.width, height: props.height },\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(PieChart, { onMouseMove: onPieEnter, onMouseLeave: onPieLeave },\n React.createElement(Pie, { dataKey: \"value\", isAnimationActive: false, data: data, fill: \"#ccc\", strokeWidth: meetMinimumThreshold ? 2 : 0, labelLine: false, startAngle: 90, endAngle: -270, minAngle: 2, outerRadius: \"100%\" }, (_b = props.data) === null || _b === void 0 ? void 0 : _b.map(function (entry, idx) { return (React.createElement(Cell, { key: \"cell-\" + entry.name, fill: colors[idx] })); })),\n meetMinimumThreshold && React.createElement(Tooltip, { wrapperStyle: { zIndex: 99 }, isAnimationActive: false, formatter: tooltipFomatter }))),\n !meetMinimumThreshold && React.createElement(NoDataMessage, null, t('demographicchart.nomeetminimumthreshold.msg'))),\n meetMinimumThreshold && (React.createElement(StyledLegend, { inline: props.inline },\n React.createElement(Legend, { wrapperStyle: { position: 'relative' }, payload: meetMinimumThreshold\n ? (_c = props.data) === null || _c === void 0 ? void 0 : _c.map(function (entry, idx) { return ({\n id: idx,\n value: entry.name,\n color: colors[idx],\n type: 'rect',\n dataValue: entry.value,\n }); }) : [{ id: 0, value: 'N/A', color: '#ccc', type: 'rect' }], formatter: props.legendFormatter })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport 'mapbox-gl/dist/mapbox-gl.css';\nimport './i18n';\nimport './fontawesome';\nexport { ENV_LEGEND_COLORS, ENV_STATE_BORDER_COLOR } from './env'; // For Reports\nexport * from './lookupdata';\nexport * from './utils';\nexport * from './common';\nexport * from './hooks';\nexport * from './enums';\nexport * from './types';\nexport * from './configs';\nexport * from './state';\nexport * from './hostnameindexinfo';\nexport * from './authentication';\nexport * from './header';\nexport * from './userprofile';\nexport * from './userchangepassword';\nexport * from './filterbar';\nexport * from './filterdialog';\nexport * from './filterresultdashboard';\nexport * from './filtersidebar';\nexport * from './maplayermenu';\nexport * from './map';\nexport * from './demographicchart';\nexport * from './trendline';\nexport * from './tableview';\nexport * from './storeduivalue';\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback, useMemo } from 'react';\nimport { RESET_FILTER_EDITING, SET_FILTER_EDITING_VALUE } from './reducer';\nexport function useFilterEditingValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_FILTER_EDITING_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.filterediting.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetFilterEditing = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_FILTER_EDITING, payload: value }); }, [dispatch]);\n};\nexport var useFilterEditing = function () {\n var filterediting = useMappedState(useCallback(function (state) { return state.filterediting; }, []));\n return useMemo(function () { return filterediting.toJSON(); }, [filterediting]);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nimport { setUIValueSessionStorage } from '../../storeduivalue';\nexport var RESET_FILTERS = 'RESET_FILTERS';\nexport var SET_FILTER_VALUE = 'SET_FILTER_VALUE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_FILTERS] = function (s, a) { return Map(a.payload).set('forceUpdate', (s.get('forceUpdate') || 0) + 1); };\nactionHandlers[SET_FILTER_VALUE] = function (s, a) { return (a.payload.value ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n var fn = actionHandlers[action.type];\n if (!fn)\n return state;\n var updatedState = fn(state, action);\n setUIValueSessionStorage('filterSetting', updatedState.toObject(), undefined, [\n 'indexPrimaryCoMorbidities',\n 'singleStateCode',\n 'singleStateAbb',\n 'available',\n 'forceUpdate',\n 'textSearch',\n 'geoLevel',\n ]);\n return updatedState;\n}\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var RESET_FILTER_EDITING = 'RESET_FILTER_EDITING';\nexport var SET_FILTER_EDITING_VALUE = 'SET_FILTER_EDITING_VALUE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_FILTER_EDITING] = function (s, a) { return Map(a.payload); };\nactionHandlers[SET_FILTER_EDITING_VALUE] = function (s, a) { return (a.payload.value ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nimport { DEFAULT_VIEW_SETTING } from '../../configs';\nimport { setUIValueSessionStorage } from '../../storeduivalue';\nexport var RESET_VIEW_SETTING = 'RESET_VIEW_SETTING';\nexport var SET_VIEW_VALUE = 'SET_VIEW_VALUE';\n// Init state\nvar initialState = Map(DEFAULT_VIEW_SETTING);\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_VIEW_SETTING] = function (s, a) { return Map(__assign(__assign({}, DEFAULT_VIEW_SETTING), a.payload)); };\nactionHandlers[SET_VIEW_VALUE] = function (s, a) { return (a.payload.value !== undefined ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n var fn = actionHandlers[action.type];\n if (!fn)\n return state;\n var updatedState = fn(state, action);\n setUIValueSessionStorage('viewSetting', updatedState.toObject(), undefined, [\n 'mapView',\n 'showMapLayerMenu',\n 'selectedMultiplePin',\n 'mapLayerCountNotifications',\n ]);\n return updatedState;\n}\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\nimport { FallbackComponent, DataTable } from '../common';\nimport { GeoLevelEnum, RightPanelTypeEnum, ViewModeEnum } from '../enums';\nimport { useLookupZipCodeDistrict, getStatisticShortName, getGeoLevelLabel, useLookupState } from '../lookupdata';\nimport { useMapData, useExtractGeoData } from '../map/patientchoroplethlayer/usemapdata';\nimport { useFilterValue, useViewValue } from '../state';\nimport { useSelectedGeoJson } from '../map';\nimport { compareFunc, isFeatureInAState } from '../utils';\nimport { getDataFieldsByMapViewLevel, getDataFieldByStatisticType } from '../map/patientchoroplethlayer/dataforgeo';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledTableViewComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem 2rem;\\n\"], [\"\\n padding: 1rem 2rem;\\n\"])));\nvar Title = styled.h4(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar Body = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"])));\nvar getColumns = function (geoLevel, statistic, lookupState, lookupGeoData) {\n var columns = [];\n var fieldsForMapViewLevel = getDataFieldsByMapViewLevel(geoLevel, Object.assign({}), lookupState, lookupGeoData);\n var fieldsForStatistic = getDataFieldByStatisticType(Object.assign({}), statistic);\n var dataFields = __spreadArrays(fieldsForMapViewLevel, fieldsForStatistic);\n columns = dataFields.map(function (entry) { return (__assign(__assign({}, entry), { dataField: entry.key, text: entry.name, formatter: function (cell) { return cell.displayText; }, sort: true, sortFunc: function (a, b, order) { return compareFunc(a.originalValue, b.originalValue, order); } })); });\n return columns;\n};\nexport var useExtractTableData = function () {\n var extractGeoData = useExtractGeoData();\n var lookupState = useLookupState()[0];\n var lookupGeoData = useLookupZipCodeDistrict()[0];\n var geoLevel = useViewValue('geoType')[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var selectedFeatureId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var extractData = useCallback(function (intersectionIds) {\n var _a;\n var isSelectedFirstLevel = selectedFeatureId === null || selectedFeatureId === void 0 ? void 0 : selectedFeatureId.endsWith('-');\n var filteredFetures = (_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features;\n if (intersectionIds) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return intersectionIds[(_a = f.properties) === null || _a === void 0 ? void 0 : _a.id]; });\n }\n else if (isSelectedFirstLevel && geoLevel === GeoLevelEnum.Zip5) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return lookupGeoData.getStateCodeOfZipCode((_a = f.properties) === null || _a === void 0 ? void 0 : _a.id) + \"-\" === (selectedFeatureId === null || selectedFeatureId === void 0 ? void 0 : selectedFeatureId.padStart(3, '0')); });\n }\n else if (selectedFeatureId) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a, _b; return isSelectedFirstLevel ? (_a = f.properties) === null || _a === void 0 ? void 0 : _a.id.startsWith(selectedFeatureId) : ((_b = f.properties) === null || _b === void 0 ? void 0 : _b.id) === selectedFeatureId; });\n }\n else if (singleState) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return isFeatureInAState(singleState, f.properties, geoLevel || GeoLevelEnum.State, (_a = lookupGeoData.data) === null || _a === void 0 ? void 0 : _a.stateByZipCode5); });\n }\n var columns = getColumns(geoLevel, statistic, lookupState, lookupGeoData);\n var data = [];\n filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.sort(function (f1, f2) { var _a, _b; return compareFunc((_a = f1.properties) === null || _a === void 0 ? void 0 : _a.id.padStart(6, '0'), (_b = f2.properties) === null || _b === void 0 ? void 0 : _b.id.padStart(6, '0')); }).forEach(function (f) {\n var _a;\n var geoData = extractGeoData((_a = f.properties) === null || _a === void 0 ? void 0 : _a.id);\n var fieldsForMapViewLevel = getDataFieldsByMapViewLevel(geoLevel, f.properties, lookupState, lookupGeoData);\n var fieldsForStatistic = getDataFieldByStatisticType(geoData, statistic);\n var dataFields = __spreadArrays(fieldsForMapViewLevel, fieldsForStatistic);\n var item = dataFields.reduce(function (acc, curr) {\n var _a;\n var _b;\n return (__assign(__assign({}, acc), (_a = {}, _a[curr.key] = {\n displayText: curr.value,\n originalValue: curr.originalValue,\n }, _a.id = (_b = f.properties) === null || _b === void 0 ? void 0 : _b.id, _a)));\n }, {});\n data.push(item);\n });\n return [columns, data];\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [extractGeoData, selectedFeatureId, geoJsonData.data, lookupState.data, lookupGeoData.data]);\n return extractData;\n};\nexport var TableViewComponent = function () {\n var t = useTranslation().t;\n var mapData = useMapData()[0];\n var lookupGeoData = useLookupZipCodeDistrict()[0];\n var geoLevel = useViewValue('geoType')[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n var viewMode = useViewValue('viewMode')[0];\n var extractTableData = useExtractTableData();\n var _a = useState(), tableColumns = _a[0], setTableColumns = _a[1];\n var _b = useState(), tableData = _b[0], setTableData = _b[1];\n var isShow = viewMode === ViewModeEnum.Table;\n useEffect(function () {\n if (!isShow)\n return;\n var _a = extractTableData(), columns = _a[0], data = _a[1];\n setTableColumns(columns);\n setTableData(data);\n }, [isShow, extractTableData]);\n if (!isShow)\n return null;\n return (React.createElement(StyledTableViewComponent, null,\n React.createElement(Title, null, t('tableview.title', [statisticName, getGeoLevelLabel(geoLevel)])),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: mapData.requesting || geoJsonData.requesting || lookupGeoData.requesting, error: mapData.error || lookupGeoData.error || lookupGeoData.error }, !!(tableColumns === null || tableColumns === void 0 ? void 0 : tableColumns.length) && tableData && React.createElement(DataTable, { hover: true, columns: tableColumns, data: tableData, sizePerPage: 100, keyField: \"id\", pagination: true })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { useAPI, useCachedData } from '../state';\nimport * as Yup from 'yup';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, FormFeedback, Row } from 'reactstrap';\nimport { useAuth } from '../authentication';\nimport { useForm } from '../hooks';\nimport { PhoneInput, PHONE_NUMBER_PATTERN, Select, ZIP_CODE_PATTERN, Input } from '../common';\nexport var NOTIFICATION_PREFERENCES = {\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n};\nvar ModalWrapper = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media (min-width: 992px) {\\n max-width: 900px !important;\\n }\\n\"], [\"\\n @media (min-width: 992px) {\\n max-width: 900px !important;\\n }\\n\"])));\nexport var UserProfile = function (props) {\n var _a;\n var auth = useAuth();\n var _b = useCachedData('/api/general/lookup/get-list-state'), stateData = _b[0], fetchStateData = _b[1];\n var _c = useAPI('/api/user/editProfile', undefined, 'POST'), editProfile = _c[1];\n useEffect(function () {\n if (props.isOpen) {\n fetchStateData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isOpen]);\n var handleSaveUser = function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {\n firstName: payload.firstName,\n middleName: payload.middleName,\n lastName: payload.lastName,\n organization: payload.organization,\n address1: payload.address1,\n address2: payload.address2,\n city: payload.city,\n stateAbb: payload.stateAbb,\n zipcode: payload.zipcode,\n phoneNumber: payload.phoneNumber,\n notificationPreference: payload.notificationPreference,\n };\n return [4 /*yield*/, editProfile(data)];\n case 1:\n _a.sent();\n return [4 /*yield*/, auth.refreshToken()];\n case 2:\n _a.sent();\n props.toggle();\n return [2 /*return*/];\n }\n });\n }); };\n return (React.createElement(ModalWrapper, { size: \"lg\", isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"User Profile\"),\n React.createElement(UserProfileEditForm, { data: props.principalUser, onCancel: props.toggle, onSave: handleSaveUser, stateList: (_a = stateData.data) === null || _a === void 0 ? void 0 : _a.data })));\n};\nvar validationSchema = Yup.object().shape({\n firstName: Yup.string().nullable().trim().required('Required'),\n lastName: Yup.string().nullable().trim().required('Required'),\n zipcode: Yup.string().nullable().trim().matches(ZIP_CODE_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n organization: Yup.string().nullable().trim(),\n address1: Yup.string().nullable().trim(),\n address2: Yup.string().nullable().trim(),\n city: Yup.string().nullable().trim(),\n notificationPreference: Yup.string().nullable().required('Required'),\n phoneNumber: Yup.string()\n .nullable()\n .trim()\n .when('notificationPreference', {\n is: NOTIFICATION_PREFERENCES.SMS,\n then: Yup.string().nullable().required('Required'),\n })\n .matches(PHONE_NUMBER_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n});\nexport var UserProfileEditForm = function (props) {\n var _a = useForm({\n validationSchema: validationSchema,\n }), setInitialValues = _a.setInitialValues, values = _a.values, handleChange = _a.handleChange, handleBlur = _a.handleBlur, setFieldValue = _a.setFieldValue, setFieldTouched = _a.setFieldTouched, handleSubmit = _a.handleSubmit, isSubmitting = _a.isSubmitting, getError = _a.getError;\n useEffect(function () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n setInitialValues({\n firstName: (_a = props.data) === null || _a === void 0 ? void 0 : _a.firstName,\n middleName: (_b = props.data) === null || _b === void 0 ? void 0 : _b.middleName,\n lastName: (_c = props.data) === null || _c === void 0 ? void 0 : _c.lastName,\n username: (_d = props.data) === null || _d === void 0 ? void 0 : _d.username,\n organization: (_e = props.data) === null || _e === void 0 ? void 0 : _e.organization,\n address1: (_f = props.data) === null || _f === void 0 ? void 0 : _f.address1,\n address2: (_g = props.data) === null || _g === void 0 ? void 0 : _g.address2,\n city: (_h = props.data) === null || _h === void 0 ? void 0 : _h.city,\n stateAbb: (_j = props.data) === null || _j === void 0 ? void 0 : _j.stateAbb,\n zipcode: (_k = props.data) === null || _k === void 0 ? void 0 : _k.zipcode,\n roleName: (_l = props.data) === null || _l === void 0 ? void 0 : _l.role.roleName,\n phoneNumber: (_m = props.data) === null || _m === void 0 ? void 0 : _m.phoneNumber,\n notificationPreference: (_o = props.data) === null || _o === void 0 ? void 0 : _o.notificationPreference,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.data]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, props.onSave(__assign({}, payload))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(ModalBody, null,\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"First Name\"),\n React.createElement(Input, { type: \"text\", name: \"firstName\", value: values.firstName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('firstName') }),\n React.createElement(FormFeedback, null, getError('firstName'))),\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Middle Name\"),\n React.createElement(Input, { type: \"text\", name: \"middleName\", value: values.middleName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('middleName') }),\n React.createElement(FormFeedback, null, getError('middleName'))),\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Last Name\"),\n React.createElement(Input, { type: \"text\", name: \"lastName\", value: values.lastName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('lastName') }),\n React.createElement(FormFeedback, null, getError('lastName')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Mobile phone number\"),\n React.createElement(PhoneInput, { name: \"phoneNumber\", value: values.phoneNumber, setFieldValue: setFieldValue, setFieldTouched: setFieldTouched, invalid: !!getError('phoneNumber') }),\n React.createElement(FormFeedback, null, getError('phoneNumber'))),\n React.createElement(FormGroup, { className: \"col-md-8\" },\n React.createElement(Label, null, \"\\u00A0\"),\n React.createElement(\"div\", { className: \"pt-2\" },\n React.createElement(Label, { className: \"mr-2\" }, \"Preference for notifications:\"),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.EMAIL, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.EMAIL }),\n \"Email\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.SMS, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.SMS }),\n \"SMS Text\"))),\n React.createElement(FormFeedback, { className: \"d-lock\" }, !!getError('notificationPreference')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Organization Name\"),\n React.createElement(Input, { type: \"text\", name: \"organization\", value: values.organization, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('organization') }),\n React.createElement(FormFeedback, null, getError('organization')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Address 1\"),\n React.createElement(Input, { type: \"text\", name: \"address1\", value: values.address1, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address1') }),\n React.createElement(FormFeedback, null, getError('address1'))),\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Address 2\"),\n React.createElement(Input, { type: \"text\", name: \"address2\", value: values.address2, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address2') }),\n React.createElement(FormFeedback, null, getError('address2')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"City\"),\n React.createElement(Input, { type: \"text\", name: \"city\", value: values.city, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('city') }),\n React.createElement(FormFeedback, null, getError('city'))),\n React.createElement(FormGroup, { className: \"col-md-3\" },\n React.createElement(Label, null, \"State\"),\n React.createElement(Select, { name: \"stateAbb\", options: props.stateList, value: values.stateAbb, onChange: setFieldValue, setFieldTouched: setFieldTouched, optionsTransform: function (st) { return (__assign(__assign({}, st), { value: st.stateAbbreviation, label: st.stateName })); }, menuPlacement: \"top\" }),\n React.createElement(FormFeedback, null, getError('stateAbb'))),\n React.createElement(FormGroup, { className: \"col-md-3\" },\n React.createElement(Label, null, \"Zip Code\"),\n React.createElement(Input, { type: \"text\", name: \"zipcode\", value: values.zipcode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('zipcode') }),\n React.createElement(FormFeedback, null, getError('zipcode'))))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { type: \"button\", onClick: props.onCancel, disabled: isSubmitting }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", disabled: isSubmitting }, \"Save\"))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { Button, MessageBox, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nimport { useUser } from '../authentication';\nvar COGNITO_USER_CHANGE_PASSWORD = '/api/user/changePassword';\nvar WO_COGNITO_USER_CHANGE_PASSWORD = '/api/userApp/changePassword';\nvar Description = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n currentPassword: Yup.string().required('Required'),\n newPassword: Yup.lazy(function (value) {\n return isEmpty(value)\n ? Yup.string().required('Required')\n : Yup.string()\n .notOneOf([values.currentPassword], 'New password must be different than the current password')\n .matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG);\n }),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n });\n});\nexport var UserChangePassword = function (props) {\n var user = useUser();\n var _a = useAPI((user === null || user === void 0 ? void 0 : user.firstName) ? COGNITO_USER_CHANGE_PASSWORD : WO_COGNITO_USER_CHANGE_PASSWORD, undefined, 'POST'), userChangePasswordData = _a[0], userChangePassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.isOpen) {\n setInitialValues({\n currentPassword: '',\n newPassword: '',\n passwordConfirmation: '',\n });\n resetStore();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isOpen]);\n useEffect(function () {\n if (userChangePasswordData.requesting === false && !userChangePasswordData.error) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userChangePasswordData.requesting]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, userChangePassword({\n password: values.currentPassword,\n new_password: values.newPassword,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Change Password\"),\n React.createElement(ModalBody, null,\n React.createElement(MessageBox, { error: userChangePasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Current password\"),\n React.createElement(Input, { type: \"password\", name: \"currentPassword\", placeholder: \"Current Password\", value: values.currentPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('currentPassword') }),\n React.createElement(FormFeedback, null, getError('currentPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(Button, { color: \"primary\", hidden: true, type: \"submit\" }))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", onClick: onSubmit, loading: isSubmitting }, \"Change password\"))));\n};\nvar templateObject_1;\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nexport var LicenseAgreementModal = function (props) {\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"National Minority Quality Forum License Agreement\"),\n React.createElement(ModalBody, null, \"You should carefully read the following terms and conditions before using the INDEX, which contains software and proprietary data owned by the National Minority Quality Forum, Inc. (the \\\"Forum\\\"). Upon your acceptance of the terms of this License Agreement, the Forum will approve your registration and license your exclusive use under the terms set forth below. If you do not agree to the terms and conditions of this License Agreement, do not use the INDEX. Using any part of the INDEX indicates that you accept these terms. The product is provided as is. Grant of License: The Forum grants you a personal, limited, nonexclusive, nontransferable, non-assignable License to view health indicators within geographic boundaries. The Forum grants you this License solely for your personal use for your organization/office of employment for the sole purpose of furthering understanding and appreciation of health indicators and requires that you adhere to all of the terms and conditions of this License Agreement. These limitations on use apply to the software and any other documentation and materials associated with the INDEX. The foregoing is an express limited-use License and not an assignment, sale, or other transfer of the INDEX or any Intellectual-Property Rights (as defined below) of the Forum. Assent: By logging on to the INDEX, you agree that this License Agreement is a legally binding and valid contract, you agree to abide by the intellectual-property laws and all of the terms and conditions of this Agreement, and you further agree to take all necessary steps to ensure that the terms and conditions of this Agreement are not violated by any person or entity under your control or in your service. Ownership of Software: The Forum and/or its affiliates or subsidiaries own certain rights and have accepted certain data-use agreements that may exist from time to time in this or any other jurisdiction, whether foreign or domestic, under patent law, copyright law, publicity-rights law, moral-rights law, trade-secret law, trademark law, unfair-competition law, or other similar protections (\\\"Intellectual-Property Rights\\\"), regardless of whether or not such rights or protections are registered or perfected, in the INDEX. All Intellectual-Property Rights in and to the INDEX are and shall remain in the Forum. No Commercial Use: This License Agreement grants you the right to personal use of the INDEX for your organization/office of employment only. Commercial use of the software or of the work products resulting from its use is not permitted under this License Agreement. Restrictions:1. You are expressly prohibited from copying, modifying, merging, selling, leasing, redistributing, assigning, or transferring in any manner the INDEX or any portion of its software.2. You are expressly prohibited from reverse engineering, decompiling, translating, disassembling, deciphering, decrypting, or otherwise attempting to discover the source code of the INDEX, as the INDEX contains proprietary material of the Forum. You may not otherwise modify, alter, adapt, port, or merge the INDEX.3. You may not remove, alter, deface, overprint, or otherwise obscure the Forum logos, patent, trademark, service mark, or copyright notices.4. You agree that the INDEX will not be shipped, transferred, or exported to any other country or used in any manner prohibited by any government agency or any export laws, restrictions, or regulations.5. You may not distribute in any form of electronic or printed communication the materials within or otherwise related to the INDEX, including but not limited to the object code, documentation, help files, examples, and benchmarks. Exceptions: You may create copies of the data produced by the INDEX for the sole purpose of furthering the understanding and appreciation of health indicators. You may distribute such maps or derivative data within your organization or place of employment in electronic or printed form. All maps or derivative data that you copy, print, or distribute must contain the logos of the Forum. Linkage to the INDEX: No linkage to the INDEX from your or another Web site is permitted without the written consent of the Forum. Warranties and Disclaimer: Except as expressly provided otherwise in a written agreement between the Forum and you, the INDEX is provided as is, without warranty of any kind, either express or implied, including but not limited to implied warranty of merchantability or fitness for a particular purpose and warranty of non-infringement. Without limiting the foregoing, the Forum makes no warranty that (i) the INDEX will meet your requirements; (ii) the use of the INDEX will be uninterrupted, timely, secure, or error free; (iii) the quality of the INDEX will meet your expectations; and/or (v) you may use, practice, execute, or access the INDEX without violating the intellectual-property rights of others. In no event shall the Forum or its suppliers or contractors be liable to you or any third party for any special, incidental, indirect, or consequential damages of any kind or any damages whatsoever, including without limitation those resulting from loss of use, data, or profits, whether or not the Forum had been advised of the possibility of such damages, and on any theory of liability, arising out of or in connection with the use of the INDEX. Some jurisdictions prohibit the exclusion or limitation of liability for consequential or incidental damages, so the above limitations may not apply to you. These limitations shall apply notwithstanding any failure of essential purpose of any limited remedy. Severability: In the event that any provision of this License Agreement is found to be invalid, illegal, or unenforceable, the validity, legality, and enforceability of any of the remaining provisions shall not in any way be affected or impaired, and a valid, legal, and enforceable provision of similar intent and economic impact shall be substituted therefore. Entire Agreement: This License Agreement sets forth the entire understanding and agreement between you and the Forum It may be amended only in a writing signed by both parties. This License Agreement shall not supersede any other written agreement between you and the Forum with respect to the INDEX.\")));\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var GeoLevelEnum;\n(function (GeoLevelEnum) {\n GeoLevelEnum[\"Zip5\"] = \"ZIP_CODE_5\";\n GeoLevelEnum[\"Zip3\"] = \"ZIP_CODE_3\";\n GeoLevelEnum[\"State\"] = \"STATE\";\n GeoLevelEnum[\"County\"] = \"COUNTY\";\n GeoLevelEnum[\"MSA\"] = \"MSA\";\n GeoLevelEnum[\"Congressional\"] = \"CONGRESSIONAL_DISTRICT\";\n GeoLevelEnum[\"StateUpper\"] = \"STATE_UPPER_HOUSE_DISTRICT\";\n GeoLevelEnum[\"StateLower\"] = \"STATE_LOWER_HOUSE_DISTRICT\";\n})(GeoLevelEnum || (GeoLevelEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var StatisticGroupEnum;\n(function (StatisticGroupEnum) {\n StatisticGroupEnum[\"Population\"] = \"POPULATION\";\n StatisticGroupEnum[\"Rate\"] = \"RATE_OF_ACUTE_EVENTS\";\n StatisticGroupEnum[\"Cost\"] = \"COST_OF_ACUTE_EVENTS\";\n})(StatisticGroupEnum || (StatisticGroupEnum = {}));\nexport var StatisticTypeEnum;\n(function (StatisticTypeEnum) {\n // Population\n StatisticTypeEnum[\"Prevalence\"] = \"PREVALENCE\";\n StatisticTypeEnum[\"TotalCount\"] = \"TOTAL_COUNT_OF_PATIENTS\";\n // RateOfAcuteEvents\n StatisticTypeEnum[\"HospitalizationRate\"] = \"HOSPITALIZATION_RATE\";\n StatisticTypeEnum[\"ERVisitsRate\"] = \"ER_VISITS_RATE\";\n StatisticTypeEnum[\"HospitalEncounterRate\"] = \"HOSPITAL_ENCOUNTERS_RATE\";\n StatisticTypeEnum[\"DeathRate\"] = \"DEATH_RATE\";\n StatisticTypeEnum[\"ReadmissionRate\"] = \"READMISSION_RATE\";\n // CostOfAcuteEvents\n StatisticTypeEnum[\"HospitalizationCost\"] = \"TOTAL_ANNUAL_HOSPITALIZATION_COST_PER_PATIENT\";\n StatisticTypeEnum[\"ERCost\"] = \"TOTAL_ANNUAL_ER_COST_PER_PATIENT\";\n StatisticTypeEnum[\"OOPPartBDrugCost\"] = \"TOTAL_ANNUAL_PATIENT_OUT_OF_POCKET_PART_B_DRUG_COST_PER_PATIENT\";\n StatisticTypeEnum[\"OOPPartDDrugCost\"] = \"TOTAL_ANNUAL_PATIENT_OUT_OF_POCKET_PART_D_DRUG_COST_PER_PATIENT\";\n StatisticTypeEnum[\"MCRPartBDrugCost\"] = \"TOTAL_ANNUAL_MCR_PART_B_DRUG_PAYMENTS_PER_PATIENT\";\n StatisticTypeEnum[\"MCRPartDDrugCost\"] = \"TOTAL_ANNUAL_MCR_PART_D_DRUG_PAYMENTS_PER_PATIENT\";\n StatisticTypeEnum[\"TotalCost\"] = \"TOTAL_ANNUAL_COST_PER_PATIENT\";\n})(StatisticTypeEnum || (StatisticTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var DataSourceEnum;\n(function (DataSourceEnum) {\n DataSourceEnum[\"MedicareAll\"] = \"MEDICARE_ALL\";\n DataSourceEnum[\"MedicareFFS\"] = \"MEDICARE_FFS\";\n DataSourceEnum[\"MedicareAdvantage\"] = \"MEDICARE_ADVANTAGE\";\n DataSourceEnum[\"Medicaid\"] = \"MEDICAID\";\n DataSourceEnum[\"MedicareFfsFluSeason\"] = \"MEDICARE_FFS_FLU_SEASON\";\n})(DataSourceEnum || (DataSourceEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ViewModeEnum;\n(function (ViewModeEnum) {\n ViewModeEnum[\"Map\"] = \"MAP_VIEW\";\n ViewModeEnum[\"Table\"] = \"TABULAR_VIEW\";\n ViewModeEnum[\"Chart\"] = \"CHART_VIEW\";\n})(ViewModeEnum || (ViewModeEnum = {}));\nexport var ChartViewEnum;\n(function (ChartViewEnum) {\n ChartViewEnum[\"Demographic\"] = \"DEMOGRAPHIC\";\n ChartViewEnum[\"Trends\"] = \"TRENDS\";\n})(ChartViewEnum || (ChartViewEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var DemographicTypeEnum;\n(function (DemographicTypeEnum) {\n DemographicTypeEnum[\"Sex\"] = \"sex\";\n DemographicTypeEnum[\"Race\"] = \"race\";\n DemographicTypeEnum[\"Age\"] = \"age\";\n})(DemographicTypeEnum || (DemographicTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RoleEnum;\n(function (RoleEnum) {\n RoleEnum[\"GeneralUser\"] = \"GENERAL_USER\";\n RoleEnum[\"GeneralUserNoDownload\"] = \"GENERAL_USER_NO_DOWNLOAD\";\n RoleEnum[\"SystemAdmin\"] = \"SYSTEM_ADMIN\";\n RoleEnum[\"IndexManager\"] = \"INDEX_MANAGER\";\n RoleEnum[\"SingleIndexDataManager\"] = \"SINGLE_INDEX_DATA_MANAGER\";\n RoleEnum[\"SingleIndexUserManager\"] = \"SINGLE_INDEX_USER_MANAGER\";\n})(RoleEnum || (RoleEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RaceMethodologyEnum;\n(function (RaceMethodologyEnum) {\n RaceMethodologyEnum[\"Standard\"] = \"STANDARD\";\n RaceMethodologyEnum[\"RTI\"] = \"RTI\";\n})(RaceMethodologyEnum || (RaceMethodologyEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ClinicalTrialOptionEnum;\n(function (ClinicalTrialOptionEnum) {\n ClinicalTrialOptionEnum[\"TrialsRelated\"] = \"TRIALS_RELATED\";\n ClinicalTrialOptionEnum[\"AllTrials\"] = \"ALL_TRIALS\";\n})(ClinicalTrialOptionEnum || (ClinicalTrialOptionEnum = {}));\nexport var ClinicalTrialStatusEnum;\n(function (ClinicalTrialStatusEnum) {\n ClinicalTrialStatusEnum[\"NotYetRecruiting\"] = \"NOT_YET_RECRUITING\";\n ClinicalTrialStatusEnum[\"Recruiting\"] = \"RECRUITING\";\n ClinicalTrialStatusEnum[\"EnrollingByInvitation\"] = \"ENROLLING_BY_INVITATION\";\n ClinicalTrialStatusEnum[\"ActiveNotRecruiting\"] = \"ACTIVE_NOT_RECRUITING\";\n})(ClinicalTrialStatusEnum || (ClinicalTrialStatusEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var PrimaryConditionsSortTypeEnum;\n(function (PrimaryConditionsSortTypeEnum) {\n PrimaryConditionsSortTypeEnum[\"Specifically\"] = \"SPECIFICALLY\";\n})(PrimaryConditionsSortTypeEnum || (PrimaryConditionsSortTypeEnum = {}));\nexport var SecondaryConditionsSortTypeEnum;\n(function (SecondaryConditionsSortTypeEnum) {\n SecondaryConditionsSortTypeEnum[\"Specifically\"] = \"SPECIFICALLY\";\n})(SecondaryConditionsSortTypeEnum || (SecondaryConditionsSortTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RightPanelTypeEnum;\n(function (RightPanelTypeEnum) {\n RightPanelTypeEnum[\"RegionDetail\"] = \"RegionDetail\";\n RightPanelTypeEnum[\"ProviderDetail\"] = \"ProviderDetail\";\n RightPanelTypeEnum[\"ClinicalTrialDetail\"] = \"ClinicalTrialDetail\";\n RightPanelTypeEnum[\"CustomMapLayer\"] = \"CustomMapLayer\";\n RightPanelTypeEnum[\"QuestDiagnosticsSites\"] = \"QuestDiagnosticsSitesLayer\";\n})(RightPanelTypeEnum || (RightPanelTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var UserLoginTypeEnum;\n(function (UserLoginTypeEnum) {\n UserLoginTypeEnum[\"USER_APP\"] = \"USER_APP\";\n UserLoginTypeEnum[\"USER_COGNITO\"] = \"USER_COGNITO\";\n})(UserLoginTypeEnum || (UserLoginTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ChronicConditionSource;\n(function (ChronicConditionSource) {\n ChronicConditionSource[\"NMQF_CUSTOM\"] = \"nmqf_custom\";\n ChronicConditionSource[\"CMS_OTHER\"] = \"cms_other\";\n ChronicConditionSource[\"CMS_27\"] = \"cms_27\";\n ChronicConditionSource[\"CMS_30\"] = \"cms_30\";\n})(ChronicConditionSource || (ChronicConditionSource = {}));\nexport var KeyCombineConditionSource;\n(function (KeyCombineConditionSource) {\n KeyCombineConditionSource[\"lessThan2019\"] = \"lessThan2019\";\n KeyCombineConditionSource[\"greaterOrEqual2019\"] = \"greaterOrEqual2019\";\n})(KeyCombineConditionSource || (KeyCombineConditionSource = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useContext, useCallback, useMemo } from 'react';\nimport { Map } from 'immutable';\nimport { DataSourceEnum, RaceMethodologyEnum, StatisticTypeEnum } from '../enums';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nexport var REPORT_DATA_SOURCES = [DataSourceEnum.MedicareFFS];\nvar ReportsDialogContext = React.createContext([]);\nexport var useReportsDialogValue = function (key) {\n var _a = useContext(ReportsDialogContext), state = _a[0], updateState = _a[1];\n var getter = function () { return state === null || state === void 0 ? void 0 : state.get(key); };\n var setter = useCallback(function (value) { return updateState === null || updateState === void 0 ? void 0 : updateState(function (curr) { return curr.set(key, value); }); }, [key, updateState]);\n return [useMemo(getter, [key, state]), setter];\n};\nexport var useReportSetting = function () {\n var _a = useContext(ReportsDialogContext), data = _a[0], updateData = _a[1];\n var getter = function () { return data === null || data === void 0 ? void 0 : data.toJSON(); };\n var setter = useCallback(function (value) { return updateData === null || updateData === void 0 ? void 0 : updateData(Map(value)); }, [updateData]);\n return [useMemo(getter, [data]), setter];\n};\nexport var ReportsDialogProvider = function (props) {\n var _a, _b, _c, _d, _e;\n var defaultFilter = useDefaultFilter();\n var indexConfig = useHostnameIndexInfo();\n var _f = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).isSeasonStatistic, isSeasonStatistic = _f === void 0 ? false : _f;\n var INITIAL_VALUE = {\n isSeasonStatistic: isSeasonStatistic,\n conditions: defaultFilter.primaryCoMorbidities || [],\n secondaryCormorbidities: [],\n dataSourceType: ((_b = (_a = defaultFilter.report) === null || _a === void 0 ? void 0 : _a.cmsDataSource) === null || _b === void 0 ? void 0 : _b[0]) || REPORT_DATA_SOURCES[0],\n dataYear: 0,\n dataYearSeason: defaultFilter.dataYearSeason || [],\n firstLevel: undefined,\n reportType: defaultFilter.defaultReportType || ReportTypeEnum.CongressionalDetailAnalysis,\n secondLevel: undefined,\n zipCodes: undefined,\n raceMethodology: RaceMethodologyEnum.Standard,\n statistics: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationCost,\n StatisticTypeEnum.ERCost,\n StatisticTypeEnum.TotalCost,\n ],\n sexCodes: (_c = defaultFilter.demographics) === null || _c === void 0 ? void 0 : _c.sexCodes,\n raceCodes: (_d = defaultFilter.demographics) === null || _d === void 0 ? void 0 : _d.raceCodes,\n ages: (_e = defaultFilter.demographics) === null || _e === void 0 ? void 0 : _e.ages,\n isRememberSettings: false,\n fluVaccineCptCodes: [],\n };\n var _g = useState(function () { return Map(INITIAL_VALUE); }), state = _g[0], setState = _g[1];\n var contextValue = [state, setState];\n return (React.createElement(ReportsDialogContext.Provider, { value: contextValue }, props.children));\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var FETCH_URL_START = 'FETCH_URL_START';\nexport var FETCH_URL_SUCCESS = 'FETCH_URL_SUCCESS';\nexport var FETCH_URL_FAILED = 'FETCH_URL_FAILED';\nexport var FETCH_URL_RESET = 'FETCH_URL_RESET';\nvar initialState = Map();\nvar actionHandlers = {};\nactionHandlers[FETCH_URL_START] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], true)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'error'])\n .setIn([a.payload.key + \":\" + a.payload.method, 'timeout'], a.payload.timeout)\n .setIn([a.payload.key + \":\" + a.payload.method, 'abortController'], a.payload.abortController);\n};\nactionHandlers[FETCH_URL_SUCCESS] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], false)\n .setIn([a.payload.key + \":\" + a.payload.method, 'data'], a.payload.data)\n .setIn([a.payload.key + \":\" + a.payload.method, 'statusCode'], a.payload.statusCode)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'abortController']);\n};\nactionHandlers[FETCH_URL_FAILED] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], false)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'data'])\n .setIn([a.payload.key + \":\" + a.payload.method, 'error'], a.payload.error)\n .setIn([a.payload.key + \":\" + a.payload.method, 'statusCode'], a.payload.statusCode)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'abortController']);\n};\nactionHandlers[FETCH_URL_RESET] = function (s, a) { return s.remove(a.payload.key + \":\" + a.payload.method); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var SET_MESSAGE = 'SET_MESSAGE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[SET_MESSAGE] = function (s, a) { return (a.payload.data ? s.set(a.payload.key, a.payload.data) : s.remove(a.payload.key)); };\nexport default function messageReducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useContext, useCallback, useMemo, useRef } from 'react';\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { Map } from 'immutable';\nimport { AuthContext } from 'cinchy';\nimport { FETCH_URL_START, FETCH_URL_SUCCESS, FETCH_URL_FAILED, FETCH_URL_RESET } from './reducer';\nimport { substituteParams } from '../../utils';\nvar DEFAULT_TIMEOUT = 60000; // One Minute Timeout\nvar startFetch = function (key, method, timeout, abortController) { return ({\n type: FETCH_URL_START,\n payload: { key: key, method: method, timeout: timeout, abortController: abortController },\n}); };\nvar successFetch = function (key, method, data, statusCode) { return ({\n type: FETCH_URL_SUCCESS,\n payload: { key: key, method: method, data: data, statusCode: statusCode },\n}); };\nvar failFetch = function (key, method, error, statusCode) { return ({\n type: FETCH_URL_FAILED,\n payload: {\n key: key,\n method: method,\n error: __assign(__assign({}, (typeof error === 'object' ? error : { error: error })), { statusCode: statusCode, message: statusCode === 502 || statusCode === 504\n ? 'The system is currently busy, please try again in a couple of minutes'\n : typeof error === 'object'\n ? error.message || error.errorMessage\n : 'Server Error' }),\n statusCode: statusCode,\n },\n}); };\nvar resetState = function (key, method) { return ({ type: FETCH_URL_RESET, payload: { key: key, method: method } }); };\nvar APIClient = /** @class */ (function () {\n function APIClient(url, key, method, authStrategy) {\n this.authStrategy = authStrategy;\n this.url = url;\n this.key = key;\n this.method = method;\n }\n APIClient.prototype.getKey = function () {\n return this.key;\n };\n APIClient.prototype.getMethod = function () {\n return this.method;\n };\n APIClient.prototype.getUrl = function () {\n return this.url;\n };\n APIClient.prototype.abort = function (state) {\n var _a, _b;\n (_b = (_a = state.api.get(this.key + \":\" + this.method)) === null || _a === void 0 ? void 0 : _a.get('abortController')) === null || _b === void 0 ? void 0 : _b.abort();\n };\n APIClient.prototype.resetState = function () {\n var _this = this;\n return function (dispatch, getState) {\n _this.abort(getState());\n dispatch(resetState(_this.getKey(), _this.getMethod()));\n };\n };\n APIClient.prototype.request = function (timeout, body, parseData) {\n var _this = this;\n if (timeout === void 0) { timeout = DEFAULT_TIMEOUT; }\n return function (dispatch, getState) { return __awaiter(_this, void 0, void 0, function () {\n var abortController, retry, response, requestOptions, request, contentType, _a, contentType, _b, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!this.url)\n return [2 /*return*/];\n this.abort(getState());\n abortController = new AbortController();\n dispatch(startFetch(this.key, this.method, Date.now() + timeout, abortController));\n _c.label = 1;\n case 1:\n _c.trys.push([1, 19, , 22]);\n retry = true;\n response = {};\n _c.label = 2;\n case 2:\n if (!retry) return [3 /*break*/, 18];\n retry = false;\n requestOptions = this.authStrategy.getRequestOptions(this.method, body);\n return [4 /*yield*/, fetch(this.url, __assign({ signal: abortController.signal }, requestOptions))];\n case 3:\n request = _c.sent();\n if (!(request.status > 299)) return [3 /*break*/, 12];\n if (!(request.status === 401)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.authStrategy.onUnauthorized(dispatch, getState, request)];\n case 4:\n retry = _c.sent();\n return [3 /*break*/, 11];\n case 5:\n if (!(request.status === 403)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.authStrategy.onForbidden(dispatch, getState, request)];\n case 6:\n retry = _c.sent();\n return [3 /*break*/, 11];\n case 7:\n contentType = request.headers.get('content-type');\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json'))) return [3 /*break*/, 9];\n return [4 /*yield*/, request.json()];\n case 8:\n _a = _c.sent();\n return [3 /*break*/, 10];\n case 9:\n _a = request.statusText;\n _c.label = 10;\n case 10:\n response = _a;\n dispatch(failFetch(this.key, this.method, response, request.status));\n _c.label = 11;\n case 11: return [3 /*break*/, 17];\n case 12:\n contentType = request.headers.get('content-type');\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json'))) return [3 /*break*/, 14];\n return [4 /*yield*/, request.json()];\n case 13:\n _b = _c.sent();\n return [3 /*break*/, 16];\n case 14: return [4 /*yield*/, request.text()];\n case 15:\n _b = _c.sent();\n _c.label = 16;\n case 16:\n response = _b;\n response = parseData ? parseData(response) : response;\n dispatch(successFetch(this.key, this.method, response, request.status));\n _c.label = 17;\n case 17: return [3 /*break*/, 2];\n case 18: return [2 /*return*/, response];\n case 19:\n e_1 = _c.sent();\n if (!(e_1.name !== 'AbortError')) return [3 /*break*/, 21];\n return [4 /*yield*/, this.authStrategy.onUnauthorized(dispatch, getState, e_1)];\n case 20:\n _c.sent();\n dispatch(failFetch(this.key, this.method, e_1));\n _c.label = 21;\n case 21: return [3 /*break*/, 22];\n case 22: return [2 /*return*/];\n }\n });\n }); };\n };\n return APIClient;\n}());\nexport { APIClient };\nexport var useAPI = function (url, substitutions, method, key, parseData) {\n if (substitutions === void 0) { substitutions = {}; }\n if (method === void 0) { method = 'GET'; }\n if (key === void 0) { key = url; }\n var parseDataRef = useRef();\n parseDataRef.current = parseData;\n var auth = useContext(AuthContext);\n var dispatch = useDispatch();\n var substitutedUrl = substituteParams(url, substitutions);\n var substitutedKey = substituteParams(key, substitutions);\n var client = useMemo(function () { return new APIClient(substitutedUrl, substitutedKey, method, auth); }, [substitutedUrl, substitutedKey, method, auth]);\n var doRequest = useCallback(function (body, force, timeout) {\n if (timeout === void 0) { timeout = DEFAULT_TIMEOUT; }\n return dispatch(client.request(timeout, body, parseDataRef.current));\n }, [client, dispatch]);\n var data = useMappedState(useCallback(function (state) { return state.api.get(client.getKey() + \":\" + client.getMethod(), Map({})).toObject(); }, [client]));\n var resetStateAPI = useCallback(function () { return dispatch(client.resetState()); }, [client, dispatch]);\n return [data, doRequest, resetStateAPI];\n};\nexport var useCachedData = function (url, substitutions, method, key, parseData) {\n if (method === void 0) { method = 'GET'; }\n if (key === void 0) { key = url; }\n var _a = useAPI(url, substitutions, method, key, parseData), data = _a[0], doRequest = _a[1], resetState = _a[2];\n var ignoreRequest = useRef(false);\n ignoreRequest.current = !!data.data || !!data.requesting;\n var fetchData = useCallback(function (body, force, timeout) {\n if (force || !ignoreRequest.current) {\n doRequest(body, force, timeout);\n }\n }, [doRequest]);\n return [data, fetchData, resetState];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback } from 'react';\nimport { SET_MESSAGE } from './reducer';\nexport var useMessage = function (messageId) {\n var dispatch = useDispatch();\n var setter = useCallback(function (message) { return dispatch({ type: SET_MESSAGE, payload: { key: messageId, data: message } }); }, [dispatch, messageId]);\n var getter = useCallback(function (state) { return state.message.get(messageId); }, [messageId]);\n return [useMappedState(getter), setter];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport api from './api/reducer';\nimport filter from './filtersettings/reducer';\nimport filterediting from './filterediting/reducer';\nimport view from './viewsetting/reducer';\nimport message from './message/reducer';\nexport var reducers = { api: api, filter: filter, filterediting: filterediting, view: view, message: message };\nexport * from './api';\nexport * from './filtersettings';\nexport * from './filterediting';\nexport * from './viewsetting';\nexport * from './message';\n","var _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { DataSourceEnum, StatisticTypeEnum } from '../enums';\nexport var DATA_SOURCES = (_a = {},\n _a[DataSourceEnum.Medicaid] = {\n value: DataSourceEnum.Medicaid,\n label: 'Medicaid',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount\n ],\n abbreviation: 'mcd',\n },\n _a[DataSourceEnum.MedicareFFS] = {\n value: DataSourceEnum.MedicareFFS,\n label: 'Medicare FFS',\n supportConsumptionGroup: true,\n abbreviation: 'mcr',\n },\n _a[DataSourceEnum.MedicareAdvantage] = {\n value: DataSourceEnum.MedicareAdvantage,\n label: 'Medicare Advantage',\n abbreviation: 'mcradv',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationRate,\n StatisticTypeEnum.ERVisitsRate,\n StatisticTypeEnum.HospitalEncounterRate,\n StatisticTypeEnum.DeathRate,\n StatisticTypeEnum.ReadmissionRate,\n ],\n },\n _a[DataSourceEnum.MedicareAll] = {\n value: DataSourceEnum.MedicareAll,\n label: 'Medicare All',\n abbreviation: 'mcrall',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationRate,\n StatisticTypeEnum.ERVisitsRate,\n StatisticTypeEnum.HospitalEncounterRate,\n StatisticTypeEnum.DeathRate,\n StatisticTypeEnum.ReadmissionRate,\n ],\n },\n _a[DataSourceEnum.MedicareFfsFluSeason] = {\n value: DataSourceEnum.MedicareFfsFluSeason,\n label: 'Medicare FFS Flu Season',\n abbreviation: 'mcr',\n },\n _a);\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar _a, _b;\nimport { ViewModeEnum, GeoLevelEnum, ChartViewEnum, DemographicTypeEnum } from '../enums';\nimport { deviceType } from '../utils';\nexport var VIEW_MODES = (_a = {},\n _a[ViewModeEnum.Map] = {\n value: ViewModeEnum.Map,\n label: 'View Map',\n icon: 'map',\n },\n _a[ViewModeEnum.Chart] = {\n value: ViewModeEnum.Chart,\n label: 'View Chart',\n icon: 'chart-pie',\n },\n _a[ViewModeEnum.Table] = {\n value: ViewModeEnum.Table,\n label: 'View Table',\n icon: 'table',\n },\n _a);\nexport var DEMOGRAPHIC_CHART_OPTIONS = [\n {\n value: DemographicTypeEnum.Sex,\n label: 'Sex',\n },\n {\n value: DemographicTypeEnum.Age,\n label: 'Age',\n },\n {\n value: DemographicTypeEnum.Race,\n label: 'Race/Ethnicity',\n },\n];\nexport var ALL_DEMOGRAPHIC_CHART_OPTIONS = DEMOGRAPHIC_CHART_OPTIONS.map(function (_a) {\n var value = _a.value;\n return value;\n});\nexport var CHART_VIEW_OPTIONS = [\n { value: ChartViewEnum.Demographic, label: 'Demographics', children: DEMOGRAPHIC_CHART_OPTIONS },\n { value: ChartViewEnum.Trends, label: 'Trends' },\n];\nexport var DEFAULT_VIEW_SETTING = {\n viewMode: ViewModeEnum.Map,\n geoType: GeoLevelEnum.Zip5,\n mapView: {\n showLegend: deviceType() !== 'mobile',\n showGeographyHoverDisplay: true,\n },\n chartView: (_b = {\n type: ChartViewEnum.Demographic,\n demographics: ALL_DEMOGRAPHIC_CHART_OPTIONS\n },\n _b[DemographicTypeEnum.Sex] = 'pie',\n _b[DemographicTypeEnum.Race] = 'pie',\n _b[DemographicTypeEnum.Age] = 'pie',\n _b),\n importingLocationTypes: {},\n mapLayerCountNotifications: {},\n provider: {},\n checkedQuestDiagnosticsStatus: false,\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useContext, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { WebMercatorViewport } from 'react-map-gl';\nimport bbox from '@turf/bbox';\nimport { Map } from 'immutable';\nimport { v4 } from 'uuid';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useUIValueSessionStorage } from '../storeduivalue';\nimport { useMount } from '../hooks';\nvar INITIAL_VIEW_PORT = {\n latitude: 37.70912855295634,\n longitude: -95.77103105174075,\n zoom: 3.4,\n pitch: 0,\n bearing: 0,\n};\nvar DEFAULT_TRANSPARENCY = 70;\nvar FIT_BOUNDS_PADDING = 70;\nvar MapContext = React.createContext(Object.assign([]));\nvar ViewportContext = React.createContext(Object.assign([]));\nexport var useMapFallback = function (requesting, error, retry) {\n var _a = useContext(MapContext), state = _a[0], updateState = _a[1];\n var fallback = state === null || state === void 0 ? void 0 : state.get('fallback');\n var key = useMemo(function () { return v4(); }, []);\n var getter = function () {\n var fallbackObj = (fallback === null || fallback === void 0 ? void 0 : fallback.toObject()) || {};\n var result = Object.values(fallbackObj).reduce(function (acc, curr) {\n acc.requesting = acc.requesting || curr.requesting;\n acc.error = acc.error || curr.error;\n return acc;\n }, Object.assign({}));\n result.retry = function () {\n Object.values(fallbackObj).forEach(function (curr) {\n if (curr.error) {\n curr.retry();\n }\n });\n };\n return result;\n };\n var setter = useCallback(function (value) {\n updateState === null || updateState === void 0 ? void 0 : updateState('fallback', function (oldState) { return (value ? oldState.set(key, value) : oldState.remove(key)); });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [updateState]);\n useEffect(function () {\n setter({ requesting: requesting, error: error, retry: retry });\n return setter;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requesting, error]);\n return [useMemo(getter, [fallback]), setter];\n};\nexport var MapFallback = function (props) {\n useMapFallback(props.requesting, props.error, props.retry);\n return null;\n};\nexport var useMapRef = function () {\n var _a = useContext(MapContext), mapRef = _a[2];\n return mapRef;\n};\nexport var useViewport = function () {\n var _a;\n var _b = useContext(ViewportContext), viewport = _b[0], updateViewport = _b[1];\n var indexConfig = useHostnameIndexInfo();\n var singleStateBBox = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.singleState) === null || _a === void 0 ? void 0 : _a.bbox;\n var setter = useCallback(function (value) {\n updateViewport(function (curr) { return (__assign(__assign({}, curr), value)); });\n }, [updateViewport]);\n var resetViewport = function (shouldResetViewport) {\n if (shouldResetViewport === void 0) { shouldResetViewport = true; }\n if (singleStateBBox && (viewport === null || viewport === void 0 ? void 0 : viewport.width) && (viewport === null || viewport === void 0 ? void 0 : viewport.height)) {\n var webMercatorViewport = new WebMercatorViewport(viewport);\n var minLng = singleStateBBox[0], minLat = singleStateBBox[1], maxLng = singleStateBBox[2], maxLat = singleStateBBox[3];\n var _a = webMercatorViewport.fitBounds([\n [minLng, minLat],\n [maxLng, maxLat],\n ], { padding: FIT_BOUNDS_PADDING }), longitude = _a.longitude, latitude = _a.latitude, zoom = _a.zoom;\n var value = { minZoom: zoom, zoom: Math.max(zoom, viewport.zoom || 0) };\n if (shouldResetViewport) {\n value = __assign(__assign({}, value), { longitude: longitude,\n latitude: latitude,\n zoom: zoom });\n }\n setter(value);\n }\n else if (shouldResetViewport) {\n setter(INITIAL_VIEW_PORT);\n }\n };\n return [viewport, setter, resetViewport];\n};\nexport var useMapValue = function (key) {\n var _a = useContext(MapContext), state = _a[0], updateState = _a[1];\n var getter = function () { return state === null || state === void 0 ? void 0 : state.get(key); };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var setter = useCallback(function (value) { return updateState === null || updateState === void 0 ? void 0 : updateState(key, value); }, []);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return [useMemo(getter, [state]), setter];\n};\nexport var useZoomToFeature = function () {\n var _a = useViewport(), viewport = _a[0], setViewport = _a[1];\n var viewportRef = useRef();\n viewportRef.current = viewport;\n var zoomToFeature = useCallback(function (feature) {\n if (feature) {\n try {\n var webMercatorViewport = new WebMercatorViewport(viewportRef.current);\n var _a = bbox(feature), minLng = _a[0], minLat = _a[1], maxLng = _a[2], maxLat = _a[3];\n var _b = webMercatorViewport.fitBounds([\n [minLng, minLat],\n [maxLng, maxLat],\n ], { padding: FIT_BOUNDS_PADDING }), longitude = _b.longitude, latitude = _b.latitude, zoom = _b.zoom;\n setViewport({\n longitude: longitude,\n latitude: latitude,\n zoom: Math.max(zoom - 1.5, viewportRef.current.minZoom || 0),\n });\n }\n catch (e) { }\n }\n }, [setViewport]);\n return zoomToFeature;\n};\nvar INITIAL_VALUE = {\n viewport: INITIAL_VIEW_PORT,\n transparency: DEFAULT_TRANSPARENCY,\n fallback: Map(),\n};\nvar SingleStateViewportComponent = function (props) {\n var _a = useViewport(), resetViewport = _a[2];\n useMount(function () {\n resetViewport(props.shouldResetViewport);\n });\n return null;\n};\nvar ViewportProvider = function (props) {\n var _a = useUIValueSessionStorage('viewport', INITIAL_VIEW_PORT, ['latitude', 'longitude', 'zoom']), viewport = _a[0], setViewport = _a[1], initialSessionValue = _a[2];\n return (React.createElement(ViewportContext.Provider, { value: [viewport, setViewport] },\n !!viewport.width && !!viewport.height && React.createElement(SingleStateViewportComponent, { shouldResetViewport: !initialSessionValue }),\n props.children));\n};\nexport var MapProvider = function (props) {\n var _a = useState(function () { return Map(INITIAL_VALUE); }), state = _a[0], setState = _a[1];\n var mapRef = useRef(null);\n var setter = useCallback(function (key, value) {\n setState(function (curr) { return curr.set(key, typeof value === 'function' ? value(curr.get(key)) : value); });\n }, []);\n var contextValue = useMemo(function () { return [state, setter, mapRef]; }, [state, setter]);\n return (React.createElement(ViewportProvider, null,\n React.createElement(MapContext.Provider, __assign({ value: contextValue }, props))));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Spinner as RSSpinner } from 'reactstrap';\nvar DEFAULT_SPINNER_RADIUS = 120;\nvar StyledSpinner = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: 1rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: 1rem;\\n\"])));\nvar StyledRSSpinner = styled(RSSpinner)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n color: #0099db;\\n border-width: 0.125rem;\\n \", \"\\n\"], [\"\\n color: #0099db;\\n border-width: 0.125rem;\\n \", \"\\n\"])), function (_a) {\n var _b = _a.radius, radius = _b === void 0 ? DEFAULT_SPINNER_RADIUS : _b;\n return \"width: \" + radius / 16 + \"rem; height: \" + radius / 16 + \"rem;\";\n});\nexport var Spinner = function (props) {\n if (!props.show)\n return null;\n return (React.createElement(StyledSpinner, null,\n React.createElement(StyledRSSpinner, { radius: props.radius })));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { Button as RSButton, DropdownToggle, UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons';\nimport styled, { css } from 'styled-components';\nvar iconButtonRule = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar StyledIconButton = styled(RSButton)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), iconButtonRule);\nvar StyledDropdownToggleIcon = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), iconButtonRule);\nvar StyledButton = styled(RSButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n outline: none !important;\\n box-shadow: none !important;\\n\"], [\"\\n outline: none !important;\\n box-shadow: none !important;\\n\"])));\nexport var IconButton = function (_a) {\n var icon = _a.icon, size = _a.size, title = _a.title, placement = _a.placement, loading = _a.loading, resprops = __rest(_a, [\"icon\", \"size\", \"title\", \"placement\", \"loading\"]);\n var myRef = useRef();\n var buttonRef = resprops.innerRef || myRef;\n var _b = useState(false), ready = _b[0], setReady = _b[1];\n useEffect(function () {\n setReady(true);\n }, []);\n return (React.createElement(StyledIconButton, __assign({ size: \"sm\" }, resprops, { disabled: loading || resprops.disabled, innerRef: buttonRef }),\n loading ? React.createElement(FontAwesomeIcon, { icon: faSpinner, spin: true, size: size, fixedWidth: true }) : icon && React.createElement(FontAwesomeIcon, { icon: icon, size: size, fixedWidth: true }),\n title && ready && React.createElement(UncontrolledTooltip, { placement: placement, target: buttonRef.current, fade: false, delay: 1000 }, title)));\n};\nexport var DropdownToggleIcon = function (_a) {\n var icon = _a.icon, size = _a.size, title = _a.title, placement = _a.placement, resprops = __rest(_a, [\"icon\", \"size\", \"title\", \"placement\"]);\n var tooltipRef = useRef();\n var _b = useState(false), ready = _b[0], setReady = _b[1];\n useEffect(function () {\n setReady(true);\n }, []);\n return (React.createElement(StyledDropdownToggleIcon, __assign({ size: \"sm\" }, resprops, { innerRef: tooltipRef }),\n icon && React.createElement(FontAwesomeIcon, { icon: icon, size: size, fixedWidth: true }),\n title && ready && React.createElement(UncontrolledTooltip, { placement: placement, target: tooltipRef.current, fade: false, delay: 1000 }, title)));\n};\nexport var Button = function (_a) {\n var message = _a.message, icon = _a.icon, loading = _a.loading, resprops = __rest(_a, [\"message\", \"icon\", \"loading\"]);\n return (React.createElement(StyledButton, __assign({}, resprops, { disabled: loading || resprops.disabled }),\n loading ? React.createElement(FontAwesomeIcon, { icon: faSpinner, spin: true }) : icon && React.createElement(FontAwesomeIcon, { icon: icon }),\n \" \",\n message,\n resprops.children));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useTranslation } from 'react-i18next';\nimport { Spinner } from './spinner';\nimport { Button } from './button';\nvar FallbackOverlay = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n // top: 0;\\n // bottom: 0;\\n // left: 0;\\n // right: 0;\\n // cursor: not-allowed;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n \\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"], [\"\\n position: absolute;\\n // top: 0;\\n // bottom: 0;\\n // left: 0;\\n // right: 0;\\n // cursor: not-allowed;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n \\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"])));\nvar StyledErrorMsg = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 1rem;\\n text-align: center;\\n background-color: #fff;\\n border-radius: 4px;\\n cursor: default;\\n\"], [\"\\n padding: 1rem;\\n text-align: center;\\n background-color: #fff;\\n border-radius: 4px;\\n cursor: default;\\n\"])));\nvar StyledWarningIcon = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: 3.5rem;\\n height: 3.5rem;\\n margin: 0 auto;\\n color: #ccc;\\n border-radius: 100%;\\n border: 0.125rem solid #ccc;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"], [\"\\n width: 3.5rem;\\n height: 3.5rem;\\n margin: 0 auto;\\n color: #ccc;\\n border-radius: 100%;\\n border: 0.125rem solid #ccc;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"])));\nvar ErrorTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-size: 2rem;\\n text-align: center;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-size: 2rem;\\n text-align: center;\\n margin: 0.25rem 0;\\n\"])));\nvar ErrorBody = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: #9b9b9b;\\n margin: 0.75rem 0;\\n\"], [\"\\n color: #9b9b9b;\\n margin: 0.75rem 0;\\n\"])));\nvar ErrorMsg = function (props) {\n var _a, _b, _c, _d;\n var t = useTranslation().t;\n return (React.createElement(StyledErrorMsg, null,\n React.createElement(StyledWarningIcon, null,\n React.createElement(FontAwesomeIcon, { icon: \"exclamation\", size: \"2x\" })),\n React.createElement(ErrorTitle, null, (((_a = props.error) === null || _a === void 0 ? void 0 : _a.statusCode) === 502 || ((_b = props.error) === null || _b === void 0 ? void 0 : _b.statusCode) === 504) ? 'Important' : t('apierror.title')),\n React.createElement(ErrorBody, null, (((_c = props.error) === null || _c === void 0 ? void 0 : _c.statusCode) === 502 || ((_d = props.error) === null || _d === void 0 ? void 0 : _d.statusCode) === 504)\n ? 'The system is currently busy, please try again in a couple of minutes.'\n : t('apierror.msg')),\n props.retry && React.createElement(Button, { color: \"primary\", message: \"Retry\", onClick: function () { return props.retry && props.retry(); } })));\n};\nexport var FallbackComponent = function (props) {\n var fallback = props.requesting ? (props.fallback || React.createElement(Spinner, { show: true, radius: props.spinnerSize })) : props.error ? (React.createElement(ErrorMsg, { error: props.error, retry: props.retry })) : null;\n if (fallback && !props.overlay)\n return fallback;\n return (React.createElement(React.Fragment, null,\n props.children,\n fallback && props.overlay && React.createElement(FallbackOverlay, null, fallback)));\n};\nvar loadingDotAnimations = keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"], [\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\nvar LoadingDot = styled.span(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n animation: \", \" 1s ease-in-out \", \"ms infinite;\\n background-color: currentColor;\\n border-radius: 0.25rem;\\n margin-left: \", \";\\n display: inline-block;\\n height: 0.25rem;\\n width: 0.25rem;\\n\"], [\"\\n animation: \", \" 1s ease-in-out \", \"ms infinite;\\n background-color: currentColor;\\n border-radius: 0.25rem;\\n margin-left: \", \";\\n display: inline-block;\\n height: 0.25rem;\\n width: 0.25rem;\\n\"])), loadingDotAnimations, function (props) { return props.delay; }, function (props) { return (props.isOffset ? '0.25rem' : '0'); });\nexport var ThreeDotLoading = function (props) {\n if (props.loading) {\n return (React.createElement(\"span\", null,\n React.createElement(LoadingDot, { delay: 0 }),\n React.createElement(LoadingDot, { delay: 160, isOffset: true }),\n React.createElement(LoadingDot, { delay: 320, isOffset: true })));\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { components } from 'react-select';\nimport AsyncSelect from 'react-select/async';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport ReactSelectCreatable from 'react-select/creatable';\nimport { isEmpty } from '../utils';\nvar MAX_OPTION_SIZE = 1000;\nvar InputGroupWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n flex-shrink: 0;\\n \", \"\\n // max-width: 25rem;\\n \", \"\\n\"], [\"\\n flex-shrink: 0;\\n \", \"\\n // max-width: 25rem;\\n \",\n \"\\n\"])), function (props) { return (props.inline ? 'display: inline-block;' : ''); }, function (props) {\n return props.width\n ? css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: \", \"rem;\\n \"], [\"\\n width: \", \"rem;\\n \"])), props.width) : css(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n min-width: 10rem;\\n \"], [\"\\n min-width: 10rem;\\n \"])));\n});\nvar DropdownIndicator = function (_a) {\n var icon = _a.icon, props = __rest(_a, [\"icon\"]);\n return React.createElement(components.DropdownIndicator, __assign({}, props), icon ? React.createElement(FontAwesomeIcon, { icon: icon }) : props.children);\n};\nvar MenuList = function (_a) {\n var searchedOptionsSize = _a.searchedOptionsSize, props = __rest(_a, [\"searchedOptionsSize\"]);\n return React.createElement(components.MenuList, __assign({}, props), props.children);\n};\nvar MenuListMemo = React.memo(MenuList, function (prev, next) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var menuOptionsPrev = (((_d = (_c = (_b = (_a = prev.selectRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.select) === null || _c === void 0 ? void 0 : _c.select) === null || _d === void 0 ? void 0 : _d.state) || {}).menuOptions;\n var menuOptionsNext = (((_h = (_g = (_f = (_e = next.selectRef) === null || _e === void 0 ? void 0 : _e.current) === null || _f === void 0 ? void 0 : _f.select) === null || _g === void 0 ? void 0 : _g.select) === null || _h === void 0 ? void 0 : _h.state) || {}).menuOptions;\n return ((_k = (_j = menuOptionsPrev === null || menuOptionsPrev === void 0 ? void 0 : menuOptionsPrev.render) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.value) === ((_m = (_l = menuOptionsNext === null || menuOptionsNext === void 0 ? void 0 : menuOptionsNext.render) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.value) &&\n prev.searchedOptionsSize === next.searchedOptionsSize &&\n prev.isLoading === next.isLoading;\n});\nvar IconOption = function (props) { return (React.createElement(components.Option, __assign({}, props),\n props.data.icon && React.createElement(FontAwesomeIcon, { icon: props.data.icon, className: \"mr-1\" }),\n props.children)); };\nvar SingleValue = function (props) { return (React.createElement(components.SingleValue, __assign({}, props),\n props.data.icon && React.createElement(FontAwesomeIcon, { icon: props.data.icon, className: \"mr-1\" }),\n props.children)); };\nexport var Select = function (props) {\n var _a = useState(props.inputBoxValue || ''), inputValue = _a[0], setInputValue = _a[1];\n var _b = useState(), searchedOptionsSize = _b[0], setSearchedOptionsSize = _b[1];\n var selectRef = useRef();\n useEffect(function () {\n var _a;\n setSearchedOptionsSize((_a = props.options) === null || _a === void 0 ? void 0 : _a.length);\n }, [props.options]);\n useEffect(function () {\n setInputValue(props.inputBoxValue || '');\n }, [props.inputBoxValue]);\n var handleInputChange = function (newValue) {\n var _a;\n setInputValue(newValue);\n if (!newValue) {\n setSearchedOptionsSize((_a = props.options) === null || _a === void 0 ? void 0 : _a.length);\n }\n };\n var handleChange = function (values) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, props.isMulti ? values === null || values === void 0 ? void 0 : values.map(function (i) { return i.value; }) : values === null || values === void 0 ? void 0 : values.value, props.name, values);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, props.isMulti ? values === null || values === void 0 ? void 0 : values.map(function (i) { return i.value; }) : values === null || values === void 0 ? void 0 : values.value, props.name, values);\n };\n var options = props.options ? (props.optionsTransform ? props.options.map(props.optionsTransform) : props.options) : [];\n if (props.noSort === undefined || props.noSort === false) {\n options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); });\n }\n options = props.isOptionDisabled ? options === null || options === void 0 ? void 0 : options.map(function (option) { var _a; return (__assign(__assign({}, option), { __disabled: (_a = props.isOptionDisabled) === null || _a === void 0 ? void 0 : _a.call(props, option) })); }) : options;\n var isOptionDisabled = function (option) { return !!option.__disabled; };\n var loadOptions = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var filterIncludes, filterStartWith;\n return __generator(this, function (_a) {\n filterIncludes = function (i) {\n var _a, _b;\n return (i.label.toLowerCase().includes(input.toLowerCase()) || ((_a = i.parent) === null || _a === void 0 ? void 0 : _a.label.toLowerCase().includes(input.toLowerCase())) || ((_b = i.children) === null || _b === void 0 ? void 0 : _b.some(function (child) { return child.label.toLowerCase().includes(input.toLowerCase()); })));\n };\n filterStartWith = function (i) {\n var _a, _b;\n return (i.noCheckFilter ||\n i.label.toLowerCase().startsWith(input.toLowerCase()) || ((_a = i.parent) === null || _a === void 0 ? void 0 : _a.label.toLowerCase().startsWith(input.toLowerCase())) || ((_b = i.children) === null || _b === void 0 ? void 0 : _b.some(function (child) { return child.label.toLowerCase().startsWith(input.toLowerCase()); })));\n };\n return [2 /*return*/, new Promise(function (resolve) {\n setTimeout(function () {\n var filteredOptions = options.filter(props.isFilterStartWith ? filterStartWith : filterIncludes);\n setSearchedOptionsSize(filteredOptions.length);\n filteredOptions = filteredOptions.slice(0, MAX_OPTION_SIZE);\n resolve(filteredOptions);\n var focusedOption = selectRef.current.select.select.state.focusedOption;\n if (filteredOptions.indexOf(focusedOption) === -1 || !(focusedOption === null || focusedOption === void 0 ? void 0 : focusedOption.label.toLowerCase().includes(input.toLowerCase()))) {\n selectRef.current.select.select.setState({\n focusedOption: filteredOptions.find(function (option) { return option.label.toLowerCase().includes(inputValue.toLowerCase()); }),\n });\n }\n });\n })];\n });\n }); };\n var handleBlur = function () {\n var _a;\n (_a = props.setFieldTouched) === null || _a === void 0 ? void 0 : _a.call(props, true, props.name);\n };\n var flatedOptions = options.flatMap(function (i) { return i.options || [i]; });\n var value = props.isMulti ? flatedOptions.filter(function (i) { var _a; return (_a = props.value) === null || _a === void 0 ? void 0 : _a.some(function (v) { return v === i.value; }); }) : flatedOptions.find(function (i) { return i.value === props.value; });\n return (React.createElement(InputGroupWrapper, { inline: props.inline, width: props.width },\n React.createElement(AsyncSelect, { ref: selectRef, className: props.className, isLoading: props.isLoading, isDisabled: props.disabled, value: value === undefined ? null : value, isClearable: props.isClearable, placeholder: props.placeholder, defaultOptions: options.slice(0, MAX_OPTION_SIZE), loadOptions: loadOptions, onChange: handleChange, onBlur: handleBlur, name: props.name, menuPlacement: props.menuPlacement, formatOptionLabel: props.formatOptionLabel, components: __assign({ DropdownIndicator: function (indicatorProps) {\n return inputValue && props.indicatorIcon ? null : React.createElement(DropdownIndicator, __assign({}, indicatorProps, { icon: props.indicatorIcon }));\n }, IndicatorSeparator: inputValue && props.indicatorIcon ? null : components.IndicatorSeparator, MenuList: function (menuListProps) {\n if (props.onSelectToRenderOptions)\n return React.createElement(MenuListMemo, __assign({}, menuListProps, { selectRef: selectRef, searchedOptionsSize: searchedOptionsSize }));\n return React.createElement(MenuList, __assign({}, menuListProps, { searchedOptionsSize: searchedOptionsSize }));\n }, Option: IconOption, SingleValue: SingleValue }, props.components), inputValue: inputValue, menuPosition: props.menuPosition, onInputChange: props.onInputBoxValueChange || handleInputChange, isOptionDisabled: isOptionDisabled, isMulti: props.isMulti, closeMenuOnSelect: props.closeMenuOnSelect, controlShouldRenderValue: props.controlShouldRenderValue, styles: {\n menu: function (provided) { return (__assign(__assign({}, provided), { zIndex: 9999 })); },\n }, minMenuHeight: props.minMenuHeight, maxMenuHeight: props.maxMenuHeight })));\n};\nexport var CreatableSelect = function (props) {\n var _a = useState(''), inputValue = _a[0], setInputValue = _a[1];\n var handleInputChange = function (inputValue) {\n setInputValue(inputValue.trimStart());\n };\n var handleChange = function (newValue) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, newValue === null || newValue === void 0 ? void 0 : newValue.value, props.name, newValue);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, newValue === null || newValue === void 0 ? void 0 : newValue.value, props.name, newValue);\n };\n var handleBlur = function () {\n var _a;\n (_a = props.setFieldTouched) === null || _a === void 0 ? void 0 : _a.call(props, true, props.name);\n };\n var isValidNewOption = function (inputValue, selectValue, selectOptions) {\n var candidate = inputValue.trim().toLowerCase();\n return (!!candidate &&\n selectValue.every(function (value) { return candidate !== (\"\" + value).trim().toLowerCase(); }) &&\n selectOptions.every(function (option) { return candidate !== option.label.trim().toLowerCase(); }));\n };\n var options = props.options ? (props.optionsTransform ? props.options.map(props.optionsTransform) : props.options) : [];\n if (props.noSort === undefined || props.noSort === false) {\n options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); });\n }\n var value = !isEmpty(props.value) ? options.find(function (i) { return i.value === props.value; }) || { value: props.value, label: props.value } : null;\n return (React.createElement(ReactSelectCreatable, __assign({}, props, { value: value, options: options, inputValue: inputValue, onInputChange: handleInputChange, onChange: handleChange, onBlur: handleBlur, isValidNewOption: isValidNewOption })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { FormGroup, Label, Input } from 'reactstrap';\nimport styled, { css } from 'styled-components';\nvar indeterminateStyle = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n border: 0;\\n :not(:disabled) {\\n background-color: #0374fe;\\n :hover {\\n background-color: #065cc8;\\n }\\n }\\n :disabled {\\n background-color: #d1d1d1;\\n }\\n\"], [\"\\n border: 0;\\n :not(:disabled) {\\n background-color: #0374fe;\\n :hover {\\n background-color: #065cc8;\\n }\\n }\\n :disabled {\\n background-color: #d1d1d1;\\n }\\n\"])));\nexport var StyledCheckbox = styled(function (_a) {\n var indeterminate = _a.indeterminate, props = __rest(_a, [\"indeterminate\"]);\n return React.createElement(Label, __assign({}, props));\n})(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n input {\\n appearance: none;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 0.125rem;\\n border: 1px solid #757575;\\n :hover:not(:disabled) {\\n border-color: #212529;\\n }\\n :disabled {\\n background-color: #f8f8f8;\\n border-color: #d1d1d1;\\n }\\n \", \"\\n :checked {\\n \", \"\\n }\\n }\\n input:checked + span::before {\\n content: '';\\n width: 0.25rem;\\n height: 0.625rem;\\n border: 1px solid #fff;\\n border-width: 0 0.125rem 0.125rem 0;\\n transform: rotate(45deg);\\n position: absolute;\\n left: -0.9rem;\\n top: 0.4rem;\\n }\\n\"], [\"\\n position: relative;\\n input {\\n appearance: none;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 0.125rem;\\n border: 1px solid #757575;\\n :hover:not(:disabled) {\\n border-color: #212529;\\n }\\n :disabled {\\n background-color: #f8f8f8;\\n border-color: #d1d1d1;\\n }\\n \", \"\\n :checked {\\n \", \"\\n }\\n }\\n input:checked + span::before {\\n content: '';\\n width: 0.25rem;\\n height: 0.625rem;\\n border: 1px solid #fff;\\n border-width: 0 0.125rem 0.125rem 0;\\n transform: rotate(45deg);\\n position: absolute;\\n left: -0.9rem;\\n top: 0.4rem;\\n }\\n\"])), function (props) { return (props.indeterminate ? indeterminateStyle : ''); }, indeterminateStyle);\nexport var SimpleCheckbox = function (props) {\n return (React.createElement(StyledCheckbox, { indeterminate: props.indeterminate, check: true, className: props.disabled ? 'text-muted' : '' },\n React.createElement(Input, { type: \"checkbox\", value: props.value, disabled: props.disabled, checked: props.checked, onChange: props.onChange }),\n React.createElement(\"span\", null,\n props.label,\n props.children)));\n};\nexport var Checkbox = function (props) {\n var value = useMemo(function () { return (Array.isArray(props.value) ? props.value.map(function (i) { return i.value; }) : [props.value]); }, [props.value]);\n var handleChange = function (event) {\n var _a;\n var newValue;\n if (event.target.checked) {\n newValue = __spreadArrays((props.groupValue || []), value);\n }\n else {\n newValue = (_a = props.groupValue) === null || _a === void 0 ? void 0 : _a.filter(function (gv) { return !value.some(function (v) { return JSON.stringify(v) === JSON.stringify(gv); }); });\n }\n props.sortValue && (newValue === null || newValue === void 0 ? void 0 : newValue.sort(props.sortValue));\n props.onChange(newValue, props.payload);\n };\n var checked = useMemo(function () { return value.every(function (v) { var _a; return (_a = props.groupValue) === null || _a === void 0 ? void 0 : _a.some(function (gv) { return JSON.stringify(gv) === JSON.stringify(v); }); }); }, [value, props.groupValue]);\n return (React.createElement(FormGroup, { check: true, inline: props.inline },\n React.createElement(SimpleCheckbox, { label: props.label, value: value === null || value === void 0 ? void 0 : value[0], disabled: props.disabled, checked: checked, onChange: handleChange })));\n};\nexport var CheckboxGroup = function (props) {\n var _a;\n var options = props.optionsTransform ? (_a = props.options) === null || _a === void 0 ? void 0 : _a.map(props.optionsTransform) : props.options;\n !props.noSort && (options === null || options === void 0 ? void 0 : options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); }));\n options = props.input ? options === null || options === void 0 ? void 0 : options.filter(function (i) { var _a; return i.label.toLowerCase().includes((_a = props.input) === null || _a === void 0 ? void 0 : _a.toLowerCase()); }) : options;\n var handleChange = function (value, payload) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, payload);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, value, props.name || '');\n };\n if (!(options === null || options === void 0 ? void 0 : options.length))\n return null;\n return (React.createElement(\"div\", { className: props.className },\n !props.noAll && (React.createElement(Checkbox, { disabled: props.disabled && props.disabled('__ALL__'), inline: props.inline, value: options, groupValue: props.value, label: props.allText || 'Select All', onChange: handleChange, sortValue: props.sortValue })), options === null || options === void 0 ? void 0 :\n options.map(function (item) { return (React.createElement(Checkbox, { key: JSON.stringify(item.value), disabled: props.disabled && props.disabled(item), inline: props.inline, value: item.value, payload: item, groupValue: props.value, label: props.formatOptionLabel ? props.formatOptionLabel(item) : item.label, onChange: handleChange, sortValue: props.sortValue })); })));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled, { css } from 'styled-components';\nimport { DropdownItem as RSDropdownItem } from 'reactstrap';\nvar StyledDropdownItemIcon = styled(FontAwesomeIcon)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-right: 0.375rem;\\n\"], [\"\\n margin-right: 0.375rem;\\n\"])));\nvar StyledImageDropdownItem = styled.img(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 15px;\\n margin-right: 4px;\\n\"], [\"\\n width: 15px;\\n margin-right: 4px;\\n\"])));\nvar StyledDropdownItem = styled(function (_a) {\n var checkMark = _a.checkMark, rest = __rest(_a, [\"checkMark\"]);\n return React.createElement(RSDropdownItem, __assign({}, rest));\n})(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \",\n \"\\n\"])), function (props) {\n return props.checkMark\n ? css(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding-left: 3rem;\\n position: relative;\\n \"], [\"\\n padding-left: 3rem;\\n position: relative;\\n \"]))) : '';\n});\nvar CheckIcon = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n position: absolute;\\n left: 1.5rem;\\n\"], [\"\\n position: absolute;\\n left: 1.5rem;\\n\"])));\nexport var DropdownItem = function (props) {\n var checked = props.checked, icon = props.icon, img = props.img, label = props.label, partial = props.partial, resprops = __rest(props, [\"checked\", \"icon\", \"img\", \"label\", \"partial\"]);\n var handleClick = function () {\n var _a;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, props.value);\n };\n return (React.createElement(StyledDropdownItem, __assign({}, resprops, { onClick: handleClick }),\n checked && (React.createElement(CheckIcon, null,\n React.createElement(FontAwesomeIcon, { icon: \"check\", color: partial ? '#ccc' : undefined }))),\n icon && React.createElement(StyledDropdownItemIcon, { icon: icon }),\n img && React.createElement(StyledImageDropdownItem, { src: \"/assets/images/icons/\" + props.img + \".png\", alt: '' }),\n label,\n props.children));\n};\nexport var DropdownItemCheck = function (props) {\n return React.createElement(DropdownItem, __assign({ checkMark: true }, props));\n};\nexport var DropdownItemCheckList = function (props) {\n var values = props.values, sort = props.sort, resprops = __rest(props, [\"values\", \"sort\"]);\n var checked = useMemo(function () { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === props.value; }); }, [props.value, values]);\n var handleChange = function () {\n var _a, _b;\n if (checked) {\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, values === null || values === void 0 ? void 0 : values.filter(function (v) { return v !== props.value; }));\n }\n else {\n (_b = props.onChange) === null || _b === void 0 ? void 0 : _b.call(props, __spreadArrays((values || []), [props.value]).sort(sort || (function () { return 0; })));\n }\n };\n return React.createElement(DropdownItemCheck, __assign({}, resprops, { checked: checked, onChange: handleChange }));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Alert, FormFeedback as RSFormFeedback, Modal } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { useMessage } from '../state';\nimport { isEmpty } from '../utils';\nvar StyledMessageBox = styled(Alert)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n line-height: 1.5;\\n\"], [\"\\n line-height: 1.5;\\n\"])));\nexport var MessageBox = function (props) {\n var error = props.error, resprops = __rest(props, [\"error\"]);\n var _a = useToggle(), isOpen = _a[0], toggle = _a[1], setIsOpen = _a[2];\n var messageBoxRef = useRef(null);\n var errors = useMemo(function () {\n var _a;\n return ((_a = (Array.isArray(props.error) ? props.error : [props.error])) === null || _a === void 0 ? void 0 : _a.map(function (i) { return (typeof i === 'string' ? i : (i === null || i === void 0 ? void 0 : i.message) || (i === null || i === void 0 ? void 0 : i.errorMessage)); }).filter(function (message) { return !!message; })) || [];\n }, [props.error]);\n useEffect(function () {\n if (!isEmpty(errors)) {\n setIsOpen(true);\n setTimeout(function () { var _a; return (_a = messageBoxRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' }); });\n }\n else {\n setIsOpen(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errors]);\n return (React.createElement(\"div\", { ref: messageBoxRef },\n React.createElement(StyledMessageBox, __assign({}, resprops, { color: \"danger\", isOpen: isOpen, toggle: toggle }), errors.map(function (msg, idx) { return (React.createElement(\"div\", { key: idx }, msg)); }))));\n};\nexport var FormFeedback = function (props) {\n var message = props.message, resprops = __rest(props, [\"message\"]);\n if (!message)\n return null;\n return (React.createElement(RSFormFeedback, __assign({}, resprops, { className: \"d-block \" + (props.className || '') }), message));\n};\nexport var AlertMessage = function (props) {\n var errors = props.errors;\n var _a = useToggle(), isOpen = _a[0], toggle = _a[1], setIsOpen = _a[2];\n useEffect(function () {\n setIsOpen(!isEmpty(errors));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errors]);\n return (React.createElement(Modal, { isOpen: isOpen },\n React.createElement(StyledMessageBox, { toggle: toggle, color: \"danger\", className: \"m-0 pr-5\", isOpen: true, fade: false }, errors === null || errors === void 0 ? void 0 : errors.map(function (i, index) { return React.createElement(\"div\", { key: index }, i); }))));\n};\nexport var MessageId;\n(function (MessageId) {\n MessageId[\"LoginPage\"] = \"LOGIN_PAGE\";\n})(MessageId || (MessageId = {}));\nexport var MessageWithState = function (props) {\n var _a = useMessage(props.messageId), message = _a[0], setMessage = _a[1];\n var clearMessage = useCallback(function () {\n setMessage();\n }, [setMessage]);\n useEffect(function () {\n if (message) {\n var handler_1 = setTimeout(clearMessage, 5000);\n return function () { return clearTimeout(handler_1); };\n }\n }, [message, clearMessage]);\n return (React.createElement(StyledMessageBox, { toggle: clearMessage, color: (message === null || message === void 0 ? void 0 : message.type) === 'success' ? 'success' : 'danger', className: \"pr-5\", isOpen: !!(message === null || message === void 0 ? void 0 : message.value), fade: false }, message === null || message === void 0 ? void 0 : message.value));\n};\nvar templateObject_1;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ROUTE_URL = {\n USER: '/admin/user',\n DATA_FILE: '/admin/data-file',\n MAP_LAYER: '/admin/map-layer',\n};\nexport var PHONE_NUMBER_PATTERN = /^(\\d{3})(\\d{3})(\\d{4})$/;\nexport var ZIP_CODE_PATTERN = /^[0-9]{5}(?:-[0-9]{4})?$/;\nexport var PASSWORD_PATTERN = /^(?=^\\S*$)(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%&*()])(?=.{8,})/;\nexport var PASSWORD_DESCRIPTION = 'Password may not include spaces and must be at least 8 characters with at least 1 upper case, lower case, number and special character included.';\nexport var PASSWORD_RULE_MSG = 'Password does not meet criteria above';\nexport var DELIMITER_SEASON_YEAR = ' - ';\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { FormGroup, Label, Input } from 'reactstrap';\nvar Radio = function (props) {\n var handleChange = function (event) {\n props.onChange(props.value, props.payload);\n };\n return (React.createElement(FormGroup, { check: true, inline: props.inline },\n React.createElement(Label, { check: true, className: props.disabled ? 'text-muted' : '' },\n React.createElement(Input, { type: \"radio\", disabled: props.disabled, checked: props.value === props.groupValue, onChange: handleChange }),\n props.label)));\n};\nexport var RadioGroup = function (props) {\n var _a;\n var options = props.optionsTransform ? (_a = props.options) === null || _a === void 0 ? void 0 : _a.map(props.optionsTransform) : props.options;\n !props.noSort && (options === null || options === void 0 ? void 0 : options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0) * (props.reverse ? -1 : 1); }));\n options = props.input ? options === null || options === void 0 ? void 0 : options.filter(function (i) { var _a; return i.label.toLowerCase().includes((_a = props.input) === null || _a === void 0 ? void 0 : _a.toLowerCase()); }) : options;\n var handleChange = function (value, payload) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, payload);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, value, props.name || '');\n };\n if (!(options === null || options === void 0 ? void 0 : options.length))\n return null;\n return (React.createElement(React.Fragment, null, options === null || options === void 0 ? void 0 : options.map(function (item) {\n var _a;\n return (React.createElement(Radio, { key: item.value, inline: props.inline, payload: item, value: item.value, label: props.formatOptionLabel ? props.formatOptionLabel(item) : item.label, groupValue: props.value, onChange: handleChange, disabled: (_a = props.isOptionDisabled) === null || _a === void 0 ? void 0 : _a.call(props, item) }));\n })));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { Input as RsInput } from 'reactstrap';\nexport var Input = function (props) {\n var _a = props.min, min = _a === void 0 ? Number.MIN_SAFE_INTEGER : _a, _b = props.max, max = _b === void 0 ? Number.MAX_SAFE_INTEGER : _b, _c = props.type, type = _c === void 0 ? 'text' : _c;\n var setFieldValue = props.setFieldValue, setFieldTouched = props.setFieldTouched, resprops = __rest(props, [\"setFieldValue\", \"setFieldTouched\"]);\n var handleChange = function (event) {\n var _a;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, event);\n var value = type === 'checkbox' ? event.target.checked : event.target.value;\n if (type === 'number') {\n value = /^\\d+$/.test(value) ? parseInt(event.target.value, 10) : undefined;\n if (value === undefined || value <= max) {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(value, event.target.name);\n }\n }\n else {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(value, event.target.name);\n }\n };\n var handleKeyPress = function (event) {\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\n if (type === 'number' && !/^\\d*$/.test(key)) {\n event.preventDefault();\n return false;\n }\n return true;\n };\n var handleBlur = function (event) {\n var _a;\n (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);\n if (type === 'number' && props.value !== undefined && (props.value < min || props.value > max)) {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(undefined, props.name || '');\n }\n setFieldTouched === null || setFieldTouched === void 0 ? void 0 : setFieldTouched(true, props.name);\n };\n return (React.createElement(RsInput, __assign({}, resprops, { value: props.value === undefined ? '' : props.value, checked: !props.checked && ['checkbox', 'radio'].includes(type) ? false : props.checked, onChange: handleChange, onKeyPress: handleKeyPress, onBlur: handleBlur })));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useCallback } from 'react';\nimport BootstrapTable from 'react-bootstrap-table-next';\nimport paginationFactory from 'react-bootstrap-table2-paginator';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled from 'styled-components';\nimport { Pager } from './pager';\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\nexport var DEFAULT_PAGE_SIZE = 20;\nvar StyledDataTableComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n th,\\n td {\\n padding: 0.5rem 0.25rem;\\n }\\n .table {\\n min-width: \", \";\\n }\\n .cell-container {\\n outline: none;\\n }\\n .datatable-custom-header {\\n background-color: #f2f2f2;\\n font-size: 13px;\\n color: #4a4a4a;\\n font-weight: bold;\\n border: 1px solid #dedede;\\n border-bottom: 0;\\n }\\n .datatable-custom-body {\\n font-size: 14px;\\n color: #4a4a4a;\\n border: 1px solid #dedede;\\n td:not(.reset-expansion-style),\\n .td {\\n vertical-align: middle;\\n word-break: break-word;\\n white-space: normal;\\n }\\n }\\n .dropdown-action-menu {\\n min-width: 50px;\\n }\\n .title-search-participant {\\n font-weight: 600;\\n font-size: 17px;\\n }\\n .react-bs-table-no-data {\\n height: 175px;\\n padding: 0;\\n vertical-align: middle;\\n .no-data-icon {\\n color: #cccccc;\\n font-size: 48px;\\n }\\n }\\n\"], [\"\\n th,\\n td {\\n padding: 0.5rem 0.25rem;\\n }\\n .table {\\n min-width: \", \";\\n }\\n .cell-container {\\n outline: none;\\n }\\n .datatable-custom-header {\\n background-color: #f2f2f2;\\n font-size: 13px;\\n color: #4a4a4a;\\n font-weight: bold;\\n border: 1px solid #dedede;\\n border-bottom: 0;\\n }\\n .datatable-custom-body {\\n font-size: 14px;\\n color: #4a4a4a;\\n border: 1px solid #dedede;\\n td:not(.reset-expansion-style),\\n .td {\\n vertical-align: middle;\\n word-break: break-word;\\n white-space: normal;\\n }\\n }\\n .dropdown-action-menu {\\n min-width: 50px;\\n }\\n .title-search-participant {\\n font-weight: 600;\\n font-size: 17px;\\n }\\n .react-bs-table-no-data {\\n height: 175px;\\n padding: 0;\\n vertical-align: middle;\\n .no-data-icon {\\n color: #cccccc;\\n font-size: 48px;\\n }\\n }\\n\"])), function (_a) {\n var minWidth = _a.minWidth;\n return (typeof minWidth === 'number' ? minWidth + \"rem\" : minWidth);\n});\nexport var enumFormatter = function (cell, row, rowIndex, enumObject) { var _a; return (_a = enumObject[cell]) === null || _a === void 0 ? void 0 : _a.label; };\nexport var DataTable = function (_a) {\n var className = _a.className, headerClasses = _a.headerClasses, _b = _a.bordered, bordered = _b === void 0 ? false : _b, _c = _a.nameUnitItemTable, nameUnitItemTable = _c === void 0 ? 'Record(s)' : _c, _d = _a.sizePerPage, sizePerPage = _d === void 0 ? DEFAULT_PAGE_SIZE : _d, pagination = _a.pagination, _e = _a.rowClasses, rowClassesProps = _e === void 0 ? '' : _e, _f = _a.data, data = _f === void 0 ? [] : _f, page = _a.page, onPageChange = _a.onPageChange, minWidth = _a.minWidth, restProps = __rest(_a, [\"className\", \"headerClasses\", \"bordered\", \"nameUnitItemTable\", \"sizePerPage\", \"pagination\", \"rowClasses\", \"data\", \"page\", \"onPageChange\", \"minWidth\"]);\n var paginationSize = Math.ceil(data.length / sizePerPage);\n var paginationOptions = useMemo(function () {\n return pagination &&\n paginationFactory({\n page: page && page > paginationSize ? 1 : page,\n onPageChange: onPageChange,\n hideSizePerPage: true,\n showTotal: true,\n sizePerPage: sizePerPage,\n paginationSize: paginationSize,\n paginationTotalRenderer: function (from, to, size) { return React.createElement(React.Fragment, null); },\n pageListRenderer: function (propsPager) { return React.createElement(Pager, __assign({ hidePageListOnlyOnePage: true }, propsPager)); },\n });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [pagination, nameUnitItemTable, sizePerPage, restProps.data, paginationSize, page]);\n var rowClasses = useCallback(function (row, rowIndex) {\n return \"custom-row \" + (typeof rowClassesProps === 'function' ? rowClassesProps(row, rowIndex) : rowClassesProps);\n }, [rowClassesProps]);\n return (React.createElement(StyledDataTableComponent, { className: className, minWidth: minWidth },\n React.createElement(BootstrapTable, __assign({}, restProps, { data: data, bootstrap4: true, headerClasses: \"datatable-custom-header \" + headerClasses, classes: \"datatable-custom-body\", rowClasses: rowClasses, bordered: bordered, pagination: paginationOptions, noDataIndication: \"There is no data to display\", sort: {\n sortCaret: function (order) { return (React.createElement(FontAwesomeIcon, { className: \"ml-1\", icon: !order ? 'sort' : order === 'asc' ? 'sort-up' : 'sort-down', color: !order ? '#ccc' : undefined })); },\n } }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nvar StyledMainView = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1.25rem;\\n max-width: \", \";\\n margin: 0 auto;\\n width: 100%;\\n\"], [\"\\n padding: 1.25rem;\\n max-width: \", \";\\n margin: 0 auto;\\n width: 100%;\\n\"])), function (props) { return (typeof props.maxWidth === 'string' ? props.maxWidth : (props.maxWidth || 75) + \"rem\"); });\nexport var MainView = function (props) {\n return (React.createElement(StyledMainView, { maxWidth: props.maxWidth },\n React.createElement(\"h4\", null, props.title),\n props.children));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { createGlobalStyle } from 'styled-components';\nexport * from './constants';\nexport * from './spinner';\nexport * from './button';\nexport * from './fallback';\nexport * from './select';\nexport * from './checkboxgroup';\nexport * from './radiogroup';\nexport * from './input';\nexport * from './dropdownmenu';\nexport * from './messagebox';\nexport * from './phoneinput';\nexport * from './datatable';\nexport * from './mainview';\nexport * from './autoscroll';\nexport * from './datepicker';\nexport * from './pin';\nexport * from './icontooltip';\nexport var NMQFGlobalStyle = createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n #root {\\n height: 100vh;\\n display: flex;\\n flex-flow: column nowrap;\\n }\\n svg {\\n overflow: visible;\\n }\\n &:focus {\\n outline: none;\\n }\\n .was-validated .form-control:invalid, .form-control.is-invalid {\\n background-image: none !important;\\n }\\n\"], [\"\\n #root {\\n height: 100vh;\\n display: flex;\\n flex-flow: column nowrap;\\n }\\n svg {\\n overflow: visible;\\n }\\n &:focus {\\n outline: none;\\n }\\n .was-validated .form-control:invalid, .form-control.is-invalid {\\n background-image: none !important;\\n }\\n\"])));\nvar templateObject_1;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { formatPhoneNumber, cleanFormattingPhoneNumber } from '../utils';\nimport { Input } from 'reactstrap';\nexport var PhoneInput = function (props) {\n var _a = useState(), value = _a[0], setValue = _a[1];\n var ref = useRef();\n var setFieldValue = props.setFieldValue, setFieldTouched = props.setFieldTouched, resprops = __rest(props, [\"setFieldValue\", \"setFieldTouched\"]);\n useEffect(function () {\n setValue(formatPhoneNumber(props.value));\n }, [props.value]);\n var handleChange = function (event) {\n var _a;\n var _b = event.currentTarget, name = _b.name, selectionEnd = _b.selectionEnd, value = _b.value;\n setValue(value);\n var cleaned = cleanFormattingPhoneNumber(value);\n if (props.value !== cleaned) {\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, name, cleaned);\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(cleaned, name);\n var newSelection_1 = Math.max(formatPhoneNumber(value).length - value.length, 0) + (selectionEnd || 0);\n setTimeout(function () { return ref.current.setSelectionRange(newSelection_1, newSelection_1); });\n }\n };\n var handleBlur = function (event) {\n var onBlur = props.onBlur;\n var formatedValue = formatPhoneNumber(value);\n if (value !== formatedValue) {\n setValue(formatedValue);\n }\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n setFieldTouched === null || setFieldTouched === void 0 ? void 0 : setFieldTouched(true, props.name);\n };\n var handleKeyPress = function (event) {\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\n if (!/^\\d*$/.test(key)) {\n event.preventDefault();\n return false;\n }\n return true;\n };\n return (React.createElement(Input, __assign({}, resprops, { innerRef: ref, type: \"text\", maxLength: 12, value: value || '', onChange: handleChange, onBlur: handleBlur, onKeyPress: handleKeyPress })));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useMemo } from 'react';\nimport { Pagination as RSPagination, PaginationItem as RSPaginationItem, PaginationLink } from 'reactstrap';\nvar PaginationItem = function (_a) {\n var active = _a.active, disabled = _a.disabled, first = _a.first, previous = _a.previous, next = _a.next, last = _a.last, ellipsis = _a.ellipsis, page = _a.page, children = _a.children, onClick = _a.onClick;\n var handleClick = useCallback(function () {\n if (!active && !disabled && page && onClick) {\n onClick(page);\n }\n }, [onClick, page, active, disabled]);\n var content = useMemo(function () {\n if (first)\n return '«';\n if (previous)\n return '‹';\n if (next)\n return '›';\n if (last)\n return '»';\n if (ellipsis)\n return '…';\n return children;\n }, [first, previous, next, last, ellipsis, children]);\n return (React.createElement(RSPaginationItem, { active: active, disabled: disabled },\n React.createElement(PaginationLink, { href: \"#\", onClick: handleClick }, content)));\n};\nvar Pagination = function (_a) {\n var _b;\n var className = _a.className, pages = _a.pages, onPageChange = _a.onPageChange, hidePageListOnlyOnePage = _a.hidePageListOnlyOnePage;\n var pageWithoutIndication = pages.filter(function (p) { return typeof p.page !== 'string'; });\n var totalPages = pageWithoutIndication.length;\n if (hidePageListOnlyOnePage && totalPages < 2)\n return null;\n var activePage = (_b = pages.find(function (p) { return p.active; })) === null || _b === void 0 ? void 0 : _b.page;\n var previousPageIsEllipsis = activePage - 3 > 1;\n var nextPageIsEllipsis = activePage + 3 < totalPages;\n var items = [];\n for (var number = 1; number <= totalPages; number += 1) {\n var active = number === activePage;\n items.push(React.createElement(PaginationItem, { key: number, active: active, page: number, onClick: onPageChange }, number));\n if (number === 1 && previousPageIsEllipsis) {\n items.push(React.createElement(PaginationItem, { key: \"prev-more\", ellipsis: true, disabled: true }));\n number = activePage - 3;\n }\n if (number === activePage + 2 && nextPageIsEllipsis) {\n items.push(React.createElement(PaginationItem, { key: \"next-more\", ellipsis: true, disabled: true }));\n number = totalPages - 1;\n }\n }\n return (React.createElement(RSPagination, { className: className },\n React.createElement(PaginationItem, { first: true, disabled: activePage === 1, onClick: onPageChange, page: 1 }),\n React.createElement(PaginationItem, { previous: true, disabled: activePage === 1, onClick: onPageChange, page: activePage - 1 }),\n items,\n React.createElement(PaginationItem, { next: true, disabled: activePage === totalPages, onClick: onPageChange, page: activePage + 1 }),\n React.createElement(PaginationItem, { last: true, disabled: activePage === totalPages, onClick: onPageChange, page: totalPages })));\n};\nexport var Pager = function (props) { return (React.createElement(\"div\", { className: \"col-md-6 col-xs-6 col-sm-6 col-lg-6\" },\n React.createElement(Pagination, __assign({ className: \"float-right\" }, props)))); };\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { MessageBox, Button, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar ChangePasswordContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 500px;\\n margin: 20px auto;\\n\"], [\"\\n width: 500px;\\n margin: 20px auto;\\n\"])));\nvar FormWrapper = styled(Form)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 380px;\\n margin: 20px auto;\\n\"], [\"\\n width: 380px;\\n margin: 20px auto;\\n\"])));\nvar Description = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar H5Style = styled.h5(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n newPassword: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n });\n});\nexport var ChangePasswordComponent = function (props) {\n var _a = useAPI('/api/auth/changePassword', undefined, 'POST'), changePasswordData = _a[0], changePassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.show) {\n setInitialValues({\n newPassword: '',\n passwordConfirmation: '',\n });\n return resetStore;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.show]);\n useEffect(function () {\n if (changePasswordData.data) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changePasswordData.data]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, changePassword({\n username: props.username,\n new_password: values.newPassword,\n session_id: props.sessionId,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n if (!props.show)\n return null;\n return (React.createElement(ChangePasswordContent, null,\n React.createElement(H5Style, null, \"Change Password Required\"),\n React.createElement(MessageBox, { error: changePasswordData.error }),\n React.createElement(FormWrapper, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"email\", name: \"username\", placeholder: \"Username\", plaintext: true, disabled: true, value: props.username })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(\"div\", { className: \"text-center\" },\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Change password\")))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Button, Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { MessageBox, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar ConfirmResetPasswordContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 500px;\\n margin: 20px auto;\\n\"], [\"\\n width: 500px;\\n margin: 20px auto;\\n\"])));\nvar FormWrapper = styled(Form)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 380px;\\n margin: 20px auto;\\n\"], [\"\\n width: 380px;\\n margin: 20px auto;\\n\"])));\nvar H5Style = styled.h5(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar Description = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: center !important;\\n\"], [\"\\n text-align: center !important;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n newPassword: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n verificationCode: Yup.string().required('Required'),\n });\n});\nexport var ConfirmResetPasswordComponent = function (props) {\n var _a = useAPI('/api/user/confirmResetPassword', undefined, 'POST'), requestData = _a[0], confirmResetPassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.show) {\n setInitialValues({\n newPassword: '',\n passwordConfirmation: '',\n });\n return resetStore;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.show]);\n useEffect(function () {\n if (requestData.data) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requestData.data]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, confirmResetPassword({\n username: props.username,\n password: values.newPassword,\n verificationCode: values.verificationCode,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n if (!props.show)\n return null;\n return (React.createElement(ConfirmResetPasswordContent, null,\n React.createElement(H5Style, null, \"Reset Password Required\"),\n React.createElement(MessageBox, { error: requestData.error }),\n React.createElement(FormWrapper, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"email\", name: \"username\", placeholder: \"Username\", plaintext: true, disabled: true, value: props.username })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Verification Code\"),\n React.createElement(Input, { type: \"password\", name: \"verificationCode\", placeholder: \"Verification Code\", value: values.verificationCode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('verificationCode') }),\n React.createElement(FormFeedback, null, getError('verificationCode'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", disabled: isSubmitting }, \"Change password\")))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport * as Yup from 'yup';\nimport { Link } from 'react-router-dom';\nimport { FormGroup, Label } from 'reactstrap';\nimport { useAuth } from '.';\nimport { Button, MessageBox, FormFeedback, Input, MessageWithState, MessageId } from '../common';\nimport { ChangePasswordComponent } from './changepasswordrequired';\nimport { ConfirmResetPasswordComponent } from './resetpasswordrequired';\nimport { useForm, useMount, useToggle } from '../hooks';\nimport { getDirectionUrl } from '../utils';\nimport { useIndexName } from '../hostnameindexinfo';\nvar PASSWORD_RESET_REQUIRED_EXCEPTION = 'PasswordResetRequiredException';\nvar WrapperWithFlexGrow = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex-grow: 1 !important;\\n padding: 0.5rem !important;\\n overflow: auto !important;\\n display: flex !important;\\n\"], [\"\\n flex-grow: 1 !important;\\n padding: 0.5rem !important;\\n overflow: auto !important;\\n display: flex !important;\\n\"])));\nvar Wrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n width: 100%;\\n margin: 0 auto;\\n padding: 1rem 0;\\n flex-direction: column !important;\\n\"], [\"\\n display: flex;\\n width: 100%;\\n margin: 0 auto;\\n padding: 1rem 0;\\n flex-direction: column !important;\\n\"])));\nvar Form = styled.form(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-width: 25rem;\\n width: 100%;\\n margin: auto;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n padding: 2rem;\\n\"], [\"\\n max-width: 25rem;\\n width: 100%;\\n margin: auto;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n padding: 2rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n username: Yup.string().trim().required('Required'),\n password: Yup.string().required('Required'),\n});\nexport var LoginComponent = function (props) {\n var _a = useToggle(), changePasswordRequired = _a[0], toggleChangePasswordRequired = _a[1];\n var _b = useToggle(), resetPasswordRequired = _b[0], toggleResetPasswordRequired = _b[1];\n var auth = useAuth();\n var error = auth.getError();\n var authChallenge = auth.getAuthChallenge();\n var _c = useState(), errorMessage = _c[0], setErrorMessage = _c[1];\n var indexName = useIndexName();\n var _d = useForm({ validationSchema: validationSchema }), setInitialValues = _d.setInitialValues, values = _d.values, handleChange = _d.handleChange, handleBlur = _d.handleBlur, handleSubmit = _d.handleSubmit, isSubmitting = _d.isSubmitting, getError = _d.getError;\n useMount(function () {\n setInitialValues({\n username: '',\n password: '',\n });\n return function () {\n auth.resetErrorAndChallenge();\n };\n });\n useEffect(function () {\n setErrorMessage(undefined);\n if (authChallenge === null || authChallenge === void 0 ? void 0 : authChallenge.ChallengeName) {\n toggleChangePasswordRequired();\n }\n else if ((error === null || error === void 0 ? void 0 : error.code) === PASSWORD_RESET_REQUIRED_EXCEPTION) {\n toggleResetPasswordRequired();\n }\n else {\n setErrorMessage(error);\n }\n }, [authChallenge, error, toggleChangePasswordRequired, toggleResetPasswordRequired]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, auth.authenticate(__assign(__assign({}, values), { indexName: indexName }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(WrapperWithFlexGrow, null,\n React.createElement(Wrapper, { hidden: changePasswordRequired || resetPasswordRequired },\n React.createElement(MessageWithState, { messageId: MessageId.LoginPage }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(MessageBox, { error: errorMessage }),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"text\", name: \"username\", placeholder: \"Username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') }),\n React.createElement(FormFeedback, { message: getError('username') })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Password\"),\n React.createElement(Input, { type: \"password\", name: \"password\", placeholder: \"Password\", value: values.password, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('password') }),\n React.createElement(FormFeedback, { message: getError('password') })),\n React.createElement(Link, { to: getDirectionUrl('/forgotpassword') }, \"Forgot Password\"),\n React.createElement(\"div\", { className: \"text-right\" },\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting, message: \"Log in\" })),\n React.createElement(Link, { to: getDirectionUrl('/signup') }, \"Sign-up\"))),\n React.createElement(ChangePasswordComponent, { show: changePasswordRequired, toggle: toggleChangePasswordRequired, username: values.username, sessionId: authChallenge === null || authChallenge === void 0 ? void 0 : authChallenge.Session }),\n React.createElement(ConfirmResetPasswordComponent, { show: resetPasswordRequired, toggle: toggleResetPasswordRequired, username: values.username })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect, useState } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { Link, Redirect } from 'react-router-dom';\nimport { useAPI } from '../state';\nimport { isEmpty, getDirectionUrl } from '../utils';\nimport { useForm, useMount } from '../hooks';\nimport { MessageBox, Button, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar LinkWrapper = styled(Link)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"], [\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"])));\nvar H5Style = styled.h5(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-align: center !important;\\n\"], [\"\\n text-align: center !important;\\n\"])));\nvar ConfirmText = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar Description = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: right !important;\\n\"], [\"\\n text-align: right !important;\\n\"])));\nvar ConfirmForgotPasswordContent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"], [\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n verificationCode: Yup.string().required('Required'),\n password: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.password], 'Passwords do not match');\n }),\n });\n});\nexport var ConfirmForgotPassword = function (props) {\n var _a = useState(false), redirectToHomeURL = _a[0], setRedirectToHomeURL = _a[1];\n var _b = useAPI('/api/auth/confirm-forgot-password', undefined, 'POST'), confirmForgotPasswordData = _b[0], confirmForgotPassword = _b[1], resetStore = _b[2];\n var _c = useForm({ validationSchema: validationSchema }), setInitialValues = _c.setInitialValues, values = _c.values, handleChange = _c.handleChange, handleBlur = _c.handleBlur, handleSubmit = _c.handleSubmit, isSubmitting = _c.isSubmitting, getError = _c.getError;\n useMount(function () {\n setInitialValues({\n password: '',\n passwordConfirmation: '',\n verificationCode: '',\n });\n return resetStore;\n });\n useEffect(function () {\n if (confirmForgotPasswordData.requesting === false && !confirmForgotPasswordData.error) {\n setRedirectToHomeURL(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [confirmForgotPasswordData.requesting]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, confirmForgotPassword(__assign(__assign({}, payload), { username: props.username }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(ConfirmForgotPasswordContent, { hidden: !props.username },\n React.createElement(H5Style, null, \"Forgot Password\"),\n React.createElement(ConfirmText, null, \"A confirmation code was sent to your email account\"),\n React.createElement(MessageBox, { error: confirmForgotPasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter new password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"password\", value: values.password, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('password') }),\n React.createElement(FormFeedback, null, getError('password'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter confirmation code\"),\n React.createElement(Input, { type: \"text\", name: \"verificationCode\", value: values.verificationCode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('verificationCode') }),\n React.createElement(FormFeedback, null, getError('verificationCode'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting },\n React.createElement(LinkWrapper, { to: getDirectionUrl('/') }, \"Cancel\")),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Change Password\"),\n redirectToHomeURL && React.createElement(Redirect, { to: getDirectionUrl('/') })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect, useState } from 'react';\nimport { Form, FormGroup, Label, Input, FormFeedback } from 'reactstrap';\nimport * as Yup from 'yup';\nimport styled from 'styled-components';\nimport { Link } from 'react-router-dom';\nimport { useAPI } from '../state';\nimport { ConfirmForgotPassword } from './confirmforgotpassword';\nimport { useForm, useMount } from '../hooks';\nimport { MessageBox, Button } from '../common';\nimport { getDirectionUrl } from '../utils';\nimport { useIndexName } from '../hostnameindexinfo';\nvar ForgotPasswordWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex-grow: 1;\\n overflow: auto;\\n display: flex;\\n padding: 10px;\\n\"], [\"\\n flex-grow: 1;\\n overflow: auto;\\n display: flex;\\n padding: 10px;\\n\"])));\nvar ForgotPasswordContent = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"], [\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"])));\nvar H5Style = styled.h5(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-align: right !important;\\n\"], [\"\\n text-align: right !important;\\n\"])));\nvar LinkWrapper = styled(Link)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"], [\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"])));\nvar validationSchema = Yup.object().shape({\n username: Yup.string().required('Required'),\n});\nexport var ForgotPasswordComponent = function () {\n var _a = useState(), usernameSubmitted = _a[0], setUsernameSubmitted = _a[1];\n var _b = useAPI('/api/auth/forgot-password', undefined, 'POST'), forgotPasswordData = _b[0], forgotPassword = _b[1], resetData = _b[2];\n var _c = useForm({ validationSchema: validationSchema }), setInitialValues = _c.setInitialValues, values = _c.values, handleChange = _c.handleChange, handleBlur = _c.handleBlur, handleSubmit = _c.handleSubmit, isSubmitting = _c.isSubmitting, getError = _c.getError;\n var indexName = useIndexName();\n useMount(function () {\n setInitialValues({\n username: '',\n });\n return resetData;\n });\n useEffect(function () {\n if (forgotPasswordData.requesting === false && !forgotPasswordData.error) {\n setUsernameSubmitted(values.username);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [forgotPasswordData.requesting]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, forgotPassword(__assign(__assign({}, payload), { indexName: indexName }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(ForgotPasswordWrapper, null,\n React.createElement(ForgotPasswordContent, { hidden: !!usernameSubmitted },\n React.createElement(H5Style, null, \"Forgot Password\"),\n React.createElement(MessageBox, { error: forgotPasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter your email address\"),\n React.createElement(Input, { type: \"email\", name: \"username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') }),\n React.createElement(FormFeedback, null, getError('username'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting },\n React.createElement(LinkWrapper, { to: getDirectionUrl('/') }, \"Cancel\")),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Continue\")))),\n React.createElement(ConfirmForgotPassword, { username: usernameSubmitted })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useEffect, useCallback, useRef } from 'react';\nimport * as Yup from 'yup';\nimport Recaptcha from 'react-recaptcha';\nimport { Form, Row, FormGroup, Label, FormFeedback, Col } from 'reactstrap';\nimport { useForm } from '../hooks';\nimport { PhoneInput, Input, Select, MessageBox, Button, ZIP_CODE_PATTERN, PHONE_NUMBER_PATTERN, MessageId } from '../common';\nimport { LicenseAgreementModal } from '../aboutmodal/licenseagreementmodal';\nimport styled from 'styled-components';\nimport { useAPI, useMessage } from '../state';\nimport { Redirect } from 'react-router-dom';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { getDirectionUrl } from '../utils';\nexport var NOTIFICATION_PREFERENCES = {\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n};\nvar Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 62.5rem;\\n margin: 0 auto;\\n padding: 1.25rem;\\n\"], [\"\\n max-width: 62.5rem;\\n margin: 0 auto;\\n padding: 1.25rem;\\n\"])));\nvar Margin = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin: 0 3.125rem;\\n\"], [\"\\n margin: 0 3.125rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n recaptchaResponse: Yup.string().required('Please verify that you are not a robot.'),\n firstName: Yup.string().trim().required('Required'),\n lastName: Yup.string().trim().required('Required'),\n username: Yup.string().email().required('Required'),\n organization: Yup.string().trim().required('Required'),\n address1: Yup.string().trim().required('Required'),\n city: Yup.string().trim().required('Required'),\n stateAbb: Yup.string().trim().required('Required'),\n zipcode: Yup.string().trim().required('Required').matches(ZIP_CODE_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n notificationPreference: Yup.string().trim().required('Required'),\n phoneNumber: Yup.string().trim().required('Required').matches(PHONE_NUMBER_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n});\nexport var SignUpComponent = function () {\n var _a;\n var indexName = useIndexName();\n var _b = useAPI('/api/general/get-recaptcha-site-key'), recaptchaSiteKey = _b[0].data, fetchRecaptchaSiteKey = _b[1];\n var _c = useState(false), isOpenLicenseModal = _c[0], setIsOpenLicenseModal = _c[1];\n var _d = useState(false), redirectToHomeURL = _d[0], setRedirectToHomeURL = _d[1];\n var recaptchaRef = useRef();\n var _e = useAPI('/api/user/register', undefined, 'POST'), signUpData = _e[0], signUp = _e[1], resetData = _e[2];\n var _f = useAPI('/api/general/lookup/get-list-state'), stateData = _f[0], fetchStateData = _f[1];\n var _g = useForm({\n validationSchema: validationSchema,\n }), setInitialValues = _g.setInitialValues, values = _g.values, handleChange = _g.handleChange, handleBlur = _g.handleBlur, setFieldValue = _g.setFieldValue, setFieldTouched = _g.setFieldTouched, handleSubmit = _g.handleSubmit, isSubmitting = _g.isSubmitting, getError = _g.getError;\n var indexConfig = useHostnameIndexInfo();\n var _h = useMessage(MessageId.LoginPage), setMessage = _h[1];\n useEffect(function () {\n setInitialValues({\n firstName: '',\n middleName: '',\n lastName: '',\n username: '',\n organization: '',\n address1: '',\n address2: '',\n city: '',\n stateAbb: '',\n zipcode: '',\n phoneNumber: '',\n notificationPreference: NOTIFICATION_PREFERENCES.EMAIL,\n recaptchaResponse: '',\n });\n return resetData;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n fetchStateData();\n fetchRecaptchaSiteKey();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (!recaptchaRef.current) {\n recaptchaRef.current = true;\n }\n else {\n recaptchaRef.current.reset();\n setFieldTouched(false, 'recaptchaResponse');\n setFieldValue('', 'recaptchaResponse');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (signUpData.data) {\n setRedirectToHomeURL(true);\n setMessage({\n value: \"Your request for access to the \" + (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle) + \" was successfully submitted. Once approved, you will receive an email or SMS message with a temporary password to enable your account\",\n type: 'success'\n });\n }\n }, [indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle, setMessage, signUpData.data]);\n var toggleLicenseAgreementModal = function () {\n setIsOpenLicenseModal(!isOpenLicenseModal);\n };\n var handleRecaptchVerify = function (recaptchaResponse) {\n setFieldValue(recaptchaResponse, 'recaptchaResponse');\n };\n var handleRecaptchExpired = function () {\n recaptchaRef.current.reset();\n setFieldValue('', 'recaptchaResponse');\n };\n var handleCancelBtn = function () {\n setRedirectToHomeURL(true);\n };\n var onSubmit = handleSubmit(useCallback(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {\n firstName: payload.firstName,\n middleName: payload.middleName,\n lastName: payload.lastName,\n username: payload.username,\n organization: payload.organization,\n address1: payload.address1,\n address2: payload.address2,\n city: payload.city,\n stateAbb: payload.stateAbb,\n zipcode: payload.zipcode,\n phoneNumber: payload.phoneNumber,\n notificationPreference: payload.notificationPreference,\n recaptchaResponse: payload.recaptchaResponse,\n indexName: indexName,\n };\n return [4 /*yield*/, signUp(data)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }, []));\n return (React.createElement(Wrapper, null,\n React.createElement(MessageBox, { error: signUpData.error }),\n React.createElement(\"h4\", null, \"Register New Account\"),\n React.createElement(\"hr\", null),\n React.createElement(Form, { className: \"mt-4\", onSubmit: onSubmit },\n React.createElement(Margin, null,\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"First Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"firstName\", value: values.firstName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('firstName') }),\n React.createElement(FormFeedback, null, getError('firstName'))),\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null, \"Middle Name\"),\n React.createElement(Input, { type: \"text\", name: \"middleName\", value: values.middleName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('middleName') }),\n React.createElement(FormFeedback, null, getError('middleName'))),\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"Last Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"lastName\", value: values.lastName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('lastName') }),\n React.createElement(FormFeedback, null, getError('lastName')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-12\" },\n React.createElement(Label, null,\n \"Email Address\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Row, null,\n React.createElement(Col, { sm: 4 },\n React.createElement(Input, { type: \"email\", name: \"username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') })),\n React.createElement(Col, { className: \"align-self-center font-italic\" },\n \"This will be your login name. \",\n React.createElement(\"span\", { className: \"text-danger\" }, \"Please note the username is case sensitive.\"))),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('username')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"Mobile phone number\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(PhoneInput, { name: \"phoneNumber\", value: values.phoneNumber, setFieldValue: setFieldValue, setFieldTouched: setFieldTouched, invalid: !!getError('phoneNumber') }),\n React.createElement(FormFeedback, null, getError('phoneNumber'))),\n React.createElement(FormGroup, { className: \"col-sm-8\" },\n React.createElement(Label, null, \"\\u00A0\"),\n React.createElement(\"div\", { className: \"pt-2\" },\n React.createElement(Label, { className: \"mr-2\" },\n \"Preference for notifications:\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.EMAIL, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.EMAIL }),\n \"Email\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.SMS, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.SMS }),\n \"SMS Text\"))),\n React.createElement(FormFeedback, { className: \"d-lock\" }, getError('notificationPreference')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"Organization Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"organization\", value: values.organization, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('organization') }),\n React.createElement(FormFeedback, null, getError('organization')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"Address 1\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"address1\", value: values.address1, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address1') }),\n React.createElement(FormFeedback, null, getError('address1'))),\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null, \"Address 2\"),\n React.createElement(Input, { type: \"text\", name: \"address2\", value: values.address2, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address2') }),\n React.createElement(FormFeedback, null, getError('address2')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"City\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"city\", value: values.city, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('city') }),\n React.createElement(FormFeedback, null, getError('city'))),\n React.createElement(FormGroup, { className: \"col-sm-3\" },\n React.createElement(Label, null,\n \"State\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Select, { name: \"stateAbb\", options: (_a = stateData.data) === null || _a === void 0 ? void 0 : _a.data, value: values.stateAbb, onChange: setFieldValue, setFieldTouched: setFieldTouched, optionsTransform: function (st) { return (__assign(__assign({}, st), { value: st.stateAbbreviation, label: st.stateName })); }, menuPlacement: \"top\" }),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('stateAbb'))),\n React.createElement(FormGroup, { className: \"col-sm-3\" },\n React.createElement(Label, null,\n \"Zip Code\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"zipcode\", value: values.zipcode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('zipcode') }),\n React.createElement(FormFeedback, null, getError('zipcode'))))),\n React.createElement(Row, { className: \"justify-content-center\" },\n React.createElement(FormGroup, null,\n recaptchaSiteKey && (React.createElement(Recaptcha, { ref: recaptchaRef, sitekey: recaptchaSiteKey, verifyCallback: handleRecaptchVerify, expiredCallback: handleRecaptchExpired })),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('recaptchaResponse')))),\n React.createElement(Row, null,\n React.createElement(Col, { sm: 4, className: \"align-self-center mr-auto\" },\n React.createElement(\"small\", null,\n \"In submitting this form, you agree to the National Minority Quality Forum, Inc\",\n ' ',\n React.createElement(\"a\", { href: \"#\", onClick: toggleLicenseAgreementModal }, \"License Agreement\"),\n \".\")),\n React.createElement(Col, { sm: \"auto\", className: \"text-right align-self-end\" },\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: handleCancelBtn }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Submit\"),\n redirectToHomeURL && React.createElement(Redirect, { to: getDirectionUrl('/') })))),\n React.createElement(LicenseAgreementModal, { isOpen: isOpenLicenseModal, toggle: toggleLicenseAgreementModal })));\n};\nvar templateObject_1, templateObject_2;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useContext, useReducer, useLayoutEffect, useMemo } from 'react';\nimport * as jsonwebtoken from 'jsonwebtoken';\nimport { AuthContext } from 'cinchy';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { LoginComponent } from './login';\nimport { ForgotPasswordComponent } from './forgotpassword';\nimport { SignUpComponent } from './signup';\nexport { LoginComponent } from './login';\nvar NMQF_SESSION_STORAGE_NAME = 'SESSION';\nvar API_URL_LOGIN = '/api/auth/login';\nvar API_URL_REFRESH_JWT = '/api/auth/token';\nvar JWTStrategy = /** @class */ (function () {\n function JWTStrategy() {\n window.addEventListener('storage', this.syncLogout);\n this.__jwt = null;\n this.subscribers = [];\n }\n Object.defineProperty(JWTStrategy.prototype, \"user\", {\n get: function () {\n if (this.jwt) {\n if (!this.__user) {\n this.__user = jsonwebtoken.decode(this.jwt);\n }\n return this.__user;\n }\n return undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JWTStrategy.prototype, \"jwt\", {\n get: function () {\n return this.__jwt;\n },\n set: function (value) {\n var _this = this;\n if (value) {\n localStorage.setItem(NMQF_SESSION_STORAGE_NAME, value);\n }\n else if (this.__jwt) {\n localStorage.removeItem(NMQF_SESSION_STORAGE_NAME);\n window.location.reload();\n }\n if (value && this.__jwt !== value) {\n this.__jwt = value;\n this.__user = undefined;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n },\n enumerable: false,\n configurable: true\n });\n JWTStrategy.prototype.getError = function () {\n return this.error;\n };\n JWTStrategy.prototype.setError = function (error) {\n var _this = this;\n if (this.error !== error) {\n this.error = error;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n };\n JWTStrategy.prototype.getAuthChallenge = function () {\n return this.authChallenge;\n };\n JWTStrategy.prototype.setAuthChallenge = function (authChallenge) {\n var _this = this;\n if (this.authChallenge !== authChallenge) {\n this.authChallenge = authChallenge;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n };\n JWTStrategy.prototype.resetErrorAndChallenge = function () {\n this.setAuthChallenge();\n this.setError();\n };\n JWTStrategy.prototype.getRequestOptions = function (method, body) {\n var headers = {\n Authorization: this.jwt ? \"Bearer \" + this.jwt : '',\n };\n if (!(body instanceof FormData)) {\n headers['Content-Type'] = 'application/json';\n body = JSON.stringify(body);\n }\n return {\n method: method,\n body: body,\n headers: headers,\n referrer: window.location.href.split('?')[0],\n };\n };\n JWTStrategy.prototype.onUnauthorized = function (dispatch, getState, request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (request.status !== 401) {\n return [2 /*return*/, false];\n }\n if (!this.refreshTokenPromise) return [3 /*break*/, 2];\n return [4 /*yield*/, this.refreshTokenPromise];\n case 1: return [2 /*return*/, _a.sent()];\n case 2: return [4 /*yield*/, this.refreshToken()];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n JWTStrategy.prototype.onForbidden = function (dispatch, getState, request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, false];\n });\n });\n };\n JWTStrategy.prototype.authenticate = function (credentials) {\n return __awaiter(this, void 0, void 0, function () {\n var authResponse, loginData, _a, _b, e_1, e_2;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 7, , 8]);\n this.resetErrorAndChallenge();\n return [4 /*yield*/, fetch(API_URL_LOGIN, {\n method: 'POST',\n body: JSON.stringify(credentials),\n headers: { 'Content-Type': 'application/json' },\n referrer: window.location.href.split('?')[0],\n })];\n case 1:\n authResponse = _c.sent();\n if (!(authResponse.status === 200 || authResponse.status === 201)) return [3 /*break*/, 3];\n return [4 /*yield*/, authResponse.json()];\n case 2:\n loginData = _c.sent();\n if (loginData.JWT) {\n this.jwt = loginData.JWT;\n }\n else {\n this.setAuthChallenge(loginData);\n }\n return [3 /*break*/, 6];\n case 3:\n _c.trys.push([3, 5, , 6]);\n _a = this.setError;\n _b = [{ statusCode: authResponse.status }];\n return [4 /*yield*/, authResponse.json()];\n case 4:\n _a.apply(this, [__assign.apply(void 0, _b.concat([(_c.sent())]))]);\n return [3 /*break*/, 6];\n case 5:\n e_1 = _c.sent();\n this.setError({ message: 'Invalid Username or Password, please try again' });\n return [3 /*break*/, 6];\n case 6: return [3 /*break*/, 8];\n case 7:\n e_2 = _c.sent();\n this.setError(e_2);\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n JWTStrategy.prototype.refreshToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.refreshTokenPromise = fetch(API_URL_REFRESH_JWT, this.getRequestOptions('GET')).then(function (response) { return __awaiter(_this, void 0, void 0, function () {\n var JWT;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.status === 200 || response.status === 201)) return [3 /*break*/, 2];\n return [4 /*yield*/, response.json()];\n case 1:\n JWT = (_a.sent()).JWT;\n this.jwt = JWT;\n return [2 /*return*/, true];\n case 2:\n if (response.status === 401) {\n this.jwt = null;\n }\n _a.label = 3;\n case 3: return [2 /*return*/, false];\n }\n });\n }); });\n return [4 /*yield*/, this.refreshTokenPromise];\n case 1:\n retry = _a.sent();\n this.refreshTokenPromise = undefined;\n return [2 /*return*/, retry];\n }\n });\n });\n };\n JWTStrategy.prototype.exportToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry, response, JWT, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 8, , 9]);\n retry = true;\n _a.label = 1;\n case 1:\n if (!retry) return [3 /*break*/, 7];\n retry = false;\n return [4 /*yield*/, fetch('/api/auth/exporttoken', this.getRequestOptions('GET'))];\n case 2:\n response = _a.sent();\n if (!((response.status === 200 || response.status === 201) && this.jwt)) return [3 /*break*/, 4];\n return [4 /*yield*/, response.json()];\n case 3:\n JWT = (_a.sent()).JWT;\n this.setError();\n return [2 /*return*/, JWT];\n case 4:\n if (!(response.status === 401)) return [3 /*break*/, 6];\n return [4 /*yield*/, this.refreshToken()];\n case 5:\n retry = _a.sent();\n _a.label = 6;\n case 6: return [3 /*break*/, 1];\n case 7:\n this.setError({ message: 'Something went wrong. Please try again later.' });\n return [3 /*break*/, 9];\n case 8:\n e_3 = _a.sent();\n this.setError(e_3);\n return [3 /*break*/, 9];\n case 9: return [2 /*return*/, ''];\n }\n });\n });\n };\n JWTStrategy.prototype.logout = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n retry = 3;\n _a.label = 1;\n case 1:\n if (!retry) return [3 /*break*/, 6];\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, fetch('/api/auth/logout', this.getRequestOptions('DELETE'))];\n case 3:\n _a.sent();\n retry = 0;\n return [3 /*break*/, 5];\n case 4:\n e_4 = _a.sent();\n retry--;\n return [3 /*break*/, 5];\n case 5: return [3 /*break*/, 1];\n case 6:\n window.localStorage.setItem('logout', Date.now().toString());\n this.syncLogout({ key: 'logout' });\n return [2 /*return*/];\n }\n });\n });\n };\n JWTStrategy.prototype.syncLogout = function (event) {\n if (event.key === 'logout') {\n this.jwt = null;\n sessionStorage.clear();\n localStorage.clear();\n window.location.reload();\n }\n };\n JWTStrategy.prototype.subscribe = function (fn) {\n var _this = this;\n this.subscribers.push(fn);\n return function () {\n _this.unsubscribe(fn);\n };\n };\n JWTStrategy.prototype.unsubscribe = function (fn) {\n this.subscribers = this.subscribers.filter(function (i) { return !Object.is(i, fn); });\n };\n return JWTStrategy;\n}());\nexport { JWTStrategy };\nexport var AuthProvider = function (props) {\n var strategy = useMemo(function () { return new JWTStrategy(); }, []);\n return React.createElement(AuthContext.Provider, { value: strategy }, props.children);\n};\nexport var useUser = function () {\n var strategy = useContext(AuthContext);\n var _a = useReducer(function (x) { return x + 1; }, 0), forceUpdate = _a[1];\n useLayoutEffect(function () { return strategy.subscribe(forceUpdate); }, [strategy]);\n return strategy.user;\n};\nexport var useAuth = function () {\n var strategy = useContext(AuthContext);\n var _a = useReducer(function (x) { return x + 1; }, 0), forceUpdate = _a[1];\n useLayoutEffect(function () { return strategy.subscribe(forceUpdate); }, [strategy]);\n return strategy;\n};\nexport var PrivateRoute = function (props) {\n var user = useUser();\n var _a = props.roles, roles = _a === void 0 ? [user === null || user === void 0 ? void 0 : user.roleName] : _a, _b = props.checkPermission, checkPermission = _b === void 0 ? function () { return true; } : _b, children = props.children, resprops = __rest(props, [\"roles\", \"checkPermission\", \"children\"]);\n var hasPermission = roles.some(function (i) { return i === (user === null || user === void 0 ? void 0 : user.roleName); }) && checkPermission();\n return (React.createElement(Route, __assign({}, resprops, { render: function (_a) {\n var location = _a.location;\n return hasPermission ? (children) : (React.createElement(Redirect, { to: {\n pathname: '/',\n state: { from: location },\n } }));\n } })));\n};\nexport var Authenticated = function (props) {\n var user = useUser();\n var isValid = !!user;\n isValid = isValid && (!props.roles || props.roles.some(function (i) { return i === (user === null || user === void 0 ? void 0 : user.roleName); }));\n isValid = isValid && (!props.checkPermission || props.checkPermission());\n if (!isValid) {\n return null;\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nexport var Unuthenticated = function (props) {\n var user = useUser();\n if (user) {\n return null;\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nexport var Authenticate = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Unuthenticated, null,\n React.createElement(Switch, null,\n React.createElement(Route, { path: \"/\", exact: true },\n React.createElement(LoginComponent, null)),\n React.createElement(Route, { path: \"/forgotpassword\", exact: true },\n React.createElement(ForgotPasswordComponent, null)),\n React.createElement(Route, { path: \"/signup\", exact: true },\n React.createElement(SignUpComponent, null)),\n React.createElement(Redirect, { to: \"/\" }))),\n React.createElement(Authenticated, null, props.children)));\n};\n","export * from './partialfiltersetting';\nexport * from './viewsetting';\nexport * from './indexconfig';\nexport * from './managemaplayer';\nexport * from './managefilterbydatasource';\nexport * from './filtercount';\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Button } from '../common';\nimport { useFilterValue } from '../state/filtersettings';\nimport { LookupRaceCodeComponent, LookupSexCodeComponent, LookupConditionComponent, LookupStateComponent, LookupZipCodeDistrictComponent } from '../lookupdata';\nimport { ConditionTab } from '../filterdialog';\nvar StyledFilterResultDashboard = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n overflow: auto;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n overflow: auto;\\n\"])));\nvar StyledGetStartedButton = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n transform: translateY(-50%);\\n top: 50%;\\n align-self: center;\\n\"], [\"\\n position: absolute;\\n transform: translateY(-50%);\\n top: 50%;\\n align-self: center;\\n\"])));\nvar NoDefaultFilterComponent = function (props) {\n return (React.createElement(StyledGetStartedButton, null,\n React.createElement(Button, { outline: true, color: \"primary\", size: \"lg\", className: \"p-5\", message: \"Click here to get started\", onClick: function () { return props.getStartedFilter && props.getStartedFilter(props.tabId); } })));\n};\nexport var FilterResultDashboard = function (props) {\n var _a;\n var available = useFilterValue('available')[0];\n return (React.createElement(React.Fragment, null,\n available ? (React.createElement(StyledFilterResultDashboard, null, props.children)) : (React.createElement(NoDefaultFilterComponent, { tabId: props.tagId || ((_a = ConditionTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId), getStartedFilter: props.toggleFilterDialog })),\n React.createElement(LookupConditionComponent, null),\n React.createElement(LookupSexCodeComponent, null),\n React.createElement(LookupRaceCodeComponent, null),\n React.createElement(LookupStateComponent, null),\n React.createElement(LookupZipCodeDistrictComponent, null)));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { Fragment, useEffect, useState } from 'react';\nimport { Collapse, Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport moment from 'moment';\nimport styled from 'styled-components';\nimport { LicenseAgreementModal } from './licenseagreementmodal';\nimport { IconButton, useAPI, useMount, useToggle } from '..';\nvar CreditsTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 700;\\n font-size: 1.25rem;\\n cursor: pointer;\\n\"], [\"\\n font-weight: 700;\\n font-size: 1.25rem;\\n cursor: pointer;\\n\"])));\nvar CollapseSectionContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.25rem;\\n \", \"\\n\"], [\"\\n padding: 0.25rem;\\n \", \"\\n\"])), function (props) { return (props.isOpen ? 'background-color: #f2f2f2;' : ''); });\nvar CollapseToggle = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\"])));\nvar CollapseToggleTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 700;\\n font-size: 1rem;\\n flex: 1;\\n\"], [\"\\n font-weight: 700;\\n font-size: 1rem;\\n flex: 1;\\n\"])));\nvar LicensesText = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-family: 'Courier New', monospace;\\n margin-top: 1rem;\\n font-size: 0.875rem;\\n white-space: pre-wrap;\\n\"], [\"\\n font-family: 'Courier New', monospace;\\n margin-top: 1rem;\\n font-size: 0.875rem;\\n white-space: pre-wrap;\\n\"])));\nvar StyledPaginate = styled.ul(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n display: flex;\\n list-style: none;\\n justify-content: center;\\n padding: 0.5rem 0;\\n margin: 0;\\n li {\\n padding: 0.25rem;\\n &.active {\\n font-weight: 700;\\n }\\n }\\n\"], [\"\\n display: flex;\\n list-style: none;\\n justify-content: center;\\n padding: 0.5rem 0;\\n margin: 0;\\n li {\\n padding: 0.25rem;\\n &.active {\\n font-weight: 700;\\n }\\n }\\n\"])));\nvar CollapseSection = function (props) {\n var isOpen = props.expandedId === props.sectionId;\n var handleClick = function () {\n props.setExpandedId(isOpen ? undefined : props.sectionId);\n };\n return (React.createElement(CollapseSectionContainer, { isOpen: isOpen },\n React.createElement(CollapseToggle, { onClick: handleClick },\n React.createElement(CollapseToggleTitle, null, props.title),\n React.createElement(IconButton, { icon: isOpen ? 'angle-up' : 'angle-down', size: \"2x\", color: \"#000\" })),\n React.createElement(Collapse, { isOpen: isOpen }, props.children)));\n};\nvar PageButton = function (props) {\n var handlePageClick = function () {\n var _a;\n if (!props.disabled) {\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.index);\n }\n };\n return (React.createElement(\"li\", { className: props.className + \" \" + (props.disabled ? 'disabled' : '') },\n React.createElement(\"a\", { tabIndex: props.disabled ? -1 : 0, role: \"button\", \"aria-disabled\": props.disabled ? 'true' : 'false', \"aria-label\": props.ariaLabel, onClick: handlePageClick }, props.label)));\n};\nvar Paginate = function (props) {\n var _a = useState(0), selected = _a[0], setSelected = _a[1];\n var handlePageClick = function (index) {\n setSelected(index);\n props.onPageChange(index);\n };\n var pagination = function () {\n var items = [];\n var pageRangeDisplayed = 5;\n var marginPagesDisplayed = 2;\n var createPageView = function (index) { return (React.createElement(PageButton, { key: index, className: index === selected ? 'active' : '', ariaLabel: \"Page \" + (index + 1), index: index, label: index + 1, onClick: handlePageClick })); };\n var createBreakView = function (index) { return (React.createElement(PageButton, { key: index, index: index < selected ? Math.max(selected - pageRangeDisplayed, 0) : Math.min(selected + pageRangeDisplayed, props.pageCount - 1), label: \"...\", onClick: handlePageClick })); };\n if (props.pageCount <= pageRangeDisplayed) {\n for (var index = 0; index < props.pageCount; index++) {\n items.push(createPageView(index));\n }\n }\n else {\n var leftSide = pageRangeDisplayed / 2;\n var rightSide = pageRangeDisplayed - leftSide;\n if (selected > props.pageCount - pageRangeDisplayed / 2) {\n rightSide = props.pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n }\n else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n for (var index = 0; index < props.pageCount; index++) {\n var adjustedRightSide = !selected ? rightSide - 1 : rightSide;\n var page = index + 1;\n var isPageStart = page <= marginPagesDisplayed;\n var isPageEnd = page > props.pageCount - marginPagesDisplayed;\n var isPageRange = index >= selected - leftSide && index <= selected + adjustedRightSide;\n var isPageStartNoBreak = page === marginPagesDisplayed + 1 && index + 1 >= selected - leftSide;\n var isPageEndNoBreak = page === props.pageCount - marginPagesDisplayed && index - 1 <= selected + adjustedRightSide;\n if (isPageStart || isPageEnd || isPageRange || isPageStartNoBreak || isPageEndNoBreak) {\n items.push(createPageView(index));\n continue;\n }\n if (page === marginPagesDisplayed + 1) {\n items.push(createBreakView(index));\n continue;\n }\n if (page === props.pageCount - marginPagesDisplayed) {\n items.push(createBreakView(index));\n continue;\n }\n }\n }\n return items;\n };\n if (!props.pageCount || props.pageCount === 1)\n return null;\n return (React.createElement(StyledPaginate, { className: \"pagination\" },\n React.createElement(PageButton, { disabled: !selected, className: \"previous\", ariaLabel: \"Previous page\", index: selected - 1, label: \"previous\", onClick: handlePageClick }),\n pagination(),\n React.createElement(PageButton, { disabled: selected === props.pageCount - 1, className: \"next\", ariaLabel: \"Next page\", index: selected + 1, label: \"next\", onClick: handlePageClick })));\n};\nvar Licenses = React.memo(function (props) {\n var _a = useState(''), expandedId = _a[0], setExpandedId = _a[1];\n var _b = useState({\n offset: 0,\n numberPerPage: 100,\n pageCount: 0,\n currentData: [],\n }), pagination = _b[0], setPagination = _b[1];\n useEffect(function () {\n setPagination(function (prevState) { return (__assign(__assign({}, prevState), { pageCount: Math.ceil(props.licenses.length / prevState.numberPerPage), currentData: props.licenses.slice(pagination.offset, pagination.offset + pagination.numberPerPage) })); });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pagination.numberPerPage, pagination.offset]);\n var handlePageClick = function (selected) {\n var offset = selected * pagination.numberPerPage;\n setPagination(__assign(__assign({}, pagination), { offset: offset }));\n };\n return (React.createElement(Collapse, { isOpen: props.isOpen, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(\"div\", { className: \"h-100 d-flex flex-column\" },\n React.createElement(\"div\", { className: \"flex-grow-1 overflow-auto\" }, pagination.currentData &&\n pagination.currentData.map(function (item, index) { return (React.createElement(CollapseSection, { key: index, sectionId: item.componentName, title: item.componentName, expandedId: expandedId, setExpandedId: setExpandedId },\n React.createElement(\"a\", { href: item.homePage, target: \"_blank\", rel: \"noopener noreferrer\" }, item.homePage),\n React.createElement(LicensesText, null, item.licenseText))); })),\n React.createElement(Paginate, { pageCount: pagination.pageCount, onPageChange: handlePageClick }))));\n});\nvar CreditsPage = function () {\n var _a = useAPI(process.env.PUBLIC_URL + \"/licenses.json\"), licensesData = _a[0], fetchLicensesData = _a[1];\n var _b = useToggle(), showCredits = _b[0], toggleCredits = _b[1];\n var _c = useState(), licenses = _c[0], setLicenses = _c[1];\n useMount(function () {\n fetchLicensesData();\n });\n useEffect(function () {\n setLicenses(typeof licensesData.data === 'object'\n ? Object.entries(licensesData.data)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return ({\n componentName: key,\n homePage: value.repository,\n licenseText: value.licenseText,\n });\n })\n .sort(function (a, b) { return a.componentName.toLowerCase().localeCompare(b.componentName.toLowerCase()); })\n : undefined);\n }, [licensesData.data]);\n if (!licenses)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(CreditsTitle, { onClick: toggleCredits },\n \"Credits\",\n React.createElement(IconButton, { icon: showCredits ? 'angle-up' : 'angle-down', size: \"2x\", color: \"#000\" })),\n React.createElement(Licenses, { isOpen: showCredits, licenses: licenses })));\n};\nexport var AboutModal = function (props) {\n var _a = useState(false), licenseModal = _a[0], setLicenseModal = _a[1];\n var toggleLicenseAgreementModal = function () {\n if (licenseModal) {\n props.toggle();\n }\n setLicenseModal(!licenseModal);\n };\n return (React.createElement(Fragment, null,\n React.createElement(Modal, { isOpen: props.isOpen && !licenseModal, toggle: props.toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"About\"),\n React.createElement(ModalBody, { className: \"d-flex flex-column\" },\n React.createElement(\"div\", null, \"About \" + props.title + \" \" + process.env.REACT_APP_VERSION),\n React.createElement(\"div\", null,\n \"Copyright \\u00A9 2018-\",\n moment.utc().year(),\n \" SHC Holdings LLC\"),\n React.createElement(\"br\", null),\n React.createElement(\"p\", null,\n \"The use of this product is subject to the terms of the National Minority Quality Forum, Inc. (the \\\"Forum\\\")\\u00A0\",\n React.createElement(\"a\", { href: \"#\", onClick: toggleLicenseAgreementModal }, \"License Agreement\")),\n React.createElement(CreditsPage, null))),\n React.createElement(LicenseAgreementModal, { isOpen: licenseModal, toggle: toggleLicenseAgreementModal })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { faTimes, faUndo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconButton } from '@material-ui/core';\nimport _ from 'lodash';\nimport React from 'react';\nimport { components } from 'react-select';\nimport { TabPane, FormGroup, ListGroupItem } from 'reactstrap';\nimport styled, { keyframes } from 'styled-components';\nimport { Select } from '../common';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupState, useLookupZipCodeDistrict } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nvar HighlightExisted = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n 0% {\\n background-color: #007bff;\\n }\\n 50% {\\n background-color: #fff;\\n }\\n 100% {\\n background-color: #007bff;\\n }\\n\"], [\"\\n 0% {\\n background-color: #007bff;\\n }\\n 50% {\\n background-color: #fff;\\n }\\n 100% {\\n background-color: #007bff;\\n }\\n\"])));\nvar StyledLabel = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: 14px;\\n line-height: 1.5;\\n\"], [\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: 14px;\\n line-height: 1.5;\\n\"])));\nvar StyledBadgeZipCodes = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n background-color: #007bff;\\n color: #ffffff;\\n display: inline-block;\\n border-radius: 50px;\\n padding: 0.5rem 0.625rem;\\n white-space: nowrap;\\n margin-right: 0.3rem;\\n &.badge-existed {\\n animation: \", \" 500ms 1;\\n }\\n\"], [\"\\n background-color: #007bff;\\n color: #ffffff;\\n display: inline-block;\\n border-radius: 50px;\\n padding: 0.5rem 0.625rem;\\n white-space: nowrap;\\n margin-right: 0.3rem;\\n &.badge-existed {\\n animation: \", \" 500ms 1;\\n }\\n\"])), HighlightExisted);\nvar StyledSelect = styled(Select)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-size: 14px;\\n line-height: 1;\\n\"], [\"\\n font-size: 14px;\\n line-height: 1;\\n\"])));\nvar TabPaneContentWrapper = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n flex: 1;\\n gap: 2rem;\\n font-size: 14px;\\n\"], [\"\\n flex: 1;\\n gap: 2rem;\\n font-size: 14px;\\n\"])));\nvar TabPaneContentLeft = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n flex: 3;\\n min-width: 200px;\\n\"], [\"\\n flex: 3;\\n min-width: 200px;\\n\"])));\nvar TabPaneContentRight = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 4;\\n min-width: 200px;\\n\"], [\"\\n flex: 4;\\n min-width: 200px;\\n\"])));\nvar TabPaneContentRightContent = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n min-height: 2rem;\\n max-height: 30rem;\\n gap: 0.375rem;\\n\"], [\"\\n min-height: 2rem;\\n max-height: 30rem;\\n gap: 0.375rem;\\n\"])));\nvar StyledResetButton = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n color: #808080;\\n cursor: pointer;\\n\"], [\"\\n color: #808080;\\n cursor: pointer;\\n\"])));\nvar FormGroupWrapper = styled(FormGroup)(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n justify-content: space-between;\\n\"], [\"\\n justify-content: space-between;\\n\"])));\nvar StyledParentOption = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledCloseButton = styled(IconButton)(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n :focus {\\n outline: none\\n }\\n\"], [\"\\n :focus {\\n outline: none\\n }\\n\"])));\nvar StyledChildOption = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar StyledStartWithOption = styled.div(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\"], [\"\"])));\nvar useOptionsZipCode = function (inputBoxValue) {\n var dataByStateCode = useLookupZipCodeDistrict()[0];\n var lookupState = useLookupState()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var _a = (dataByStateCode.data || {}).zipCode5ByState, zipCode5ByState = _a === void 0 ? {} : _a;\n var zipCode5GroupByState = React.useMemo(function () { return _.reduce(zipCode5ByState, function (acc, zipCodes, state) {\n acc[state] = zipCodes.map(function (zipCode) { return ({ label: zipCode, value: zipCode, type: \"zipCode\" /* ZIP_CODE */ }); });\n return acc;\n }, {}); }, [zipCode5ByState]);\n var states = React.useMemo(function () {\n return _.chain((lookupState.data || []))\n .filter(function (st) { return !singleState || parseInt(st.stateCode, 10) === singleState.stateCode; })\n .map(function (st) {\n var _a;\n return (__assign(__assign({}, st), { children: (_a = zipCode5GroupByState[st.stateCode]) === null || _a === void 0 ? void 0 : _a.map(function (zipCode) { return (__assign(__assign({}, zipCode), { parent: st })); }), type: \"allInState\" /* ALL_IN_STATE */ }));\n })\n .value() || [];\n }, [lookupState.data, singleState, zipCode5GroupByState]);\n var optionsOriginal = React.useMemo(function () {\n var stateWithZipCode = [];\n states.forEach(function (state) {\n var stateAndZipCode = __spreadArrays([state], (state.children || []));\n stateWithZipCode = stateWithZipCode.concat(stateAndZipCode);\n });\n return stateWithZipCode;\n }, [states]);\n var options = React.useMemo(function () {\n var regex = new RegExp(/^\\d+$/);\n return regex.test(inputBoxValue) ? __spreadArrays([{ label: \"Starting with \\\"\" + inputBoxValue + \"\\\"\", value: inputBoxValue, type: \"startWith\" /* START_WITH */, noCheckFilter: true }], optionsOriginal) :\n optionsOriginal;\n }, [optionsOriginal, inputBoxValue]);\n return [options, !!(lookupState.requesting || dataByStateCode.requesting)];\n};\nvar ShowByZipCodeReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var reportType = useReportsDialogValue('reportType')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: reportType !== ReportTypeEnum.ZipCodeDetailAnalysis })));\n};\nvar Option = function (props) {\n var _a;\n var StyledOption = props.data.noCheckFilter ?\n StyledStartWithOption :\n ((_a = props.data.children) === null || _a === void 0 ? void 0 : _a.length) ?\n StyledParentOption :\n StyledChildOption;\n return (React.createElement(components.Option, __assign({}, props),\n React.createElement(StyledOption, null, props.children)));\n};\nvar ZipCodeComponent = function (_a) {\n var handleAdd = _a.handleAdd;\n var _b = React.useState(''), inputBoxValue = _b[0], setInputBoxValue = _b[1];\n var value = React.useState('')[0];\n var _c = useOptionsZipCode(inputBoxValue), options = _c[0], isLoading = _c[1];\n return (React.createElement(StyledSelect, { components: { Option: Option }, isLoading: isLoading, options: options, placeholder: \"Search State or Zip Code\", isClearable: true, name: \"\", indicatorIcon: \"search\", noSort: true, closeMenuOnSelect: false, value: value, inputBoxValue: inputBoxValue, onInputBoxValueChange: function (value, actionMeta) {\n if (actionMeta.action === 'input-change') {\n setInputBoxValue(value);\n }\n if (actionMeta.action === 'menu-close') {\n setInputBoxValue('');\n }\n }, onChange: function (value, name, values) { return handleAdd(values); }, menuPosition: \"fixed\", isFilterStartWith: true, onSelectToRenderOptions: true }));\n};\nvar ZipCodeMemoComponent = React.memo(ZipCodeComponent, function () { return true; });\nvar LABEL_BADGE_ZIP_CODE = (_a = {},\n _a[\"zipCode\" /* ZIP_CODE */] = function (selected) { return selected.value; },\n _a[\"allInState\" /* ALL_IN_STATE */] = function (selected) { return \"All Zip Codes in \" + selected.label; },\n _a[\"startWith\" /* START_WITH */] = function (selected) { return \"Starting with \\\"\" + selected.value + \"\\\"\"; },\n _a);\nvar BadgeZipCodes = React.memo(function (_a) {\n var selected = _a.selected, isZipCodeExisted = _a.isZipCodeExisted, handleRemove = _a.handleRemove;\n return (React.createElement(StyledBadgeZipCodes, { className: isZipCodeExisted ? 'badge-existed' : '' },\n React.createElement(\"span\", { className: 'd-flex' },\n LABEL_BADGE_ZIP_CODE[selected.type](selected),\n \"\\u00A0\",\n React.createElement(StyledCloseButton, { className: 'p-0', onClick: handleRemove },\n React.createElement(FontAwesomeIcon, { className: 'w-1 h-1', style: { fontSize: 14 }, icon: faTimes, color: \"#ffffff\" })))));\n}, function (preProps, nextProps) {\n return preProps.selected.value === nextProps.selected.value &&\n preProps.isZipCodeExisted === nextProps.isZipCodeExisted;\n});\nexport var ShowByZipCodeReportsDialogTab = function (props) {\n var _a = React.useState([]), zipCodesSelected = _a[0], setZipCodesSelected = _a[1];\n var zipCodesSelectedRef = React.useRef([]);\n var _b = React.useState(), existedZipCodesSelected = _b[0], setExistedZipCodesSelected = _b[1];\n var _c = useReportsDialogValue('zipCodes'), setZipCodeReports = _c[1];\n React.useEffect(function () {\n if (existedZipCodesSelected) {\n var timeout_1 = setTimeout(function () {\n setExistedZipCodesSelected(undefined);\n }, 500);\n return function () {\n clearTimeout(timeout_1);\n };\n }\n }, [existedZipCodesSelected]);\n React.useEffect(function () {\n var zipCode = [];\n var startWith = [];\n var allInState = [];\n zipCodesSelected.forEach((function (zipCodeItem) {\n if (zipCodeItem.type === \"zipCode\" /* ZIP_CODE */) {\n zipCode.push(zipCodeItem.value);\n return;\n }\n if (zipCodeItem.type === \"allInState\" /* ALL_IN_STATE */) {\n allInState.push(zipCodeItem.value);\n return;\n }\n startWith.push(zipCodeItem.value);\n }));\n setZipCodeReports({\n zipCode: zipCode,\n startWith: startWith,\n allInState: allInState,\n });\n }, [setZipCodeReports, zipCodesSelected]);\n var addZipCodeSelected = function (values) {\n if (!values)\n return;\n var zipCodeExisted;\n var zipCodesSelectedRefCurrent = zipCodesSelectedRef.current;\n var newZipCodes = __spreadArrays(zipCodesSelectedRefCurrent);\n if (values.type === \"allInState\" /* ALL_IN_STATE */ && Array.isArray(values.children) && values.children.length) {\n newZipCodes = zipCodesSelectedRefCurrent.filter(function (zipCode) { return !_.some(values.children, ['value', zipCode.value]); });\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) { return zipCode.value === values.value; });\n if (!zipCodeExisted) {\n newZipCodes.push({ label: values.stateName || '', type: values.type, value: values.value });\n }\n }\n if (values.type === \"zipCode\" /* ZIP_CODE */) {\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) {\n var _a;\n return (values.type === zipCode.type && values.value === zipCode.value) ||\n (((_a = values.parent) === null || _a === void 0 ? void 0 : _a.value) === zipCode.value) ||\n (values.value.startsWith(zipCode.value));\n });\n if (!zipCodeExisted) {\n zipCodesSelectedRefCurrent.push({ label: '', type: values.type, value: values.value });\n newZipCodes = __spreadArrays(zipCodesSelectedRefCurrent);\n }\n }\n if (values.type === \"startWith\" /* START_WITH */) {\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) {\n var _a;\n return (values.type === zipCode.type && values.value === zipCode.value) ||\n (((_a = values.parent) === null || _a === void 0 ? void 0 : _a.value) === zipCode.value);\n });\n newZipCodes = zipCodesSelectedRefCurrent.filter(function (zipCode) { return zipCode.type !== \"zipCode\" /* ZIP_CODE */ || !zipCode.value.startsWith(values.value); });\n if (!zipCodeExisted) {\n newZipCodes.push({ label: '', type: values.type, value: values.value });\n }\n }\n setExistedZipCodesSelected(zipCodeExisted);\n zipCodesSelectedRef.current = newZipCodes;\n setZipCodesSelected(newZipCodes);\n };\n var removeZipCodeSelected = function (index) {\n zipCodesSelectedRef.current.splice(index, 1);\n setZipCodesSelected(__spreadArrays(zipCodesSelectedRef.current));\n };\n var resetZipCodeSelected = function () {\n zipCodesSelectedRef.current = [];\n setZipCodesSelected(__spreadArrays(zipCodesSelectedRef.current));\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroupWrapper, { row: true },\n React.createElement(TabPaneContentWrapper, { className: 'd-flex py-0 px-3 flex-wrap' },\n React.createElement(TabPaneContentLeft, null,\n React.createElement(StyledLabel, { className: \"font-weight-bold\" }, \"Add Zip Codes to Report\"),\n React.createElement(ZipCodeMemoComponent, { handleAdd: addZipCodeSelected })),\n React.createElement(TabPaneContentRight, null,\n React.createElement(\"div\", { className: 'd-flex justify-content-between align-items-center' },\n React.createElement(StyledLabel, { className: \"font-weight-bold\" }, \"Selected Zip Codes\"),\n React.createElement(StyledResetButton, { className: 'p-0', onClick: resetZipCodeSelected },\n React.createElement(FontAwesomeIcon, { className: 'w-1 h-1', icon: faUndo }),\n \"\\u00A0 Reset\")),\n React.createElement(TabPaneContentRightContent, { className: 'flex-wrap d-flex align-items-center overflow-auto' },\n zipCodesSelected.length === 0 && 'Search and select zip codes on the left',\n zipCodesSelected.map(function (selected, index) { return (React.createElement(BadgeZipCodes, { key: index, handleRemove: function () { return removeZipCodeSelected(index); }, selected: selected, isZipCodeExisted: (existedZipCodesSelected === null || existedZipCodesSelected === void 0 ? void 0 : existedZipCodesSelected.value) === selected.value })); })))))));\n};\nShowByZipCodeReportsDialogTab.defaultProps = {\n tabId: 'showByZipCodeTab',\n tabName: 'Show by',\n tabField: ['zipCodes'],\n tabSelector: ShowByZipCodeReportsTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14;\n","/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nexport var STATIC_PDF_FILE_TYPE = {\n METHODOLOGY_PREVALENCE: 'METHODOLOGY_PREVALENCE',\n METHODOLOGY_TOTAL_COUNTS: 'METHODOLOGY_TOTAL_COUNTS',\n METHODOLOGY_HOSPITALIZATIONS: 'METHODOLOGY_HOSPITALIZATIONS',\n METHODOLOGY_COSTS: 'METHODOLOGY_COSTS',\n METHODOLOGY_DATA_SOURCES: 'METHODOLOGY_DATA_SOURCES',\n};\nexport var METHODOLOGY_TYPE = {\n PREVALENCE: {\n value: 'PREVALENCE',\n label: 'Prevalence',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_PREVALENCE,\n },\n TOTAL_COUNTS: {\n value: 'TOTAL_COUNTS',\n label: 'Total Counts',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_TOTAL_COUNTS,\n },\n HOSPITALIZATIONS: {\n value: 'HOSPITALIZATIONS',\n label: 'Hospitalizations',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_HOSPITALIZATIONS,\n },\n COSTS: {\n value: 'COSTS',\n label: 'Costs',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_COSTS,\n },\n DATA_SOURCES: {\n value: 'DATA_SOURCES',\n label: 'Data Sources',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_DATA_SOURCES,\n },\n};\n","/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, Input } from 'reactstrap';\nimport { METHODOLOGY_TYPE } from './constants';\nexport var MethodologyModal = function (props) {\n var _a = useState(METHODOLOGY_TYPE.PREVALENCE), methodology = _a[0], setMethodology = _a[1];\n var handleChangeMethodology = function (methodology) {\n setMethodology(methodology);\n };\n var handleOKBtn = function () {\n if (!methodology) {\n alert('Please select Methodology');\n return;\n }\n props.toggle();\n window.open(\"/api/nmqf/get-static-pdf-file/\" + methodology.pdfFileType);\n };\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Select Methodology\"),\n React.createElement(ModalBody, null,\n React.createElement(Form, null, Object.keys(METHODOLOGY_TYPE).map(function (key) { return (React.createElement(FormGroup, { check: true, key: key },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"printOption\", checked: methodology.value === METHODOLOGY_TYPE[key].value, onChange: function () { return handleChangeMethodology(METHODOLOGY_TYPE[key]); } }),\n METHODOLOGY_TYPE[key].label))); }))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"secondary\", onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", onClick: handleOKBtn }, \"Submit\"))));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport { Select, FallbackComponent, DELIMITER_SEASON_YEAR } from '../common';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { LookupYearComponent, useCMSDataYear } from '../lookupdata';\nimport { getYearsBySeason } from '../utils';\nimport { REPORT_DATA_SOURCES, useReportsDialogValue } from './reportsdialogprovider';\nvar DataYearSeasonReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSeasonStatistic })));\n};\nexport var DataYearSeasonReportsDialogTab = function (props) {\n var _a = React.useState(), dataYearSeasonUi = _a[0], setDataYearSeasonUi = _a[1];\n var _b = useReportsDialogValue('dataYearSeason'), dataYearSeason = _b[0], setDataYearSeason = _b[1];\n var _c = useReportsDialogValue('dataSourceType'), dataSourceType = _c[0], setDataSourceType = _c[1];\n var lookupSeasonYearData = useCMSDataYear(dataSourceType)[0];\n var _d = useReportsDialogValue('conditions'), conditions = _d[0], setConditions = _d[1];\n var _e = useReportsDialogValue('patientPopulationReferenceYear'), setPatientPopulationRefYear = _e[1];\n var indexConfig = useHostnameIndexInfo();\n var patientPopulationRefYearFilter = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter.patientPopulationReferenceYear;\n useEffect(function () {\n setPatientPopulationRefYear(patientPopulationRefYearFilter);\n }, [patientPopulationRefYearFilter, setPatientPopulationRefYear]);\n useEffect(function () {\n var _a = getYearsBySeason(dataYearSeasonUi), lateYear = _a[0], earlyYear = _a[1];\n if (lateYear && earlyYear) {\n var fullYearSeason = [Number(lateYear).valueOf(), Number(earlyYear).valueOf()];\n setDataYearSeason(fullYearSeason);\n }\n }, [setDataYearSeason, dataYearSeasonUi]);\n useEffect(function () {\n var _a, _b;\n if (((_a = lookupSeasonYearData.data) === null || _a === void 0 ? void 0 : _a.length) && !dataYearSeasonUi) {\n var dataYearSeasonValueUi = String(lookupSeasonYearData.data[lookupSeasonYearData.data.length - 1]);\n if (Array.isArray(dataYearSeason) && dataYearSeason.length) {\n var yearSeasonInDataYear = (_b = lookupSeasonYearData.data) === null || _b === void 0 ? void 0 : _b.find(function (year) { return String(year).includes(dataYearSeason.join(DELIMITER_SEASON_YEAR)); });\n dataYearSeasonValueUi = yearSeasonInDataYear ? String(yearSeasonInDataYear) : dataYearSeasonValueUi;\n }\n if (getYearsBySeason(dataYearSeasonValueUi).length === 2)\n handleChangeYearSeason(dataYearSeasonValueUi);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataYearSeasonUi, lookupSeasonYearData]);\n var handleChangeDataSource = function (value, name, option) {\n setDataSourceType(value);\n };\n var handleChangeYearSeason = function (value) {\n var _a;\n setDataYearSeasonUi(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setConditions(conditions === null || conditions === void 0 ? void 0 : conditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: REPORT_DATA_SOURCES, optionsTransform: function (v) { return DATA_SOURCES[v]; }, noSort: true, value: dataSourceType, onChange: handleChangeDataSource })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: lookupSeasonYearData.requesting, error: lookupSeasonYearData.error },\n React.createElement(Select, { name: \"dataYearSeason\", options: lookupSeasonYearData.data, noSort: true, value: dataYearSeasonUi, onChange: handleChangeYearSeason, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); } }))),\n React.createElement(LookupYearComponent, { dataSource: dataSourceType })));\n};\nDataYearSeasonReportsDialogTab.defaultProps = {\n tabId: 'DataYearSeasonTab',\n tabName: 'Data Set',\n tabField: ['dataSourceType', 'dataYearSeason'],\n tabSelector: DataYearSeasonReportsTabSelector,\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label, ListGroupItem } from 'reactstrap';\nimport { CheckboxGroup, FallbackComponent } from '../common';\nimport { useLookupFluVaccine } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { FilterSidebarConst } from '../configs';\nvar FluVaccineReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSeasonStatistic })));\n};\nexport var FluVaccineReportsDialogTab = function (props) {\n var _a = useReportsDialogValue('fluVaccineCptCodes'), fluVaccineCptCodes = _a[0], setFluVaccineCptCodes = _a[1];\n var _b = useLookupFluVaccine(), lookupVaccine = _b[0], fetchLookupVaccine = _b[1];\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Vaccines Requirements\"),\n React.createElement(FallbackComponent, { requesting: lookupVaccine.requesting, error: lookupVaccine.error, retry: fetchLookupVaccine },\n React.createElement(CheckboxGroup, { options: lookupVaccine.data, optionsTransform: function (item) { return ({ value: item.hcpcsPctCodes, label: item.hcpcsDescription }); }, noSort: true, value: fluVaccineCptCodes, onChange: setFluVaccineCptCodes }))));\n};\nFluVaccineReportsDialogTab.defaultProps = {\n tabId: FilterSidebarConst.InfluenzaVaccine.tabId,\n tabName: FilterSidebarConst.InfluenzaVaccine.title,\n tabField: ['fluVaccineCptCodes'],\n tabSelector: FluVaccineReportsTabSelector,\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { AboutModal } from '../aboutmodal';\nimport { MethodologyModal } from '../methodologymodal';\nimport { useAuth, useUser, Authenticated } from '../authentication';\nimport { getUserInitials } from '../utils';\nimport { UserProfile } from '../userprofile';\nimport { UserChangePassword } from '../userchangepassword';\nimport { RightPanelTypeEnum, RoleEnum } from '../enums';\nimport { ROUTE_URL } from '../common';\nimport { useFilterSetting, useViewSetting } from '../state';\nimport { useLookupZipCodeDistrict } from '../lookupdata';\nimport { AgeReportsDialogTab, ConditionReportsDialogTab, DataYearReportsDialogTab, RaceReportsDialogTab, ReportsDialogExtension, ReportsDialogProvider, ReportsTab, SexReportsDialogTab, ShowByReportsDialogTab, StatisticReportsDialogTab, } from '../reportsdialogextension';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ShowByZipCodeReportsDialogTab } from '../reportsdialogextension/showbyzipcodetab';\nimport { DataYearSeasonReportsDialogTab } from '../reportsdialogextension/datayearseasontab';\nimport { FluVaccineReportsDialogTab } from '../reportsdialogextension/fluvaccinetab';\nvar UserInfo = styled(DropdownToggle)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n color: #000000;\\n text-decoration: none;\\n :hover {\\n text-decoration: none !important;\\n color: #000000;\\n }\\n cursor: pointer;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n color: #000000;\\n text-decoration: none;\\n :hover {\\n text-decoration: none !important;\\n color: #000000;\\n }\\n cursor: pointer;\\n\"])));\nvar AvatarCircle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 2.25rem;\\n height: 2.25rem;\\n background-color: #007bff;\\n text-align: center;\\n border-radius: 50%;\\n color: #ffffff;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 0.25rem;\\n\"], [\"\\n width: 2.25rem;\\n height: 2.25rem;\\n background-color: #007bff;\\n text-align: center;\\n border-radius: 50%;\\n color: #ffffff;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 0.25rem;\\n\"])));\nvar Initials = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-decoration: none;\\n\"], [\"\\n text-decoration: none;\\n\"])));\nvar PrincipalUser = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-decoration: none;\\n\\n @media only screen and (max-width: 600px) {\\n display: none;\\n }\\n\"], [\"\\n text-decoration: none;\\n\\n @media only screen and (max-width: 600px) {\\n display: none;\\n }\\n\"])));\nvar UserMenuStyle = styled(DropdownMenu)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding-bottom: 0;\\n > .dropdown-item:not(.level-1) {\\n font-weight: 500;\\n }\\n\"], [\"\\n padding-bottom: 0;\\n > .dropdown-item:not(.level-1) {\\n font-weight: 500;\\n }\\n\"])));\nvar LogOutItem = styled.span(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledSpace = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nexport var UserMenuToggle = function () {\n var _a;\n var user = useUser();\n return (React.createElement(UserInfo, { tag: \"div\" },\n React.createElement(AvatarCircle, null,\n React.createElement(Initials, null, (user === null || user === void 0 ? void 0 : user.firstName) ? getUserInitials(user === null || user === void 0 ? void 0 : user.firstName, user === null || user === void 0 ? void 0 : user.lastName) : (_a = user === null || user === void 0 ? void 0 : user.username) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase())),\n React.createElement(PrincipalUser, null, (user === null || user === void 0 ? void 0 : user.firstName) ? (user === null || user === void 0 ? void 0 : user.firstName) + \" \" + (user === null || user === void 0 ? void 0 : user.lastName) : user === null || user === void 0 ? void 0 : user.username)));\n};\nvar DialogManager = function (props) {\n return (React.createElement(ReportsDialogProvider, null,\n React.createElement(ReportsDialogExtension, { isOpen: props.showReportDialog, toggle: props.toggleReportDialog },\n React.createElement(ReportsTab, null),\n React.createElement(DataYearReportsDialogTab, null),\n React.createElement(DataYearSeasonReportsDialogTab, null),\n React.createElement(FluVaccineReportsDialogTab, null),\n React.createElement(ConditionReportsDialogTab, { condition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition }),\n React.createElement(StatisticReportsDialogTab, null),\n React.createElement(ShowByReportsDialogTab, null),\n React.createElement(ShowByZipCodeReportsDialogTab, null),\n React.createElement(SexReportsDialogTab, null),\n React.createElement(RaceReportsDialogTab, null),\n React.createElement(AgeReportsDialogTab, null))));\n};\nexport var UserMenu = function (props) {\n var _a;\n var auth = useAuth();\n var indexConfig = useHostnameIndexInfo();\n var _b = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}, publicIndex = _b.publicIndex, methodologyDocument = _b.methodologyDocument;\n var _c = useToggle(), isOpenMethodologyModal = _c[0], toggleMethodologyModal = _c[1];\n var _d = useToggle(), isOpenUserProfileModal = _d[0], toggleUserProfileModal = _d[1];\n var _e = useToggle(), isOpenChangePasswordModal = _e[0], toggleChangePasswordModal = _e[1];\n var _f = useToggle(), isOpenAboutModal = _f[0], toggleAboutModal = _f[1];\n var _g = useToggle(), showReportDialog = _g[0], toggleReportDialog = _g[1];\n var filterSettings = useFilterSetting();\n var viewSettings = useViewSetting();\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var disabled = !filterSettings.available;\n var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {\n var form, params;\n var _a;\n return __generator(this, function (_b) {\n form = document.createElement('form');\n form.action = \"/api/pdf/private/printmap\";\n form.method = 'post';\n form.target = '_blank';\n params = {\n token: auth.jwt,\n data: JSON.stringify({\n filterSettings: filterSettings,\n viewSettings: viewSettings,\n stateName: lookupZipCode.getStateNameOfZipCode(((_a = viewSettings.selectedRegion) === null || _a === void 0 ? void 0 : _a.type) === RightPanelTypeEnum.RegionDetail ? viewSettings.selectedRegion.id : undefined),\n hostname: window.location.host.split('.')[0],\n }),\n landscape: true,\n isPrintMap: true,\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n return [2 /*return*/];\n });\n }); };\n var handleLogout = function () {\n auth.logout();\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(UncontrolledDropdown, null,\n React.createElement(UserMenuToggle, null),\n React.createElement(UserMenuStyle, { right: true },\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.GeneralUser, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { header: true }, \"Index\"),\n React.createElement(DropdownItem, { disabled: props.disabledReport, onClick: toggleReportDialog }, \"View Reports\"),\n React.createElement(DropdownItem, { disabled: disabled, onClick: handleSubmit }, \"Print Map\"),\n React.createElement(StyledSpace, null)),\n !publicIndex && (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"User Account\"),\n ((_a = auth.user) === null || _a === void 0 ? void 0 : _a.firstName) && React.createElement(DropdownItem, { onClick: toggleUserProfileModal }, \"View Profile\"),\n React.createElement(DropdownItem, { onClick: toggleChangePasswordModal }, \"Change Password\"),\n React.createElement(StyledSpace, null))),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { header: true }, \"Administration\"),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.USER }, \"Manage Users\")),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.DATA_FILE }, \"Manage Data Files\")),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.MAP_LAYER }, \"Manage Map Layers\")),\n React.createElement(StyledSpace, null)),\n React.createElement(DropdownItem, { header: true }, \"Help\"),\n !methodologyDocument ? (React.createElement(DropdownItem, { onClick: toggleMethodologyModal }, \"Methodologies\")) : (React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: methodologyDocument }, \"Methodologies\")),\n React.createElement(DropdownItem, { onClick: toggleAboutModal }, \"About\"),\n React.createElement(StyledSpace, null),\n !publicIndex && (React.createElement(DropdownItem, { onClick: handleLogout, disabled: false, className: \"level-1 bg-primary text-white\" },\n React.createElement(LogOutItem, null, \"Log Out\"),\n \" \",\n React.createElement(FontAwesomeIcon, { icon: \"sign-out-alt\", size: \"lg\" }))))),\n React.createElement(UserProfile, { isOpen: isOpenUserProfileModal, toggle: toggleUserProfileModal, principalUser: auth.user }),\n React.createElement(UserChangePassword, { isOpen: isOpenChangePasswordModal, toggle: toggleChangePasswordModal }),\n React.createElement(MethodologyModal, { isOpen: isOpenMethodologyModal, toggle: toggleMethodologyModal }),\n React.createElement(AboutModal, { isOpen: isOpenAboutModal, toggle: toggleAboutModal, title: '' }),\n React.createElement(DialogManager, { reportCondition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition, showReportDialog: showReportDialog, toggleReportDialog: toggleReportDialog })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Link, useLocation } from 'react-router-dom';\nimport { Authenticated } from '../authentication';\nimport { UserMenu } from './usermenu';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledHeader = styled.header(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 0 0 4.3125rem;\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 1rem;\\n position: relative;\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n flex: 0 0 4.3125rem;\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 1rem;\\n position: relative;\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar IndexLogoAndNameLink = styled(Link)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n :hover {\\n text-decoration: none !important;\\n }\\n text-decoration: none;\\n background-color: transparent;\\n margin-right: auto;\\n\"], [\"\\n display: flex;\\n :hover {\\n text-decoration: none !important;\\n }\\n text-decoration: none;\\n background-color: transparent;\\n margin-right: auto;\\n\"])));\nvar IndexLogo = styled.img(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-height: 3.5rem;\\n max-width: 18.75rem;\\n vertical-align: middle;\\n border-style: none;\\n margin: auto;\\n @media only screen and (max-width: 600px) {\\n max-height: 3rem;\\n }\\n\"], [\"\\n max-height: 3.5rem;\\n max-width: 18.75rem;\\n vertical-align: middle;\\n border-style: none;\\n margin: auto;\\n @media only screen and (max-width: 600px) {\\n max-height: 3rem;\\n }\\n\"])));\nvar IndexName = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin-left: 0.5rem;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n color: #000000;\\n > * {\\n font-weight: normal;\\n }\\n\"], [\"\\n margin-left: 0.5rem;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n color: #000000;\\n > * {\\n font-weight: normal;\\n }\\n\"])));\nvar IndexNameH3 = styled.h3(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n margin: 0 !important;\\n font-size: 1.75rem;\\n line-height: 1.2;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 1.25rem;\\n }\\n\"], [\"\\n margin: 0 !important;\\n font-size: 1.75rem;\\n line-height: 1.2;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 1.25rem;\\n }\\n\"])));\nvar IndexNameH5 = styled.h5(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin: 0 !important;\\n font-size: 1.25rem;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 0.825rem;\\n }\\n\"], [\"\\n margin: 0 !important;\\n font-size: 1.25rem;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 0.825rem;\\n }\\n\"])));\nexport var Header = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var location = useLocation();\n return (React.createElement(StyledHeader, null,\n React.createElement(IndexLogoAndNameLink, { to: location.search },\n React.createElement(IndexLogo, { alt: \"app-logo\", src: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.squareLogo }),\n React.createElement(IndexName, null,\n React.createElement(IndexNameH3, null, props.indexName || (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle)),\n React.createElement(IndexNameH5, null, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexOwner))),\n props.children,\n React.createElement(Authenticated, null,\n React.createElement(UserMenu, { disabledReport: props.disabledReport, reportCondition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition }))));\n};\nexport * from './usermenu';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useFilterSetting } from '../state';\nimport { DATA_SOURCES } from '../configs';\nimport { mapAgeValues, useLookupSexCode, useLookupRaceCode, useLookupCondition, getConsumptionGroups, getClaimDayLabel, useLookupVaccine, useLookupFluVaccine } from '../lookupdata';\nimport { ConsumptionGroupTab, ConditionTab, AggregatedSexTab, SexTab, AggregatedRaceTab, RaceTab, AggregatedAgeTab, AgeTab, DataYearTab, DataYearSeasonTab, } from '../filterdialog';\nimport { FilterSidebarConst } from '../configs/filtersidebar';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledFiltersHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n font-weight: 550;\\n padding-top: 1rem;\\n\"], [\"\\n cursor: pointer;\\n font-weight: 550;\\n padding-top: 1rem;\\n\"])));\nvar FiltersValue = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n color: #6b778c;\\n width: 17rem;\\n margin: 0.5rem;\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 3;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n color: #6b778c;\\n width: 17rem;\\n margin: 0.5rem;\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 3;\\n -webkit-box-orient: vertical;\\n\"])));\nvar Result = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: 0;\\n\"], [\"\\n margin: 0;\\n\"])));\nvar FiltersHeader = function (props) {\n var handleClick = function () {\n props.toggleFilterDialog(props.tabId);\n };\n if (props.isHidden)\n return null;\n return React.createElement(StyledFiltersHeader, { onClick: handleClick }, props.children);\n};\nexport var FilterTab = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;\n var indexHostname = useHostnameIndexInfo();\n var filterSetting = useFilterSetting();\n var lookupPrimaryCondition = useLookupCondition(filterSetting.primaryCoMorbidities)[0];\n var lookupConditionData = useLookupCondition(filterSetting.comorbidities)[0];\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var dataSourceName = filterSetting.isAggregatedDataSource ? filterSetting.dataSourceName : cmsDataSource && DATA_SOURCES[cmsDataSource].label;\n var lookupSexData = useLookupSexCode((_b = filterSetting.demographics) === null || _b === void 0 ? void 0 : _b.sexCodes)[0];\n var lookupRaceData = useLookupRaceCode(filterSetting.raceMethodology, (_c = filterSetting.demographics) === null || _c === void 0 ? void 0 : _c.raceCodes)[0];\n var ageData = mapAgeValues((_d = filterSetting.demographics) === null || _d === void 0 ? void 0 : _d.ages);\n var consumptionGroupClassesDefaultFilter = indexHostname === null || indexHostname === void 0 ? void 0 : indexHostname.defaultFilter.consumptionGroupClasses;\n var consumptionGroups = (_e = getConsumptionGroups(filterSetting.consumptionGroupClasses)) === null || _e === void 0 ? void 0 : _e.map(function (i) { return i.shortTerm; }).join(', ');\n var primaryConditionName = (_g = (_f = lookupPrimaryCondition.labeledValues) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.chronicConditionName;\n var otherContitionName = (_h = lookupConditionData.labeledValues) === null || _h === void 0 ? void 0 : _h.map(function (i) { return i.chronicConditionName; }).filter(function (name) { return name !== primaryConditionName; }).join(', ');\n var claimDayLabel = getClaimDayLabel(filterSetting.claimDay);\n var mainPrimaryConditionName = (_k = (_j = lookupPrimaryCondition.labeledValues) === null || _j === void 0 ? void 0 : _j.filter(function (i) { return !filterSetting.primaryConditionWithClaims || !filterSetting.primaryConditionWithClaims[i.chronicConditionCode]; })) === null || _k === void 0 ? void 0 : _k.map(function (i) {\n return i.chronicConditionName;\n }).join(', ');\n var textMainClaimNumber = filterSetting.claimNumber ?\n \" (\" + filterSetting.claimNumber + \" claim(s)\" + (filterSetting.claimNumber && filterSetting.claimNumber > 1 ? \" \" + claimDayLabel + \" days apart\" : '') + \")\" : '';\n var otherPrimaryConditionNameWithClaim = (_m = (_l = lookupPrimaryCondition.labeledValues) === null || _l === void 0 ? void 0 : _l.filter(function (i) { return filterSetting.primaryConditionWithClaims && filterSetting.primaryConditionWithClaims[i.chronicConditionCode]; })) === null || _m === void 0 ? void 0 : _m.map(function (i, idx) {\n var claimNumber = filterSetting.primaryConditionWithClaims ? filterSetting.primaryConditionWithClaims[i.chronicConditionCode] : '';\n var claim = claimNumber ? \"(\" + claimNumber + \" claim(s)\" + ((claimNumber && claimNumber > 1 && claimDayLabel) ? \" \" + claimDayLabel + \" days apart\" : '') + \")\" : '';\n return i.chronicConditionName + \" \" + claim;\n }).join(', ');\n var sexLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'SEX'\n ? filterSetting.filteringCategoryUiName\n : ''\n : ((_o = lookupSexData.mappedValues) === null || _o === void 0 ? void 0 : _o.length) && lookupSexData.mappedValues.map(function (option) { return option.label; }).join(', ');\n var raceLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'RACE'\n ? filterSetting.filteringCategoryUiName\n : ''\n : ((_p = lookupRaceData.mappedValues) === null || _p === void 0 ? void 0 : _p.length) && lookupRaceData.mappedValues.map(function (option) { return option.label; }).join(', ');\n var ageLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'AGE'\n ? filterSetting.filteringCategoryUiName\n : ''\n : (ageData === null || ageData === void 0 ? void 0 : ageData.length) && ageData.map(function (option) { return option.label; }).join(', ');\n var dataYearTabId = props.showFluVaccine ? (_q = DataYearSeasonTab.defaultProps) === null || _q === void 0 ? void 0 : _q.tabId : (_r = DataYearTab.defaultProps) === null || _r === void 0 ? void 0 : _r.tabId;\n var dataYear = React.useMemo(function () {\n if (Array.isArray(filterSetting.dataYearSeason) && filterSetting.dataYearSeason.length === 2) {\n return filterSetting.dataYearSeason.join(DELIMITER_SEASON_YEAR);\n }\n return filterSetting.dataYear;\n }, [filterSetting.dataYear, filterSetting.dataYearSeason]);\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: dataYearTabId, toggleFilterDialog: props.toggleFilterDialog },\n \"Patients from \",\n dataSourceName,\n \" \",\n dataYear),\n props.showVaccine && React.createElement(VaccineFilterSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n props.showFluVaccine && React.createElement(InfluenzaVaccineFilterSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n !filterSetting.isAggregatedDataSource && (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: (_s = ConditionTab.defaultProps) === null || _s === void 0 ? void 0 : _s.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Conditions\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null,\n mainPrimaryConditionName,\n textMainClaimNumber,\n (textMainClaimNumber || mainPrimaryConditionName) && otherPrimaryConditionNameWithClaim && \", \",\n otherPrimaryConditionNameWithClaim,\n (textMainClaimNumber || primaryConditionName || otherPrimaryConditionNameWithClaim) && otherContitionName && \", \",\n otherContitionName)))),\n React.createElement(FiltersHeader, { tabId: (_t = ConsumptionGroupTab.defaultProps) === null || _t === void 0 ? void 0 : _t.tabId, toggleFilterDialog: props.toggleFilterDialog, isHidden: Array.isArray(consumptionGroupClassesDefaultFilter) && !consumptionGroupClassesDefaultFilter.length }, \"Consumption Group Class\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, consumptionGroups)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_u = AggregatedSexTab.defaultProps) === null || _u === void 0 ? void 0 : _u.tabId : (_v = SexTab.defaultProps) === null || _v === void 0 ? void 0 : _v.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Sex\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, sexLabel)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_w = AggregatedRaceTab.defaultProps) === null || _w === void 0 ? void 0 : _w.tabId : (_x = RaceTab.defaultProps) === null || _x === void 0 ? void 0 : _x.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Race/Ethnicity\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, raceLabel)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_y = AggregatedAgeTab.defaultProps) === null || _y === void 0 ? void 0 : _y.tabId : (_z = AgeTab.defaultProps) === null || _z === void 0 ? void 0 : _z.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Age\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, ageLabel))));\n};\nvar VaccineFilterSidebar = function (_a) {\n var _b, _c, _d, _e;\n var toggleFilterDialog = _a.toggleFilterDialog;\n var filterSetting = useFilterSetting();\n var lookupVaccine = useLookupVaccine()[0];\n var vaccineCptCodes = filterSetting.vaccineCptCodes;\n var selectingVaccineDiseaseName = (vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.length) && ((_c = (_b = lookupVaccine.data) === null || _b === void 0 ? void 0 : _b.find(function (i) { return i.cptCode === vaccineCptCodes[0]; })) === null || _c === void 0 ? void 0 : _c.vaccineDiseaseName);\n var allVaccinesInGroup = (_d = lookupVaccine.data) === null || _d === void 0 ? void 0 : _d.filter(function (i) { return i.vaccineDiseaseName === selectingVaccineDiseaseName; });\n var vaccineValue = (vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.length) === (allVaccinesInGroup === null || allVaccinesInGroup === void 0 ? void 0 : allVaccinesInGroup.length)\n ? selectingVaccineDiseaseName\n : (_e = lookupVaccine.data) === null || _e === void 0 ? void 0 : _e.filter(function (i) { return vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.some(function (v) { return v === i.cptCode; }); }).map(function (i) { return \"\" + i.cptCode + (i.vaccineBrandName ? \" - \" + i.vaccineBrandName : ''); }).join(', ');\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: FilterSidebarConst.Vaccine.tabId, toggleFilterDialog: toggleFilterDialog }, FilterSidebarConst.Vaccine.title),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, vaccineValue))));\n};\nvar InfluenzaVaccineFilterSidebar = function (_a) {\n var _b;\n var toggleFilterDialog = _a.toggleFilterDialog;\n var filterSetting = useFilterSetting();\n var lookupFluVaccine = useLookupFluVaccine()[0];\n var fluVaccineCptCodes = filterSetting.fluVaccineCptCodes;\n var vaccineValue = (_b = lookupFluVaccine.data) === null || _b === void 0 ? void 0 : _b.filter(function (vaccine) { return fluVaccineCptCodes === null || fluVaccineCptCodes === void 0 ? void 0 : fluVaccineCptCodes.includes(vaccine.hcpcsPctCodes); }).map(function (vaccine) { return vaccine.hcpcsDescription; }).join(', ');\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: FilterSidebarConst.InfluenzaVaccine.tabId, toggleFilterDialog: toggleFilterDialog }, FilterSidebarConst.InfluenzaVaccine.title),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, vaccineValue))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { StyledPanel } from './styled';\nimport { useMapValue } from '../mapprovider';\nvar StyledTransparencyControl = styled(StyledPanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.75rem 0 0.125rem;\\n text-align: center;\\n min-width: 2.75rem;\\n\"], [\"\\n padding: 0.75rem 0 0.125rem;\\n text-align: center;\\n min-width: 2.75rem;\\n\"])));\nvar RangeInput = styled.input(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0; /* IE */\\n width: 100%;\\n cursor: pointer;\\n\\n &:hover,\\n &:focus {\\n &::-webkit-slider-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-moz-range-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-ms-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n }\\n\"], [\"\\n padding: 0; /* IE */\\n width: 100%;\\n cursor: pointer;\\n\\n &:hover,\\n &:focus {\\n &::-webkit-slider-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-moz-range-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-ms-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n }\\n\"])));\nvar LabelLeft = styled.label(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n float: left!important;\\n\"], [\"\\n float: left!important;\\n\"])));\nvar LabelRight = styled.label(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n float: right!important;\\n\"], [\"\\n float: right!important;\\n\"])));\nexport var TransparencyControl = function () {\n var _a = useMapValue('transparency'), transparency = _a[0], setTransparency = _a[1];\n var handleChange = useCallback(function (event) {\n setTransparency(event.currentTarget.value);\n }, [setTransparency]);\n return (React.createElement(StyledTransparencyControl, null,\n React.createElement(RangeInput, { type: \"range\", min: 0, max: 100, value: transparency, onChange: handleChange }),\n React.createElement(LabelLeft, null, \"Transparent\"),\n React.createElement(LabelRight, null, \"Opaque\")));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { StatisticTab } from '../filterdialog';\nimport { getStatisticOption } from '../lookupdata';\nimport { StyledPanel } from '../map/overlays/styled';\nimport { LegendByFilter } from '../map/patientchoroplethlayer/legend';\nimport { useFilterValue, useViewValue } from '../state';\nvar StyledLegendHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledToggleBtn = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar SelectedStatistic = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: fit-content;\\n line-height: initial;\\n cursor: pointer;\\n font-weight: 700;\\n\"], [\"\\n width: fit-content;\\n line-height: initial;\\n cursor: pointer;\\n font-weight: 700;\\n\"])));\nvar StatisticCategoryLabel = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticConfigLabel = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"], [\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"])));\nvar StyledButton = styled.button(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n border-radius: 0.75rem;\\n border: solid 0.125rem #212529;\\n color: #b95951;\\n height: 1.5rem;\\n position: relative;\\n width: 2rem;\\n transition: color 0.3s;\\n &:focus {\\n outline: 0;\\n }\\n \", \";\\n\"], [\"\\n border-radius: 0.75rem;\\n border: solid 0.125rem #212529;\\n color: #b95951;\\n height: 1.5rem;\\n position: relative;\\n width: 2rem;\\n transition: color 0.3s;\\n &:focus {\\n outline: 0;\\n }\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'background-color: #313130;' : 'background-color: transparent;'); });\nvar StyledNode = styled.span(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n position: absolute;\\n height: 1.25rem;\\n width: 1.25rem;\\n top: 0.0125rem;\\n border: solid 0.125rem #212529;\\n border-radius: 50%;\\n transition: left 0.3s;\\n background: #ffffff;\\n \", \";\\n\"], [\"\\n position: absolute;\\n height: 1.25rem;\\n width: 1.25rem;\\n top: 0.0125rem;\\n border: solid 0.125rem #212529;\\n border-radius: 50%;\\n transition: left 0.3s;\\n background: #ffffff;\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'left: 0.625rem;' : 'left: -0.125rem;'); });\nexport var ToggleButton = function (props) {\n return (React.createElement(StyledButton, { isActive: props.show, onClick: props.toggle },\n React.createElement(StyledNode, { isActive: props.show })));\n};\nexport var LegendSidebar = function (props) {\n var _a = useViewValue('mapView', 'showLegend'), show = _a[0], setShow = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticConfig = getStatisticOption(statistic);\n return (React.createElement(StyledPanel, null,\n React.createElement(StyledLegendHeader, null,\n React.createElement(SelectedStatistic, { onClick: function () { var _a; return props.toggleFilterDialog((_a = StatisticTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId); } },\n React.createElement(StatisticCategoryLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.group.label),\n React.createElement(StatisticConfigLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.label)),\n React.createElement(StyledToggleBtn, null,\n React.createElement(ToggleButton, { show: show, toggle: function () { return setShow(!show); } }))),\n React.createElement(LegendByFilter, null)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { TransparencyControl } from '../map/overlays';\nimport { useViewValue } from '../state';\nimport { LegendSidebar, ToggleButton } from './legendsidebar';\nvar StyledWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: 0 -0.75rem;\\n\"], [\"\\n margin: 0 -0.75rem;\\n\"])));\nvar StyledTransparency = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.75rem;\\n\"], [\"\\n padding: 0.75rem;\\n\"])));\nvar StyledGeography = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 0.75rem;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 0.75rem;\\n\"])));\nvar Title = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n padding-bottop: 1rem;\\n font-weight: 700;\\n\"], [\"\\n padding-bottop: 1rem;\\n font-weight: 700;\\n\"])));\nexport var LegendTransparencyTab = function (props) {\n var _a = useViewValue('mapView', 'showGeographyHoverDisplay'), show = _a[0], setShow = _a[1];\n return (React.createElement(StyledWrapper, null,\n React.createElement(LegendSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n React.createElement(StyledGeography, null,\n React.createElement(Title, null, \"Geography Hover Display\"),\n React.createElement(ToggleButton, { show: show, toggle: function () { return setShow(!show); } })),\n React.createElement(StyledTransparency, null,\n React.createElement(Title, null, \"Transparency Settings\"),\n React.createElement(TransparencyControl, null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useState } from 'react';\nimport styled from 'styled-components';\nimport { ListGroup, ListGroupItem, TabContent, TabPane } from 'reactstrap';\nimport { useToggle } from '../hooks';\nimport { IconButton } from '../common';\nimport { FilterTab } from './filtertab';\nimport { LegendTransparencyTab } from './legendtransparencytab';\nvar StyledFilterSidebar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n z-index: 99;\\n height: 100%;\\n width: 0;\\n position: relative;\\n\"], [\"\\n z-index: 99;\\n height: 100%;\\n width: 0;\\n position: relative;\\n\"])));\nvar Sidebar = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-top: 0;\\n position: absolute;\\n left: 0;\\n transform: translateX(-20.5rem);\\n width: 20rem;\\n background-color: white;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33); \\n min-height: 100%;\\n max-height: 100%;\\n overflow: auto;\\n \", \"\\n\"], [\"\\n padding: 1rem;\\n padding-top: 0;\\n position: absolute;\\n left: 0;\\n transform: translateX(-20.5rem);\\n width: 20rem;\\n background-color: white;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33); \\n min-height: 100%;\\n max-height: 100%;\\n overflow: auto;\\n \", \"\\n\"])), function (props) { return (props.collapsed ? \"transform: translateX(0)\" : ''); });\nvar StyledButton = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: absolute;\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n top: 50%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 99;\\n \", \"\\n :focus, :active {\\n background-color: hsla(0, 0%, 0%, 0.3);\\n }\\n\"], [\"\\n position: absolute;\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n top: 50%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 99;\\n \", \"\\n :focus, :active {\\n background-color: hsla(0, 0%, 0%, 0.3);\\n }\\n\"])), function (props) { return (props.collapsed ? \"transform: translate(20rem, -50%);\" : ''); });\nvar PanelHeader = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.75rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.75rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"])));\nvar Title = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar StyledTabsContainer = styled(ListGroup)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"])));\nvar StyleTabSelector = styled(ListGroupItem)(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"], [\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"])));\nvar TabSelector = React.memo(function (props) {\n var setActiveTab = props.setActiveTab;\n var handleClick = useCallback(function () {\n setActiveTab(props.tabId);\n }, [props.tabId, setActiveTab]);\n return (React.createElement(StyleTabSelector, { action: true, disabled: props.disabled, active: props.activeTab === props.tabId, onClick: handleClick }, props.children));\n});\nexport var FilterSidebar = function (props) {\n var _a = useToggle(), collapsed = _a[0], toggleCollapsed = _a[1];\n var _b = useState('1'), activeTab = _b[0], setActiveTab = _b[1];\n return (React.createElement(StyledFilterSidebar, null,\n React.createElement(Sidebar, { collapsed: collapsed },\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Display Settings\")),\n React.createElement(StyledTabsContainer, { horizontal: true },\n React.createElement(TabSelector, { tabId: \"1\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Filters\"),\n React.createElement(TabSelector, { tabId: \"2\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Other Settings\")),\n React.createElement(TabContent, { activeTab: activeTab },\n React.createElement(TabPane, { tabId: \"1\" },\n React.createElement(FilterTab, { showVaccine: props.showVaccine, showFluVaccine: props.showFluVaccine, toggleFilterDialog: props.toggleFilterDialog })),\n React.createElement(TabPane, { tabId: \"2\" },\n React.createElement(LegendTransparencyTab, { toggleFilterDialog: props.toggleFilterDialog })))),\n React.createElement(StyledButton, { collapsed: collapsed },\n React.createElement(IconButton, { icon: collapsed ? 'caret-left' : 'caret-right', size: \"2x\", style: { padding: 0 }, onClick: toggleCollapsed, title: collapsed ? 'Hide Display Settings' : 'Show Display Settings', placement: \"right\" }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport { DropdownItem, DropdownItemCheck, DropdownToggleIcon } from '../common';\nimport { useAPI, useFilterSetting, useViewValue } from '../state';\nimport { ClinicalTrialOptionEnum } from '../enums';\nvar GET_AVAIABLE_MAP_LAYER_LIST_API = '/api/map-layer/get-all-that-belong-to-the-logged-user-index';\nvar StyledSubMenuItem = styled(UncontrolledDropdown)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nexport var useMapLayerListAPI = function () {\n return useAPI(GET_AVAIABLE_MAP_LAYER_LIST_API);\n};\nvar ImportingLocationSubType = function (props) {\n var _a = useViewValue('showMapLayerMenu'), setShowMapLayerMenu = _a[1];\n var _b = useViewValue('importingLocationTypes', \"\" + props.id), selectingType = _b[0], setSelectingType = _b[1];\n var checked = selectingType === props.value;\n var handleClick = function () {\n setSelectingType(checked ? undefined : props.value);\n setShowMapLayerMenu();\n };\n return React.createElement(DropdownItemCheck, { checked: checked, onChange: handleClick, value: props.value, label: props.label });\n};\nvar ImportingLocationItem = function (props) {\n var _a = useViewValue('importingLocationTypes', \"\" + props.payload.id), selectingType = _a[0], setSelectingType = _a[1];\n var checked = !!selectingType;\n var handleClick = function () {\n setSelectingType(checked ? undefined : ClinicalTrialOptionEnum.TrialsRelated);\n };\n return (React.createElement(DropdownItemCheck, { disabled: props.disabled, tag: StyledSubMenuItem, checked: checked, onChange: handleClick, value: props.payload.id, label: props.payload.name, icon: props.payload.displayIcon, direction: \"right\" },\n React.createElement(DropdownToggleIcon, { disabled: props.disabled, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0 ml-auto\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(ImportingLocationSubType, { id: props.payload.id, value: ClinicalTrialOptionEnum.TrialsRelated, label: \"Show trials related to currently selected conditions\" }),\n React.createElement(ImportingLocationSubType, { id: props.payload.id, value: ClinicalTrialOptionEnum.AllTrials, label: \"Show all trials\" }))));\n};\nvar ImportingLocationMenu = function () {\n var _a;\n var mapLayerData = useMapLayerListAPI()[0];\n var filterSetting = useFilterSetting();\n var disabled = !filterSetting.available;\n return (React.createElement(React.Fragment, null, (_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.map(function (ml) { return (React.createElement(ImportingLocationItem, { disabled: disabled, key: ml.id, payload: ml })); })));\n};\nexport var LocationMenu = function (props) {\n var _a;\n var mapLayerData = useMapLayerListAPI()[0];\n if (!props.children && !((_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.length))\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Locations\"),\n props.children,\n React.createElement(ImportingLocationMenu, null)));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { DropdownMenu, UncontrolledDropdown } from 'reactstrap';\nimport { DropdownItem, DropdownItemCheck, DropdownItemCheckList, DropdownToggleIcon, Input, ThreeDotLoading } from '../common';\nimport { useMount, useToggle } from '../hooks';\nimport { useCachedData } from '../state';\nimport { useProviderSetting } from '../selectors';\nvar GET_SPECIALISTS_API_URL = '/api/provider/get-specialists';\nvar StyledSpecialists = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"], [\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"])));\nvar ProviderSelectItem = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: pointer;\\n\"], [\"\\n cursor: pointer;\\n\"])));\nvar StyledSubMenuItem = styled(UncontrolledDropdown)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nexport var ProviderMenu = function () {\n var _a, _b;\n var _c = useCachedData(GET_SPECIALISTS_API_URL), specialistsData = _c[0], fetchSpecialistsData = _c[1];\n var _d = useToggle(), doGetPrimaryCareProvider = _d[0], toggleDoGetPrimaryCareProvider = _d[1], setDoGetPrimaryCareProvider = _d[2];\n var _e = useToggle(), doGetHospitalProvider = _e[0], toggleDoGetHospitalProvider = _e[1], setDoGetHospitalProvider = _e[2];\n var _f = useState(), specialistProviders = _f[0], setSpecialistProviders = _f[1];\n var _g = useProviderSetting(), providerSetting = _g[0], setProviderSetting = _g[1];\n var disabled = providerSetting.disabled;\n var disabledSpecialistProvider = disabled || !specialistsData.data;\n var _h = useState(''), specialistsSearchText = _h[0], setSpecialistsSearchText = _h[1];\n var providerSettingRef = useRef();\n useMount(function () {\n fetchSpecialistsData();\n });\n useEffect(function () {\n providerSettingRef.current = {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n };\n }, [doGetPrimaryCareProvider, doGetHospitalProvider, specialistProviders]);\n useMount(function () { return function () {\n setProviderSetting(__assign(__assign({}, providerSetting), providerSettingRef.current));\n }; });\n useEffect(function () {\n setDoGetPrimaryCareProvider(!!(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider));\n setDoGetHospitalProvider(!!(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider));\n setSpecialistProviders(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider, providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider, providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders]);\n var handleClickSpecialists = function () {\n var _a;\n setSpecialistProviders((specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length) ? [] : (_a = specialistsData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.code; }));\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Providers\"),\n React.createElement(DropdownItemCheck, { tag: ProviderSelectItem, toggle: false, icon: \"clinic-medical\", label: \"Primary Care\", checked: doGetPrimaryCareProvider, onChange: toggleDoGetPrimaryCareProvider, disabled: disabled }),\n React.createElement(DropdownItemCheck, { disabled: disabledSpecialistProvider, toggle: false, icon: \"stethoscope\", tag: StyledSubMenuItem, direction: \"right\", checked: !!(specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length), onChange: handleClickSpecialists, partial: (specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length) !== ((_a = specialistsData.data) === null || _a === void 0 ? void 0 : _a.length) },\n React.createElement(\"span\", { className: \"flex-grow-1\" },\n \"Specialists \",\n React.createElement(ThreeDotLoading, { loading: specialistsData.requesting })),\n React.createElement(DropdownToggleIcon, { disabled: disabledSpecialistProvider, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(\"div\", { className: \"py-2 pr-4 pl-5\" },\n React.createElement(Input, { name: \"search\", placeholder: \"Search....\", value: specialistsSearchText, onChange: function (event) {\n setSpecialistsSearchText(event.target.value);\n event.stopPropagation();\n } })),\n React.createElement(StyledSpecialists, null, (_b = specialistsData.data) === null || _b === void 0 ? void 0 : _b.sort(function (a, b) { return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); }).filter(function (i) { return !specialistsSearchText || i.name.toLowerCase().includes(specialistsSearchText.toLowerCase()); }).map(function (item) { return (React.createElement(DropdownItemCheckList, { values: specialistProviders, onChange: setSpecialistProviders, value: item.code, key: item.code, tag: ProviderSelectItem, toggle: false, label: item.name })); })))),\n React.createElement(DropdownItemCheck, { disabled: disabled, tag: ProviderSelectItem, toggle: false, icon: \"hospital-symbol\", label: \"Hospitals\", checked: doGetHospitalProvider, onChange: toggleDoGetHospitalProvider })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport { ClinicalTrialOptionEnum, ClinicalTrialStatusEnum } from '../enums';\nimport { useFilterSetting, useViewValue } from '../state';\nimport { DropdownItemCheck, DropdownItemCheckList, DropdownToggleIcon } from '../common';\nimport { useMount } from '../hooks';\nvar CLINICALTRIALS_GOV_OPTIONS = [\n {\n value: ClinicalTrialOptionEnum.TrialsRelated,\n label: 'Show trials related to currently selected conditions',\n },\n {\n value: ClinicalTrialOptionEnum.AllTrials,\n label: 'Show all trials',\n },\n];\nvar CLINICAL_TRIAL_STATUS_DATA = [\n {\n value: ClinicalTrialStatusEnum.NotYetRecruiting,\n label: 'Not yet recruiting',\n },\n {\n value: ClinicalTrialStatusEnum.Recruiting,\n label: 'Recruiting',\n },\n {\n value: ClinicalTrialStatusEnum.EnrollingByInvitation,\n label: 'Enrolling by invitation',\n },\n {\n value: ClinicalTrialStatusEnum.ActiveNotRecruiting,\n label: 'Active not recruiting',\n },\n];\nvar ALL_CLINICAL_TRIAL_STATUS = CLINICAL_TRIAL_STATUS_DATA === null || CLINICAL_TRIAL_STATUS_DATA === void 0 ? void 0 : CLINICAL_TRIAL_STATUS_DATA.map(function (i) { return i.value; });\nvar StyledSubMenuClinicalTrialsItem = styled(UncontrolledDropdown)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nvar StyledSubMenuClinicalTrialsStatusItem = styled(UncontrolledDropdown)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\"])));\nvar StyledClinicalTrialOption = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"], [\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"])));\nexport var ClinicalTrialMenu = function () {\n var _a = useViewValue('clinicalTrial', 'clinicalTrialOption'), clinicalTrialOption = _a[0], setClinicalTrialOption = _a[1];\n var _b = useViewValue('clinicalTrialStatus'), clinicalTrialStatus = _b[0], setClinicalTrialStatus = _b[1];\n var _c = useState(), filterRecruitmentStatuses = _c[0], setFilterRecruitmentStatuses = _c[1];\n var _d = useViewValue('showMapLayerMenu'), setShowMapLayerMenu = _d[1];\n var filterSetting = useFilterSetting();\n var disabled = !filterSetting.available;\n var clinicalTrialStatusRef = useRef();\n useEffect(function () {\n clinicalTrialStatusRef.current = {\n filterRecruitmentStatuses: filterRecruitmentStatuses,\n };\n }, [filterRecruitmentStatuses]);\n useMount(function () { return function () {\n setClinicalTrialStatus(__assign(__assign({}, clinicalTrialStatus), clinicalTrialStatusRef.current));\n }; });\n useEffect(function () {\n if (!clinicalTrialOption) {\n setFilterRecruitmentStatuses(ALL_CLINICAL_TRIAL_STATUS);\n }\n else {\n setFilterRecruitmentStatuses(clinicalTrialStatus === null || clinicalTrialStatus === void 0 ? void 0 : clinicalTrialStatus.filterRecruitmentStatuses);\n }\n }, [clinicalTrialOption, clinicalTrialStatus === null || clinicalTrialStatus === void 0 ? void 0 : clinicalTrialStatus.filterRecruitmentStatuses]);\n var handleClickClinicalTrialItem = function () {\n setClinicalTrialOption(!clinicalTrialOption ? ClinicalTrialOptionEnum.TrialsRelated : undefined);\n };\n var handleClickClinicalTrialStatus = function () {\n setFilterRecruitmentStatuses((filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length) ? [] : ALL_CLINICAL_TRIAL_STATUS);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItemCheck, { disabled: disabled, icon: \"notes-medical\", tag: StyledSubMenuClinicalTrialsItem, direction: \"right\", checked: !!clinicalTrialOption, onChange: handleClickClinicalTrialItem },\n React.createElement(\"span\", { className: \"flex-grow-1\" }, \"ClinicalTrials.gov\"),\n React.createElement(DropdownToggleIcon, { disabled: disabled, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(\"div\", null,\n React.createElement(DropdownItemCheck, { tag: StyledSubMenuClinicalTrialsItem, direction: \"right\", checked: !!(filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length), onChange: handleClickClinicalTrialStatus, partial: (filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length) !== (CLINICAL_TRIAL_STATUS_DATA === null || CLINICAL_TRIAL_STATUS_DATA === void 0 ? void 0 : CLINICAL_TRIAL_STATUS_DATA.length) },\n React.createElement(\"span\", { className: \"flex-grow-1\" }, \"Clinical Trial Status\"),\n React.createElement(DropdownToggleIcon, { onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(StyledClinicalTrialOption, null, CLINICAL_TRIAL_STATUS_DATA.map(function (item) { return (React.createElement(DropdownItemCheckList, { values: filterRecruitmentStatuses, onChange: setFilterRecruitmentStatuses, value: item.value, key: item.value, tag: StyledSubMenuClinicalTrialsStatusItem, direction: \"right\", toggle: false, label: item.label })); })))),\n CLINICALTRIALS_GOV_OPTIONS.map(function (item) {\n var checked = item.value === clinicalTrialOption;\n var handleChange = function (value) {\n setClinicalTrialOption(checked ? undefined : value);\n setShowMapLayerMenu();\n };\n return React.createElement(DropdownItemCheck, __assign({}, item, { key: item.value, checked: checked, onChange: handleChange }));\n }))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { DropdownMenu, Dropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { DropdownToggleIcon } from '../common';\nimport { ViewModeEnum } from '../enums';\nimport { useViewValue } from '../state/viewsetting';\nimport { LocationMenu, useMapLayerListAPI } from './locationmenu';\nvar DropdownMenuStyle = styled(DropdownMenu)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-height: 80vh;\\n overflow-y: auto;\\n\"], [\"\\n max-height: 80vh;\\n overflow-y: auto;\\n\"])));\nexport var MapLayerMenu = function (props) {\n var _a;\n var viewMode = useViewValue('viewMode')[0];\n var _b = useViewValue('showMapLayerMenu'), showMapLayerMenu = _b[0], setShowMapLayerMenu = _b[1];\n var _c = useMapLayerListAPI(), mapLayerData = _c[0], fetchMapLayerData = _c[1];\n var hasFixedChildren = React.Children.toArray(props.children).some(function (c) { var _a; return (c === null || c === void 0 ? void 0 : c.type) !== LocationMenu || ((_a = c === null || c === void 0 ? void 0 : c.props) === null || _a === void 0 ? void 0 : _a.children); });\n useEffect(function () {\n if (mapLayerData.requesting === undefined || (showMapLayerMenu && !mapLayerData.requesting)) {\n fetchMapLayerData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showMapLayerMenu]);\n if (viewMode !== ViewModeEnum.Map || (!hasFixedChildren && !((_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.length)))\n return null;\n return (React.createElement(Dropdown, { isOpen: showMapLayerMenu, toggle: function () { return setShowMapLayerMenu(!showMapLayerMenu); } },\n React.createElement(DropdownToggleIcon, { icon: \"layer-group\", size: \"2x\", title: \"Choose layers to display\", placement: \"top\" }),\n React.createElement(DropdownMenuStyle, { flip: false }, props.children)));\n};\nexport * from './providermenu';\nexport * from './locationmenu';\nexport * from './clinicaltrialmenu';\nexport * from './questdiagnosticsmenu';\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { ResponsiveContainer, ComposedChart, CartesianGrid, XAxis, YAxis, Bar, Tooltip, } from 'recharts';\nimport { useTranslation } from 'react-i18next';\nimport { getDisplayText } from '../utils';\nvar BAR_COLOR = '#00008b';\nvar NoDataMessage = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n\"], [\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n\"])));\nvar ResponsiveContainerWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"], [\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"])), function (props) { return (typeof props.width === 'string' ? props.width : props.width ? props.width / 16 + \"rem\" : '100%'); }, function (props) { return (typeof props.height === 'string' ? props.height : props.height ? props.height / 16 + \"rem\" : '100%'); });\nexport var BarComponent = function (props) {\n var _a;\n var t = useTranslation().t;\n var meetMinimumThreshold = !!((_a = props.data) === null || _a === void 0 ? void 0 : _a.length);\n var tickFormatter = useCallback(function (value) { return (meetMinimumThreshold ? getDisplayText(value) : ''); }, [meetMinimumThreshold]);\n var labelFormatter = useCallback(function () { return ''; }, []);\n var tooltipFormatter = useCallback(function (value, name, entry) { return [getDisplayText(entry.payload.value, '', entry.payload.prefix), entry.payload.name]; }, []);\n return (React.createElement(React.Fragment, null,\n React.createElement(ResponsiveContainerWrapper, { width: props.width, height: props.height },\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(ComposedChart, { data: props.data },\n React.createElement(CartesianGrid, { vertical: false }),\n React.createElement(XAxis, { dataKey: \"name\", interval: 0, angle: -45, textAnchor: \"end\", height: 85 }),\n React.createElement(YAxis, { angle: -45, width: 85, tickLine: meetMinimumThreshold, tickFormatter: tickFormatter }),\n React.createElement(Bar, { dataKey: \"value\", isAnimationActive: false, fill: BAR_COLOR, maxBarSize: 20 }),\n meetMinimumThreshold && React.createElement(Tooltip, { isAnimationActive: false, labelFormatter: labelFormatter, formatter: tooltipFormatter })))),\n !meetMinimumThreshold && React.createElement(NoDataMessage, null, t('demographicchart.nomeetminimumthreshold.msg'))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChartPie, faChartBar } from '@fortawesome/free-solid-svg-icons';\nimport { useTranslation } from 'react-i18next';\nimport { PieComponent } from './pie';\nimport { BarComponent } from './bar';\nimport { useChartData } from './usechartdata';\nimport { ViewModeEnum, ChartViewEnum, StatisticTypeEnum } from '../enums';\nimport { FallbackComponent } from '../common';\nimport { useViewValue, useFilterValue } from '../state';\nimport { DEMOGRAPHIC_CHART_OPTIONS } from '../configs';\nvar CHART_COMPONENT_BY_TYPE = {\n pie: PieComponent,\n bar: BarComponent,\n};\nvar StyledDemographicChart = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem;\\n width: 100%;\\n\"], [\"\\n padding: 1rem;\\n width: 100%;\\n\"])));\nvar Title = styled.h4(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar Body = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"])));\nvar StyledChartContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex-basis: 33%;\\n padding: 0.25rem;\\n\"], [\"\\n flex-basis: 33%;\\n padding: 0.25rem;\\n\"])));\nvar ChartContainerTitle = styled.h5(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: center;\\n\"], [\"\\n text-align: center;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n position: relative;\\n min-width: 18rem;\\n height: 18rem;\\n\"], [\"\\n position: relative;\\n min-width: 18rem;\\n height: 18rem;\\n\"])));\nvar ChartControl = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n padding-bottom: 0.5rem;\\n display: flex;\\n justify-content: center;\\n\"], [\"\\n padding-bottom: 0.5rem;\\n display: flex;\\n justify-content: center;\\n\"])));\nvar StyledSwitchTypeButton = styled.a(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n margin: 0 0.25rem;\\n cursor: pointer;\\n \", \"\\n &:hover {\\n opacity: 0.7;\\n }\\n\"], [\"\\n margin: 0 0.25rem;\\n cursor: pointer;\\n \", \"\\n &:hover {\\n opacity: 0.7;\\n }\\n\"])), function (props) { return (!props.active ? 'color: #c1c1c1 !important;' : ''); });\nvar ChartTypeButton = function (props) {\n var onClick = props.onClick, type = props.type;\n var handleClick = useCallback(function () {\n onClick(type);\n }, [onClick, type]);\n return (React.createElement(StyledSwitchTypeButton, { active: props.activeType === props.type, onClick: handleClick },\n React.createElement(FontAwesomeIcon, { icon: props.icon })));\n};\nvar ChartContainer = function (props) {\n var _a = useViewValue('chartView', props.type), chartType = _a[0], setChartType = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var ChartComponent = CHART_COMPONENT_BY_TYPE[chartType];\n var _b = props.data || [], data = _b[0], retry = _b[1];\n return (React.createElement(StyledChartContainer, null,\n React.createElement(ChartContainerTitle, null, props.title),\n React.createElement(ChartControl, null,\n React.createElement(ChartTypeButton, { activeType: chartType, type: \"pie\", icon: faChartPie, onClick: setChartType }),\n React.createElement(ChartTypeButton, { activeType: chartType, type: \"bar\", icon: faChartBar, onClick: setChartType })),\n React.createElement(StyledChartComponent, null,\n React.createElement(FallbackComponent, { requesting: data === null || data === void 0 ? void 0 : data.requesting, error: data === null || data === void 0 ? void 0 : data.error, retry: retry },\n React.createElement(ChartComponent, { inline: true, type: props.type, data: data === null || data === void 0 ? void 0 : data.data, percentage: statistic === StatisticTypeEnum.Prevalence })))));\n};\nexport var DemographicChartComponent = function () {\n var t = useTranslation().t;\n var _a = useChartData(), chartData = _a[0], fetchChartData = _a[1];\n var viewMode = useViewValue('viewMode')[0];\n var chartType = useViewValue('chartView', 'type')[0];\n var demographics = useViewValue('chartView', 'demographics')[0];\n var isShow = viewMode === ViewModeEnum.Chart && chartType === ChartViewEnum.Demographic;\n useEffect(function () {\n fetchChartData();\n }, [fetchChartData]);\n if (!isShow)\n return null;\n return (React.createElement(StyledDemographicChart, null,\n React.createElement(Title, null, t('demographicchart.title')),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: chartData.requesting || chartData.requesting === undefined, error: chartData.error, retry: fetchChartData }, demographics === null || demographics === void 0 ? void 0 : demographics.map(function (type) {\n var _a, _b;\n return (React.createElement(ChartContainer, { key: type, type: type, title: ((_a = DEMOGRAPHIC_CHART_OPTIONS.find(function (option) { return option.value === type; })) === null || _a === void 0 ? void 0 : _a.label) || type, data: (_b = chartData.data) === null || _b === void 0 ? void 0 : _b[type] }));\n })))));\n};\nexport * from './usechartdata';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { DataSourceEnum } from '../enums';\nimport { useFilterSetting, useViewValue } from '../state';\nexport var useProviderSetting = function (edittingFilterSetting) {\n var _a, _b;\n var _c = useViewValue('provider'), providerSetting = _c[0], setProviderSetting = _c[1];\n var filterSetting = useFilterSetting();\n var checkingSetting = edittingFilterSetting || filterSetting;\n var disabled = !checkingSetting.available || checkingSetting.isAggregatedDataSource || ((_a = checkingSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource) === DataSourceEnum.Medicaid;\n var available = !disabled && ((providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider) || (providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider) || !!((_b = providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders) === null || _b === void 0 ? void 0 : _b.length));\n return [__assign(__assign({}, providerSetting), { disabled: disabled, available: available }), setProviderSetting];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar LOCATOR_CLINICALTRIAL_API_URL = '/api/clinical-trials/get-clinical-trial-sites';\nvar clinicalTrialsSelector = function (state) { return state === null || state === void 0 ? void 0 : state.clinicalTrials; };\nvar clinicalTrialMapSelector = createSelector(clinicalTrialsSelector, function (clinicalTrials) {\n return _.keyBy(clinicalTrials, function (_a) {\n var nctId = _a.nctId, facilityName = _a.facilityName, zipcode = _a.zipcode;\n return nctId + \"-\" + facilityName + \"-\" + zipcode;\n });\n});\nvar createClinicalTrialSelector = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, nctId = _b.nctId, facilityName = _b.facilityName, zipcode = _b.zipcode;\n return createSelector(clinicalTrialMapSelector, function (map) { return map[nctId + \"-\" + facilityName + \"-\" + zipcode]; });\n};\nexport var useClinicalTrialGovApi = function () {\n return useAPI(LOCATOR_CLINICALTRIAL_API_URL, undefined, 'POST');\n};\nexport var useClinicalTrialDetail = function (id) {\n var clinicalTrialGovData = useClinicalTrialGovApi()[0];\n var clinicalTrialSelector = useMemo(function () { return createClinicalTrialSelector(id); }, [id]);\n return clinicalTrialSelector(clinicalTrialGovData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar LOCATOR_PROVIDER_API_URL = '/api/provider/get-demographic-patient-count-related-to-provider';\nvar providersSelector = function (state) { return state === null || state === void 0 ? void 0 : state.providers; };\nvar providerMapSelector = createSelector(providersSelector, function (providers) { return _.keyBy(providers, 'providerNpiNumber'); });\nvar createProviderDetailSelector = function (_a) {\n var providerNpiNumber = (_a === void 0 ? Object.assign({}) : _a).providerNpiNumber;\n return createSelector(providerMapSelector, function (map) { return map[\"\" + providerNpiNumber]; });\n};\nexport var useProviderData = function () {\n return useAPI(LOCATOR_PROVIDER_API_URL, undefined, 'POST');\n};\nexport var useProviderDetail = function (id) {\n var providerData = useProviderData()[0];\n var providerDetailSelector = useMemo(function () { return createProviderDetailSelector(id); }, [id]);\n return providerDetailSelector(providerData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar MAP_LAYER_LOCATOR_API = '/api/map-layer/{id}';\nvar mapLayerLocationsSelector = function (state) { return state; };\nvar mapLayerLocationMapSelector = createSelector(mapLayerLocationsSelector, function (mapLayerLocations) { return _.keyBy(mapLayerLocations, 'id'); });\nvar createMapLayerLocationSelector = function (id) { return createSelector(mapLayerLocationMapSelector, function (map) { return map[\"\" + id]; }); };\nexport var useCustomMapLayerLocationData = function (mapLayerId) {\n return useAPI(MAP_LAYER_LOCATOR_API, { id: mapLayerId }, 'POST');\n};\nexport var useCustomMapLayerDetail = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, id = _b.id, mapLayerId = _b.mapLayerId;\n var customMapLayerLocationData = useCustomMapLayerLocationData(mapLayerId)[0];\n var providerDetailSelector = useMemo(function () { return createMapLayerLocationSelector(id); }, [id]);\n return providerDetailSelector(customMapLayerLocationData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from \"react\";\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from \"../state\";\nvar LOCATOR_QUEST_DIAGNOSTICS_API_URL = '/api/quest-diagnostics/get-quest-diagnostics-sites';\nvar questDiagnosticsSelector = function (state) { return state === null || state === void 0 ? void 0 : state.questDiagnosticsSites; };\nvar questDiagnosticsMapSelector = createSelector(questDiagnosticsSelector, function (questDiagnostics) {\n return _.keyBy(questDiagnostics, function (_a) {\n var id = _a.id, site_code = _a.site_code, zip_code = _a.zip_code;\n return id + \"-\" + site_code + \"-\" + zip_code;\n });\n});\nvar createQuestDiagnosticsSelector = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, id = _b.id, site_code = _b.site_code, zip_code = _b.zip_code;\n return createSelector(questDiagnosticsMapSelector, function (map) { return map[id + \"-\" + site_code + \"-\" + zip_code]; });\n};\nexport var useQuestDiagnosticsApi = function () {\n return useAPI(LOCATOR_QUEST_DIAGNOSTICS_API_URL, undefined, 'POST');\n};\nexport var useQuestDiagnosticsDetail = function (id) {\n var questDiagnosticsData = useQuestDiagnosticsApi()[0];\n var questDiagnosticsSelector = useMemo(function () { return createQuestDiagnosticsSelector(id); }, [id]);\n return questDiagnosticsSelector(questDiagnosticsData.data);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport { useMemo, useCallback } from 'react';\nimport { StatisticTypeEnum, GeoLevelEnum, ViewModeEnum } from '../../enums';\nimport { cookLegendBreaks, getBreakIdx, roundNumber } from '../../utils';\nimport { useAPI } from '../../state';\nimport { useViewValue, useFilterSetting, exportFilterSettingPayload } from '../../state';\nimport { getStatisticOption, processStatisticValue, getStatisticPrecision } from '../../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../../hostnameindexinfo';\nvar API_URL_GET_AGGREGATED_DATA = '/api/data-file/get-aggregated-data-for-map';\nvar API_URL_CALCULATE_STATISTIC = '/api/stats/{hostname}/calculate-statistic-for-map';\nvar API_URL_CALCULATE_STATISTIC_PROXY = '/api/{hostname}/calculate-statistic-for-map';\nexport var extractGeneralFilterInfo = function (data, statistic) {\n var statisticConfig = getStatisticOption(statistic);\n var _a = (data || {}).percentage, percentage = _a === void 0 ? statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.percentage : _a;\n return {\n percentage: percentage,\n suffix: percentage ? '%' : '',\n prefix: statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.preUnit,\n };\n};\nexport var useMapData = function () {\n var _a, _b;\n var indexConfig = useHostnameIndexInfo();\n var filterSetting = useFilterSetting();\n var apiUrl = useMemo(function () {\n if (filterSetting.isAggregatedDataSource)\n return API_URL_GET_AGGREGATED_DATA;\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname)\n return API_URL_CALCULATE_STATISTIC_PROXY;\n return API_URL_CALCULATE_STATISTIC;\n }, [filterSetting.isAggregatedDataSource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname]);\n var _c = useAPI(apiUrl, { hostname: extractHostname() }, 'POST'), mapData = _c[0], fetchMapData = _c[1], resetState = _c[2];\n var geoLevel = useViewValue('geoType')[0];\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var percentage = extractGeneralFilterInfo((_b = mapData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData, statistic).percentage;\n var extractedData = useMemo(function () {\n var _a;\n return mapData.data && __assign(__assign({}, mapData.data.mapStatisticResponsingData), { breakLegendInfo: cookLegendBreaks((_a = mapData.data.mapStatisticResponsingData) === null || _a === void 0 ? void 0 : _a.breakLegendInfo, percentage, getStatisticPrecision(statistic)) });\n }, [mapData.data, percentage, statistic]);\n var fetchMapDataWrapped = useCallback(function () {\n if (filterSetting.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSetting);\n fetchMapData(__assign(__assign({}, payload), { displayOption: { displayOptionType: ViewModeEnum.Map, mapView: { type: geoLevel } } }));\n }\n }, [fetchMapData, filterSetting, geoLevel]);\n return [__assign(__assign({}, mapData), { data: extractedData }), fetchMapDataWrapped, resetState];\n};\nexport var extractGeoData = function (id, filterSetting, geoLevel, data) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15;\n if (id === void 0) { id = ''; }\n var isAggregated = filterSetting.isAggregatedDataSource;\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var _16 = extractGeneralFilterInfo(data, statistic), percentage = _16.percentage, suffix = _16.suffix, prefix = _16.prefix;\n var value;\n var numerator, denominator, eventCount;\n var geographic, geographicNumerator, geographicDenominator, geographicEventCount;\n var nationalDemographic, nationalDemographicNumerator, nationalDemographicDenominator, nationalDemographicEventCount;\n var nationalAggregatedValue;\n var patientPopulation, nationalPatientPopulation;\n if (isAggregated) {\n var aggregatedId = geoLevel === GeoLevelEnum.Zip3 ? id.split('-')[1] : id;\n value = processStatisticValue((_b = data === null || data === void 0 ? void 0 : data.preAggregatedPopulationStatisticData) === null || _b === void 0 ? void 0 : _b[aggregatedId], percentage, statistic);\n geographic = value;\n nationalAggregatedValue = data === null || data === void 0 ? void 0 : data.nationalAggregatedValue;\n nationalDemographic = nationalAggregatedValue;\n }\n else {\n numerator = roundNumber(processStatisticValue(((_d = (_c = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _c === void 0 ? void 0 : _c.mapPatientCount) === null || _d === void 0 ? void 0 : _d[id]) || ((_f = (_e = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _e === void 0 ? void 0 : _e.mapTotalRateOfAcuteEventSelectedDemographic) === null || _f === void 0 ? void 0 : _f[id]) || ((_h = (_g = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _g === void 0 ? void 0 : _g.mapCostOfAcuteEventSelectedDemographic) === null || _h === void 0 ? void 0 : _h[id]), false, statistic));\n denominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_k = (_j = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _j === void 0 ? void 0 : _j.mapPatientPopulationCount) === null || _k === void 0 ? void 0 : _k[id]) || ((_m = (_l = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _l === void 0 ? void 0 : _l.mapPatientCountSelectedDemographic) === null || _m === void 0 ? void 0 : _m[id]) || ((_p = (_o = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _o === void 0 ? void 0 : _o.mapPatientCountSelectedDemographic) === null || _p === void 0 ? void 0 : _p[id]);\n value = processStatisticValue(numerator && denominator && numerator / denominator, percentage, statistic);\n patientPopulation = (_r = (_q = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _q === void 0 ? void 0 : _q.mapPatientPopulationCount) === null || _r === void 0 ? void 0 : _r[id];\n eventCount = (_t = (_s = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _s === void 0 ? void 0 : _s.mapCostOfAcuteEventHospitalizationVisit) === null || _t === void 0 ? void 0 : _t[id];\n geographicEventCount = (_v = (_u = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _u === void 0 ? void 0 : _u.mapCostOfAcuteEventHospitalizationVisitAllDemographic) === null || _v === void 0 ? void 0 : _v[id];\n geographicNumerator = roundNumber(processStatisticValue(((_x = (_w = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _w === void 0 ? void 0 : _w.mapPatientCount) === null || _x === void 0 ? void 0 : _x[id]) || ((_z = (_y = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _y === void 0 ? void 0 : _y.mapTotalRateOfAcuteEventAllDemographic) === null || _z === void 0 ? void 0 : _z[id]) || ((_1 = (_0 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _0 === void 0 ? void 0 : _0.mapCostOfAcuteEventAllDemographic) === null || _1 === void 0 ? void 0 : _1[id]), false, statistic));\n geographicDenominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_3 = (_2 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _2 === void 0 ? void 0 : _2.mapPatientPopulationCount) === null || _3 === void 0 ? void 0 : _3[id]) || ((_5 = (_4 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _4 === void 0 ? void 0 : _4.mapPatientCountAllDemographic) === null || _5 === void 0 ? void 0 : _5[id]) || ((_7 = (_6 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _6 === void 0 ? void 0 : _6.mapPatientCountAllDemographic) === null || _7 === void 0 ? void 0 : _7[id]);\n geographic = processStatisticValue(geographicNumerator && geographicDenominator && geographicNumerator / geographicDenominator, percentage, statistic);\n nationalDemographicEventCount = (_8 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _8 === void 0 ? void 0 : _8.nationalDemographicSumUpHospVisit;\n nationalDemographicNumerator = roundNumber(((_9 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _9 === void 0 ? void 0 : _9.nationalPatientCount) || ((_10 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _10 === void 0 ? void 0 : _10.nationalDemographicSumUpRateOfAcuteEvent) || ((_11 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _11 === void 0 ? void 0 : _11.nationalDemographicSumUpCostOfAcuteEvent));\n nationalDemographicDenominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_12 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _12 === void 0 ? void 0 : _12.nationalPopulationCount) || ((_13 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _13 === void 0 ? void 0 : _13.nationalDemographicPatientCount) || ((_14 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _14 === void 0 ? void 0 : _14.nationalDemographicPatientCount);\n nationalDemographic = processStatisticValue(nationalDemographicNumerator && nationalDemographicDenominator && nationalDemographicNumerator / nationalDemographicDenominator, percentage, statistic);\n nationalPatientPopulation = (_15 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _15 === void 0 ? void 0 : _15.nationalPopulationCount;\n }\n return {\n isAggregated: isAggregated,\n suffix: suffix,\n prefix: prefix,\n breakIdx: getBreakIdx(data === null || data === void 0 ? void 0 : data.breakLegendInfo, value),\n value: value,\n numerator: numerator,\n denominator: denominator,\n eventCount: eventCount,\n patientPopulation: patientPopulation,\n geographic: geographic,\n geographicNumerator: geographicNumerator,\n geographicDenominator: geographicDenominator,\n geographicEventCount: geographicEventCount,\n national: nationalDemographic,\n nationalNumerator: nationalDemographicNumerator,\n nationalDenominator: nationalDemographicDenominator,\n nationalEventCount: nationalDemographicEventCount,\n nationalDemographic: nationalDemographic,\n nationalDemographicNumerator: nationalDemographicNumerator,\n nationalDemographicDenominator: nationalDemographicDenominator,\n nationalDemographicEventCount: nationalDemographicEventCount,\n nationalAggregatedValue: nationalAggregatedValue,\n nationalPatientPopulation: nationalPatientPopulation,\n };\n};\nexport var useExtractGeoData = function () {\n var filterSetting = useFilterSetting();\n var data = useMapData()[0].data;\n var geoLevel = useViewValue('geoType')[0];\n return useCallback(function (id) { return extractGeoData(id, filterSetting, geoLevel, data); }, [data, filterSetting, geoLevel]);\n};\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport enUS from './messages.en-US.json';\nvar resources = {\n 'en-US': { translation: enUS },\n};\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: resources,\n fallbackLng: 'en-US',\n debug: true,\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n },\n});\nexport default i18n;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { library } from '@fortawesome/fontawesome-svg-core';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nlibrary.add(fas);\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { ListGroupItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useFilterEditingValue } from '../state/filterediting';\nvar StyledTab = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n\"])));\nvar Dot = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 1rem;\\n height: 1rem;\\n background-color: \", \";;\\n border-radius: 50%;\\n margin-left: 0.5rem;\\n\"], [\"\\n width: 1rem;\\n height: 1rem;\\n background-color: \", \";;\\n border-radius: 50%;\\n margin-left: 0.5rem;\\n\"])), function (props) { return (props.active ? '#ffffff' : '#007bff'); });\nexport var LeftTabSelectorItem = function (props) {\n var tabId = props.tabId, tabName = props.tabName, activeTab = props.activeTab, toggleTab = props.toggleTab, tabSelector = props.tabSelector, showRequiredDot = props.showRequiredDot, resprops = __rest(props, [\"tabId\", \"tabName\", \"activeTab\", \"toggleTab\", \"tabSelector\", \"showRequiredDot\"]);\n var handleClick = function () {\n toggleTab(tabId);\n };\n var Component = tabSelector || ListGroupItem;\n return (React.createElement(Component, __assign({}, resprops, { action: true, onClick: handleClick, active: activeTab === tabId }),\n React.createElement(StyledTab, null,\n tabName,\n showRequiredDot && React.createElement(Dot, { active: activeTab === tabId }))));\n};\nexport var CMSSourceTabSelector = function (props) {\n var _a = props.type, type = _a === void 0 ? 'hidden' : _a, resprops = __rest(props, [\"type\"]);\n var isAggregatedDataSource = useFilterEditingValue('isAggregatedDataSource')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { disabled: props.disabled || (isAggregatedDataSource && type === 'disabled'), hidden: isAggregatedDataSource && type === 'hidden' })));\n};\nexport var AggregatedSourceTabSelector = function (props) {\n var _a = props.type, type = _a === void 0 ? 'hidden' : _a, resprops = __rest(props, [\"type\"]);\n var isAggregatedDataSource = useFilterEditingValue('isAggregatedDataSource')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { disabled: props.disabled || (!isAggregatedDataSource && type === 'disabled'), hidden: !isAggregatedDataSource && type === 'hidden' })));\n};\nvar templateObject_1, templateObject_2;\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport { Select, FallbackComponent } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { ConditionType, LookupYearComponent, useMixedYear, useSynchronizedPrimaryCondition } from '../lookupdata';\nimport { AggregatedDataSourceComponent, useAggregatedDataSourceName } from './aggregateddatasource';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nexport var DataYearTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var agrregatedData = useAggregatedDataSourceName()[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource'), cmsDataSource = _a[0], setCmsDataSource = _a[1];\n var _b = useFilterEditingValue('dataYear'), year = _b[0], setStatisticYear = _b[1];\n var _c = useFilterEditingValue('year'), setAggregatedYear = _c[1];\n var _d = useFilterEditingValue('isAggregatedDataSource'), isAggregatedDataSource = _d[0], setIsAggregatedDataSource = _d[1];\n var _e = useFilterEditingValue('dataSourceName'), aggregatedDataSourceName = _e[0], setAggregatedDataSourceName = _e[1];\n var _f = useMixedYear(useFilterEditing()), yearData = _f[0], fetchYearData = _f[1];\n var _g = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryConditions = _g[0], setSelectingPrimaryConditions = _g[1];\n var doSynchronized = useSynchronizedPrimaryCondition([ConditionType.Other, ConditionType.Primary, ConditionType.Secondary])[0];\n useEffect(function () {\n var _a;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && !yearData.data.some(function (v) { return v === year; })) {\n handleChangeYear(yearData.data[yearData.data.length - 1]);\n }\n else {\n setAggregatedYear(year);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [yearData.data]);\n useEffect(function () {\n doSynchronized();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [year]);\n var handleChangeDataSource = function (value, name, option) {\n setIsAggregatedDataSource(!!option.isAggregatedDataSource);\n if (option.isAggregatedDataSource) {\n setAggregatedDataSourceName(value);\n }\n else {\n setCmsDataSource(value);\n }\n };\n var handleChangeYear = function (value) {\n var _a;\n setStatisticYear(value);\n setAggregatedYear(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setSelectingPrimaryConditions(selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n var allDataSourceOptions = useMemo(function () {\n var _a, _b;\n return __spreadArrays((((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources) === null || _a === void 0 ? void 0 : _a.map(function (v) { return DATA_SOURCES[v]; })) || []), (((_b = agrregatedData.data) === null || _b === void 0 ? void 0 : _b.map(function (value) { return ({ value: value, label: value, isAggregatedDataSource: true }); })) || []));\n }, [agrregatedData.data, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: allDataSourceOptions, noSort: true, value: isAggregatedDataSource ? aggregatedDataSourceName : cmsDataSource, onChange: handleChangeDataSource, isLoading: agrregatedData.requesting })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: yearData.requesting, error: yearData.error, retry: fetchYearData },\n React.createElement(Select, { name: \"dataYear\", options: yearData.data, noSort: true, value: year, onChange: handleChangeYear, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); }, maxMenuHeight: 200, menuPosition: \"fixed\" }))),\n React.createElement(LookupYearComponent, { dataSource: cmsDataSource }),\n React.createElement(AggregatedDataSourceComponent, null)));\n};\nDataYearTab.defaultProps = {\n tabId: 'DataYearTab',\n tabName: 'Data Set',\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport { Select, FallbackComponent, DELIMITER_SEASON_YEAR } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { LookupYearComponent, useMixedYear } from '../lookupdata';\nimport { AggregatedDataSourceComponent, useAggregatedDataSourceName } from './aggregateddatasource';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nimport { useMount } from '../hooks';\nexport var DataYearSeasonTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var agrregatedData = useAggregatedDataSourceName()[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource'), cmsDataSource = _a[0], setCmsDataSource = _a[1];\n var _b = useFilterEditingValue('dataYearSeasonUi'), dataYearSeasonUi = _b[0], setDataYearSeasonUi = _b[1];\n var _c = useFilterEditingValue('dataYearSeason'), dataYearSeason = _c[0], setDataYearSeason = _c[1];\n var _d = useFilterEditingValue('yearSeason'), setAggregatedYearSeason = _d[1];\n var _e = useFilterEditingValue('isAggregatedDataSource'), isAggregatedDataSource = _e[0], setIsAggregatedDataSource = _e[1];\n var _f = useFilterEditingValue('dataSourceName'), aggregatedDataSourceName = _f[0], setAggregatedDataSourceName = _f[1];\n var _g = useFilterEditingValue('patientPopulationReferenceYear'), setPatientPopulationRefYear = _g[1];\n var _h = useFilterEditingValue('dataYear'), setDataYear = _h[1];\n var _j = useMixedYear(useFilterEditing()), yearData = _j[0], fetchYearData = _j[1];\n var _k = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryConditions = _k[0], setSelectingPrimaryConditions = _k[1];\n var patientPopulationRefYearFilter = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter.patientPopulationReferenceYear;\n var isYearSeasonReady = useMemo(function () {\n var _a;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && dataYearSeasonUi) {\n return yearData.data.map(function (y) { return String(y); }).includes(dataYearSeasonUi);\n }\n return false;\n }, [yearData.data, dataYearSeasonUi]);\n useMount(function () {\n setDataYear(undefined);\n });\n useEffect(function () {\n var _a = getYearsBySeason(dataYearSeasonUi), lateYear = _a[0], earlyYear = _a[1];\n var fullYearSeason = [Number(lateYear).valueOf(), Number(earlyYear).valueOf()];\n setDataYearSeason(fullYearSeason);\n setAggregatedYearSeason(fullYearSeason);\n }, [setAggregatedYearSeason, setDataYearSeason, dataYearSeasonUi]);\n useEffect(function () {\n setPatientPopulationRefYear(patientPopulationRefYearFilter);\n }, [patientPopulationRefYearFilter, setPatientPopulationRefYear]);\n useEffect(function () {\n var _a, _b;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && (!dataYearSeasonUi || !isYearSeasonReady)) {\n var dataYearSeasonValueUi = String(yearData.data[yearData.data.length - 1]);\n if (Array.isArray(dataYearSeason) && dataYearSeason.length) {\n var yearSeasonInDataYear = (_b = yearData.data) === null || _b === void 0 ? void 0 : _b.find(function (year) { return String(year).includes(dataYearSeason.join(DELIMITER_SEASON_YEAR)); });\n dataYearSeasonValueUi = yearSeasonInDataYear ? String(yearSeasonInDataYear) : dataYearSeasonValueUi;\n }\n handleChangeYearSeason(dataYearSeasonValueUi);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [yearData.data, dataYearSeasonUi]);\n var handleChangeDataSource = function (value, name, option) {\n setIsAggregatedDataSource(!!option.isAggregatedDataSource);\n if (option.isAggregatedDataSource) {\n setAggregatedDataSourceName(value);\n }\n else {\n setCmsDataSource(value);\n }\n };\n var handleChangeYearSeason = function (value) {\n var _a;\n setDataYearSeasonUi(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setSelectingPrimaryConditions(selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n var allDataSourceOptions = useMemo(function () {\n var _a, _b;\n return __spreadArrays((((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources) === null || _a === void 0 ? void 0 : _a.map(function (v) { return DATA_SOURCES[v]; })) || []), (((_b = agrregatedData.data) === null || _b === void 0 ? void 0 : _b.map(function (value) { return ({ value: value, label: value, isAggregatedDataSource: true }); })) || []));\n }, [agrregatedData.data, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: allDataSourceOptions, noSort: true, value: isAggregatedDataSource ? aggregatedDataSourceName : cmsDataSource, onChange: handleChangeDataSource, isLoading: agrregatedData.requesting })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: yearData.requesting, error: yearData.error, retry: fetchYearData },\n React.createElement(Select, { name: \"dataYear\", options: yearData.data, noSort: true, value: dataYearSeasonUi, onChange: handleChangeYearSeason, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); }, maxMenuHeight: 200, menuPosition: \"fixed\" }))),\n React.createElement(LookupYearComponent, { dataSource: cmsDataSource }),\n React.createElement(AggregatedDataSourceComponent, null)));\n};\nDataYearSeasonTab.defaultProps = {\n tabId: 'DataSeasonYearTab',\n tabName: 'Data Set',\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a;\nimport { useGeneralConfigByDataSource } from \"../hooks\";\nimport { useAPI } from \"../state\";\nimport { useMemo } from \"react\";\nexport var FilterCountTypeEnum;\n(function (FilterCountTypeEnum) {\n FilterCountTypeEnum[\"PRIMARY_CHRONIC_CONDITION\"] = \"PRIMARY_CHRONIC_CONDITION\";\n FilterCountTypeEnum[\"CHRONIC_CONDITION\"] = \"CHRONIC_CONDITION\";\n FilterCountTypeEnum[\"SEX_CODE\"] = \"SEX_CODE\";\n FilterCountTypeEnum[\"RACE_CODE\"] = \"RACE_CODE\";\n FilterCountTypeEnum[\"RTI_RACE_CODE\"] = \"RTI_RACE_CODE\";\n FilterCountTypeEnum[\"STATE_CODE\"] = \"STATE_CODE\";\n FilterCountTypeEnum[\"FLU_VACCINE_CODE\"] = \"FLU_VACCINE_CODE\";\n FilterCountTypeEnum[\"AGE_GROUP_CODE\"] = \"AGE_GROUP_CODE\";\n FilterCountTypeEnum[\"CONSUMPTION_GROUP\"] = \"CONSUMPTION_GROUP\";\n})(FilterCountTypeEnum || (FilterCountTypeEnum = {}));\nvar API_BASE_URL_FILTER_COUNT_FROM_STATS = '/api/stats/filter-count';\nvar API_BASE_URL_FILTER_COUNT_FROM_HOSTNAME_INDEX = '/api/{hostname}/filter-count';\nvar API_BASE_URL_FILTER_COUNT_FROM_GENERAL_INDEX = '/api/generalindex/filter-count/{hostname}';\nvar ConditionExclusionConfig = (_a = {},\n _a[FilterCountTypeEnum.PRIMARY_CHRONIC_CONDITION] = 'excludedCcFromFilterCount',\n _a[FilterCountTypeEnum.CHRONIC_CONDITION] = 'excludedCcFromFilterCount',\n _a);\nexport var useFilterCount = function (filterType, indexConfig) {\n var baseUrl = (function () {\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useGeneralFilterCount)\n return API_BASE_URL_FILTER_COUNT_FROM_GENERAL_INDEX;\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCountAttachHostname)\n return API_BASE_URL_FILTER_COUNT_FROM_HOSTNAME_INDEX;\n return API_BASE_URL_FILTER_COUNT_FROM_STATS;\n })();\n var url = baseUrl + \"/\" + filterType;\n var filterCountApi = useAPI(url, { hostname: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname }, 'POST');\n var exclusionConfig = ConditionExclusionConfig[filterType];\n var excludedConditionByDatasource = useGeneralConfigByDataSource(exclusionConfig);\n var excludedConditions = useMemo(function () {\n return excludedConditionByDatasource || (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.excludedCcFromFilterCount) || [];\n }, [excludedConditionByDatasource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.excludedCcFromFilterCount]);\n return useMemo(function () {\n var states = filterCountApi[0], request = filterCountApi[1], reset = filterCountApi[2];\n var requestStates = [\n states,\n function (body, force, timeout) {\n var finalBody = __assign({}, body);\n if (exclusionConfig) {\n finalBody.excludedConditions = excludedConditions;\n }\n return request(finalBody, force, timeout);\n },\n reset\n ];\n return requestStates;\n }, [filterCountApi, excludedConditions, exclusionConfig]);\n};\n","import React from 'react';\nimport { ThreeDotLoading } from \"../common\";\nimport { getDisplayText } from \"../utils\";\nexport var FilterCountLoading = function (_a) {\n var loading = _a.loading, value = _a.value;\n return (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(value)),\n ')'));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo, useCallback } from 'react';\nimport { TabPane, FormGroup, Label, Input } from 'reactstrap';\nimport styled from 'styled-components';\nimport { Select, FallbackComponent, CheckboxGroup, ThreeDotLoading, IconTooltip } from '../common';\nimport { getDisplayText } from '../utils';\nimport { useFilterEditingValue } from '../state/filterediting';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { useLookupCondition, CLAIM_NUMBERS, CLAIM_DAYS, ConditionType, useLookupConditionSortByType, useSynchronizedPrimaryCondition } from '../lookupdata';\nimport { useHostnameIndexInfo, useDefaultFilter } from '../hostnameindexinfo';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { useFilterCount } from './usefiltercount';\nimport { FilterCountLoading } from './filtercountloading';\nvar StyledPrimaryConditionSelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 20rem;\\n\"], [\"\\n max-width: 20rem;\\n\"])));\nexport var StyledPrimaryConditionSection = styled(FormGroup)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-left: 1rem;\\n\"], [\"\\n margin-left: 1rem;\\n\"])));\nvar StyledConditions = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\"])));\nvar StyledPrimaryCondition = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n\"], [\"\\n flex: 1;\\n\"])));\nvar Title = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"])));\nvar HelperText = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(Title, null, \"Why can\\u2019t I select \\u201Cnumber of claims\\u201D for the primary conditions?\"),\n \"Medicaid data does not support the ability to search by # of claims.\"));\n};\nexport var NotSupportClaimForMedicaidDialog = function () {\n return React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\" });\n};\nvar formatConditionLabel = function (params) {\n var label = params.label, count = params.count, loading = params.loading, showCount = params.showCount, showIndicator = params.showIndicator;\n return (React.createElement(React.Fragment, null,\n label,\n \"\\u00A0\",\n showCount && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(count)),\n ')')),\n showIndicator ? ' *' : ''));\n};\nexport var useConditionCount = function (params) {\n var indexConfig = useHostnameIndexInfo();\n var filterType = (params === null || params === void 0 ? void 0 : params.isPrimary) ? 'PRIMARY_CHRONIC_CONDITION' : 'CHRONIC_CONDITION';\n var _a = useFilterCount(filterType, indexConfig), countData = _a[0], rest = _a.slice(1);\n var isLoading = useMemo(function () { return countData.requesting === undefined ? true : countData.requesting; }, [countData.requesting]);\n var getLabelWithCount = useCallback(function (i) {\n var _a;\n return formatConditionLabel({\n label: i.label,\n count: (_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.value],\n loading: isLoading,\n showCount: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount,\n showIndicator: (params === null || params === void 0 ? void 0 : params.showCmsSourceIndicator) && Number(i.value) <= 64\n });\n }, [countData.data, isLoading, indexConfig, params]);\n return __spreadArrays([__assign(__assign({}, countData), { getLabelWithCount: getLabelWithCount })], rest);\n};\nexport var PrioritizedConditionSection = function (_a) {\n var _b, _c;\n var settings = _a.settings;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var primaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Primary];\n var keyConditions = (_c = lookupData.groupedCondition) === null || _c === void 0 ? void 0 : _c[ConditionType.Key];\n var _d = useFilterEditingValue('primaryCoMorbidities')[0], selectingPrimaryCondition = (_d === void 0 ? [] : _d)[0];\n var _e = useFilterEditingValue('comorbidities'), selectingConditions = _e[0], setSelectingConditions = _e[1];\n var indexConfig = useHostnameIndexInfo();\n var combinedKeyConditions = useMemo(function () {\n return Object.assign([]).concat((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useCheckboxesForPrimaryConditions) ? [] : (primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.filter(function (i) { return i.value !== selectingPrimaryCondition; })) || [], keyConditions || []);\n }, [primaryConditions, keyConditions, selectingPrimaryCondition, indexConfig]);\n if (!combinedKeyConditions.length)\n return null;\n return (React.createElement(StyledPrimaryConditionSection, { tag: \"fieldset\" },\n React.createElement(CheckboxGroup, { options: combinedKeyConditions, formatOptionLabel: countData.getLabelWithCount, input: textSearch, noAll: true, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue })));\n};\nexport var AdditionalConditionSection = function (_a) {\n var _b;\n var settings = _a.settings, isSingleSection = _a.isSingleSection, _c = _a.label, label = _c === void 0 ? 'Additional Condition Filters' : _c;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var additionalConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Other];\n var _d = useFilterEditingValue('comorbidities'), selectingConditions = _d[0], setSelectingConditions = _d[1];\n var _e = useFilterEditingValue('additionalConditions'), setSelectingAdditionalConditions = _e[1];\n var cmsDataSource = useFilterEditingValue('statistic', 'cmsDataSource')[0];\n var overrideCondition = useGeneralConfigByDataSource('overrideAdditionalConditionType');\n var onChange = function (value) {\n setSelectingAdditionalConditions(value);\n setSelectingConditions(value);\n };\n var optionConditions = useMemo(function () {\n var _a;\n var options = additionalConditions;\n if (typeof overrideCondition === 'number') {\n var extendConditions = ((_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[overrideCondition]) || additionalConditions;\n options = extendConditions;\n }\n return options;\n }, [additionalConditions, lookupData.groupedCondition, overrideCondition]);\n return (React.createElement(React.Fragment, null,\n isSingleSection || React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, label),\n React.createElement(\"div\", { className: isSingleSection ? 'ml-3' : '' },\n React.createElement(CheckboxGroup, { options: optionConditions, formatOptionLabel: countData.getLabelWithCount, input: textSearch, noAll: true, noSort: true, value: selectingConditions, onChange: onChange, sortValue: lookupData.sortValue })))));\n};\nexport var SecondaryConditionSection = function (_a) {\n var _b;\n var filterCountEffectDeps = _a.filterCountEffectDeps;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var secondaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Secondary];\n var _c = useFilterEditingValue('comorbidities'), selectingConditions = _c[0], setSelectingConditions = _c[1];\n var dataYearSeason = useFilterEditingValue('dataYearSeason')[0];\n var doSyncSecondary = useSynchronizedPrimaryCondition([ConditionType.Secondary])[0];\n var indexConfig = useHostnameIndexInfo();\n var _d = useFilterCount('CHRONIC_CONDITION', indexConfig), secondaryConditionCount = _d[0], fetchSecondaryConditionCount = _d[1];\n var filterCountLoading = secondaryConditionCount.requesting === undefined || secondaryConditionCount.requesting;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(doSyncSecondary, [dataYearSeason]);\n useEffectFilterEditingCount(function (body) {\n fetchSecondaryConditionCount(__assign(__assign({}, body), { comorbidities: selectingConditions }));\n }, __spreadArrays([selectingConditions], (filterCountEffectDeps || [])), 'CONDITION');\n return (React.createElement(React.Fragment, null,\n React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Secondary Conditions\"),\n React.createElement(CheckboxGroup, { options: secondaryConditions, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(FilterCountLoading, { loading: filterCountLoading, value: getDisplayText((_a = secondaryConditionCount.data) === null || _a === void 0 ? void 0 : _a[i.value]) }))));\n }, input: textSearch, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue }))));\n};\nexport var PrimaryConditionSection = function (_a) {\n var _b;\n var settings = _a.settings, children = _a.children;\n var dataYear = useFilterEditingValue('dataYear')[0];\n var lookupData = useLookupConditionSortByType(undefined, dataYear)[0];\n var primaryConditionOptions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Primary];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var textSearch = useFilterEditingValue('textSearch')[0];\n var indexConfig = useHostnameIndexInfo();\n var _c = useFilterCount('PRIMARY_CHRONIC_CONDITION', indexConfig), primaryConditionCount = _c[0], fetchPrimaryConditionCount = _c[1];\n var _d = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryCoMorbidities = _d[0], setSelectingPrimaryCoMorbidities = _d[1];\n var _e = useFilterEditingValue('comorbidities'), selectingConditions = _e[0], setSelectingConditions = _e[1];\n var _f = useFilterEditingValue('primaryConditions'), selectingPrimaryCondition = _f[0], setSelectingPrimaryCondition = _f[1];\n useMount(function () {\n setSelectingPrimaryCoMorbidities(selectingPrimaryCondition || selectingPrimaryCoMorbidities);\n });\n useEffectFilterEditingCount(function (body) {\n if (primaryConditionOptions && primaryConditionOptions.length > 1) {\n fetchPrimaryConditionCount(__assign(__assign({}, body), { comorbidities: [], primaryCoMorbidities: primaryConditionOptions === null || primaryConditionOptions === void 0 ? void 0 : primaryConditionOptions.map(function (i) { return i.value; }) }));\n }\n }, [primaryConditionOptions], 'PRIMARY_CONDITION');\n var formatOptionLabel = useCallback(function (i) {\n var _a;\n return formatConditionLabel({\n label: i.label,\n count: (_a = primaryConditionCount.data) === null || _a === void 0 ? void 0 : _a[i.value],\n loading: primaryConditionCount.requesting,\n showCount: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount,\n showIndicator: (settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator) && Number(i.value) <= 64\n });\n }, [indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount, settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator, primaryConditionCount.data, primaryConditionCount.requesting]);\n var handleChange = function (value) {\n setSelectingPrimaryCoMorbidities([value]);\n setSelectingConditions(__spreadArrays([value], ((selectingConditions === null || selectingConditions === void 0 ? void 0 : selectingConditions.filter(function (cond, idx) { return idx && cond !== value; })) || [])));\n };\n var handleChangeCheckbox = function (value) {\n setSelectingPrimaryCondition(value);\n setSelectingPrimaryCoMorbidities(value);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(StyledConditions, null,\n React.createElement(StyledPrimaryCondition, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Primary Condition\")),\n children),\n React.createElement(\"div\", { className: \"ml-3\" }, !(primaryConditionOptions === null || primaryConditionOptions === void 0 ? void 0 : primaryConditionOptions.length) ? ('There is no primary condition associated with this Index.') : primaryConditionOptions.length === 1 ? (React.createElement(\"div\", { className: \"font-weight-bold\" }, countData.getLabelWithCount(primaryConditionOptions[0]))) : (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useCheckboxesForPrimaryConditions) ? (React.createElement(CheckboxGroup, { options: primaryConditionOptions, formatOptionLabel: formatOptionLabel, input: textSearch, noAll: true, noSort: true, value: selectingPrimaryCoMorbidities, onChange: handleChangeCheckbox, sortValue: lookupData.sortValue })) : (React.createElement(StyledPrimaryConditionSelect, { options: primaryConditionOptions, noSort: true, formatOptionLabel: formatOptionLabel, value: selectingPrimaryCoMorbidities === null || selectingPrimaryCoMorbidities === void 0 ? void 0 : selectingPrimaryCoMorbidities[0], name: \"primaryCondition\", onChange: handleChange }))))));\n};\nexport var ConditionTab = function (props) {\n var _a = useFilterEditingValue('textSearch'), textSearch = _a[0], setTextSearch = _a[1];\n var _b = useLookupCondition(), lookupConditionData = _b[0], fetchLookupCondition = _b[1];\n var _c = useConditionCount(), fetchConditionCountData = _c[1];\n var selectingPrimaryConditions = useFilterEditingValue('primaryCoMorbidities')[0];\n useMount(function () {\n fetchLookupCondition();\n });\n useEffectFilterEditingCount(function (body) {\n if (props.shouldCountOnConditionChange) {\n fetchConditionCountData(__assign(__assign({}, body), { comorbidities: selectingPrimaryConditions }));\n }\n }, __spreadArrays([selectingPrimaryConditions], (props.filterCountEffectDeps || [])), 'CONDITION');\n var handleSearchInputChange = function (event) {\n var value = event.target.value;\n setTextSearch(value);\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupConditionData.requesting, error: lookupConditionData.error, retry: fetchLookupCondition },\n React.createElement(Input, { className: \"flex-shrink-0 mb-2\", placeholder: \"Search...\", value: textSearch || '', onChange: handleSearchInputChange }),\n props.children)));\n};\nConditionTab.defaultProps = {\n tabId: 'ConditionTab',\n tabName: 'Conditions',\n tabSelector: function (props) { return React.createElement(CMSSourceTabSelector, __assign({}, props, { type: \"disabled\" })); },\n filterCountEffectDeps: [],\n shouldCountOnConditionChange: true,\n};\nexport var ClaimCondition = function () {\n var _a = useFilterEditingValue('claimNumber'), claimNumber = _a[0], setClaimNumber = _a[1];\n var _b = useFilterEditingValue('claimDay'), claimDay = _b[0], setClaimDay = _b[1];\n var defaultFilter = useDefaultFilter();\n var handleChangeClaimNumber = function (value) {\n setClaimNumber(value);\n if (value < 2) {\n setClaimDay();\n }\n else if (claimNumber && claimNumber < 2) {\n setClaimDay(defaultFilter.claimDay);\n }\n };\n return (React.createElement(StyledPrimaryConditionSection, null,\n \"Beneficiaries must have at least\",\n ' ',\n React.createElement(Select, { inline: true, width: \"4.5\", name: \"claimNumber\", options: CLAIM_NUMBERS, optionsTransform: function (cn) { return ({ value: cn, label: cn }); }, value: claimNumber, onChange: handleChangeClaimNumber }),\n ' ',\n \"claim(s)\",\n claimDay && (React.createElement(React.Fragment, null,\n ' ',\n React.createElement(Select, { inline: true, width: \"8.5\", name: \"claimDay\", options: CLAIM_DAYS, noSort: true, value: claimDay, onChange: setClaimDay }),\n \" days apart\")),\n React.createElement(React.Fragment, null, \" to be included in the index\")));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, FormGroup, Label } from 'reactstrap';\nimport { DATA_SOURCES } from '../configs';\nimport { RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { useAggregatedStatistic } from './aggregateddatasource';\nimport { getStatisticOption, GROUPED_STATISTIC_OPTIONS, getStatisticOptions } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks/useconfig';\nvar useStatisticEditing = function () {\n var _a = useFilterEditingValue('statistic', 'statisticOption'), statisticType = _a[0], setStatisticType = _a[1];\n var _b = useFilterEditingValue('statistic', 'statisticType'), setStatisticGroup = _b[1];\n var _c = useFilterEditingValue('statisticOptionType'), setStatisticTypeAggregated = _c[1];\n var _d = useFilterEditingValue('statisticType'), setStatisticGroupAggregated = _d[1];\n useEffect(function () {\n var _a;\n var staticsticGroup = (_a = getStatisticOption(statisticType)) === null || _a === void 0 ? void 0 : _a.group.value;\n setStatisticTypeAggregated(statisticType);\n setStatisticGroup(staticsticGroup);\n setStatisticGroupAggregated(staticsticGroup);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [statisticType]);\n return [statisticType, setStatisticType];\n};\nexport var StatisticTab = function (props) {\n var _a;\n var _b = useStatisticEditing(), statisticType = _b[0], setStatisticType = _b[1];\n var filterEditing = useFilterEditing();\n var aggregatedData = useAggregatedStatistic(filterEditing)[0];\n var availableStatisticsConfig = useGeneralConfigByDataSource('availableStatistic');\n var cmsDataSource = (_a = filterEditing.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var availableStatistics = filterEditing.isAggregatedDataSource\n ? aggregatedData.data\n : cmsDataSource && (availableStatisticsConfig || DATA_SOURCES[cmsDataSource].availableStatistic);\n useEffect(function () {\n if ((availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.length) && !availableStatistics.some(function (v) { return v === statisticType; })) {\n var statisticOption = getStatisticOptions(availableStatistics)[0];\n setStatisticType(statisticOption.value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [availableStatistics]);\n var isOptionDisabled = function (option) {\n return !!availableStatistics && !(availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.some(function (i) { return i === option.value; }));\n };\n return (React.createElement(TabPane, { tabId: props.tabId }, GROUPED_STATISTIC_OPTIONS.map(function (group) { return (React.createElement(FormGroup, { tag: \"fieldset\", key: group.value },\n React.createElement(Label, { className: \"font-weight-bold\" }, group.label),\n React.createElement(RadioGroup, { options: group.options, noSort: true, value: statisticType, onChange: setStatisticType, isOptionDisabled: isOptionDisabled }))); })));\n};\nStatisticTab.defaultProps = {\n tabId: 'StatisticTab',\n tabName: 'Statistics',\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { useFilterEditingValue } from '../state';\nimport { FallbackComponent, CheckboxGroup, ThreeDotLoading } from '../common';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { getDisplayText } from '../utils';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useLookupSexCode, LookupSexCodeComponent } from '../lookupdata';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useFilterCount } from './usefiltercount';\nexport var SexTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var _a = useLookupSexCode(), lookupSexCodeData = _a[0], fetchLookupSexCode = _a[1];\n var _b = useFilterCount('SEX_CODE', indexConfig), sexCodeCountData = _b[0], fetchSexCodeCount = _b[1];\n var _c = useFilterEditingValue('demographics', 'sexCodes'), sexCodes = _c[0], setSexCodes = _c[1];\n useEffectFilterEditingCount(function (body) {\n fetchSexCodeCount(body);\n }, props.filterCountEffectDeps, 'SEX');\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupSexCodeData.requesting, error: lookupSexCodeData.error, retry: fetchLookupSexCode },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Sex\"),\n React.createElement(CheckboxGroup, { options: lookupSexCodeData.data, noSort: true, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: sexCodeCountData.requesting }, getDisplayText((_a = sexCodeCountData.data) === null || _a === void 0 ? void 0 : _a[i.value])),\n ')'))));\n }, value: sexCodes, onChange: setSexCodes })),\n React.createElement(LookupSexCodeComponent, null)));\n};\nSexTab.defaultProps = {\n tabId: 'SexTab',\n tabName: 'Sex',\n tabSelector: CMSSourceTabSelector,\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useFilterEditingValue } from '../state';\nimport { FallbackComponent, CheckboxGroup, Select, ThreeDotLoading } from '../common';\nimport { getDisplayText } from '../utils';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { useLookupRaceCode, LookupRaceCodeComponent } from '../lookupdata';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { RaceMethodologyEnum, DataSourceEnum } from '../enums';\nimport { IconTooltip } from '../common/icontooltip';\nimport { useFilterCount } from './usefiltercount';\nvar METHODOLOGY_OPTIONS = [\n {\n value: RaceMethodologyEnum.Standard,\n label: 'Standard',\n },\n {\n value: RaceMethodologyEnum.RTI,\n label: 'RTI',\n },\n];\nvar StyledMethodologySelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 15rem;\\n\"], [\"\\n width: 15rem;\\n\"])));\nvar StyledHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledDiv = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\"], [\"\"])));\nvar Title = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"])));\nvar BlueTitle = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 700;\\n color: #007bff;\\n margin-top: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n color: #007bff;\\n margin-top: 0.5rem;\\n\"])));\nexport var RaceTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var cmsDataSource = useFilterEditingValue('statistic', 'cmsDataSource')[0];\n var _a = useFilterEditingValue('raceMethodology'), methodology = _a[0], setMethodology = _a[1];\n var _b = useLookupRaceCode(methodology), lookupRaceCodeData = _b[0], fetchLookupRaceCode = _b[1];\n var _c = useFilterCount('RACE_CODE', indexConfig), raceCodeCountData = _c[0], fetchRaceCodeCount = _c[1];\n var _d = useFilterCount('RTI_RACE_CODE', indexConfig), rtiRaceCodeCountData = _d[0], fetchRTIRaceCodeCount = _d[1];\n var _e = useFilterEditingValue('demographics', 'raceCodes'), raceCodes = _e[0], setRaceCodes = _e[1];\n var countData = methodology === RaceMethodologyEnum.Standard ? raceCodeCountData : rtiRaceCodeCountData;\n useEffectFilterEditingCount(function (body) {\n fetchRaceCodeCount(body);\n fetchRTIRaceCodeCount(body);\n }, props.filterCountEffectDeps, 'RACE');\n useEffect(function () {\n if (cmsDataSource === DataSourceEnum.Medicaid) {\n setMethodology(RaceMethodologyEnum.Standard);\n }\n }, [cmsDataSource, setMethodology]);\n useEffect(function () {\n if (lookupRaceCodeData.data) {\n // setRaceCodes(lookupRaceCodeData.data.map((i) => i.value));\n }\n }, [lookupRaceCodeData.data, setRaceCodes]);\n var HelperText = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(Title, null, \"What are the methodologies for selecting race?\"),\n \"There are two options for determining race / ethnicity populations in the Index.\",\n React.createElement(BlueTitle, null, \"Standard\"),\n \"Race/Ethnicity data as received from CMS. Race is self-reported and originates with the Social Security Administration. There is known underrepresentation in the Hispanic population since individuals may report their race in other population groups, such as Black or Caucasian.\",\n React.createElement(BlueTitle, null, \"RTI\"),\n \"Research Triangle Institute, a non-profit research organization, developed an algorithm for identifying Hispanic and Asian beneficiaries based on surname. The algorithm\\u00A0also\\u00A0incorporates CCW enhancements that reduce the number of beneficiaries with missing information.\\u00A0The result of applying this algorithm is the redistribution of the population demographics among the population groups reported to more accurately estimate the proportion of Hispanic beneficiaries.\"));\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n cmsDataSource !== DataSourceEnum.Medicaid && (React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(StyledHeader, null,\n React.createElement(StyledDiv, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Methodology\"),\n React.createElement(StyledMethodologySelect, { name: \"methodology\", options: METHODOLOGY_OPTIONS, noSort: true, value: methodology, onChange: setMethodology })),\n React.createElement(StyledDiv, null,\n React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\", maxWidth: \"min(80vw, 28rem)\", maxHeight: \"calc(90vh - 10rem)\", autohide: false }))))),\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Race\"),\n React.createElement(FallbackComponent, { requesting: lookupRaceCodeData.requesting, error: lookupRaceCodeData.error, retry: fetchLookupRaceCode },\n React.createElement(CheckboxGroup, { options: lookupRaceCodeData.data, noSort: true, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: countData.requesting }, getDisplayText((_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.value])),\n ')'))));\n }, value: raceCodes, onChange: setRaceCodes })),\n React.createElement(LookupRaceCodeComponent, null)));\n};\nRaceTab.defaultProps = {\n tabId: 'RaceTab',\n tabName: 'Race/Ethnicity',\n tabSelector: CMSSourceTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { CheckboxGroup, Input, SimpleCheckbox, ThreeDotLoading } from '../common';\nimport { useFilterEditingValue } from '../state/filterediting';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { AGE_OPTIONS } from '../lookupdata';\nimport { useEffectFilterEditingCount } from '../filterbar';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getDisplayText } from '../utils';\nimport { useFilterCount } from './usefiltercount';\nvar MAX_AGE_RANGE = 999;\nvar StyledCustomAgeInput = styled(Input)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 5rem;\\n display: inline-block;\\n\\n @media only screen and (max-width: 420px) {\\n width: 3.5rem;\\n }\\n\"], [\"\\n width: 5rem;\\n display: inline-block;\\n\\n @media only screen and (max-width: 420px) {\\n width: 3.5rem;\\n }\\n\"])));\nexport var useAgeGroupCount = function (indexConfig) {\n return useFilterCount('AGE_GROUP_CODE', indexConfig);\n};\nvar AGE_GROUP_CODE = {\n \" - 18\": 0,\n \"19 - 49\": 1,\n \"50 - 64\": 2,\n \"65 - 74\": 3,\n \"75 - 80\": 4,\n \"81 - \": 5,\n};\nvar AgeCountComponent = function (_a) {\n var loading = _a.loading, value = _a.value;\n return (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(value)),\n ')'));\n};\nexport var AgeTab = function (props) {\n var _a, _b, _c;\n var _d = useFilterEditingValue('demographics', 'ages'), ages = _d[0], setAges = _d[1];\n var indexConfig = useHostnameIndexInfo();\n var _e = useState(!!((_a = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _a === void 0 ? void 0 : _a.isCustom)), isCustomAge = _e[0], setIsCustomAge = _e[1];\n var _f = useAgeGroupCount(indexConfig), ageGroupCount = _f[0], fetchAgeGroupCount = _f[1];\n var filterCountEnabled = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && props.filterCountEnabled;\n var handleFetchAgeGroupCount = function (payload) {\n filterCountEnabled && fetchAgeGroupCount(payload);\n };\n useEffect(function () {\n if (isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages[0]) && !ages[0].isCustom) {\n setIsCustomAge(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ages]);\n useEffectFilterEditingCount(function (body) {\n if (filterCountEnabled) {\n handleFetchAgeGroupCount(body);\n }\n }, __spreadArrays((props.filterCountEffectDeps || []), [isCustomAge]));\n /**\n * Refetch when custom age range has changed\n */\n useEffectFilterEditingCount(function (body) {\n if (isCustomAge) {\n handleFetchAgeGroupCount(body);\n }\n }, __spreadArrays((props.filterCountEffectDeps || []), [ages]));\n var handleChangeCheckboxGroup = function (values) {\n var agesUniq = _.uniqWith(values, function (arr, other) { return arr.minAge === other.minAge && arr.maxAge === other.maxAge; });\n setAges(agesUniq);\n };\n var handleChangeCustomAgeCheckbox = function (event) {\n setIsCustomAge(event.target.checked);\n setAges(event.target.checked ? [{ isCustom: true }] : undefined);\n };\n var handleChangeCustomAgeInput = function (value, name) {\n var _a;\n var newValue = __assign(__assign({}, ages === null || ages === void 0 ? void 0 : ages[0]), (_a = { isCustom: true }, _a[name] = value, _a));\n if (value === undefined && (ages === null || ages === void 0 ? void 0 : ages[0]) && newValue.minAge === undefined && newValue.maxAge === undefined) {\n setAges();\n }\n else {\n setAges([newValue]);\n }\n };\n var getAgeGroupCode = function (_a) {\n var minAge = _a.minAge, maxAge = _a.maxAge;\n var ageGroup = (minAge || '') + \" - \" + (maxAge || '');\n return AGE_GROUP_CODE[ageGroup];\n };\n var renderAgeCount = function (value) {\n var _a;\n return filterCountEnabled && (React.createElement(AgeCountComponent, { loading: ageGroupCount.requesting, value: (_a = ageGroupCount.data) === null || _a === void 0 ? void 0 : _a[getAgeGroupCode(value)] }));\n };\n var renderCustomAgeGroupCount = function () { return filterCountEnabled && isCustomAge && (React.createElement(AgeCountComponent, { loading: ageGroupCount.requesting, value: (ageGroupCount === null || ageGroupCount === void 0 ? void 0 : ageGroupCount.data) ? Object.values(ageGroupCount === null || ageGroupCount === void 0 ? void 0 : ageGroupCount.data).reduce(function (acc, val) { return acc + val; }, 0) : null })); };\n var customMinAge = isCustomAge ? (_b = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _b === void 0 ? void 0 : _b.minAge : undefined;\n var customMaxAge = isCustomAge ? (_c = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _c === void 0 ? void 0 : _c.maxAge : undefined;\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Age\"),\n React.createElement(CheckboxGroup, { options: AGE_OPTIONS, noSort: true, value: ages, formatOptionLabel: function (i) { return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n renderAgeCount(i.value))); }, onChange: handleChangeCheckboxGroup, disabled: function (i) { return isCustomAge; } }),\n React.createElement(FormGroup, { check: true },\n React.createElement(SimpleCheckbox, { checked: isCustomAge, onChange: handleChangeCustomAgeCheckbox, disabled: !isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages.length), label: React.createElement(React.Fragment, null,\n ' ',\n \"Custom\",\n isCustomAge && React.createElement(\"span\", { className: \"text-danger\" }, \"*\"),\n \": From\") }),\n \"\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"minAge\", type: \"number\", disabled: !isCustomAge, min: 0, max: customMaxAge !== undefined ? customMaxAge : MAX_AGE_RANGE, value: customMinAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0To\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"maxAge\", type: \"number\", disabled: !isCustomAge, min: customMinAge || 0, max: MAX_AGE_RANGE, value: customMaxAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0\",\n renderCustomAgeGroupCount())));\n};\nAgeTab.defaultProps = {\n tabId: 'AgeTab',\n tabName: 'Age',\n tabSelector: CMSSourceTabSelector,\n filterCountEnabled: false\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar _a, _b, _c;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { TabPane, Label, FormGroup, Input } from 'reactstrap';\nimport { AggregatedSourceTabSelector } from './tabselector';\nimport { Button, RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { SexTab } from './sextab';\nimport { RaceTab } from './racetab';\nimport { AgeTab } from './agetab';\nimport { useAggregatedDemogaphic } from './aggregateddatasource';\nvar StyledClearButton = styled(Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0;\\n margin-left: 0.5rem;\\n pointer-events: auto;\\n text-decoration: underline;\\n\"], [\"\\n padding: 0;\\n margin-left: 0.5rem;\\n pointer-events: auto;\\n text-decoration: underline;\\n\"])));\nvar AggregatedCategoryTab = function (props) {\n var textSearch = useFilterEditingValue('textSearch')[0];\n var _a = useFilterEditingValue('filteringCategoryType'), categoryType = _a[0], setCategoryType = _a[1];\n var _b = useFilterEditingValue('filteringCategoryValue'), categoryValue = _b[0], setCategoryValue = _b[1];\n var _c = useFilterEditingValue('filteringCategoryUiName'), setCategoryUiName = _c[1];\n var filterEditing = useFilterEditing();\n var agrregatedData = useAggregatedDemogaphic(filterEditing, props.categoryType)[0];\n var selectingValue = categoryType === props.categoryType ? categoryValue : undefined;\n useEffect(function () {\n setCategoryType();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterEditing.dataSourceName]);\n var handleChange = function (value, payload) {\n setCategoryType(props.categoryType);\n setCategoryValue(value);\n setCategoryUiName(payload.label);\n };\n var clear = function () {\n setCategoryType();\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, props.title),\n React.createElement(RadioGroup, { input: textSearch, options: agrregatedData.data, optionsTransform: function (i) { return ({ value: i.name, label: i.uiName }); }, value: selectingValue, onChange: handleChange }),\n React.createElement(FormGroup, { check: true, className: \"mt-3\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", checked: selectingValue === undefined, onChange: clear }),\n \" Clear filter choice\"))));\n};\nexport var AggregatedSexTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Sex\", categoryType: \"SEX\" })); };\nexport var AggregatedRaceTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Race\", categoryType: \"RACE\" })); };\nexport var AggregatedAgeTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Age\", categoryType: \"AGE\" })); };\nexport var AggregatedDemographicTab = function () { return null; };\nvar AggregatedCategoryTabSelector = function (props) {\n var categoryType = props.categoryType, rest = __rest(props, [\"categoryType\"]);\n var filteringCategoryType = useFilterEditingValue('filteringCategoryType')[0];\n return (React.createElement(AggregatedSourceTabSelector, __assign({}, rest),\n React.createElement(FormGroup, { check: true },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", checked: categoryType === filteringCategoryType, onChange: function () { } }),\n \" \",\n props.children))));\n};\nvar AggregatedDemographicTabSelector = function (props) {\n var _a = useFilterEditingValue('filteringCategoryType'), setCategoryType = _a[1];\n var handleClear = function () {\n setCategoryType();\n };\n return (React.createElement(AggregatedSourceTabSelector, __assign({}, props, { disabled: true }),\n props.children,\n React.createElement(StyledClearButton, { color: \"link\", message: \"Clear\", onClick: handleClear })));\n};\nAggregatedSexTab.defaultProps = {\n tabId: 'AggregatedSexTab',\n tabName: (_a = SexTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"SEX\" })); },\n};\nAggregatedRaceTab.defaultProps = {\n tabId: 'AggregatedRaceTab',\n tabName: (_b = RaceTab.defaultProps) === null || _b === void 0 ? void 0 : _b.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"RACE\" })); },\n};\nAggregatedAgeTab.defaultProps = {\n tabId: 'AggregatedAgeTab',\n tabName: (_c = AgeTab.defaultProps) === null || _c === void 0 ? void 0 : _c.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"AGE\" })); },\n};\nAggregatedDemographicTab.defaultProps = {\n tabId: 'AggregatedDemographicTab',\n tabName: 'Demographics',\n tabSelector: AggregatedDemographicTabSelector,\n};\nvar templateObject_1;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { GEO_LEVELS } from '../lookupdata';\nimport { useAggregatedGeoLevel } from './aggregateddatasource';\nimport { useGeneralConfigByDataSource } from '../hooks';\nexport var GeoLevelTab = function (props) {\n var _a = useFilterEditingValue('geoLevel'), geoLevel = _a[0], setGeoLevel = _a[1];\n var filterEdditing = useFilterEditing();\n var aggregatedGeoLevelData = useAggregatedGeoLevel(filterEdditing)[0];\n var availableGeography = useGeneralConfigByDataSource('availableGeography');\n useEffect(function () {\n var _a;\n if (filterEdditing.isAggregatedDataSource && ((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.length) && !aggregatedGeoLevelData.data.some(function (i) { return i === geoLevel; })) {\n setGeoLevel(aggregatedGeoLevelData.data[0]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterEdditing.isAggregatedDataSource, aggregatedGeoLevelData.data]);\n var isOptionDisabled = function (option) { var _a; return !!filterEdditing.isAggregatedDataSource && !((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.some(function (i) { return i === option.value; })); };\n var isOptionDisabledByGeneralConfig = function (option) { return Array.isArray(availableGeography) && !availableGeography.includes(option.value); };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Select a geographic level\"),\n React.createElement(RadioGroup, { options: GEO_LEVELS, noSort: true, value: geoLevel, onChange: setGeoLevel, isOptionDisabled: isOptionDisabledByGeneralConfig || isOptionDisabled })));\n};\nGeoLevelTab.defaultProps = {\n tabId: 'geoLevelTab',\n tabName: 'Geography',\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { CheckboxGroup } from '../common';\nimport { DATA_SOURCES } from '../configs';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { CONSUMPTION_GROUP_OPTIONS } from '../lookupdata';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { IconTooltip } from '../common/icontooltip';\nimport { useGeneralConfigByDataSource } from '../hooks/useconfig';\nimport { useFilterCount } from './usefiltercount';\nimport { useEffectFilterEditingCount } from '../filterbar';\nimport { FilterCountLoading } from './filtercountloading';\nvar StyledFormGroup = styled(FormGroup)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 100%;\\n\"], [\"\\n width: 100%;\\n\"])));\nvar StyledTabPane = styled(TabPane)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n &.active {\\n display: flex;\\n }\\n\"], [\"\\n &.active {\\n display: flex;\\n }\\n\"])));\nvar StyledHeader = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledDiv = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nexport var useSupportConsumptionGroup = function (filterSetting) {\n var _a;\n var isAggregatedDataSource = filterSetting.isAggregatedDataSource;\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n return useMemo(function () {\n var _a;\n return isAggregatedDataSource || !cmsDataSource ? false : !!((_a = DATA_SOURCES[cmsDataSource]) === null || _a === void 0 ? void 0 : _a.supportConsumptionGroup);\n }, [isAggregatedDataSource, cmsDataSource]);\n};\nvar ConsumptionGroupTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSupportConsumptionGroup = useSupportConsumptionGroup(useFilterEditing());\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSupportConsumptionGroup })));\n};\nexport var ConsumptionGroupTab = function (props) {\n var _a = useFilterEditingValue('consumptionGroupClasses'), consumptionGroups = _a[0], setConsumptionGroups = _a[1];\n var isSupportConsumptionGroup = useSupportConsumptionGroup(useFilterEditing());\n var defaultFilter = useDefaultFilter();\n var availableConsumption = useGeneralConfigByDataSource('availableConsumption');\n var indexConfig = useHostnameIndexInfo();\n var _b = useFilterCount('CONSUMPTION_GROUP', indexConfig), consumptionGroupCount = _b[0], fetchConsumptionGroupCount = _b[1];\n var filterCountEnabled = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && props.filterCountEnabled;\n useEffectFilterEditingCount(function (body) {\n if (filterCountEnabled) {\n fetchConsumptionGroupCount(body);\n }\n }, props.filterCountEffectDeps);\n useEffect(function () {\n if (isSupportConsumptionGroup) {\n var consumptionDefault = defaultFilter.consumptionGroupClasses;\n if (availableConsumption) {\n consumptionDefault = _.intersection(defaultFilter.consumptionGroupClasses, availableConsumption);\n }\n setConsumptionGroups(consumptionDefault);\n }\n else {\n setConsumptionGroups([]);\n }\n }, [availableConsumption, defaultFilter.consumptionGroupClasses, isSupportConsumptionGroup, setConsumptionGroups]);\n var HelperText = function () {\n return (React.createElement(React.Fragment, null, \"Consumption groups are based on total Medicare costs per beneficiary. Each group represents a segment of Medicare FFS beneficiaries whose expenditures for the selected year places them in the specified percentile range. This filter option is intended to reflect a distribution of Medicare utilization.\"));\n };\n var isDisabled = React.useCallback(function (_a) {\n var value = _a.value;\n if (!availableConsumption)\n return false;\n return !availableConsumption.includes(value);\n }, [availableConsumption]);\n if (!isSupportConsumptionGroup)\n return null;\n return (React.createElement(StyledTabPane, { tabId: props.tabId },\n React.createElement(StyledFormGroup, null,\n React.createElement(StyledHeader, null,\n React.createElement(StyledDiv, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Consumption Group Class\")),\n React.createElement(StyledDiv, null,\n React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\", maxWidth: \"min(80vw, 28rem)\", maxHeight: \"calc(90vh - 10rem)\", autohide: false }))),\n React.createElement(CheckboxGroup, { options: CONSUMPTION_GROUP_OPTIONS, value: consumptionGroups, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n filterCountEnabled && (React.createElement(FilterCountLoading, { loading: consumptionGroupCount.requesting, value: (_a = consumptionGroupCount.data) === null || _a === void 0 ? void 0 : _a[i.value] }))));\n }, disabled: isDisabled, onChange: setConsumptionGroups, noSort: true, allText: \"All consumption groups\" }))));\n};\nConsumptionGroupTab.defaultProps = {\n tabId: 'ConsumptionGroupTab',\n tabName: 'Consumption Group',\n tabSelector: ConsumptionGroupTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, Children, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, TabContent, Card, ListGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport * as Yup from 'yup';\nimport { useResetFilterEditing, useFilterEditing } from '../state/filterediting';\nimport { exportFilterSettingPayload, useFilterSetting, useResetFilter } from '../state/filtersettings';\nimport { Button, AlertMessage, IconButton } from '../common';\nimport { LeftTabSelectorItem } from './tabselector';\nimport { useResetViewSetting, useViewValue } from '../state';\nimport { useDefaultFilter } from '../hostnameindexinfo';\nimport { getFlattenErrors, getValidationSchema, isEmpty } from '../utils';\nimport { useStoredUIValue } from '../storeduivalue';\nimport { useProviderSetting } from '../selectors';\nimport { RightPanelTypeEnum } from '../enums';\nimport { useToggle } from '../hooks';\nvar HAMBURGER_MEDIA_SCREEN = 995;\nvar StyledModal = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledRestoreDefaultButton = styled(Button)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-decoration: underline;\\n\"], [\"\\n text-decoration: underline;\\n\"])));\nvar StyledModalBody = styled(ModalBody)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"], [\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerGroup = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: none;\\n margin-bottom: -1rem;\\n padding: 0.5rem 0;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n display: none;\\n margin-bottom: -1rem;\\n padding: 0.5rem 0;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerButton = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(IconButton, __assign({}, props));\n})(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledTabSelectors = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(ListGroup, __assign({}, props));\n})(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 3rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"], [\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 3rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN, function (_a) {\n var show = _a.show;\n return (show ? 'display: block;' : '');\n});\nvar StyledTabContent = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"], [\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"])));\nvar validationAgeSchema = Yup.object().shape({\n demographics: Yup.object().shape({\n ages: Yup.array().of(Yup.object().shape({\n isCustom: Yup.boolean(),\n minAge: Yup.number().when('isCustom', {\n is: true,\n then: Yup.number().nullable().required('Custom Age: \"From\" is Required'),\n }),\n maxAge: Yup.number().when('isCustom', {\n is: true,\n then: Yup.number().nullable().required('Custom Age: \"To\" is Required'),\n }),\n })),\n }),\n});\nvar RestoreDefaultButton = function () {\n var defaultFilter = useDefaultFilter();\n var resetFilterEditing = useResetFilterEditing();\n var handleClick = function () {\n resetFilterEditing(defaultFilter);\n };\n return React.createElement(StyledRestoreDefaultButton, { color: \"link\", message: \"Restore defaults\", onClick: handleClick });\n};\nexport var FilterDialog = function (props) {\n var isOpen = props.isOpen, toggle = props.toggle;\n var _a = useState(props.defaultActiveTab), activeTab = _a[0], setActiveTab = _a[1];\n var _b = useViewValue('geoType'), geoLevel = _b[0], setGeoLevel = _b[1];\n var _c = useViewValue('selectedRegion'), setSelectedRegion = _c[1];\n var filterSetting = useFilterSetting();\n var resetFilterEditing = useResetFilterEditing();\n var editingFilter = useFilterEditing();\n var resetFilter = useResetFilter();\n var _d = useState(), error = _d[0], setError = _d[1];\n var defaultFilter = useDefaultFilter();\n var resetViewSetting = useResetViewSetting();\n var storedUIValueData = useStoredUIValue()[0];\n var _e = useProviderSetting(editingFilter), shouldDisabledProviderSelection = _e[0].disabled, setProviderSetting = _e[1];\n var validationSchemaProps = props.validationSchema ? validationAgeSchema.concat(getValidationSchema(props.validationSchema)) : validationAgeSchema;\n var _f = useToggle(), show = _f[0], toggleShow = _f[1], setShow = _f[2];\n useEffect(function () {\n var _a, _b;\n if (storedUIValueData.session) {\n var filterValue = __assign(__assign({}, defaultFilter), (_a = storedUIValueData.data) === null || _a === void 0 ? void 0 : _a.filterSetting);\n var selectedConditions = __spreadArrays((filterValue.primaryCoMorbidities || []), (filterValue.comorbidities || []));\n filterValue = __assign(__assign({}, filterValue), { primaryCoMorbidities: selectedConditions.filter(function (c) { var _a; return (_a = defaultFilter.indexPrimaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.includes(c); }), comorbidities: selectedConditions.filter(function (c) { var _a; return !((_a = defaultFilter.indexPrimaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.includes(c)); }) });\n var viewSetting = __assign({ geoType: filterValue.geoLevel }, (_b = storedUIValueData.data) === null || _b === void 0 ? void 0 : _b.viewSetting);\n var errors = filterValue.isAggregatedDataSource ? undefined : getFlattenErrors(validationSchemaProps, exportFilterSettingPayload(filterValue));\n resetFilter(__assign(__assign({}, filterValue), { available: isEmpty(errors) }));\n resetViewSetting(viewSetting);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [storedUIValueData.session]);\n useEffect(function () {\n setActiveTab(props.defaultActiveTab);\n }, [props.defaultActiveTab]);\n useEffect(function () {\n if (isOpen) {\n resetFilterEditing(__assign(__assign({}, filterSetting), { geoLevel: geoLevel }));\n setActiveTab(props.defaultActiveTab);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n var handleOK = function () {\n var errors;\n if (!editingFilter.isAggregatedDataSource) {\n errors = getFlattenErrors(validationSchemaProps, exportFilterSettingPayload(editingFilter));\n }\n setError(errors);\n if (!isEmpty(errors)) {\n return;\n }\n setGeoLevel(editingFilter.geoLevel);\n resetFilter(__assign(__assign({}, editingFilter), { available: true }));\n if (shouldDisabledProviderSelection) {\n setProviderSetting({});\n }\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n toggle();\n };\n var toggleTabSelector = function (tabId) {\n setActiveTab(tabId);\n setShow(false);\n };\n var tabSelectors = Children.map(props.children, function (child) {\n return (React.createElement(LeftTabSelectorItem, { activeTab: activeTab, toggleTab: toggleTabSelector, tabId: child.props.tabId, tabName: child.props.tabName, tabSelector: child.props.tabSelector }));\n });\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledModal, { size: \"lg\", unmountOnClose: false, isOpen: isOpen, toggle: toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: toggle },\n React.createElement(FontAwesomeIcon, { icon: \"filter\", size: \"lg\" }),\n React.createElement(\"span\", null, \" Filters \"),\n React.createElement(RestoreDefaultButton, null)),\n React.createElement(StyledModalBody, null,\n React.createElement(HamburgerGroup, null,\n React.createElement(HamburgerButton, { color: \"#000\", icon: show ? 'times' : 'bars', size: \"2x\", onClick: toggleShow }),\n React.createElement(\"h5\", { className: \"m-0\" }, React.Children.map(props.children, function (child) { return (child.props.tabId === activeTab ? child.props.tabName : null); }))),\n React.createElement(StyledTabSelectors, { show: show }, tabSelectors),\n React.createElement(StyledTabContent, null,\n React.createElement(Card, { body: true, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(TabContent, { activeTab: activeTab }, props.children)))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"secondary\", onClick: toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", onClick: handleOK }, \"Apply\"))),\n React.createElement(AlertMessage, { errors: error })));\n};\nexport * from './datayeartab';\nexport * from './datayearseasontab';\nexport * from './conditiontab';\nexport * from './statistictab';\nexport * from './sextab';\nexport * from './racetab';\nexport * from './agetab';\nexport * from './aggregateddemographictab';\nexport * from './geoleveltab';\nexport * from './tabselector';\nexport * from './consumptiongroup';\nexport * from './usefiltercount';\nexport * from './filtercountloading';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ReportTypeEnum;\n(function (ReportTypeEnum) {\n ReportTypeEnum[\"CongressionalDetailAnalysis\"] = \"CONGRESSIONAL_DETAIL_ANALYSIS\";\n ReportTypeEnum[\"ZipCodeDetailAnalysis\"] = \"ZIP_CODE_DETAIL_ANALYSIS\";\n})(ReportTypeEnum || (ReportTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\nimport { useCallback, useMemo } from 'react';\nimport { ChronicConditionSource, PrimaryConditionsSortTypeEnum, SecondaryConditionsSortTypeEnum, KeyCombineConditionSource, } from '../enums';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useCachedData, useFilterEditingValue } from '../state';\nimport _ from 'lodash';\nimport { useReportsDialogValue } from '../reportsdialogextension';\nvar LOOKUP_CONDITION_API = '/api/general/lookup/get-lookup-chronic-condition';\nexport var useLookupCondition = function (values) {\n var _a = useCachedData(LOOKUP_CONDITION_API), lookupConditionData = _a[0], res = _a.slice(1);\n var labeledValues = useMemo(function () {\n var _a;\n return ((values === null || values === void 0 ? void 0 : values.length) && ((_a = lookupConditionData.data) === null || _a === void 0 ? void 0 : _a.length)\n ? values === null || values === void 0 ? void 0 : values.map(function (value) { var _a; return (_a = lookupConditionData.data) === null || _a === void 0 ? void 0 : _a.find(function (option) { return option.chronicConditionCode === value; }); }).filter(function (option) { return !!option; }) : []);\n }, [values, lookupConditionData.data]);\n return __spreadArrays([__assign(__assign({}, lookupConditionData), { labeledValues: labeledValues })], res);\n};\nexport var LookupConditionComponent = function () {\n var _a = useLookupCondition(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\nexport var ConditionType;\n(function (ConditionType) {\n ConditionType[ConditionType[\"Primary\"] = 0] = \"Primary\";\n ConditionType[ConditionType[\"Key\"] = 1] = \"Key\";\n ConditionType[ConditionType[\"Other\"] = 2] = \"Other\";\n ConditionType[ConditionType[\"Secondary\"] = 3] = \"Secondary\";\n})(ConditionType || (ConditionType = {}));\nexport var getConditionsByDataSet = function (conditionByDataSet, cmsDataSource, dataYear, key) {\n if (key === void 0) { key = 'conditions'; }\n if (!conditionByDataSet)\n return undefined;\n var conditionByDataSource = cmsDataSource ? conditionByDataSet[cmsDataSource] : undefined;\n var conditionByDataSourceSetAllYear = conditionByDataSource === null || conditionByDataSource === void 0 ? void 0 : conditionByDataSource.find(function (conditions) { return conditions.dataYear === undefined; });\n var conditionByDataSourceAndDataYear = conditionByDataSource === null || conditionByDataSource === void 0 ? void 0 : conditionByDataSource.find(function (conditions) { return String(conditions.dataYear) === String(dataYear); });\n return _.get(conditionByDataSourceAndDataYear, key, undefined) || _.get(conditionByDataSourceSetAllYear, key, undefined);\n};\nvar compareCondition = function (a, b, indexConfig, cmsDataSource, dataYear, parameters) {\n var _a = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}, primaryConditions = _a.primaryConditions, primaryConditionsSortType = _a.primaryConditionsSortType, secondaryConditionsConfig = _a.secondaryConditions, secondaryConditionsSortType = _a.secondaryConditionsSortType, filtersConfigByDataSource = _a.filtersConfigByDataSource;\n var secondaryConditions = (parameters || {}).secondaryConditions;\n var primaryConditionByDataSourceAndYear = getConditionsByDataSet(filtersConfigByDataSource, cmsDataSource, dataYear);\n var primaryConditionWithoutClaims = getConditionsByDataSet(filtersConfigByDataSource, cmsDataSource, dataYear, 'primaryConditionWithoutClaims');\n var fullPrimaryCondition = primaryConditionWithoutClaims || primaryConditionByDataSourceAndYear || primaryConditions;\n var fullSecondaryConditions = secondaryConditions || secondaryConditionsConfig;\n return !a || !b\n ? 0\n : a.type - b.type\n ? a.type - b.type\n : b.type === ConditionType.Key\n ? parseInt(a.value, 10) - parseInt(b.value, 10)\n : b.type === ConditionType.Primary && fullPrimaryCondition && primaryConditionsSortType === PrimaryConditionsSortTypeEnum.Specifically\n ? fullPrimaryCondition.indexOf(a.value) - fullPrimaryCondition.indexOf(b.value)\n : b.type === ConditionType.Secondary && fullSecondaryConditions && secondaryConditionsSortType === SecondaryConditionsSortTypeEnum.Specifically\n ? fullSecondaryConditions.indexOf(a.value) - fullSecondaryConditions.indexOf(b.value)\n : a.label.toLocaleLowerCase().localeCompare(b.label.toLocaleLowerCase());\n};\nexport var useSynchronizedConditionReport = function (conditionType) {\n var _a, _b;\n if (conditionType === void 0) { conditionType = ConditionType.Primary; }\n var indexConfig = useHostnameIndexInfo();\n var _c = useReportsDialogValue('secondaryCormorbidities'), selectingSecondaryCormorbidities = _c[0], setSelectingSecondaryCormorbidities = _c[1];\n var lookupData = useLookupConditionSortByType()[0];\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[conditionType];\n var comorbiditiesDefaultFilter = useMemo(function () { var _a; return ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _a === void 0 ? void 0 : _a.comorbidities) || []; }, [(_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _b === void 0 ? void 0 : _b.comorbidities]);\n var doSynchronize = useCallback(function () {\n var conditionsValues = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n if (conditionType === ConditionType.Secondary) {\n var selectingComorbiditiesFilter = selectingSecondaryCormorbidities === null || selectingSecondaryCormorbidities === void 0 ? void 0 : selectingSecondaryCormorbidities.filter(function (condition) { return (conditionsValues === null || conditionsValues === void 0 ? void 0 : conditionsValues.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingSecondaryCormorbidities(selectingComorbiditiesFilter);\n }\n }, [\n conditionType,\n comorbiditiesDefaultFilter,\n primaryConditions,\n selectingSecondaryCormorbidities,\n setSelectingSecondaryCormorbidities,\n ]);\n return [doSynchronize];\n};\nexport var useSynchronizedPrimaryCondition = function (conditionTypes) {\n var _a;\n if (conditionTypes === void 0) { conditionTypes = [ConditionType.Primary]; }\n var _b = useFilterEditingValue('primaryConditions'), selectingPrimaryConditions = _b[0], setSelectingPrimaryConditions = _b[1];\n var _c = useFilterEditingValue('additionalConditions'), selectingAdditionalConditions = _c[0], setSelectingAdditionalConditions = _c[1];\n var _d = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryCoMorbidities = _d[0], setSelectingPrimaryCoMorbidities = _d[1];\n var _e = useFilterEditingValue('comorbidities'), selectingComorbidities = _e[0], setSelectingComorbidities = _e[1];\n var _f = useFilterEditingValue('primaryConditionWithClaimsOptionals'), selectingPrimaryConditionWithoutClaimsOptionals = _f[0], setSelectingPrimaryConditionWithoutClaimsOptionals = _f[1];\n var indexConfig = useHostnameIndexInfo();\n var useMBSFChronicCondition = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useMBSFChronicCondition;\n var lookupData = useLookupConditionSortByType()[0];\n var comorbiditiesDefaultFilter = useMemo(function () {\n var _a, _b, _c, _d;\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var primaryConditionsValues = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n if (!useMBSFChronicCondition)\n return ((_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _b === void 0 ? void 0 : _b.comorbidities) || [];\n return (_d = (_c = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _c === void 0 ? void 0 : _c.comorbidities) === null || _d === void 0 ? void 0 : _d.filter(function (condition) { return primaryConditionsValues === null || primaryConditionsValues === void 0 ? void 0 : primaryConditionsValues.includes(condition); });\n }, [\n (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _a === void 0 ? void 0 : _a.comorbidities,\n useMBSFChronicCondition,\n lookupData.groupedCondition,\n ]);\n var doSynchronize = useCallback(function () {\n var _a, _b, _c;\n if (conditionTypes.includes(ConditionType.Primary)) {\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var primaryConditionsValues_1 = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n var selectingPrimaryConditionsFilter = selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingComorbiditiesFilter = selectingComorbidities === null || selectingComorbidities === void 0 ? void 0 : selectingComorbidities.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingPrimaryCoMorbiditiesFilter = selectingPrimaryCoMorbidities === null || selectingPrimaryCoMorbidities === void 0 ? void 0 : selectingPrimaryCoMorbidities.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingPrimaryConditionWithoutClaimsOptionalsFilter = selectingPrimaryConditionWithoutClaimsOptionals === null || selectingPrimaryConditionWithoutClaimsOptionals === void 0 ? void 0 : selectingPrimaryConditionWithoutClaimsOptionals.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n setSelectingPrimaryConditions(selectingPrimaryConditionsFilter);\n setSelectingPrimaryCoMorbidities((selectingPrimaryCoMorbiditiesFilter === null || selectingPrimaryCoMorbiditiesFilter === void 0 ? void 0 : selectingPrimaryCoMorbiditiesFilter.length) ? selectingPrimaryCoMorbiditiesFilter : comorbiditiesDefaultFilter.slice(0, 1) || []);\n setSelectingComorbidities(selectingComorbiditiesFilter);\n setSelectingPrimaryConditionWithoutClaimsOptionals(selectingPrimaryConditionWithoutClaimsOptionalsFilter);\n return;\n }\n if (conditionTypes.includes(ConditionType.Secondary)) {\n var primaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Secondary];\n var primaryConditionsValues_2 = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n var selectingComorbiditiesFilter = selectingComorbidities === null || selectingComorbidities === void 0 ? void 0 : selectingComorbidities.filter(function (condition) { return (primaryConditionsValues_2 === null || primaryConditionsValues_2 === void 0 ? void 0 : primaryConditionsValues_2.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingComorbidities(selectingComorbiditiesFilter);\n }\n if (conditionTypes.includes(ConditionType.Other)) {\n var otherConditions = (_c = lookupData.groupedCondition) === null || _c === void 0 ? void 0 : _c[ConditionType.Other];\n var otherConditionsValues_1 = otherConditions === null || otherConditions === void 0 ? void 0 : otherConditions.map(function (condition) { return condition.value; });\n var selectingAdditionalConditionsFilter = selectingAdditionalConditions === null || selectingAdditionalConditions === void 0 ? void 0 : selectingAdditionalConditions.filter(function (condition) { return (otherConditionsValues_1 === null || otherConditionsValues_1 === void 0 ? void 0 : otherConditionsValues_1.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingAdditionalConditions(selectingAdditionalConditionsFilter);\n }\n }, [\n conditionTypes,\n comorbiditiesDefaultFilter,\n lookupData.groupedCondition,\n selectingPrimaryConditions,\n selectingPrimaryCoMorbidities,\n selectingComorbidities,\n selectingPrimaryConditionWithoutClaimsOptionals,\n selectingAdditionalConditions,\n setSelectingPrimaryConditions,\n setSelectingPrimaryCoMorbidities,\n setSelectingComorbidities,\n setSelectingPrimaryConditionWithoutClaimsOptionals,\n setSelectingAdditionalConditions,\n ]);\n return [doSynchronize];\n};\nvar ConditionCMSFilter = (_a = {},\n _a[KeyCombineConditionSource.lessThan2019] = [ChronicConditionSource.CMS_27, ChronicConditionSource.CMS_OTHER],\n _a[KeyCombineConditionSource.greaterOrEqual2019] = [ChronicConditionSource.CMS_30, ChronicConditionSource.CMS_OTHER],\n _a);\n/**\n * This is a Record variable, It'll save values to combine chronic condition source\n * With Greater value, We should order by DESC\n * Otherwise, We should order by ASC\n * Ex: Greater: 2016-; 2017-; 2018-;...\n * Smaller: -2015; -2014; -2013;...\n */\nvar ValueCombineCondition = {\n '2019-': KeyCombineConditionSource.greaterOrEqual2019,\n '-2018': KeyCombineConditionSource.lessThan2019,\n};\nvar getKeyCombine = function (year) {\n return ValueCombineCondition[Object.keys(ValueCombineCondition).find(function (k) {\n var splitKey = k.split('-');\n if (!Number(splitKey[0]) && Number(splitKey[1]) >= Number(year)) {\n return true;\n }\n if (!Number(splitKey[1]) && Number(splitKey[0]) <= Number(year)) {\n return true;\n }\n return false;\n }) || ''];\n};\nexport var useLookupConditionSortByType = function (indexConfig, dataYear, cmsDataSource, dataYearSeasonParam) {\n var _a = useLookupCondition(), lookupData = _a[0], rest = _a.slice(1);\n var hostednameIndexConfig = useHostnameIndexInfo();\n var dataYearFilterEditing = useFilterEditingValue('dataYear')[0];\n var dataYearSeasonEditing = useFilterEditingValue('dataYearSeason')[0];\n indexConfig = indexConfig || hostednameIndexConfig;\n var useMBSFChronicCondition = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useMBSFChronicCondition;\n var dataYearSeason = useMemo(function () { return dataYearSeasonParam || dataYearSeasonEditing; }, [dataYearSeasonParam, dataYearSeasonEditing]);\n var primaryConditionByDataSourceAndYear = useGeneralConfigByDataSource('conditions');\n var primaryConditionWithoutClaims = useGeneralConfigByDataSource('primaryConditionWithoutClaims', cmsDataSource, dataYearSeason, dataYear);\n var secondaryConditionsConfig = useGeneralConfigByDataSource('secondaryConditions', cmsDataSource, dataYearSeason, dataYear);\n var primaryConditionsByChronicConditionSourceConfig = useGeneralConfigByDataSource('primaryConditionsByChronicConditionSource', cmsDataSource, dataYearSeason, dataYear);\n var allConditionDefault = useMemo(function () {\n var _a, _b;\n var ccBySource = (_b = (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.filter(function (condition) { return primaryConditionsByChronicConditionSourceConfig === null || primaryConditionsByChronicConditionSourceConfig === void 0 ? void 0 : primaryConditionsByChronicConditionSourceConfig.includes(condition.chronicConditionSource); })) === null || _b === void 0 ? void 0 : _b.map(function (condition) { return condition.chronicConditionCode; });\n return _.union(indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions, primaryConditionByDataSourceAndYear, primaryConditionWithoutClaims, secondaryConditionsConfig, ccBySource);\n }, [\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions,\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions,\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions,\n primaryConditionByDataSourceAndYear,\n primaryConditionWithoutClaims,\n secondaryConditionsConfig,\n primaryConditionsByChronicConditionSourceConfig,\n lookupData.data,\n ]);\n var combinedData = useMemo(function () {\n var _a;\n return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) {\n var _a, _b, _c;\n var isPrimaryByCCSource = primaryConditionsByChronicConditionSourceConfig === null || primaryConditionsByChronicConditionSourceConfig === void 0 ? void 0 : primaryConditionsByChronicConditionSourceConfig.some(function (template) { return i.chronicConditionSource === template; });\n var isPrimaryByPrimaryConditionWithoutClaims = primaryConditionWithoutClaims === null || primaryConditionWithoutClaims === void 0 ? void 0 : primaryConditionWithoutClaims.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimaryByPrimaryConditionByDataSourceAndYear = primaryConditionByDataSourceAndYear === null || primaryConditionByDataSourceAndYear === void 0 ? void 0 : primaryConditionByDataSourceAndYear.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimaryByPrimaryCondition = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions) === null || _a === void 0 ? void 0 : _a.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimary = isPrimaryByCCSource || isPrimaryByPrimaryConditionWithoutClaims || isPrimaryByPrimaryConditionByDataSourceAndYear || isPrimaryByPrimaryCondition;\n var isSecondaryBySecondaryConditionsConfig = secondaryConditionsConfig === null || secondaryConditionsConfig === void 0 ? void 0 : secondaryConditionsConfig.some(function (v) { return v === i.chronicConditionCode; });\n var isSecondaryBySecondaryConditions = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions) === null || _b === void 0 ? void 0 : _b.some(function (v) { return v === i.chronicConditionCode; });\n var isSecondary = isSecondaryBySecondaryConditionsConfig || isSecondaryBySecondaryConditions;\n var isKey = (_c = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions) === null || _c === void 0 ? void 0 : _c.some(function (v) {\n var _a = v.split('-'), from = _a[0], to = _a[1];\n return (v === i.chronicConditionCode ||\n (parseInt(i.chronicConditionCode, 10) >= parseInt(from, 10) && parseInt(i.chronicConditionCode, 10) <= parseInt(to || from, 10)));\n });\n return {\n value: i.chronicConditionCode,\n label: i.chronicConditionName,\n type: isPrimary\n ? ConditionType.Primary\n : isKey\n ? ConditionType.Key\n : isSecondary\n ? ConditionType.Secondary\n : ConditionType.Other,\n source: i.chronicConditionSource,\n };\n }).filter(function (i) {\n var _a, _b, _c;\n var isIgnoreConditions = ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditions) === null || _a === void 0 ? void 0 : _a.some(function (v) {\n var _a = v.split('-'), from = _a[0], to = _a[1];\n return (v === i.value ||\n (parseInt(i.value, 10) >= parseInt(from, 10) && parseInt(i.value, 10) <= parseInt(to || from, 10)));\n })) || ((_c = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _b === void 0 ? void 0 : _b[\"\" + dataYear]) === null || _c === void 0 ? void 0 : _c.includes(i.value));\n return i.type !== ConditionType.Other || !isIgnoreConditions;\n }).sort(function (a, b) { return compareCondition(a, b, indexConfig, cmsDataSource, dataYear, { secondaryConditions: secondaryConditionsConfig }); });\n }, [\n lookupData.data,\n indexConfig,\n dataYear,\n cmsDataSource,\n primaryConditionByDataSourceAndYear,\n primaryConditionWithoutClaims,\n secondaryConditionsConfig,\n primaryConditionsByChronicConditionSourceConfig,\n ]);\n var combinedDataWithinReferenceYear = useMemo(function () {\n var groupedDataByReferenceYear = Object.keys(ConditionCMSFilter).reduce(function (acc, cur) {\n acc[cur] = (combinedData === null || combinedData === void 0 ? void 0 : combinedData.filter(function (c) {\n return ConditionCMSFilter[cur].includes(c.source) ||\n (c.type === ConditionType.Primary && c.source === ChronicConditionSource.NMQF_CUSTOM) ||\n (!useMBSFChronicCondition && allConditionDefault.includes(c.value));\n })) || [];\n return acc;\n }, {});\n var dataYearToFilter = dataYear || 0;\n if (dataYearSeason === null || dataYearSeason === void 0 ? void 0 : dataYearSeason.length)\n dataYearToFilter = dataYearSeason[0];\n if (dataYearFilterEditing)\n dataYearToFilter = dataYearFilterEditing;\n return groupedDataByReferenceYear[getKeyCombine(dataYearToFilter)];\n }, [\n dataYear,\n dataYearSeason,\n dataYearFilterEditing,\n combinedData,\n useMBSFChronicCondition,\n allConditionDefault,\n ]);\n var _b = useMemo(function () {\n return (combinedDataWithinReferenceYear || []).reduce(function (acc, curr) {\n acc.mapByValue[curr.value] = curr;\n if (!acc.groupedCondition[curr.type]) {\n acc.groupedCondition[curr.type] = Object.assign([]);\n }\n acc.groupedCondition[curr.type].push(curr);\n return acc;\n }, Object.assign({ mapByValue: {}, groupedCondition: {} }));\n }, [combinedDataWithinReferenceYear]), mapByValue = _b.mapByValue, groupedCondition = _b.groupedCondition;\n var sortValue = useCallback(function (a, b) { return compareCondition(mapByValue[a], mapByValue[b], indexConfig); }, [indexConfig, mapByValue]);\n return __spreadArrays([__assign(__assign({}, lookupData), { groupedCondition: groupedCondition, sortValue: sortValue })], rest);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a, _b;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { StatisticGroupEnum, StatisticTypeEnum } from '../enums';\nimport { safeDivide } from '../utils';\nvar STATISTIC_GROUPS = (_a = {},\n _a[StatisticGroupEnum.Population] = {\n value: StatisticGroupEnum.Population,\n label: 'Population',\n },\n _a[StatisticGroupEnum.Rate] = {\n value: StatisticGroupEnum.Rate,\n label: 'Rate of Acute Events',\n },\n _a[StatisticGroupEnum.Cost] = {\n value: StatisticGroupEnum.Cost,\n label: 'Cost of Acute Events',\n },\n _a);\nvar DEFAULT_STATISTIC_PRECISION = 2;\nvar STATISTIC_OPTION_BY_TYPE = (_b = {},\n _b[StatisticTypeEnum.Prevalence] = {\n value: StatisticTypeEnum.Prevalence,\n label: 'Prevalence',\n shortTerm: 'Prevalence',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Population],\n percentage: true,\n },\n _b[StatisticTypeEnum.TotalCount] = {\n value: StatisticTypeEnum.TotalCount,\n label: 'Total Count of Patients',\n shortTerm: 'Total Count',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Population],\n precision: 0,\n },\n _b[StatisticTypeEnum.HospitalizationRate] = {\n value: StatisticTypeEnum.HospitalizationRate,\n label: 'Hospitalization Rate',\n shortTerm: 'Hospitalization Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.ERVisitsRate] = {\n value: StatisticTypeEnum.ERVisitsRate,\n label: 'ER Visits Rate',\n shortTerm: 'ER Visits Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.HospitalEncounterRate] = {\n value: StatisticTypeEnum.HospitalEncounterRate,\n label: 'Hospital Encounters Rate',\n shortTerm: 'Hospital Encounters Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.DeathRate] = {\n value: StatisticTypeEnum.DeathRate,\n label: 'Death Rate',\n shortTerm: 'Death Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n precision: 4,\n },\n _b[StatisticTypeEnum.ReadmissionRate] = {\n value: StatisticTypeEnum.ReadmissionRate,\n label: 'Readmission Rate',\n shortTerm: 'Readmission Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n precision: 3,\n },\n _b[StatisticTypeEnum.HospitalizationCost] = {\n value: StatisticTypeEnum.HospitalizationCost,\n label: 'Total Annual Hospitalization Cost Per Patient',\n shortTerm: 'Hospitalization Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.ERCost] = {\n value: StatisticTypeEnum.ERCost,\n label: 'Total Annual ER Cost Per Patient',\n shortTerm: 'ER Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.OOPPartBDrugCost] = {\n value: StatisticTypeEnum.OOPPartBDrugCost,\n label: 'Total Annual Patient Out-of-pocket Part b Drug Cost Per Patient',\n shortTerm: 'Patient Out-of-pocket Part b Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.OOPPartDDrugCost] = {\n value: StatisticTypeEnum.OOPPartDDrugCost,\n label: 'Total Annual Patient Out-of-pocket Part d Drug Cost Per Patient',\n shortTerm: 'Patient Out-of-pocket Part d Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.MCRPartBDrugCost] = {\n value: StatisticTypeEnum.MCRPartBDrugCost,\n label: 'Total Annual MCR Part b Drug Payments Per Patient',\n shortTerm: 'Medicare Part b Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.MCRPartDDrugCost] = {\n value: StatisticTypeEnum.MCRPartDDrugCost,\n label: 'Total Annual MCR Part d Drug Payments Per Patient',\n shortTerm: 'Medicare Part d Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.TotalCost] = {\n value: StatisticTypeEnum.TotalCost,\n label: 'Total Annual Cost Per Patient',\n shortTerm: 'Total Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b);\nexport var GROUPED_STATISTIC_OPTIONS = Object.values(STATISTIC_GROUPS).map(function (group) { return (__assign(__assign({}, group), { options: Object.values(STATISTIC_OPTION_BY_TYPE).filter(function (i) { return i.group.value === group.value; }) })); });\nexport var getStatisticOptions = function (statistics) {\n return !statistics\n ? Object.values(STATISTIC_OPTION_BY_TYPE)\n : Object.values(STATISTIC_OPTION_BY_TYPE).filter(function (option) { return statistics.some(function (statistic) { return statistic === option.value; }); });\n};\nexport var getStatisticOption = function (statistic) { return statistic && STATISTIC_OPTION_BY_TYPE[statistic]; };\nexport var getStatisticShortName = function (statistic) { var _a; return (_a = getStatisticOption(statistic)) === null || _a === void 0 ? void 0 : _a.shortTerm; };\nexport var getStatisticPrecision = function (statistic) {\n var statisticOption = getStatisticOption(statistic);\n return (statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.precision) === undefined ? DEFAULT_STATISTIC_PRECISION : statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.precision;\n};\nexport function processStatisticValue(value, percentage, statistic) {\n return safeDivide(value, 1, percentage, getStatisticPrecision(statistic));\n}\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useCallback } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_STATE_API = '/api/general/lookup/get-list-state';\nexport var useLookupState = function (valueIsAbb) {\n var _a;\n var _b = useCachedData(LOOKUP_STATE_API), lookupStateData = _b[0], res = _b.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.data.sort(function (a, b) { return a.stateName.toLowerCase().localeCompare(b.stateName.toLowerCase()); }).map(function (i) { return (__assign(__assign({}, i), { value: valueIsAbb ? i.stateAbbreviation : i.stateCode, label: i.stateName })); }); }, [(_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.data, valueIsAbb]);\n var getStateByStateCode = useCallback(function (stateCode) { return data === null || data === void 0 ? void 0 : data.find(function (i) { return parseInt(i.stateCode, 10) === parseInt(stateCode, 10); }); }, [data]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var getNameByStateCode = useCallback(function (stateCode) { var _a; return ((_a = getStateByStateCode(stateCode)) === null || _a === void 0 ? void 0 : _a.stateName) || stateCode; }, [data]);\n var getNameByStateAbb = useCallback(function (stateAbb) { var _a; return ((_a = data === null || data === void 0 ? void 0 : data.find(function (i) { return i.stateAbbreviation === stateAbb; })) === null || _a === void 0 ? void 0 : _a.stateName) || stateAbb; }, [data]);\n return __spreadArrays([__assign(__assign({}, lookupStateData), { data: data, getStateByStateCode: getStateByStateCode, getNameByStateCode: getNameByStateCode, getNameByStateAbb: getNameByStateAbb })], res);\n};\nexport var LookupStateComponent = function () {\n var _a = useLookupState(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useCallback } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nimport { useLookupState } from './lookupstate';\nvar LOOKUP_ZIP_CODE_DISTRICT_API = '/api/general/lookup/get-data-for-drop-down-filtering-which-related-to-state';\nexport var useLookupZipCodeDistrict = function () {\n var _a;\n var _b = useCachedData(LOOKUP_ZIP_CODE_DISTRICT_API), data = _b[0], res = _b.slice(1);\n var lookupStateData = useLookupState()[0];\n var getStateCodeOfZipCode = useCallback(function (zipcode) {\n var _a;\n return zipcode && ((_a = data.data) === null || _a === void 0 ? void 0 : _a.data.stateByZipCode5[zipcode.padStart(5, '0')]);\n }, [data.data]);\n var getStateNameOfZipCode = useCallback(function (zipcode) {\n var stateCode = getStateCodeOfZipCode(zipcode);\n return stateCode && lookupStateData.getNameByStateCode(stateCode);\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [getStateCodeOfZipCode, lookupStateData.getNameByStateCode]);\n var getStateAbbOfZipCode = useCallback(function (zipcode) {\n var _a, _b;\n var stateCode = getStateCodeOfZipCode(zipcode);\n return stateCode ? (_b = (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.find(function (i) { return i.stateCode === stateCode; })) === null || _b === void 0 ? void 0 : _b.stateAbbreviation : 'N/A';\n }, [getStateCodeOfZipCode, lookupStateData]);\n return __spreadArrays([__assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.data, getStateCodeOfZipCode: getStateCodeOfZipCode, getStateNameOfZipCode: getStateNameOfZipCode, getStateAbbOfZipCode: getStateAbbOfZipCode })], res);\n};\nexport var LookupZipCodeDistrictComponent = function () {\n var _a = useLookupZipCodeDistrict(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_COUNTY_API = '/api/general/lookup/get-lookup-county';\nexport var useLookupCounty = function () {\n var _a = useCachedData(LOOKUP_COUNTY_API), data = _a[0], res = _a.slice(1);\n var countyByStateCode = useMemo(function () { var _a; return (_a = data.data) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) {\n if (!acc[curr.stateCode]) {\n acc[curr.stateCode] = [];\n }\n acc[curr.stateCode].push(curr);\n return acc;\n }, Object.assign({})); }, [data.data]);\n return __spreadArrays([__assign(__assign({}, data), { data: countyByStateCode })], res);\n};\nexport var LookupCountyComponent = function () {\n var _a = useLookupCounty(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_MSA_API = '/api/general/lookup/get-lookup-msa';\nexport var useLookupMSA = function () {\n return useCachedData(LOOKUP_MSA_API);\n};\nexport var LookupMSAComponent = function () {\n var _a = useLookupMSA(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar API_URL_LOOKUP_SEX_CODE = '/api/general/lookup/get-lookup-sex-code';\nvar IGNORE_SEX_NAME = 'Unknown';\nexport var useLookupSexCode = function (values) {\n var _a = useCachedData(API_URL_LOOKUP_SEX_CODE), lookupData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.sexName.toLowerCase() !== IGNORE_SEX_NAME.toLowerCase(); }).sort(function (a, b) { return parseInt(a.sexCode, 10) - parseInt(b.sexCode, 10); }).map(function (i) { return (__assign(__assign({}, i), { value: i.sexCode, label: i.sexName })); }); }, [lookupData.data]);\n var mappedValues = useMemo(function () { return ((values === null || values === void 0 ? void 0 : values.length) ? data === null || data === void 0 ? void 0 : data.filter(function (i) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === i.value; }); }) : undefined); }, [data, values]);\n return __spreadArrays([__assign(__assign({}, lookupData), { data: data, mappedValues: mappedValues })], rest);\n};\nexport var LookupSexCodeComponent = function () {\n var _a = useLookupSexCode(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useCachedData } from '../state';\nimport { RaceMethodologyEnum } from '../enums';\nimport { useMount } from '../hooks';\nvar API_URL_LOOKUP_RACE_CODE = '/api/general/lookup/get-lookup-race-code';\nvar API_URL_LOOKUP_RTI_RACE_CODE = '/api/general/lookup/get-lookup-rti-race-code';\nexport var useLookupRaceCode = function (methodology, values) {\n if (methodology === void 0) { methodology = RaceMethodologyEnum.Standard; }\n var _a = useCachedData(methodology === RaceMethodologyEnum.Standard ? API_URL_LOOKUP_RACE_CODE : API_URL_LOOKUP_RTI_RACE_CODE), lookupData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return (__assign(__assign({}, i), { value: i.raceCode, label: i.raceName, shortName: i.raceName === 'North American Native' ? 'N.Amer Native' : i.raceName })); }).sort(function (a, b) { return parseInt(a.raceCode, 10) - parseInt(b.raceCode, 10); }); }, [lookupData.data]);\n var mappedValues = useMemo(function () { return ((values === null || values === void 0 ? void 0 : values.length) ? data === null || data === void 0 ? void 0 : data.filter(function (i) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === i.value; }); }) : undefined); }, [data, values]);\n return __spreadArrays([__assign(__assign({}, lookupData), { data: data, mappedValues: mappedValues })], rest);\n};\nexport var LookupRaceCodeComponent = function () {\n var _a = useLookupRaceCode(RaceMethodologyEnum.Standard), fetchRaceLookupStandard = _a[1];\n var _b = useLookupRaceCode(RaceMethodologyEnum.RTI), fetchRaceLookupRTI = _b[1];\n useMount(function () {\n fetchRaceLookupStandard();\n fetchRaceLookupRTI();\n });\n return null;\n};\n","export var stringifyAgeValue = function (_a) {\n var minAge = _a.minAge, maxAge = _a.maxAge;\n return (minAge !== null && minAge !== void 0 ? minAge : '') + \"-\" + (maxAge !== null && maxAge !== void 0 ? maxAge : '');\n};\nexport var getAgeLabel = function (_a) {\n var _b = _a === void 0 ? {} : _a, minAge = _b.minAge, maxAge = _b.maxAge;\n return minAge !== undefined && maxAge !== undefined\n ? minAge + \" to \" + maxAge\n : maxAge !== undefined\n ? \"Under \" + (maxAge + 1)\n : minAge !== undefined\n ? minAge ? \"Over \" + (minAge - 1) : minAge + \"+\"\n : 'N/A';\n};\nvar transformAgeOption = function (value) { return ({\n value: value,\n stringified: stringifyAgeValue(value),\n label: getAgeLabel(value),\n}); };\nexport var AGE_OPTIONS = [18, 49, 64, 74, 80, 81].map(function (age, idx, arr) {\n var minAge = !idx ? undefined : idx === arr.length - 1 ? age : arr[idx - 1] + 1;\n var maxAge = idx === arr.length - 1 ? undefined : age;\n var value = { maxAge: maxAge, minAge: minAge };\n return transformAgeOption(value);\n});\nexport var ALL_AGE_VALUES = AGE_OPTIONS.map(function (i) { return i.value; });\nexport var mapAgeValues = function (values) {\n return (values === null || values === void 0 ? void 0 : values.length) ? values[0].isCustom\n ? [transformAgeOption(values[0])]\n : AGE_OPTIONS.filter(function (i) { return values.some(function (v) { return stringifyAgeValue(v) === i.stringified; }); })\n : undefined;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect, useMemo } from 'react';\nimport { useCachedData } from '../state';\nimport { DataSourceEnum } from '../enums';\nimport { useAggregatedYear } from '../filterdialog/aggregateddatasource';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nvar FETCH_DATA_YEAR_API_URL = '/api/general/get-list-data-year/{dataSource}/{indexName}';\nexport var useCMSDataYear = function (dataSource, onlyNumber) {\n if (dataSource === void 0) { dataSource = DataSourceEnum.MedicareFFS; }\n if (onlyNumber === void 0) { onlyNumber = false; }\n var indexName = useIndexName();\n var _a = useCachedData(FETCH_DATA_YEAR_API_URL, { dataSource: dataSource, indexName: indexName }), data = _a[0], res = _a.slice(1);\n var sortedYear = useMemo(function () { var _a; return (_a = data.data) === null || _a === void 0 ? void 0 : _a[dataSource].filter(function (y) { return (onlyNumber ? !isNaN(y) : true); }); }, [data.data, dataSource, onlyNumber]);\n return __spreadArrays([__assign(__assign({}, data), { data: sortedYear })], res);\n};\nexport var useCMSDataSeasonYear = function (filterSetting) {\n var _a;\n var indexConfiguration = useHostnameIndexInfo();\n var isSeasonStatistic = ((indexConfiguration === null || indexConfiguration === void 0 ? void 0 : indexConfiguration.generalInformation) || {}).isSeasonStatistic;\n var dataSource = ((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource) || DataSourceEnum.MedicareFFS;\n var indexName = useIndexName();\n var _b = useCachedData(FETCH_DATA_YEAR_API_URL, { dataSource: dataSource, indexName: indexName }), data = _b[0], res = _b.slice(1);\n var seasonYear = useMemo(function () {\n var _a;\n return !isSeasonStatistic ? [] : (_a = data.data) === null || _a === void 0 ? void 0 : _a[dataSource].map(function (item) {\n var rangeYear = getYearsBySeason(item);\n if (rangeYear.length < 2)\n return '';\n return rangeYear[0] + \" - \" + rangeYear[1];\n });\n }, [data.data, dataSource, isSeasonStatistic]);\n return __spreadArrays([__assign(__assign({}, data), { data: seasonYear })], res);\n};\nexport var useMixedYear = function (filterSetting, onlyNumber) {\n var _a;\n var cmsYearData = useCMSDataYear((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource, onlyNumber);\n var aggregatedYearData = useAggregatedYear(filterSetting);\n return filterSetting.isAggregatedDataSource ? aggregatedYearData : cmsYearData;\n};\nexport var LookupYearComponent = function (props) {\n var _a = useCMSDataYear(props.dataSource), fetchData = _a[1];\n useEffect(function () {\n if (props.dataSource) {\n fetchData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.dataSource]);\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nexport var CONSUMPTION_GROUP_OPTIONS = [\n {\n value: 1,\n label: (React.createElement(React.Fragment, null,\n \"Crisis - 99\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Crisis',\n },\n {\n value: 2,\n label: (React.createElement(React.Fragment, null,\n \"Heavy - 90 to 98\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Heavy',\n },\n {\n value: 3,\n label: (React.createElement(React.Fragment, null,\n \"Moderate - 75 to 89\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Moderate',\n },\n {\n value: 4,\n label: (React.createElement(React.Fragment, null,\n \"Light - 50 to 74\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Light',\n },\n {\n value: 5,\n label: (React.createElement(React.Fragment, null,\n \"Low - 1 to 49\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Low',\n },\n];\nexport var getConsumptionGroups = function (values) { return CONSUMPTION_GROUP_OPTIONS.filter(function (option) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === option.value; }); }); };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { GeoLevelEnum } from '../enums';\nexport var GEO_LEVELS = [\n {\n value: GeoLevelEnum.Zip5,\n label: 'Zip Code',\n },\n {\n value: GeoLevelEnum.Zip3,\n label: '3 Digit zip code',\n },\n {\n value: GeoLevelEnum.State,\n label: 'State',\n },\n {\n value: GeoLevelEnum.County,\n label: 'County',\n },\n {\n value: GeoLevelEnum.MSA,\n label: 'MSA',\n },\n {\n value: GeoLevelEnum.Congressional,\n label: 'US Congressional District',\n },\n {\n value: GeoLevelEnum.StateUpper,\n label: 'State Upper House District',\n },\n {\n value: GeoLevelEnum.StateLower,\n label: 'State Lower House District',\n },\n];\nexport var getGeoLevelLabel = function (geoLevel) { var _a; return geoLevel && ((_a = GEO_LEVELS.find(function (option) { return option.value === geoLevel; })) === null || _a === void 0 ? void 0 : _a.label); };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var CLAIM_NUMBERS = [1, 2, 3, 4];\nexport var CLAIM_DAYS = [\n {\n value: '-29',\n label: 'under 30',\n },\n {\n value: '30-',\n label: '30 or more',\n },\n];\nexport var getClaimDayLabel = function (value) { var _a; return (_a = CLAIM_DAYS.find(function (option) { return option.value === value; })) === null || _a === void 0 ? void 0 : _a.label; };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nimport { compareFunc } from '../utils';\nvar GET_VACCINE_CODE_LIST_API = '/api/general/lookup/get-list-vaccine';\nexport var useLookupVaccine = function () {\n var _a;\n var _b = useCachedData(GET_VACCINE_CODE_LIST_API), data = _b[0], res = _b.slice(1);\n return __spreadArrays([__assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.data.sort(function (a, b) { return compareFunc(a.cptCode, b.cptCode); }) })], res);\n};\nexport var LookupVaccineComponent = function () {\n var _a = useLookupVaccine(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar GET_FLU_VACCINE_CODE_LIST_API = '/api/fluvaccine/general/lookup/get-list-vaccine';\nexport var useLookupFluVaccine = function () {\n var _a, _b, _c;\n var _d = useCachedData(GET_FLU_VACCINE_CODE_LIST_API), data = _d[0], res = _d.slice(1);\n return __spreadArrays([__assign(__assign({}, data), { data: (_c = (_b = (_a = data.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.sort) === null || _c === void 0 ? void 0 : _c.call(_b, function (a, b) { return new Date(a.createDate).getTime() - new Date(b.createDate).getTime(); }) })], res);\n};\nexport var LookupFluVaccineComponent = function () {\n var _a = useLookupFluVaccine(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useCallback, useMemo } from 'react';\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { SET_VIEW_VALUE, RESET_VIEW_SETTING } from './reducer';\nexport function useViewValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_VIEW_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.view.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetViewSetting = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_VIEW_SETTING, payload: value }); }, [dispatch]);\n};\nexport var useViewSetting = function () {\n var view = useMappedState(useCallback(function (state) { return state.view; }, []));\n return useMemo(function () { return view.toJSON(); }, [view]);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a;\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useMemo, useCallback, useEffect, useState } from 'react';\nimport { Source, Layer } from 'react-map-gl';\nimport { useExtractGeoData, useMapData } from './patientchoroplethlayer/usemapdata';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../enums';\nimport { ENV_STATE_BORDER_COLOR } from '../env';\nimport { useGeoJson, useMount } from '../hooks';\nimport { useViewValue } from '../state/viewsetting';\nimport { MapFallback, useMapValue, useZoomToFeature } from './mapprovider';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupZipCodeDistrict } from '../lookupdata';\nimport { isFeatureInAState, isEmpty } from '../utils';\nexport var API_URL_STATE_GEO = '/assets/topojsons/cb_2021_us_state_500k_polyline_topo.json';\nexport var GEO_JSON_URL_BY_LEVEL = (_a = {},\n _a[GeoLevelEnum.Zip5] = '/assets/topojsons/tl_2021_us_zcta520_topo.json',\n _a[GeoLevelEnum.Zip3] = '/assets/topojsons/zip3_digit_topo.json',\n _a[GeoLevelEnum.State] = '/assets/topojsons/cb_2021_us_state_500k_topo.json',\n _a[GeoLevelEnum.MSA] = '/assets/topojsons/cb_2021_us_cbsa_500k_topo.json',\n _a[GeoLevelEnum.County] = '/assets/topojsons/cb_2021_us_county_500k_topo.json',\n _a[GeoLevelEnum.Congressional] = '/assets/topojsons/cb_2022_us_cd118_500k_topo.json',\n _a[GeoLevelEnum.StateUpper] = '/assets/topojsons/cb_2022_us_sldu_500k_topo.json',\n _a[GeoLevelEnum.StateLower] = '/assets/topojsons/cb_2022_us_sldl_500k_topo.json',\n _a);\nvar stateLayer = {\n id: 'statelayer',\n type: 'line',\n paint: {\n 'line-color': ENV_STATE_BORDER_COLOR,\n },\n};\nvar highlightLayer = {\n id: 'highlightlayer',\n type: 'line',\n paint: {\n 'line-color': '#666',\n 'line-width': 3,\n },\n};\nvar selectedLayer = {\n id: 'selectedlayer',\n type: 'line',\n paint: {\n 'line-color': '#027DFF',\n 'line-width': 4,\n },\n};\nexport var useSelectedGeoJson = function (option) {\n var _a = useViewValue('geoType')[0], geoLevel = _a === void 0 ? GeoLevelEnum.State : _a;\n return useGeoJson(GEO_JSON_URL_BY_LEVEL[geoLevel], option);\n};\nexport var SelectedGeographySource = function (props) {\n var _a;\n var _b = useMapData()[0], data = _b.data, mapDataRequesting = _b.requesting;\n var hoveringInfo = useMapValue('hoveringInfo')[0];\n var zoomToFeature = useZoomToFeature();\n var _c = useViewValue('selectedRegion'), selectedRegion = _c[0], setSelectedRegion = _c[1];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var _d = useViewValue('mapView', 'selectedGeoProperties'), setSelectedGeoProperties = _d[1];\n var _e = useViewValue('geoType')[0], geoLevel = _e === void 0 ? GeoLevelEnum.State : _e;\n var zipcodeData = useLookupZipCodeDistrict()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var zoomId = useViewValue('mapView', 'zoomId')[0];\n var filterForState = useMemo(function () { return (!singleState ? undefined : function (properties) { return isFeatureInAState(singleState, properties, GeoLevelEnum.State); }); }, [singleState]);\n var _f = useGeoJson(API_URL_STATE_GEO, {\n filter: filterForState,\n }), stateGeoJsonData = _f[0], fetchStateGeoJson = _f[1];\n var filterForGeo = useMemo(function () {\n return !singleState\n ? undefined\n : function (properties) { var _a; return isFeatureInAState(singleState, properties, geoLevel, (_a = zipcodeData.data) === null || _a === void 0 ? void 0 : _a.stateByZipCode5); };\n }, [singleState, geoLevel, zipcodeData.data]);\n var extractGeoData = useExtractGeoData();\n var propertyMapping = useCallback(function (properties) {\n var breakIdx = extractGeoData(properties === null || properties === void 0 ? void 0 : properties.id).breakIdx;\n return __assign(__assign({}, properties), { breakIdx: breakIdx });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data]);\n var _g = useSelectedGeoJson({ filter: filterForGeo, propertyMapping: propertyMapping, forceClean: !data }), geoJsonData = _g[0], fetchGeoJson = _g[1];\n var _h = useState(true), isCookingGeoJson = _h[0], setIsCookingGeoJson = _h[1];\n useMount(function () {\n fetchStateGeoJson();\n });\n useEffect(function () {\n fetchGeoJson();\n }, [fetchGeoJson]);\n useEffect(function () {\n var _a;\n setIsCookingGeoJson(true);\n var delay = Math.round((((_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features.length) || 0) / 20);\n var handler = setTimeout(function () {\n setIsCookingGeoJson(!!geoJsonData.requesting || !!mapDataRequesting);\n }, delay);\n return function () {\n clearTimeout(handler);\n };\n }, [geoJsonData.data, geoJsonData.requesting, mapDataRequesting]);\n var selectedFeature = useMemo(function () { var _a, _b; return !selectedId ? undefined : selectedId.endsWith('-') ? (_a = stateGeoJsonData.mapFeature) === null || _a === void 0 ? void 0 : _a[selectedId.replace('-', '')] : (_b = geoJsonData.mapFeature) === null || _b === void 0 ? void 0 : _b[selectedId]; }, [selectedId, stateGeoJsonData.mapFeature, geoJsonData.mapFeature]);\n useEffect(function () {\n if (selectedFeature && zoomId === selectedId) {\n zoomToFeature(selectedFeature);\n }\n if (selectedFeature && selectedId && !selectedId.endsWith('-')) {\n setSelectedGeoProperties(selectedFeature.properties);\n }\n else {\n setSelectedGeoProperties();\n }\n if (selectedId &&\n !selectedFeature &&\n !isEmpty(stateGeoJsonData.mapFeature) &&\n !isEmpty(geoJsonData.mapFeature) &&\n (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [geoJsonData.mapFeature, selectedFeature, selectedId, selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type, stateGeoJsonData.mapFeature, zoomId]);\n var hoveringId = (_a = hoveringInfo === null || hoveringInfo === void 0 ? void 0 : hoveringInfo[0]) === null || _a === void 0 ? void 0 : _a.id;\n var highlightGeoJson = useMemo(function () {\n var _a;\n return ({\n type: 'FeatureCollection',\n features: (hoveringId && [(_a = geoJsonData.mapFeature) === null || _a === void 0 ? void 0 : _a[hoveringId]]) || [],\n });\n }, [geoJsonData.mapFeature, hoveringId]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Source, { type: \"geojson\", data: geoJsonData.data, id: \"selectedgeographysource\" },\n props.children || React.createElement(React.Fragment, null),\n React.createElement(Layer, __assign({}, selectedLayer, { filter: ['==', 'id', selectedId || ''] }))),\n React.createElement(Source, { type: \"geojson\", data: highlightGeoJson },\n React.createElement(Layer, __assign({}, highlightLayer))),\n React.createElement(Source, { type: \"geojson\", data: stateGeoJsonData.data },\n React.createElement(Layer, __assign({}, stateLayer))),\n React.createElement(MapFallback, { requesting: isCookingGeoJson, error: geoJsonData.error, retry: fetchGeoJson })));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useExtractGeoData } from './usemapdata';\nimport { useFilterValue } from '../../state/filtersettings';\nimport { useViewValue } from '../../state/viewsetting';\nimport { useMapValue } from '../mapprovider';\nimport { useLookupState, useLookupZipCodeDistrict, getStatisticOption } from '../../lookupdata';\nimport { getDataFieldsByMapViewLevel } from './dataforgeo';\nimport { useDebounce } from '../../hooks';\nimport { MemoMarker } from '../memo';\nimport { StatisticTypeEnum } from '../../enums';\nimport { getDisplayText } from '../../utils';\nvar DELAY_SHOW_POPUP_TIME = 500;\nvar useStyles = makeStyles({\n arrow: {\n color: '#fff',\n },\n tooltip: {\n color: '#000',\n backgroundColor: '#fff',\n padding: 0,\n minWidth: '20rem',\n maxWidth: '25rem',\n textAlign: 'left',\n fontSize: '1rem',\n boxShadow: '0 1px 2px rgb(0 0 0 / 10%)',\n },\n});\nvar Header = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.75rem;\\n background-color: rgba(0, 0, 0, 0.06);\\n font-weight: bolder;\\n border-top-right-radius: 0.25rem;\\n max-width: 18rem;\\n min-width: 100%;\\n\"], [\"\\n padding: 0.75rem;\\n background-color: rgba(0, 0, 0, 0.06);\\n font-weight: bolder;\\n border-top-right-radius: 0.25rem;\\n max-width: 18rem;\\n min-width: 100%;\\n\"])));\nvar Body = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin: 0 1.5rem;\\n\"], [\"\\n margin: 0 1.5rem;\\n\"])));\nvar StyledCard = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding: 0.75rem 0;\\n &:not(:last-child) {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n }\\n display: flex;\\n align-items: center;\\n\"], [\"\\n padding: 0.75rem 0;\\n &:not(:last-child) {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n }\\n display: flex;\\n align-items: center;\\n\"])));\nvar CardTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n\"], [\"\\n flex: 1;\\n\"])));\nvar CardText = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: bolder;\\n padding-left: 0.5rem;\\n\"], [\"\\n font-weight: bolder;\\n padding-left: 0.5rem;\\n\"])));\nvar formatMetricValue = function (value, suffix, prefix) {\n var roundedValue = prefix === '$' && value ? Math.max(Math.round(value), 1) : value;\n return getDisplayText(roundedValue, suffix, prefix);\n};\nvar StatisticValue = function (props) {\n return React.createElement(React.Fragment, null, formatMetricValue(props.valueKey ? props[props.valueKey] : props.value, props.suffix, props.prefix));\n};\nvar Card = function (props) {\n var _a;\n return (React.createElement(StyledCard, null,\n React.createElement(CardTitle, null,\n React.createElement(\"div\", null, props.metricValue.title), (_a = props.secondaryValues) === null || _a === void 0 ? void 0 :\n _a.map(function (payload, idx) { return (React.createElement(\"div\", { key: idx, className: \"text-secondary\" },\n React.createElement(\"small\", null,\n payload.title,\n \": \",\n React.createElement(StatisticValue, __assign({}, payload, { valueKey: props.valueKey }))))); })),\n React.createElement(CardText, null,\n React.createElement(StatisticValue, __assign({}, props.metricValue, { valueKey: undefined })))));\n};\nvar GeoName = function (props) {\n var _a = getDataFieldsByMapViewLevel(props.geoLevel, props.geoProps, props.lookupStateData, props.lookupZipCode), secondLevel = _a[0], firstLevel = _a[1];\n return (React.createElement(React.Fragment, null, firstLevel ? (React.createElement(React.Fragment, null,\n React.createElement(\"strong\", null, firstLevel.value),\n \" \",\n secondLevel.value)) : (React.createElement(\"strong\", null, secondLevel.value))));\n};\nvar getMetricValues = function (geoData, geoName, region, regionData) {\n var metricValues = [];\n var isShowCohortValue = geoData.value !== geoData.geographic || geoData.numerator !== geoData.geographicNumerator || geoData.denominator !== geoData.geographicDenominator;\n if (isShowCohortValue) {\n metricValues.push({\n title: React.createElement(React.Fragment, null,\n geoName,\n \" (selected cohort)\"),\n valueKey: 'cohort',\n value: geoData.value,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n }\n metricValues.push({\n title: React.createElement(React.Fragment, null, geoName),\n valueKey: 'geo',\n value: geoData.geographic,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n if (region) {\n metricValues.push({\n title: React.createElement(\"strong\", null, region),\n valueKey: 'region',\n value: regionData === null || regionData === void 0 ? void 0 : regionData.value,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n metricValues.push({\n title: React.createElement(\"strong\", null, \"Illinois\"),\n valueKey: 'state',\n value: regionData === null || regionData === void 0 ? void 0 : regionData.stateValue,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n }\n metricValues.push({\n title: React.createElement(\"strong\", null, \"National\"),\n valueKey: 'national',\n value: geoData.national,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n return metricValues;\n};\nvar getFirstSecondaryValueTitle = function (statistic) {\n switch (statistic) {\n case StatisticTypeEnum.Prevalence:\n return 'Patient Count';\n case StatisticTypeEnum.HospitalizationRate:\n case StatisticTypeEnum.HospitalizationCost:\n return 'Total Visits';\n case StatisticTypeEnum.ERVisitsRate:\n case StatisticTypeEnum.ERCost:\n return 'Total ER Visits';\n case StatisticTypeEnum.HospitalEncounterRate:\n return 'Total Encounters';\n case StatisticTypeEnum.DeathRate:\n return 'Total Deaths';\n case StatisticTypeEnum.ReadmissionRate:\n return 'Total Readmissions';\n case StatisticTypeEnum.OOPPartBDrugCost:\n case StatisticTypeEnum.OOPPartDDrugCost:\n case StatisticTypeEnum.MCRPartBDrugCost:\n case StatisticTypeEnum.MCRPartDDrugCost:\n case StatisticTypeEnum.TotalCost:\n return 'Total';\n }\n};\nvar getSecondaryValues = function (geoData, statistic, regionData) {\n var firstSecondaryValueTitle = getFirstSecondaryValueTitle(statistic);\n if (statistic === StatisticTypeEnum.TotalCount) {\n return [\n {\n title: 'Patient Population',\n cohort: geoData.patientPopulation,\n geo: geoData.patientPopulation,\n national: geoData.nationalPatientPopulation,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.patientPopulation,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.statePatientPopulation,\n },\n ];\n }\n var secondaryValues = [\n {\n title: firstSecondaryValueTitle,\n cohort: geoData.numerator,\n geo: geoData.geographicNumerator,\n national: geoData.nationalNumerator,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.numerator,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateNumerator,\n prefix: geoData.prefix,\n },\n {\n title: statistic === StatisticTypeEnum.Prevalence ? 'Patient Population' : 'Patient Count',\n cohort: geoData.denominator,\n geo: geoData.geographicDenominator,\n national: geoData.nationalDenominator,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.denominator,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateDenominator,\n },\n ];\n if (statistic === StatisticTypeEnum.HospitalizationCost || statistic === StatisticTypeEnum.ERCost) {\n secondaryValues[0] = {\n title: firstSecondaryValueTitle,\n cohort: geoData.eventCount,\n geo: geoData.geographicEventCount,\n national: geoData.nationalEventCount,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.eventCount,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateEventCount,\n };\n }\n return secondaryValues;\n};\nvar PopperProps = {\n modifiers: {\n preventOverflow: {\n boundariesElement: 'viewport',\n },\n },\n};\nexport var InfoPopup = function (props) {\n var lookupStateData = useLookupState()[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var hoveringInfo = useMapValue('hoveringInfo')[0];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var geoLevel = useViewValue('geoType')[0];\n var showGeographyHoverDisplay = useViewValue('mapView', 'showGeographyHoverDisplay')[0];\n var extractGeoData = useExtractGeoData();\n var _a = useState(), show = _a[0], setShow = _a[1];\n var classes = useStyles();\n useEffect(function () {\n setShow(false);\n }, [hoveringInfo]);\n useDebounce(function () {\n setShow(true);\n }, [hoveringInfo], DELAY_SHOW_POPUP_TIME);\n if (!show || !showGeographyHoverDisplay || !(hoveringInfo === null || hoveringInfo === void 0 ? void 0 : hoveringInfo.length) || !hoveringInfo[0] || !statistic || !geoLevel)\n return null;\n var statisticOption = getStatisticOption(statistic);\n var geoName = React.createElement(GeoName, { geoLevel: geoLevel, geoProps: hoveringInfo[0], lookupStateData: lookupStateData, lookupZipCode: lookupZipCode });\n var geoData = extractGeoData(hoveringInfo[0].id);\n var metricValues = getMetricValues(geoData, geoName, props.region, props.regionData);\n var secondaryValues = getSecondaryValues(geoData, statistic, props.regionData);\n return (React.createElement(MemoMarker, { longitude: hoveringInfo[1], latitude: hoveringInfo[2], offsetTop: 0, offsetLeft: 0 },\n React.createElement(Tooltip, { open: true, placement: \"right\", classes: classes, disableFocusListener: true, disableHoverListener: true, disableTouchListener: true, PopperProps: PopperProps, title: React.createElement(React.Fragment, null,\n React.createElement(Header, null, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.label),\n React.createElement(Body, null, metricValues.map(function (card) { return (React.createElement(Card, { key: card.valueKey, valueKey: card.valueKey, metricValue: card, secondaryValues: secondaryValues })); }))) },\n React.createElement(\"div\", null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { useEffect, useMemo } from 'react';\nimport { point } from '@turf/helpers';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { useViewValue } from '../state';\nimport { ClusterPin, Pin } from '../common/pin';\nimport { MapFallback, useViewport } from '.';\nimport { useCluster } from './usecluster';\nimport { Popup } from './popup';\nimport { useMount } from '../hooks';\nimport { MemoMarker, PIN_SIZE } from './memo';\nvar StyledMultiplePinMenu = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: auto;\\n max-height: 30rem;\\n padding: 0.625rem;\\n margin: -0.625rem -0.625rem -0.9375rem;\\n border-radius: 3px;\\n max-width: 20rem;\\n\"], [\"\\n overflow: auto;\\n max-height: 30rem;\\n padding: 0.625rem;\\n margin: -0.625rem -0.625rem -0.9375rem;\\n border-radius: 3px;\\n max-width: 20rem;\\n\"])));\nvar StyledMultiplePinMenuItem = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.25rem;\\n margin-bottom: 0.5rem;\\n cursor: pointer;\\n \", \";\\n\"], [\"\\n padding: 0.25rem;\\n margin-bottom: 0.5rem;\\n cursor: pointer;\\n \", \";\\n\"])), function (props) { return (props.selected ? 'background-color: #deebff;' : ''); });\nvar MultiplePinMenuItem = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type && props.idFields.every(function (f) { var _a; return props.location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); });\n var handleClick = function () {\n setSelectedRegion({\n type: props.type,\n id: _.pick(props.location, props.idFields),\n longitude: props.longitude,\n latitude: props.latitude,\n });\n };\n return React.createElement(StyledMultiplePinMenuItem, __assign({}, props, { selected: selected, onClick: handleClick }));\n};\nexport var MultiplePinMenu = React.memo(function (props) {\n var _a = useViewValue('selectedMultiplePin'), selectedMultiplePin = _a[0], setSelectedMultiplePin = _a[1];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var show = props.type === (selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.type);\n var longitude = selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.geometry.coordinates[0];\n var latitude = selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.geometry.coordinates[1];\n useEffect(function () {\n if (selectedRegion) {\n setSelectedMultiplePin();\n }\n }, [selectedRegion, setSelectedMultiplePin]);\n return (React.createElement(Popup, { show: show, onClose: setSelectedMultiplePin, offsetTop: -(PIN_SIZE + 3), offsetLeft: 0, captureScroll: true, sortByDepth: true, closeButton: false, longitude: longitude, latitude: latitude },\n React.createElement(StyledMultiplePinMenu, null, selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.properties.locations.sort(function (a, b) { return (props.compareFn ? props.compareFn(a, b) : 0); }).map(function (location, idx) { return (React.createElement(MultiplePinMenuItem, { key: idx, type: props.type, location: location, idFields: props.idFields, longitude: longitude, latitude: latitude }, props.menuItemComponent && React.createElement(props.menuItemComponent, { location: location }))); }))));\n});\nvar SinglePinMarker = React.memo(function (props) {\n var _a;\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var location = props.point.properties.location;\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type && props.idFields.every(function (f) { var _a; return location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); });\n var longitude = props.point.geometry.coordinates[0];\n var latitude = props.point.geometry.coordinates[1];\n return (React.createElement(MemoMarker, { longitude: longitude, latitude: latitude },\n React.createElement(Pin, __assign({}, props, { selected: selected, onClick: setSelectedRegion, payload: { type: props.type, id: _.pick(location, props.idFields), longitude: longitude, latitude: latitude }, icon: props.icon || ((_a = props.getIcon) === null || _a === void 0 ? void 0 : _a.call(props, location)) }))));\n});\nvar MultiplePinMarker = React.memo(function (props) {\n var selectedRegion = useViewValue('selectedRegion')[0];\n var _a = useViewValue('selectedMultiplePin'), selectedMultiplePin = _a[0], setSelectedMultiplePin = _a[1];\n var pinPayload = useMemo(function () { return ((selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point) === props.point ? undefined : { type: props.type, point: props.point }); }, [\n props.point,\n props.type,\n selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point,\n ]);\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type &&\n props.point.properties.locations.some(function (location) { return props.idFields.every(function (f) { var _a; return location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); }); });\n return (React.createElement(MemoMarker, { longitude: props.point.geometry.coordinates[0], latitude: props.point.geometry.coordinates[1] },\n React.createElement(Pin, __assign({}, props, { icon: undefined, selected: selected, text: props.point.properties.point_count_abbreviated, payload: pinPayload, onClick: setSelectedMultiplePin }))));\n});\nvar ClusterPinMarker = React.memo(function (props) {\n var _a = useViewport(), updateViewPort = _a[1];\n var handleClick = function () {\n var _a;\n var zoom = (_a = props.getClusterExpansionZoom) === null || _a === void 0 ? void 0 : _a.call(props, props.point.properties.cluster_id);\n var _b = props.point.geometry.coordinates, longitude = _b[0], latitude = _b[1];\n updateViewPort({ zoom: zoom, longitude: longitude, latitude: latitude });\n };\n return (React.createElement(MemoMarker, { longitude: props.point.geometry.coordinates[0], latitude: props.point.geometry.coordinates[1] },\n React.createElement(ClusterPin, __assign({}, props, { text: props.point.properties.point_count_abbreviated, onClick: handleClick }))));\n});\nvar SimpleLocationLayer = React.memo(function (props) {\n var locations = props.locations, id = props.id, rest = __rest(props, [\"locations\", \"id\"]);\n return (React.createElement(React.Fragment, null, locations.map(function (location, idx) { return (React.createElement(SinglePinMarker, __assign({ key: idx }, rest, { type: id, point: point(location.lnglat || [location.lng, location.lat], { location: location }) }))); })));\n});\nvar ClusterLocationLayer = React.memo(function (props) {\n var locations = props.locations, id = props.id, clusterColor = props.clusterColor, rest = __rest(props, [\"locations\", \"id\", \"clusterColor\"]);\n var _a = useCluster(props.locations), clusters = _a[0], getClusterExpansionZoom = _a[1];\n var _b = useViewValue('selectedMultiplePin'), selectedMultiplePin = _b[0], setSelectedMultiplePin = _b[1];\n useEffect(function () {\n if ((selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.type) === id) {\n setSelectedMultiplePin();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clusters]);\n return (React.createElement(React.Fragment, null,\n clusters.map(function (c, idx) { return (React.createElement(React.Fragment, { key: idx }, !c.properties.cluster ? (React.createElement(SinglePinMarker, __assign({}, rest, { type: id, point: c }))) : c.properties.isSameLocation ? (React.createElement(MultiplePinMarker, __assign({}, rest, { type: id, point: c }))) : (React.createElement(ClusterPinMarker, __assign({}, rest, { getClusterExpansionZoom: getClusterExpansionZoom, type: id, color: clusterColor || props.color, point: c }))))); }),\n React.createElement(MultiplePinMenu, { type: props.id, compareFn: props.compareFn, menuItemComponent: props.menuItemComponent, idFields: props.idFields })));\n});\nvar LayerCount = function (props) {\n var _a = useViewValue('mapLayerCountNotifications', props.id), setMapLayerCountNotification = _a[1];\n useEffect(function () {\n setMapLayerCountNotification(null);\n if (props.show && props.displayingCount !== undefined && props.totalCount !== undefined) {\n setMapLayerCountNotification({ displayingCount: props.displayingCount, totalCount: props.totalCount, name: props.name });\n }\n return function () { return setMapLayerCountNotification(null); };\n }, [props.displayingCount, props.name, props.show, props.totalCount, setMapLayerCountNotification]);\n return null;\n};\nvar LocationDetailComponent = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var isSelected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.id;\n var id = isSelected ? selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.id : undefined;\n useMount(function () { return function () {\n if (isSelected) {\n setSelectedRegion();\n }\n }; });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var locationMap = useMemo(function () { return _.keyBy(props.locations, function (l) { return props.idFields.map(function (f) { return l[f]; }).join('-'); }); }, [props.locations]);\n var detailInfo = id && locationMap[props.idFields.map(function (f) { return id[f]; }).join('-')];\n useEffect(function () {\n if (props.requesting === false && id && !detailInfo) {\n setSelectedRegion();\n }\n }, [detailInfo, id, props.requesting, setSelectedRegion]);\n return null;\n};\nexport var LocationLayer = React.memo(function (props) {\n var show = props.show, _a = props.cluster, cluster = _a === void 0 ? true : _a, rest = __rest(props, [\"show\", \"cluster\"]);\n return (React.createElement(React.Fragment, null,\n props.show && (React.createElement(React.Fragment, null,\n cluster ? React.createElement(ClusterLocationLayer, __assign({}, rest)) : React.createElement(SimpleLocationLayer, __assign({}, rest)),\n React.createElement(MapFallback, { requesting: props.requesting, error: props.error, retry: props.retry }),\n React.createElement(LocationDetailComponent, __assign({}, props)))),\n React.createElement(LayerCount, { show: props.show, id: props.id, name: props.name, displayingCount: props.locations.length, totalCount: props.totalCount })));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport { useFilterSetting, exportFilterSettingPayload, useViewValue } from '../../state';\nimport { useMapRef, useViewport } from '../mapprovider';\nimport { useDebounce, useDebounceValue } from '../../hooks';\nimport { LocationLayer } from '../locationlayer';\nimport { useProviderSetting, useProviderData } from '../../selectors';\nimport { RightPanelTypeEnum } from '../../enums';\nvar VIEW_PORT_DEBOUNCE_TIME = 500;\nvar Row = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar RowLocationName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-size: 0.75rem;\\n\"], [\"\\n font-size: 0.75rem;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Row, null,\n props.location.providerFirstName || '',\n \" \",\n props.location.providerLastName || '',\n \" \",\n props.location.providerCredentialText || ''),\n React.createElement(RowLocationName, null, props.location.name || '')));\n};\nexport var ProviderLayer = React.memo(function () {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var _c = useProviderData(), providerLocatorData = _c[0], fetchProviderLocatorData = _c[1], clearData = _c[2];\n var viewport = useViewport()[0];\n var mapRef = useMapRef();\n var map = (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap();\n var providerSetting = useProviderSetting()[0];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var loadedUserActionsHistoryRef = useRef(false);\n var _d = providerSetting || {}, doGetPrimaryCareProvider = _d.doGetPrimaryCareProvider, doGetHospitalProvider = _d.doGetHospitalProvider, specialistProviders = _d.specialistProviders, available = _d.available;\n var show = available;\n var lngLatBounds = useDebounceValue(function () { return map === null || map === void 0 ? void 0 : map.getBounds().toArray(); }, [viewport.zoom, viewport.longitude, viewport.latitude], VIEW_PORT_DEBOUNCE_TIME);\n var locations = useMemo(function () { return (providerLocatorData.data ? Object.values(providerLocatorData.data.providers) : Object.assign([])); }, [\n providerLocatorData.data,\n ]);\n var fetchDataWrapped = function () {\n var payload = exportFilterSettingPayload(filterSetting);\n var userActionsHistory = !loadedUserActionsHistoryRef.current && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ProviderDetail\n ? {\n provider: selectedRegion.id,\n }\n : undefined;\n fetchProviderLocatorData(__assign(__assign({}, payload), { providerParam: {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n bottomLeftAndTopRightLngLatBound: lngLatBounds,\n }, userActionsHistory: userActionsHistory }));\n loadedUserActionsHistoryRef.current = true;\n };\n useDebounce(function () {\n if (filterSetting.forceUpdate && show) {\n fetchDataWrapped();\n }\n return clearData;\n }, [filterSetting.forceUpdate, lngLatBounds, doGetPrimaryCareProvider, doGetHospitalProvider, specialistProviders]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.ProviderDetail, locations: locations, show: show, color: \"#D00\", clusterColor: \"#be0712\", stroke: \"#000\", getIcon: function (provider) {\n return provider.providerBroadSpecialty === '1' ? 'clinic-medical' : provider.providerBroadSpecialty === '5' ? 'hospital-symbol' : 'stethoscope';\n }, requesting: providerLocatorData.requesting, error: providerLocatorData.error, retry: fetchDataWrapped, totalCount: (_b = providerLocatorData.data) === null || _b === void 0 ? void 0 : _b.total, compareFn: function (a, b) { var _a, _b; return ((_a = a.providerLastName) === null || _a === void 0 ? void 0 : _a.localeCompare(b.providerLastName || '')) || ((_b = a.providerFirstName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.providerFirstName || '')) || 0; }, menuItemComponent: MenuItem, name: \"providers\", idFields: ['providerNpiNumber'] }));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport styled from 'styled-components';\nimport { Collapse } from 'reactstrap';\nimport { useToggle } from '../hooks';\nimport { useViewSetting } from '../state';\nvar Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n top: 4.875rem;\\n font-weight: 500;\\n left: 2rem;\\n width: max-content;\\n padding: 0.2rem;\\n background-color: rgba(255, 255, 255, 0.8);\\n z-index: 2;\\n\"], [\"\\n position: absolute;\\n top: 4.875rem;\\n font-weight: 500;\\n left: 2rem;\\n width: max-content;\\n padding: 0.2rem;\\n background-color: rgba(255, 255, 255, 0.8);\\n z-index: 2;\\n\"])));\nvar ToggleButton = styled.button(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n border: none;\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n font-size: 0.75rem;\\n padding: 0;\\n outline: none !important;\\n\"], [\"\\n border: none;\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n font-size: 0.75rem;\\n padding: 0;\\n outline: none !important;\\n\"])));\nvar StyledAndText = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #6c757d;\\n margin-left: 1rem;\\n\"], [\"\\n color: #6c757d;\\n margin-left: 1rem;\\n\"])));\nvar getCountDisplay = function (layerItem) {\n var _a, _b, _c;\n if (!layerItem.totalCount) {\n return 'no';\n }\n if (layerItem.displayingCount === layerItem.totalCount) {\n return \"all \" + ((_a = layerItem.totalCount) === null || _a === void 0 ? void 0 : _a.toLocaleString());\n }\n return ((_b = layerItem.displayingCount) === null || _b === void 0 ? void 0 : _b.toLocaleString()) + \" of \" + ((_c = layerItem.totalCount) === null || _c === void 0 ? void 0 : _c.toLocaleString());\n};\nexport var CountNotification = function () {\n var _a = useToggle(), open = _a[0], toggle = _a[1];\n var mapLayerCountNotifications = useViewSetting().mapLayerCountNotifications;\n var _b = useMemo(function () { return Object.entries(mapLayerCountNotifications || {}).filter(function (_a) {\n var item = _a[1];\n return item;\n }); }, [mapLayerCountNotifications]), _c = _b[0], _d = _c === void 0 ? [] : _c, firstItem = _d[1], otherItems = _b.slice(1);\n if (!firstItem)\n return null;\n return (React.createElement(Wrapper, null,\n React.createElement(\"div\", null,\n \"Displaying\",\n React.createElement(\"b\", null,\n \" \",\n getCountDisplay(firstItem)),\n \" \",\n firstItem.name,\n otherItems.length ? React.createElement(ToggleButton, { onClick: toggle },\n \"\\u00A0(\",\n open ? 'less' : 'more',\n \")\") : null),\n React.createElement(Collapse, { isOpen: open }, otherItems.map(function (_a) {\n var key = _a[0], item = _a[1];\n return item && (React.createElement(\"div\", { key: key },\n React.createElement(StyledAndText, null, \"and\"),\n React.createElement(\"b\", null,\n \" \",\n getCountDisplay(item),\n \" \"),\n item.name));\n }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Editor, DrawPolygonMode, EditingMode, RENDER_STATE } from 'react-map-gl-draw';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faQuestion, faTrash, faVectorSquare } from '@fortawesome/free-solid-svg-icons';\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { useMapValue } from './mapprovider';\nvar getEditHandleStyle = function (_a) {\n var feature = _a.feature, state = _a.state;\n switch (state) {\n case RENDER_STATE.SELECTED:\n case RENDER_STATE.HOVERED:\n case RENDER_STATE.UNCOMMITTED:\n return {\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 1,\n stroke: 'rgb(255, 255, 255)',\n strokeWidth: 2,\n r: 7,\n };\n default:\n return {\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 1,\n stroke: 'rgb(255, 255, 255)',\n strokeWidth: 2,\n r: 5,\n };\n }\n};\nvar getFeatureStyle = function (_a) {\n var feature = _a.feature, index = _a.index, state = _a.state;\n switch (state) {\n case RENDER_STATE.SELECTED:\n case RENDER_STATE.HOVERED:\n case RENDER_STATE.UNCOMMITTED:\n case RENDER_STATE.CLOSING:\n return {\n stroke: 'rgb(60, 71, 208)',\n strokeWidth: 2,\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 0.3,\n strokeDasharray: '4,2',\n };\n default:\n return {\n stroke: 'rgb(0, 123, 255)',\n strokeWidth: 2,\n fill: 'rgb(0, 123, 255)',\n fillOpacity: 0.1,\n };\n }\n};\nvar StyledButton = styled.button(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'background-color: #007bff !important; color: #ffffff;' : ''); });\nvar StyledWrapperTool = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar DrawControl = function (props) {\n var _a = useToggle(), isOpenHelpDialog = _a[0], toggleHelpDialog = _a[1];\n return (React.createElement(StyledWrapperTool, null,\n React.createElement(\"div\", { className: \"mapboxgl-ctrl-top-right\" },\n React.createElement(\"div\", { className: \"mapboxgl-ctrl-group mapboxgl-ctrl\" },\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Polygon tool\", isActive: props.isOnDrawMode, onClick: props.toggleDrawMode },\n React.createElement(FontAwesomeIcon, { icon: faVectorSquare })),\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Delete\", onClick: props.onDelete },\n React.createElement(FontAwesomeIcon, { icon: faTrash })),\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Help\", onClick: toggleHelpDialog },\n React.createElement(FontAwesomeIcon, { icon: faQuestion })))),\n React.createElement(HelpDialog, { isOpen: isOpenHelpDialog, toggle: toggleHelpDialog })));\n};\nvar HelpDialog = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Modal, { size: \"lg\", isOpen: props.isOpen, toggle: props.toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Using the Polygon Selection Tool\"),\n React.createElement(ModalBody, null,\n React.createElement(\"video\", { width: \"100%\", height: \"auto\", controls: true },\n React.createElement(\"source\", { src: \"/assets/videos/polygon_selection_video.mp4\", type: \"video/mp4\" })),\n React.createElement(\"br\", null),\n React.createElement(\"p\", null, \"The polygon selection tool is used to highlight an area and select, for example, a group of providers or clinicals for export.\"),\n React.createElement(\"ol\", null,\n React.createElement(\"li\", null, \"Turn on the drawing tool by clicking the square icons\"),\n React.createElement(\"li\", null, \"Click on the map where you want to start the polygon\"),\n React.createElement(\"li\", null, \"Draw the polygon by clicking on each point of the shape\"),\n React.createElement(\"li\", null, \"When you reach the last point, double-click to complete the shape\"),\n React.createElement(\"li\", null, \"From the export menu choose the data you woold like to save\"),\n React.createElement(\"li\", null, \"Click the trash can icon the remove the selection\"))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"primary\", onClick: props.toggle }, \"Close\")))));\n};\nexport var useDrawPolygon = function () {\n var _a = useState(null), mode = _a[0], setMode = _a[1];\n var _b = useToggle(), isOnDrawMode = _b[0], toggleDrawMode = _b[1], setDrawMode = _b[2];\n var editorRef = useRef(null);\n var _c = useMapValue('editorRef'), setEditorRef = _c[1];\n useEffect(function () {\n var _a;\n if (isOnDrawMode && !((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures().length)) {\n setMode(new DrawPolygonMode());\n }\n }, [isOnDrawMode]);\n useEffect(function () {\n setEditorRef(isOnDrawMode ? editorRef : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOnDrawMode]);\n var onDelete = function () {\n var _a, _b;\n var features = (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures();\n if (features.length) {\n (_b = editorRef.current) === null || _b === void 0 ? void 0 : _b.deleteFeatures(0);\n setDrawMode(false);\n }\n };\n var onUpdate = function (_a) {\n var editType = _a.editType;\n if (editType === 'addFeature') {\n setMode(new EditingMode());\n }\n };\n return {\n editor: (React.createElement(\"div\", { hidden: !isOnDrawMode, className: \"w-100 h-100\" },\n React.createElement(Editor, { ref: editorRef, style: { width: '100%', height: '100%' }, clickRadius: 12, mode: mode, onUpdate: onUpdate, editHandleShape: 'circle', featureStyle: getFeatureStyle, editHandleStyle: getEditHandleStyle }))),\n drawControl: React.createElement(DrawControl, { isOnDrawMode: isOnDrawMode, toggleDrawMode: toggleDrawMode, onDelete: onDelete }),\n };\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nexport var StyledMapSidebar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 25rem;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33);\\n padding: 1rem;\\n padding-top: 0;\\n z-index: 3;\\n background-color: #fff;\\n min-height: calc(100%);\\n max-height: calc(100%);\\n overflow: auto;\\n max-width: 100vw;\\n\"], [\"\\n width: 25rem;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33);\\n padding: 1rem;\\n padding-top: 0;\\n z-index: 3;\\n background-color: #fff;\\n min-height: calc(100%);\\n max-height: calc(100%);\\n overflow: auto;\\n max-width: 100vw;\\n\"])));\nexport var MapSidebar = function (props) {\n return React.createElement(React.Fragment, null, props.children);\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport moment from 'moment';\nimport { useViewValue } from '../../state';\nimport { IconButton } from '../../common';\nimport { StyledMapSidebar } from '../sidebar';\nimport { RightPanelTypeEnum } from '../../enums';\nimport { useCustomMapLayerDetail } from '../../selectors';\nvar StyledLocationDetailPanel = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n margin-right: auto;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n margin-right: auto;\\n\"])));\nexport var ImportingLocationDetail = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type.startsWith(RightPanelTypeEnum.CustomMapLayer)) ? selectedRegion.id : undefined;\n var maplayerLocationDetail = useCustomMapLayerDetail(id);\n var clearSelectedClinicalTrialInfo = function () {\n setSelectedRegion();\n };\n if (!maplayerLocationDetail)\n return null;\n return (React.createElement(StyledLocationDetailPanel, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Location Information\"),\n React.createElement(IconButton, { onClick: clearSelectedClinicalTrialInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(\"div\", null,\n React.createElement(\"div\", { className: \"mb-3 font-weight-bold\" }, maplayerLocationDetail.trialName),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, maplayerLocationDetail.locationName),\n React.createElement(\"address\", null,\n maplayerLocationDetail.address1 && (React.createElement(React.Fragment, null,\n maplayerLocationDetail.address1,\n React.createElement(\"br\", null))),\n maplayerLocationDetail.address2 && (React.createElement(React.Fragment, null,\n maplayerLocationDetail.address2,\n React.createElement(\"br\", null))),\n maplayerLocationDetail.city && React.createElement(React.Fragment, null,\n maplayerLocationDetail.city,\n \", \"),\n maplayerLocationDetail.stateAbv,\n \" \",\n maplayerLocationDetail.zip)),\n React.createElement(\"div\", { className: \"mb-3\" },\n maplayerLocationDetail.recruitmentStatus && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Recruitment Status:\"),\n \" \",\n maplayerLocationDetail.recruitmentStatus)),\n maplayerLocationDetail.startDate && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Start Date:\"),\n \" \",\n moment(maplayerLocationDetail.startDate).format('LL'))),\n maplayerLocationDetail.estimatedCompletionDate && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Estimated Completion Date:\"),\n \" \",\n moment(maplayerLocationDetail.estimatedCompletionDate).format('LL')))),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Contact Info\"),\n React.createElement(\"div\", { className: \"mb-2\" },\n React.createElement(\"div\", null, maplayerLocationDetail.contactName1),\n React.createElement(\"div\", null, maplayerLocationDetail.contactPhone1),\n React.createElement(\"a\", { href: \"mailto:\" + maplayerLocationDetail.contactEmail1 }, maplayerLocationDetail.contactEmail1))),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Investigator Info\"),\n React.createElement(\"div\", { className: \"mb-2\" },\n React.createElement(\"div\", null,\n maplayerLocationDetail.investigatorName1,\n \" \",\n maplayerLocationDetail.investigatorCredentials1),\n React.createElement(\"div\", null, maplayerLocationDetail.investigatorOrganization1))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { exportFilterSettingPayload, useAPI, useFilterSetting, useViewValue } from '../../state';\nimport { ClinicalTrialOptionEnum, RightPanelTypeEnum } from '../../enums';\nimport { LocationLayer } from '../locationlayer';\nimport { useCustomMapLayerLocationData } from '../../selectors';\nvar GET_AVAIABLE_MAP_LAYER_LIST_API = '/api/map-layer/get-all-that-belong-to-the-logged-user-index';\nvar StyledBriefTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"])));\nvar StyledFacilityName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledBriefTitle, { id: \"manage-map-layer-location-\" + props.location.id }, props.location.trialName),\n React.createElement(UncontrolledTooltip, { placement: \"top\", target: \"manage-map-layer-location-\" + props.location.id }, props.location.trialName),\n React.createElement(StyledFacilityName, null, props.location.locationName)));\n};\nvar SingleImportingLocationLayer = function (props) {\n var _a;\n var _b = useCustomMapLayerLocationData(props.mapLayer.id), mapLayerLocationData = _b[0], fetchMapLayerLocationData = _b[1], clearData = _b[2];\n var selectingType = useViewValue('importingLocationTypes', \"\" + props.mapLayer.id)[0];\n var show = !!selectingType;\n var filterSetting = useFilterSetting();\n useEffect(function () {\n if (show) {\n var payload = exportFilterSettingPayload(filterSetting);\n fetchMapLayerLocationData({\n comorbidities: selectingType === ClinicalTrialOptionEnum.TrialsRelated ? payload.comorbidities : undefined,\n });\n }\n return clearData;\n }, [clearData, fetchMapLayerLocationData, filterSetting, selectingType, show]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.CustomMapLayer + \"-\" + props.mapLayer.id, locations: mapLayerLocationData.data || [], show: show, color: props.mapLayer.displayColor, icon: props.mapLayer.displayIcon, requesting: mapLayerLocationData.requesting, error: mapLayerLocationData.error, retry: fetchMapLayerLocationData, totalCount: (_a = mapLayerLocationData.data) === null || _a === void 0 ? void 0 : _a.length, compareFn: function (a, b) { var _a, _b; return ((_a = a.trialName) === null || _a === void 0 ? void 0 : _a.localeCompare(b.trialName || '')) || ((_b = a.locationName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.locationName || '')) || 0; }, menuItemComponent: MenuItem, name: props.mapLayer.name, idFields: ['id', 'mapLayerId'] }));\n};\nexport var ImportingLocationLayers = React.memo(function () {\n var _a;\n var allMapLayers = useAPI(GET_AVAIABLE_MAP_LAYER_LIST_API)[0];\n return (React.createElement(React.Fragment, null, (_a = allMapLayers.data) === null || _a === void 0 ? void 0 : _a.map(function (ml) { return (React.createElement(SingleImportingLocationLayer, { key: ml.id, mapLayer: ml })); })));\n});\nexport * from './detail';\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { PieComponent } from '../../demographicchart/pie';\nimport { useFilterSetting } from '../../state';\nimport { useLookupSexCode, useLookupRaceCode, mapAgeValues, AGE_OPTIONS } from '../../lookupdata';\nimport { getDisplayText } from '../../utils';\nvar ChartContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar ChartContainerTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n // height: 8.5rem;\\n\"], [\"\\n // height: 8.5rem;\\n\"])));\nvar StyledLegendFormatter = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\"])));\nvar legendFormatter = function (value, entry) {\n return (React.createElement(StyledLegendFormatter, null,\n React.createElement(\"div\", null, value),\n React.createElement(\"div\", { className: \"pl-1 ml-auto\" }, (entry === null || entry === void 0 ? void 0 : entry.dataValue) && getDisplayText(entry.dataValue))));\n};\nvar ProviderPieComponent = function (props) {\n return (React.createElement(StyledChartComponent, null,\n React.createElement(PieComponent, { type: props.type, data: props.data, className: \"flex-row\", width: 160, height: \"8.5rem\", legendFormatter: legendFormatter })));\n};\nexport var SexChart = function (props) {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var lookupSexData = useLookupSexCode((_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.sexCodes)[0];\n var data = (_b = (lookupSexData.mappedValues || lookupSexData.data)) === null || _b === void 0 ? void 0 : _b.map(function (i) { return ({\n id: i.value,\n name: i.label,\n value: props.data[i.value],\n }); }).filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Sex\"),\n React.createElement(ProviderPieComponent, { type: \"sex\", data: data })));\n};\nexport var RaceChart = function (props) {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var lookupRaceData = useLookupRaceCode(filterSetting.raceMethodology, (_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.raceCodes)[0];\n var data = (_b = (lookupRaceData.mappedValues || lookupRaceData.data)) === null || _b === void 0 ? void 0 : _b.map(function (i) { return ({\n id: i.value,\n name: i.shortName,\n value: props.data[i.value],\n }); }).filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Race/Ethnicity\"),\n React.createElement(ProviderPieComponent, { type: \"race\", data: data })));\n};\nexport var AgeChart = function (props) {\n var _a;\n var filterSetting = useFilterSetting();\n var ageOptions = mapAgeValues((_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.ages) || AGE_OPTIONS;\n var data = ageOptions\n .map(function (i) { return ({\n id: i.stringified,\n name: i.label,\n value: props.data[i.stringified],\n }); })\n .filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Age\"),\n React.createElement(ProviderPieComponent, { type: \"age\", data: data })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { useViewValue } from '../../state';\nimport { IconButton } from '../../common';\nimport { SexChart, RaceChart, AgeChart } from './demographicchart';\nimport { StyledMapSidebar } from '../sidebar';\nimport { RightPanelTypeEnum } from '../../enums';\nimport { useProviderDetail } from '../../selectors';\nvar StyledProviderDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar ProviderName = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.125rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.125rem;\\n\"])));\nvar ProviderInfo = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar ProviderAddress = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n color: #6c757d;\\n\"], [\"\\n color: #6c757d;\\n\"])));\nvar PatientDemographics = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\"], [\"\"])));\nexport var ProviderDetail = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ProviderDetail ? selectedRegion.id : undefined;\n var selectedProviderInfo = useProviderDetail(id);\n var clearSelectedProviderInfo = function () {\n setSelectedRegion();\n };\n if (!selectedProviderInfo)\n return null;\n return (React.createElement(StyledProviderDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Provider Information\"),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: clearSelectedProviderInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(ProviderInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" },\n selectedProviderInfo.providerFirstName,\n \" \",\n selectedProviderInfo.providerLastName,\n \" \",\n selectedProviderInfo.providerCredentialText),\n React.createElement(ProviderName, null, selectedProviderInfo.name),\n React.createElement(ProviderAddress, null,\n selectedProviderInfo.address1,\n selectedProviderInfo.address2 && (React.createElement(React.Fragment, null,\n React.createElement(\"br\", null),\n selectedProviderInfo.address2)),\n React.createElement(\"br\", null),\n selectedProviderInfo.city,\n \", \",\n selectedProviderInfo.state,\n \" \",\n selectedProviderInfo.zip)),\n React.createElement(PatientDemographics, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Patient Demographics\"),\n selectedProviderInfo.sex && React.createElement(SexChart, { data: selectedProviderInfo.sex }),\n selectedProviderInfo.age && React.createElement(AgeChart, { data: selectedProviderInfo.age }),\n selectedProviderInfo.race && React.createElement(RaceChart, { data: selectedProviderInfo.race }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { getDisplayText } from '../../../utils';\nimport styled from 'styled-components';\nvar CardWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n\"])));\nvar CardValue = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nexport var DataRowForCard = function (props) { return (React.createElement(CardWrapper, null,\n React.createElement(CardValue, null,\n props.label,\n \":\"),\n React.createElement(CardValue, null, getDisplayText(props.value, props.suffix, props.prefix)))); };\nexport var StatisticDataForCard = function (props) {\n var geoId = props.geoId, geoValue = props.geoValue;\n return React.createElement(DataRowForCard, __assign({}, props, { value: geoId && !geoId.endsWith('-') ? geoValue : '-' }));\n};\nexport var StatisticDataForNational = function (props) {\n var nationalValue = props.nationalValue;\n return React.createElement(DataRowForCard, __assign({}, props, { value: nationalValue }));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PrevalenceDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Prevalence\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.national, nationalValue: props.data.national, suffix: \"%\" })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Prevalence\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.national, nationalValue: props.data.national, suffix: \"%\" }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nexport var AggregatedDataBannerDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: props.statisticName, geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalAggregatedValue, nationalValue: props.data.nationalAggregatedValue, suffix: props.data.suffix, prefix: props.data.prefix })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: props.statisticName, geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalAggregatedValue, nationalValue: props.data.nationalAggregatedValue, suffix: props.data.suffix, prefix: props.data.prefix }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nexport var TotalCountDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospitalizationRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ERVisitRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospEncounterRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Encounters\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Encounters\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var DeathRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Deaths', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Deaths', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ReadmissionRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Readmissions', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Readmissions', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospitalCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ERVisitCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PatientOutOfPocketPartBDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PatientOutOfPocketPartDDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var MedicarePartBDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var MedicarePartDDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var TotalCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useSelectedGeoIdInfo } from '../../geoselectedinfo';\nimport { getStatisticShortName } from '../../../lookupdata';\nimport { extractGeoData } from '../..';\nimport { StatisticTypeEnum } from '../../../enums';\nimport { PrevalenceDashBoard } from './prevalencedashboard';\nimport { AggregatedDataBannerDashBoard } from './aggregateddatabannerdashboard';\nimport { TotalCountDashBoard } from './totalcountdashboard';\nimport { HospitalizationRateDashBoard } from './hospitalizationratedashboard';\nimport { ERVisitRateDashBoard } from './ervisitratedashboard';\nimport { HospEncounterRateDashBoard } from './hospencounterratedashboard';\nimport { DeathRateDashBoard } from './deathratedashboard';\nimport { ReadmissionRateDashBoard } from './readmissionratedashboard';\nimport { HospitalCostDashBoard } from './hospitalcostdashboard';\nimport { ERVisitCostDashBoard } from './ervisitcostdashboard';\nimport { PatientOutOfPocketPartBDrugCostDashBoard } from './patientoutofpocketpartbdrugcostdashboard';\nimport { PatientOutOfPocketPartDDrugCostDashBoard } from './patientoutofpocketpartddrugcostdashboard';\nimport { MedicarePartBDrugCostDashBoard } from './medicarepartbdrugcostdashboard';\nimport { MedicarePartDDrugCostDashBoard } from './medicarepartddrugcostdashboard';\nimport { TotalCostDashBoard } from './totalcostdashboard';\nimport { ENV_LEGEND_COLORS } from '../../../env';\nimport { useFilterSetting, useViewSetting } from '../../../state';\nimport { useMapData } from '../../patientchoroplethlayer/usemapdata';\nvar CardTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.5rem 0;\\n font-weight: 500;\\n\"], [\"\\n padding: 0.5rem 0;\\n font-weight: 500;\\n\"])));\nvar CardContent = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 100%;\\n padding: 0.75rem;\\n vertical-align: middle;\\n position: relative;\\n\"], [\"\\n width: 100%;\\n padding: 0.75rem;\\n vertical-align: middle;\\n position: relative;\\n\"])));\nvar CardColor = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n background-color: \", \";\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n opacity: 0.7;\\n\"], [\"\\n background-color: \", \";\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n opacity: 0.7;\\n\"])), function (props) { return props.backgroundColor; });\nvar Text = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n position: relative;\\n\"], [\"\\n position: relative;\\n\"])));\nexport var Card = function (props) {\n var _a;\n var _b = useSelectedGeoIdInfo(props.viewSetting), firstLevel = _b[1], secondLevel = _b[2];\n var makeSelection = !((_a = props.viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties);\n return (React.createElement(React.Fragment, null,\n React.createElement(CardTitle, null, makeSelection ? ('Make Selection') : (React.createElement(React.Fragment, null,\n firstLevel,\n \" \",\n secondLevel))),\n React.createElement(CardContent, null,\n React.createElement(CardColor, { backgroundColor: props.backgroundColor }),\n React.createElement(Text, null, props.children))));\n};\nexport var NationalCard = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(CardTitle, null, \"National\"),\n React.createElement(CardContent, null,\n React.createElement(CardColor, { backgroundColor: \"#ccc\" }),\n React.createElement(Text, null, props.children))));\n};\nexport var StatisticCard = function () {\n var _a, _b, _c;\n var filterSetting = useFilterSetting();\n var viewSetting = useViewSetting();\n var mapData = useMapData()[0].data;\n var geoLevel = viewSetting.geoType;\n var selectedId = (_b = (_a = viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties) === null || _b === void 0 ? void 0 : _b.id;\n var statistic = (_c = filterSetting.statistic) === null || _c === void 0 ? void 0 : _c.statisticOption;\n var statisticName = getStatisticShortName(statistic);\n var extractedGeoData = extractGeoData(selectedId, filterSetting, geoLevel, mapData);\n var getStatisticComponent = function () {\n if (filterSetting.isAggregatedDataSource) {\n return AggregatedDataBannerDashBoard;\n }\n switch (statistic) {\n case StatisticTypeEnum.Prevalence:\n return PrevalenceDashBoard;\n case StatisticTypeEnum.TotalCount:\n return TotalCountDashBoard;\n case StatisticTypeEnum.HospitalizationRate:\n return HospitalizationRateDashBoard;\n case StatisticTypeEnum.ERVisitsRate:\n return ERVisitRateDashBoard;\n case StatisticTypeEnum.HospitalEncounterRate:\n return HospEncounterRateDashBoard;\n case StatisticTypeEnum.DeathRate:\n return DeathRateDashBoard;\n case StatisticTypeEnum.ReadmissionRate:\n return ReadmissionRateDashBoard;\n case StatisticTypeEnum.HospitalizationCost:\n return HospitalCostDashBoard;\n case StatisticTypeEnum.ERCost:\n return ERVisitCostDashBoard;\n case StatisticTypeEnum.OOPPartBDrugCost:\n return PatientOutOfPocketPartBDrugCostDashBoard;\n case StatisticTypeEnum.OOPPartDDrugCost:\n return PatientOutOfPocketPartDDrugCostDashBoard;\n case StatisticTypeEnum.MCRPartBDrugCost:\n return MedicarePartBDrugCostDashBoard;\n case StatisticTypeEnum.MCRPartDDrugCost:\n return MedicarePartDDrugCostDashBoard;\n case StatisticTypeEnum.TotalCost:\n return TotalCostDashBoard;\n default:\n return null;\n }\n };\n var StatisticComponent = getStatisticComponent();\n return (React.createElement(React.Fragment, null, StatisticComponent && (React.createElement(StatisticComponent, { backgroundColor: ENV_LEGEND_COLORS[extractedGeoData.breakIdx], viewSetting: viewSetting, data: extractedGeoData, geoId: selectedId, statisticName: statisticName }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { DropdownMenu, DropdownToggle, UncontrolledDropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, Select } from '../../common';\nimport { useMixedYear } from '../../lookupdata';\nimport { useFilterSetting, useViewValue } from '../../state';\nimport { TrendLineContainer } from '../../trendline';\nimport { useTrendLineData } from '../../trendline/usetrendlinedata';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"])));\nvar Header = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"])));\nvar StyledDropdownToggle = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar Title = styled.b(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledTitle = styled.b(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"], [\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"])));\nvar StyledDropdownMenu = styled(DropdownMenu)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar StyledSelectYearItem = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"], [\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"])));\nexport var TrendLine = function () {\n var _a = useViewValue('chartView', 'startingYear'), fromYear = _a[0], setFromYear = _a[1];\n var _b = useViewValue('chartView', 'endingYear'), toYear = _b[0], setToYear = _b[1];\n var _c = useTrendLineData(), trendlineData = _c[0], fetchTrendlineData = _c[1];\n var filterSettings = useFilterSetting();\n var lookupYearData = useMixedYear(filterSettings, true)[0];\n var selectYearItem = (React.createElement(React.Fragment, null,\n React.createElement(StyledTitle, null, \"From\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromYear, onChange: setFromYear, isOptionDisabled: function (option) { return !!toYear && option.value > toYear; }, isLoading: lookupYearData.requesting }),\n ' ',\n React.createElement(StyledTitle, null, \"to\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toYear, onChange: setToYear, isOptionDisabled: function (option) { return !!fromYear && option.value < fromYear; }, isLoading: lookupYearData.requesting })));\n return (React.createElement(StyledTrendLineComponent, null,\n React.createElement(Header, null,\n React.createElement(Title, null, \"National Trend\"),\n React.createElement(UncontrolledDropdown, null,\n React.createElement(StyledDropdownToggle, { size: \"2x\", caret: true },\n React.createElement(StyledTitle, null,\n fromYear,\n \" to \",\n toYear)),\n React.createElement(StyledDropdownMenu, { right: true },\n React.createElement(StyledSelectYearItem, null, selectYearItem)))),\n React.createElement(FallbackComponent, { requesting: trendlineData.requesting || lookupYearData.requesting, error: trendlineData.error, retry: fetchTrendlineData },\n React.createElement(TrendLineContainer, { data: trendlineData.data }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport React from 'react';\nimport { DropdownMenu, DropdownToggle, UncontrolledDropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, Select } from '../../common';\nimport { useCMSDataSeasonYear } from '../../lookupdata';\nimport { useFilterSetting, useViewValue } from '../../state';\nimport { TrendLineContainer } from '../../trendline';\nimport { useTrendLineDataForSeason } from '../../trendline/usetrendlinedata';\nimport { getYearsBySeason } from '../../utils';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"])));\nvar Header = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"])));\nvar StyledDropdownToggle = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar Title = styled.b(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledTitle = styled.b(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"], [\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"])));\nvar StyledDropdownMenu = styled(DropdownMenu)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar StyledSelectYearItem = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"], [\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"])));\nexport var TrendLineSeason = function () {\n var _a = useViewValue('chartView', 'startingSeasonYear'), fromSeasonYear = _a[0], setFromYear = _a[1];\n var _b = useViewValue('chartView', 'endingSeasonYear'), toSeasonYear = _b[0], setToYear = _b[1];\n var _c = useTrendLineDataForSeason(), trendlineData = _c[0], fetchTrendlineData = _c[1];\n var filterSettings = useFilterSetting();\n var lookupSeasonYearData = useCMSDataSeasonYear(filterSettings)[0];\n var selectYearItem = (React.createElement(React.Fragment, null,\n React.createElement(StyledTitle, null, \"From\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromSeasonYear, onChange: setFromYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(item.value)[0];\n var firstTo = getYearsBySeason(toSeasonYear)[0];\n return !!toSeasonYear && firstFrom > firstTo;\n }, isLoading: lookupSeasonYearData.requesting }),\n ' ',\n React.createElement(StyledTitle, null, \"to\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toSeasonYear, onChange: setToYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(fromSeasonYear)[0];\n var firstTo = getYearsBySeason(item.value)[0];\n return !!fromSeasonYear && firstFrom > firstTo;\n }, isLoading: lookupSeasonYearData.requesting })));\n return (React.createElement(StyledTrendLineComponent, null,\n React.createElement(Header, null,\n React.createElement(Title, null, \"National Trend\"),\n React.createElement(UncontrolledDropdown, null,\n React.createElement(StyledDropdownToggle, { size: \"2x\", caret: true },\n React.createElement(StyledTitle, null,\n fromSeasonYear,\n \" to \",\n toSeasonYear)),\n React.createElement(StyledDropdownMenu, { right: true },\n React.createElement(StyledSelectYearItem, null, selectYearItem)))),\n React.createElement(FallbackComponent, { requesting: trendlineData.requesting || lookupSeasonYearData.requesting, error: trendlineData.error, retry: fetchTrendlineData },\n React.createElement(TrendLineContainer, { data: trendlineData.data, keyValue: \"seasonYear\" }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useChartData } from '../../demographicchart/usechartdata';\nimport { FallbackComponent } from '../../common';\nimport { useFilterValue } from '../../state';\nimport { PieComponent } from '../../demographicchart/pie';\nimport { DemographicTypeEnum, StatisticTypeEnum } from '../../enums';\nvar StyledDemographicChart = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar Title = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 700;\\n\"], [\"\\n font-weight: 700;\\n\"])));\nvar StyledNational = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: normal;\\n\"], [\"\\n font-weight: normal;\\n\"])));\nvar Body = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledChartContainer = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\"], [\"\"])));\nvar ChartContainerTitle = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n // height: 8.5rem;\\n\"], [\"\\n // height: 8.5rem;\\n\"])));\nvar ChartContainer = function (props) {\n var _a;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var _b = props.data || [], data = _b[0], retry = _b[1];\n if (!((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.length))\n return null;\n return (React.createElement(StyledChartContainer, null,\n React.createElement(ChartContainerTitle, null, props.title),\n React.createElement(StyledChartComponent, null,\n React.createElement(FallbackComponent, { requesting: data === null || data === void 0 ? void 0 : data.requesting, error: data === null || data === void 0 ? void 0 : data.error, retry: retry },\n React.createElement(PieComponent, { type: props.type, data: data === null || data === void 0 ? void 0 : data.data, percentage: statistic === StatisticTypeEnum.Prevalence, className: \"flex-row\", width: \"45%\", height: \"8.5rem\" })))));\n};\nexport var DemographicChart = function () {\n var _a, _b, _c;\n var _d = useChartData(), chartData = _d[0], fetchChartData = _d[1];\n return (React.createElement(StyledDemographicChart, null,\n React.createElement(Title, null,\n \"Demographics - \",\n React.createElement(StyledNational, null, \"National\")),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: chartData.requesting !== false, error: chartData.error, retry: fetchChartData },\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Sex, title: \"Sex\", data: (_a = chartData.data) === null || _a === void 0 ? void 0 : _a.sex }),\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Age, title: \"Age\", data: (_b = chartData.data) === null || _b === void 0 ? void 0 : _b.age }),\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Race, title: \"Race/Ethnicity\", data: (_c = chartData.data) === null || _c === void 0 ? void 0 : _c.race })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { StatisticCard } from './statisticcard';\nimport { TrendLine } from './trendline';\nimport { TrendLineSeason } from './trendlineseason';\nimport { DemographicChart } from './demographicchart';\nimport { useHostnameIndexInfo } from '../../hostnameindexinfo';\nvar Space = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nvar TrendLineStatisticDetail = function () {\n var indexConfiguration = useHostnameIndexInfo();\n var isSeasonStatistic = ((indexConfiguration === null || indexConfiguration === void 0 ? void 0 : indexConfiguration.generalInformation) || {}).isSeasonStatistic;\n return isSeasonStatistic ? React.createElement(TrendLineSeason, null) : React.createElement(TrendLine, null);\n};\nexport var StatisticDetail = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(StatisticCard, null),\n React.createElement(Space, null),\n React.createElement(TrendLineStatisticDetail, null),\n React.createElement(Space, null),\n React.createElement(DemographicChart, null)));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { prependingHttpToUrlIfMissing } from '../../../utils';\nvar DataBody = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n word-break: break-word;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n word-break: break-word;\\n\"])));\nvar RepresentativePhoto = styled.img(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 6.5rem;\\n height: 8rem;\\n object-fit: cover;\\n margin-right: 0.5rem;\\n\"], [\"\\n width: 6.5rem;\\n height: 8rem;\\n object-fit: cover;\\n margin-right: 0.5rem;\\n\"])));\nvar RepresentativeInfo = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n // width: calc(100% - 7rem);\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n\"], [\"\\n // width: calc(100% - 7rem);\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n\"])));\nvar DataRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar DataRowAddress = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-size: 0.875rem;\\n\"], [\"\\n font-size: 0.875rem;\\n\"])));\nvar DataRowPhone = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: 550;\\n\"], [\"\\n font-weight: 550;\\n\"])));\nexport var FederalRepresentativeDetail = function (props) {\n var onErrorFunc = function (e) {\n e.target.onError = null;\n e.target.style.display = 'none';\n };\n if (!props.data)\n return null;\n return (React.createElement(DataBody, null,\n props.data.frPhotoLink && React.createElement(RepresentativePhoto, { src: prependingHttpToUrlIfMissing(props.data.frPhotoLink), onError: function (e) { return onErrorFunc(e); }, alt: \"\" }),\n React.createElement(RepresentativeInfo, null,\n props.data.frAddress && React.createElement(DataRowAddress, { className: \"mb-3\" }, props.data.frAddress.replace('Building', 'Bldg')),\n props.data.frPhoneNumber && React.createElement(DataRowPhone, { className: \"mb-3\" }, props.data.frPhoneNumber),\n React.createElement(DataRow, null,\n React.createElement(\"a\", { href: props.data.frWebSite, target: \"_blank\", rel: \"noopener noreferrer\" },\n \"Website\\u00A0\",\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt }))))));\n};\nexport var StateRepresentativeDetail = function (props) {\n var onErrorFunc = function (e) {\n e.target.onError = null;\n e.target.style.display = 'none';\n };\n if (!props.data)\n return null;\n return (React.createElement(DataBody, null,\n props.data.srPhotoLink && React.createElement(RepresentativePhoto, { src: prependingHttpToUrlIfMissing(props.data.srPhotoLink), onError: function (e) { return onErrorFunc(e); }, alt: \"\" }),\n React.createElement(RepresentativeInfo, null,\n props.data.srAddress && React.createElement(DataRowAddress, { className: \"mb-3\" }, props.data.srAddress.replace('Building', 'Bldg').replaceAll(';', ' ')),\n props.data.srPhoneNumber && React.createElement(DataRowPhone, { className: \"mb-3\" }, props.data.srPhoneNumber),\n React.createElement(DataRow, null,\n React.createElement(\"a\", { href: props.data.srWebSite, target: \"_blank\", rel: \"noopener noreferrer\" },\n \"Website\\u00A0\",\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt }))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { FederalRepresentativeDetail, StateRepresentativeDetail } from './representativedetail';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../../enums';\nimport { getDisplayUserName, separateGeoLevelId } from '../../../utils';\nimport { useLookupState, useLookupZipCodeDistrict } from '../../../lookupdata';\nimport { useCachedData, useViewValue } from '../../../state';\nimport { FallbackComponent } from '../../../common';\nimport { useToggle } from '../../../hooks';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faDemocrat, faRepublican, faFlagUsa } from '@fortawesome/free-solid-svg-icons';\nvar GET_FEDERAL_REPRESENTATIVES_API = '/api/general/representative/get-federal-representatives';\nvar GET_STATE_REPRESENTATIVES_UPPER_API = '/api/general/representative/get-state-representatives/UPPER';\nvar GET_STATE_REPRESENTATIVES_LOWER_API = '/api/general/representative/get-state-representatives/LOWER';\nvar StyledGroup = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.25rem 0;\\n\"], [\"\\n padding: 0.25rem 0;\\n\"])));\nvar GroupTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: bold;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: bold;\\n font-size: 1.25rem;\\n\"])));\nvar GroupContent = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \";\\n padding: 0.5rem 1rem;\\n cursor: pointer;\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n \", \";\\n padding: 0.5rem 1rem;\\n cursor: pointer;\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 0.5rem;\\n\"])), function (props) { return (props.expanded ? 'background-color: #007bff; color: white;' : 'background-color: #ededed'); });\nvar StyledRowExpanded = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding: 0.5rem 0.5rem 0.5rem 1rem;\\n background-color: white;\\n\"], [\"\\n padding: 0.5rem 0.5rem 0.5rem 1rem;\\n background-color: white;\\n\"])));\nvar StyledFullName = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: bold;\\n\"], [\"\\n font-weight: bold;\\n\"])));\nvar StyledIcon = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n color: \", \";\\n\"], [\"\\n color: \", \";\\n\"])), function (props) { return (props.expanded ? 'white' : props.isRepublican ? 'red' : 'blue'); });\nvar FederalRepresentativeItem = function (props) {\n var _a;\n var _b = useToggle(), expandedFederal = _b[0], toggleExpandFederal = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledRow, { onClick: toggleExpandFederal, expanded: expandedFederal },\n React.createElement(\"div\", null,\n React.createElement(StyledFullName, null,\n getDisplayUserName(props.data.frFirstName, props.data.frLastName, props.data.frMiddleName),\n \"\\u00A0 (\",\n props.data.frParty.charAt(0).toUpperCase(),\n \")\"),\n React.createElement(\"div\", null,\n props.data.frDistrict ? 'Representative' : 'Senator',\n \"\\u00A0\",\n props.data.frDistrict ? \"(\" + props.data.frStateAbbreviation + \" \" + ((_a = props.data.frDistrict) === null || _a === void 0 ? void 0 : _a.padStart(2, '0')) + \")\" : \"(\" + props.data.frStateAbbreviation + \")\")),\n React.createElement(StyledIcon, { expanded: expandedFederal, isRepublican: props.data.frParty.charAt(0).toUpperCase() === 'R' },\n React.createElement(FontAwesomeIcon, { size: \"3x\", icon: props.data.frParty.charAt(0).toUpperCase() === 'D' ? faDemocrat : props.data.frParty.charAt(0).toUpperCase() === 'R' ? faRepublican : faFlagUsa }))),\n React.createElement(StyledRowExpanded, { hidden: !expandedFederal },\n React.createElement(FederalRepresentativeDetail, { data: props.data }))));\n};\nvar StateRepresentativeItem = function (props) {\n var _a;\n var _b = useToggle(), expandedState = _b[0], toggleExpandState = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledRow, { onClick: toggleExpandState, expanded: expandedState },\n React.createElement(\"div\", null,\n React.createElement(StyledFullName, null,\n getDisplayUserName(props.data.srFirstName, props.data.srLastName, props.data.srMiddleName),\n \"\\u00A0 (\",\n props.data.srParty.charAt(0).toUpperCase(),\n \")\"),\n React.createElement(\"div\", null,\n props.data.srChamber === 'upper' ? 'State Senator' : 'State Representative',\n \"\\u00A0\",\n React.createElement(\"span\", null, props.data.srDistrict ? \"(\" + props.data.stState + \" \" + ((_a = props.data.srDistrict) === null || _a === void 0 ? void 0 : _a.padStart(2, '0')) + \")\" : \"(\" + props.data.stState + \")\"))),\n React.createElement(StyledIcon, { expanded: expandedState, isRepublican: props.data.srParty.charAt(0).toUpperCase() === 'R' },\n React.createElement(FontAwesomeIcon, { size: \"3x\", icon: props.data.srParty.charAt(0).toUpperCase() === 'D' ? faDemocrat : props.data.srParty.charAt(0).toUpperCase() === 'R' ? faRepublican : faFlagUsa }))),\n React.createElement(StyledRowExpanded, { hidden: !expandedState },\n React.createElement(StateRepresentativeDetail, { data: props.data }))));\n};\nvar DataGroup = function (props) {\n var _a;\n return (React.createElement(StyledGroup, null,\n React.createElement(GroupTitle, null, props.title),\n React.createElement(GroupContent, null, (_a = props.data) === null || _a === void 0 ? void 0 : _a.map(function (rep) { return (React.createElement(props.itemComponent, { key: rep.id, data: rep })); }))));\n};\nvar useRepresentativePanel = function (apiUrl) {\n var lookupState = useLookupState()[0].data;\n var selectedRegion = useViewValue('selectedRegion')[0];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var geoLevel = useViewValue('geoType')[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var _a = useCachedData(apiUrl), _b = _a[0], requesting = _b.requesting, apiRes = _b.data, error = _b.error, fetchData = _a[1];\n useEffect(function () {\n fetchData();\n }, [fetchData]);\n var _c = useMemo(function () {\n var _a;\n var _b = separateGeoLevelId(selectedId), stateCode = _b[0], district = _b[1];\n if (geoLevel !== GeoLevelEnum.Zip5 || (selectedId === null || selectedId === void 0 ? void 0 : selectedId.endsWith('-'))) {\n return [(stateCode && ((_a = lookupState === null || lookupState === void 0 ? void 0 : lookupState.find(function (lookup) { return lookup.stateCode === stateCode.padStart(2, '0'); })) === null || _a === void 0 ? void 0 : _a.stateAbbreviation)) || '', district];\n }\n else {\n return [lookupZipCode.getStateAbbOfZipCode(selectedId) || '', district];\n }\n }, [selectedId, geoLevel, lookupZipCode, lookupState]), stateAbb = _c[0], district = _c[1];\n return {\n stateAbb: stateAbb,\n district: district,\n requesting: requesting,\n apiData: apiRes === null || apiRes === void 0 ? void 0 : apiRes.data,\n error: error,\n fetchData: fetchData,\n };\n};\nexport var LegislatorsComponent = function (props) {\n var _a, _b;\n var data = useRepresentativePanel(GET_FEDERAL_REPRESENTATIVES_API);\n return (React.createElement(FallbackComponent, { requesting: data.requesting, error: data.error, retry: data.fetchData },\n React.createElement(DataGroup, { title: \"U.S. Senators\", data: (_a = data.apiData) === null || _a === void 0 ? void 0 : _a.senators[data.stateAbb], itemComponent: FederalRepresentativeItem }),\n props.type === GeoLevelEnum.Congressional && (React.createElement(DataGroup, { title: \"U.S. Representative\", data: (_b = data.apiData) === null || _b === void 0 ? void 0 : _b.representatives[data.stateAbb + \"-\" + data.district], itemComponent: FederalRepresentativeItem }))));\n};\nexport var StateDelegatesComponent = function (props) {\n var _a, _b, _c, _d;\n var apiUrl = '';\n if (props.type === GeoLevelEnum.StateUpper) {\n apiUrl = GET_STATE_REPRESENTATIVES_UPPER_API;\n }\n else if (props.type === GeoLevelEnum.StateLower) {\n apiUrl = GET_STATE_REPRESENTATIVES_LOWER_API;\n }\n var data = useRepresentativePanel(apiUrl);\n if (props.type !== GeoLevelEnum.StateUpper && props.type !== GeoLevelEnum.StateLower)\n return null;\n return (React.createElement(FallbackComponent, { requesting: data.requesting, error: data.error, retry: data.fetchData },\n props.type === GeoLevelEnum.StateUpper && ((_a = data.apiData) === null || _a === void 0 ? void 0 : _a[data.stateAbb + \"-\" + data.district]) && (React.createElement(DataGroup, { title: \"State Senator\", data: (_b = data.apiData) === null || _b === void 0 ? void 0 : _b[data.stateAbb + \"-\" + data.district], itemComponent: StateRepresentativeItem })),\n props.type === GeoLevelEnum.StateLower && ((_c = data.apiData) === null || _c === void 0 ? void 0 : _c[data.stateAbb + \"-\" + data.district]) && (React.createElement(DataGroup, { title: \"State Representative\", data: (_d = data.apiData) === null || _d === void 0 ? void 0 : _d[data.stateAbb + \"-\" + data.district], itemComponent: StateRepresentativeItem }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { ListGroup, ListGroupItem, TabContent, TabPane } from 'reactstrap';\nimport { IconButton } from '../../common';\nimport { useFilterValue, useViewSetting, useViewValue } from '../../state';\nimport { StyledMapSidebar } from '../sidebar';\nimport { getStatisticShortName } from '../../lookupdata';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../enums';\nimport { useSelectedGeoIdInfo } from '../geoselectedinfo';\nimport { StatisticDetail } from './statisticdetail';\nimport { LegislatorsComponent, StateDelegatesComponent } from './representatives';\nimport { useMount } from '../../hooks';\nimport { deviceType } from '../../utils';\nvar PanelHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.5rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.5rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"])));\nvar Title = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar StyledTabsContainer = styled(ListGroup)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"])));\nvar StyleTabSelector = styled(ListGroupItem)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"], [\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"])));\nvar TabSelector = React.memo(function (props) {\n var setActiveTab = props.setActiveTab;\n var handleClick = useCallback(function () {\n setActiveTab(props.tabId);\n }, [props.tabId, setActiveTab]);\n return (React.createElement(StyleTabSelector, { action: true, disabled: props.disabled, active: props.activeTab === props.tabId, onClick: handleClick }, props.children));\n});\nexport var RegionDetail = React.memo(function () {\n var _a;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var _c = useState('1'), activeTab = _c[0], setActiveTab = _c[1];\n var viewSetting = useViewSetting();\n var _d = useSelectedGeoIdInfo(viewSetting), firstLevelLabel = _d[1], secondLevelLabel = _d[2];\n var makeSelection = !((_a = viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties);\n var isDisabledRepresentativesTab = makeSelection || viewSetting.geoType === GeoLevelEnum.MSA;\n useMount(function () {\n if (!(selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) && deviceType() !== 'mobile') {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n else if (deviceType() === 'mobile' && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail && !selectedRegion.id) {\n setSelectedRegion();\n }\n });\n useEffect(function () {\n if (isDisabledRepresentativesTab) {\n setActiveTab('1');\n }\n }, [isDisabledRepresentativesTab]);\n var closePanel = useCallback(function () {\n setSelectedRegion();\n }, [setSelectedRegion]);\n if ((selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) !== RightPanelTypeEnum.RegionDetail)\n return null;\n return (React.createElement(StyledMapSidebar, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, makeSelection ? ('United States') : (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: secondLevelLabel ? 'font-weight-bold' : '' }, firstLevelLabel),\n \" \",\n secondLevelLabel))),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: closePanel, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(StyledTabsContainer, { horizontal: true },\n React.createElement(TabSelector, { tabId: \"1\", activeTab: activeTab, setActiveTab: setActiveTab }, statisticName),\n React.createElement(TabSelector, { disabled: isDisabledRepresentativesTab, tabId: \"2\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Representatives\")),\n React.createElement(TabContent, { activeTab: activeTab },\n React.createElement(TabPane, { tabId: \"1\" },\n React.createElement(StatisticDetail, null)),\n React.createElement(TabPane, { tabId: \"2\" },\n React.createElement(LegislatorsComponent, { type: viewSetting.geoType }),\n React.createElement(StateDelegatesComponent, { type: viewSetting.geoType })))));\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect } from 'react';\nimport { TabPane, TabContent } from 'reactstrap';\nimport ReactMapGL, { NavigationControl } from 'react-map-gl';\nimport styled from 'styled-components';\nimport { FallbackComponent } from '../common';\nimport { useMapData } from './patientchoroplethlayer/usemapdata';\nimport { useViewValue } from '../state/viewsetting';\nimport { useViewport, useMapValue, useMapRef, useMapFallback } from './mapprovider';\nimport { LegendOverlay } from './patientchoroplethlayer/legend';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { RightPanelTypeEnum, ViewModeEnum } from '../enums';\nimport { CountNotification } from './countnotification';\nimport { MapSidebar } from './sidebar';\nimport { ImportingLocationDetail } from './importinglocationlayer';\nimport { ProviderDetail } from './providerdetail';\nimport { RegionDetail } from './regiondetail';\nimport { useDrawPolygon } from './drawpolygon';\nimport { isTouchEnabled } from '../utils';\nvar StyledMapContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n\"], [\"\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n\"])));\nvar StyledNavigationControl = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n bottom: 2.5rem;\\n left: 0.5rem;\\n .disabled-zoom-out .mapboxgl-ctrl-zoom-out {\\n &:focus,\\n &:active {\\n box-shadow: none;\\n }\\n cursor: default !important;\\n span {\\n background-color: #f4f4f4;\\n background-image: url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23bbb'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\") !important;\\n }\\n }\\n\"], [\"\\n position: absolute;\\n bottom: 2.5rem;\\n left: 0.5rem;\\n .disabled-zoom-out .mapboxgl-ctrl-zoom-out {\\n &:focus,\\n &:active {\\n box-shadow: none;\\n }\\n cursor: default !important;\\n span {\\n background-color: #f4f4f4;\\n background-image: url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23bbb'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\") !important;\\n }\\n }\\n\"])));\nvar StyledRightOverlay = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: absolute;\\n display: flex;\\n flex-direction: row-reverse;\\n align-items: flex-end;\\n right: 0;\\n top: 3.875rem;\\n bottom: 0;\\n\"], [\"\\n position: absolute;\\n display: flex;\\n flex-direction: row-reverse;\\n align-items: flex-end;\\n right: 0;\\n top: 3.875rem;\\n bottom: 0;\\n\"])));\nexport var MapComponent = function (props) {\n var _a = useMapData(), mapData = _a[0], fetchMapData = _a[1], resetMapData = _a[2];\n var _b = useViewport(), viewport = _b[0], setViewport = _b[1];\n var _c = useMapValue('hoveringInfo'), setHoveringInfo = _c[1];\n var indexConfig = useHostnameIndexInfo();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var show = viewMode === ViewModeEnum.Map;\n var _d = useMapFallback(), fallbackData = _d[0], setFallbackData = _d[1];\n var _e = useViewValue('selectedRegion'), setSelectedRegion = _e[1];\n var _f = useViewValue('mapView', 'zoomId'), setZoomId = _f[1];\n var _g = useDrawPolygon(), editor = _g.editor, drawControl = _g.drawControl;\n useEffect(function () {\n resetMapData();\n fetchMapData();\n }, [fetchMapData, resetMapData]);\n useEffect(function () {\n setFallbackData({ requesting: mapData.requesting, error: mapData.error, retry: fetchMapData });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapData.requesting, mapData.error]);\n var updateViewport = useCallback(function (newViewport) {\n var zoom = newViewport.zoom;\n var minZoom = viewport.minZoom, maxZoom = viewport.maxZoom;\n if (minZoom && zoom < minZoom) {\n zoom = minZoom;\n }\n if (maxZoom && zoom > maxZoom) {\n zoom = maxZoom;\n }\n setViewport(__assign(__assign({}, newViewport), { minZoom: minZoom, maxZoom: maxZoom, zoom: zoom }));\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [viewport.minZoom, viewport.maxZoom]);\n var handleHover = useCallback(function (event) {\n var properties = null;\n var lngLat = [0, 0];\n var feature = (event.features || [])[0];\n if (!isTouchEnabled() && feature && event.target.className === 'overlays') {\n (lngLat = event.lngLat);\n (properties = feature.properties);\n setHoveringInfo(__spreadArrays([properties], lngLat));\n }\n else {\n setHoveringInfo();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var handleMouseOut = useCallback(function () {\n setHoveringInfo();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var hanldeClick = useCallback(function (event) {\n var feature = (event.features || [])[0];\n if (feature && event.target.className === 'overlays') {\n setZoomId(feature.properties.id);\n setHoveringInfo();\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail, id: feature.properties.id });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var mapEvents = {};\n if (show) {\n mapEvents = {\n onHover: handleHover,\n onMouseOut: handleMouseOut,\n onClick: hanldeClick,\n };\n }\n return (React.createElement(TabContent, { activeTab: viewMode },\n React.createElement(TabPane, { tabId: ViewModeEnum.Map },\n React.createElement(FallbackComponent, { requesting: fallbackData.requesting, error: fallbackData.error, retry: fallbackData.retry, overlay: true },\n React.createElement(StyledMapContent, null,\n React.createElement(ReactMapGL, __assign({ ref: mapRef, mapboxApiAccessToken: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.mapboxToken, mapStyle: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.mapboxStyle }, viewport, { width: \"100%\", height: \"100%\", onViewportChange: updateViewport, interactiveLayerIds: ['patientchoroplethlayer'] }, mapEvents, { doubleClickZoom: false }),\n React.createElement(StyledNavigationControl, null,\n React.createElement(NavigationControl, { className: \"\" + (viewport.minZoom >= viewport.zoom ? 'disabled-zoom-out' : ''), showCompass: false })),\n React.Children.map(props.children, function (child) { return ((child === null || child === void 0 ? void 0 : child.type) !== MapSidebar ? child : null); }),\n editor,\n React.createElement(CountNotification, null)),\n React.createElement(StyledRightOverlay, null,\n React.createElement(MapSidebar, null,\n React.createElement(RegionDetail, null),\n React.createElement(ProviderDetail, null),\n React.createElement(ImportingLocationDetail, null),\n React.Children.map(props.children, function (child) { return ((child === null || child === void 0 ? void 0 : child.type) === MapSidebar ? child : null); })),\n React.createElement(\"div\", { className: \"position-relative h-100\" },\n drawControl,\n React.createElement(LegendOverlay, null))))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useRef } from 'react';\nimport styled from 'styled-components';\nimport moment from 'moment';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { exportFilterSettingPayload, useFilterSetting, useViewValue } from '../../state';\nimport { useMapRef, useViewport } from '../mapprovider';\nimport { useDebounce, useDebounceValue } from '../../hooks';\nimport { ClinicalTrialOptionEnum, RightPanelTypeEnum } from '../../enums';\nimport { LocationLayer } from '../locationlayer';\nimport { useClinicalTrialGovApi } from '../../selectors';\nvar VIEW_PORT_DEBOUNCE_TIME = 500;\nvar StyledBriefTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"])));\nvar StyledFacilityName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledBriefTitle, { key: props.location.nctId, id: props.location.nctId }, props.location.briefTitle || ''),\n React.createElement(UncontrolledTooltip, { placement: \"top\", target: props.location.nctId }, props.location.briefTitle),\n React.createElement(StyledFacilityName, null, props.location.facilityName || '')));\n};\nexport var ClinicalTrialLayer = React.memo(function () {\n var _a, _b, _c;\n var filterSetting = useFilterSetting();\n var _d = useClinicalTrialGovApi(), clinicalTrialLocatorData = _d[0], fetchClinicalTrialLocatorData = _d[1], clearData = _d[2];\n var clinicalTrialOption = useViewValue('clinicalTrial', 'clinicalTrialOption')[0];\n var filterRecruitmentStatuses = useViewValue('clinicalTrialStatus', 'filterRecruitmentStatuses')[0];\n var viewport = useViewport()[0];\n var mapRef = useMapRef();\n var map = (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap();\n var show = !!clinicalTrialOption;\n var lngLatBounds = useDebounceValue(function () { return map === null || map === void 0 ? void 0 : map.getBounds().toArray(); }, [viewport.zoom, viewport.longitude, viewport.latitude], VIEW_PORT_DEBOUNCE_TIME);\n var selectedRegion = useViewValue('selectedRegion')[0];\n var loadedUserActionsHistoryRef = useRef(false);\n var fetchDataWrapped = function () {\n var payload = exportFilterSettingPayload(filterSetting);\n var userActionsHistory = !loadedUserActionsHistoryRef.current && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ClinicalTrialDetail\n ? {\n clinicalTrial: selectedRegion.id,\n }\n : undefined;\n fetchClinicalTrialLocatorData(__assign(__assign({}, payload), { primaryCoMorbidities: clinicalTrialOption === ClinicalTrialOptionEnum.AllTrials ? undefined : filterSetting.primaryCoMorbidities, currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, bottomLeftAndTopRightLngLatBound: lngLatBounds, userActionsHistory: userActionsHistory,\n filterRecruitmentStatuses: filterRecruitmentStatuses }));\n loadedUserActionsHistoryRef.current = true;\n };\n useDebounce(function () {\n if (filterSetting.forceUpdate && show) {\n fetchDataWrapped();\n }\n return clearData;\n }, [filterSetting.forceUpdate, show, lngLatBounds, clinicalTrialOption, filterRecruitmentStatuses]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.ClinicalTrialDetail, locations: ((_b = clinicalTrialLocatorData.data) === null || _b === void 0 ? void 0 : _b.clinicalTrials) || [], show: show, color: \"#4472C5\", icon: \"notes-medical\", requesting: clinicalTrialLocatorData.requesting, error: clinicalTrialLocatorData.error, retry: fetchDataWrapped, totalCount: (_c = clinicalTrialLocatorData.data) === null || _c === void 0 ? void 0 : _c.totalCount, compareFn: function (a, b) { var _a, _b; return ((_a = a.briefTitle) === null || _a === void 0 ? void 0 : _a.localeCompare(b.briefTitle || '')) || ((_b = a.facilityName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.facilityName || '')) || 0; }, menuItemComponent: MenuItem, name: \"clinical trial sites\", idFields: ['nctId', 'facilityName', 'zipcode'] }));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCloudDownloadAlt, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport moment from 'moment';\nimport { useAuth } from '../authentication';\nimport { useViewValue } from '../state';\nimport { IconButton } from '../common';\nimport { StyledMapSidebar } from './sidebar';\nimport { RightPanelTypeEnum } from '../enums';\nimport { useClinicalTrialDetail } from '../selectors';\nvar EXPORT_CSV_API = '/api/clinical-trials/export-to-excel-file';\nvar StyledClinicalTrialDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar ClinicalTrialLink = styled.a(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"], [\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"])));\nvar ClinicalTrialText = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n\"], [\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n\"])));\nvar ClinicalTrialInfo = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar ClinicalTrialLocation = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n padding-top: 1rem;\\n\"], [\"\\n padding-top: 1rem;\\n\"])));\nvar ClinicalTrialDate = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n padding-top: 1rem;\\n\"], [\"\\n padding-top: 1rem;\\n\"])));\nvar ClinicalTrialDateText = styled.span(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n padding-left: 0.25rem;\\n\"], [\"\\n padding-left: 0.25rem;\\n\"])));\nvar ClinicalTrialContactInfo = styled.div(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n padding-top: 2rem;\\n\"], [\"\\n padding-top: 2rem;\\n\"])));\nvar ClinicalTrialInvestigatorInfo = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n padding-top: 2rem;\\n\"], [\"\\n padding-top: 2rem;\\n\"])));\nvar StyledDiv = styled.div(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\"], [\"\"])));\nvar Location = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledEmail = styled.a(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\"], [\"\"])));\nexport var ClinicalTrialDetail = function () {\n var _a, _b, _c;\n var auth = useAuth();\n var _d = useViewValue('selectedRegion'), selectedRegion = _d[0], setSelectedRegion = _d[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ClinicalTrialDetail ? selectedRegion.id : undefined;\n var selectedClinicalTrialSite = useClinicalTrialDetail(id);\n var clearSelectedClinicalTrialInfo = function () {\n setSelectedRegion();\n };\n var onDownloadClinicalTrial = function () {\n var form = document.createElement('form');\n form.action = EXPORT_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify({\n clinicalTrialSites: [selectedClinicalTrialSite],\n dateTimeStringForExportingCsv: moment().format('YYYYMMDD HHmmss'),\n }),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!selectedClinicalTrialSite)\n return null;\n return (React.createElement(StyledClinicalTrialDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Clinical Trial Information\"),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: onDownloadClinicalTrial, icon: faCloudDownloadAlt, color: \"warning\", size: \"2x\" }),\n React.createElement(IconButton, { onClick: clearSelectedClinicalTrialInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(ClinicalTrialInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedClinicalTrialSite.briefTitle),\n React.createElement(ClinicalTrialLink, { href: \"https://clinicaltrials.gov/ct2/show/\" + selectedClinicalTrialSite.nctId, target: \"_blank\" },\n React.createElement(ClinicalTrialText, null, \"View in ClinicalTrials.gov\"),\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt })),\n React.createElement(ClinicalTrialLocation, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedClinicalTrialSite.facilityName),\n React.createElement(Location, null,\n selectedClinicalTrialSite.city,\n \", \",\n selectedClinicalTrialSite.stateAbv,\n \" \",\n selectedClinicalTrialSite.zipcode)),\n React.createElement(ClinicalTrialDate, null,\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Recruitment Status:\"),\n React.createElement(ClinicalTrialDateText, null, (_a = selectedClinicalTrialSite.recruimentStatuses) === null || _a === void 0 ? void 0 : _a.join(', ')),\n React.createElement(\"br\", null),\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Start Date:\"),\n React.createElement(ClinicalTrialDateText, null, moment(selectedClinicalTrialSite.startDate).format('LL')),\n React.createElement(\"br\", null),\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Estimated Completion Date:\"),\n React.createElement(ClinicalTrialDateText, null, moment(selectedClinicalTrialSite.completionDate).format('LL')),\n React.createElement(\"br\", null)),\n React.createElement(ClinicalTrialContactInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Contact Info\"), (_b = selectedClinicalTrialSite.contacts) === null || _b === void 0 ? void 0 :\n _b.map(function (item, idx) { return (React.createElement(\"div\", { key: idx, className: \"mb-2\" },\n React.createElement(StyledDiv, null, item.contactName),\n React.createElement(StyledDiv, null, item.contactPhone),\n React.createElement(StyledEmail, { href: \"mailto:\" + item.contactEmail }, item.contactEmail))); })),\n React.createElement(ClinicalTrialInvestigatorInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Investigator Info\"), (_c = selectedClinicalTrialSite.investigators) === null || _c === void 0 ? void 0 :\n _c.map(function (item, idx) { return (React.createElement(\"div\", { key: idx, className: \"mb-2\" },\n React.createElement(StyledDiv, null, item.investigatorName),\n React.createElement(StyledDiv, null, item.investigatorAffiliation))); })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTimesCircle, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { StyledMapSidebar } from './sidebar';\nimport { useViewValue } from '../state';\nimport { useQuestDiagnosticsDetail } from '../selectors';\nimport { IconButton } from '../common';\nvar StyledQuestDiagnosticsDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n right: 0;\\n top: 0.5rem;\\n\"], [\"\\n position: absolute;\\n right: 0;\\n top: 0.5rem;\\n\"])));\nvar LogoHeader = styled.img(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: 100%\\n\"], [\"\\n width: 100%\\n\"])));\nvar QuestDiagnosticsLink = styled.a(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"], [\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"])));\nvar QuestDiagnosticsText = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n font-size: 10pt;\\n\"], [\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n font-size: 10pt;\\n\"])));\nvar CountyText = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n color: #7F7F7F;\\n\"], [\"\\n color: #7F7F7F;\\n\"])));\nvar EmptyText = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n height: 2rem;\\n\"], [\"\\n height: 2rem;\\n\"])));\nexport var QuestDiagnosticsSitesDetails = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.id) || undefined;\n var selectedQuestDiagnosticsSites = useQuestDiagnosticsDetail(id);\n var clearSelectedQuestDiagnosticsSitesInfo = function () {\n setSelectedRegion();\n };\n if (!selectedQuestDiagnosticsSites)\n return null;\n return (React.createElement(StyledQuestDiagnosticsDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(IconButton, { onClick: clearSelectedQuestDiagnosticsSitesInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(LogoHeader, { src: '/assets/images/logos/quest-diagnostics-sites-logo.png', alt: '' }),\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedQuestDiagnosticsSites.site_name),\n React.createElement(CountyText, null, selectedQuestDiagnosticsSites.county),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", null, selectedQuestDiagnosticsSites.address_1),\n React.createElement(\"div\", null, selectedQuestDiagnosticsSites.address_2),\n React.createElement(\"div\", null,\n selectedQuestDiagnosticsSites.city,\n \", \",\n selectedQuestDiagnosticsSites.state_abbreviation,\n \", \",\n selectedQuestDiagnosticsSites.zip_code),\n React.createElement(QuestDiagnosticsLink, { href: \"https://www.google.com/maps/search/?api=1&query=\" + selectedQuestDiagnosticsSites.lat + \",\" + selectedQuestDiagnosticsSites.lng, target: \"_blank\" },\n React.createElement(QuestDiagnosticsText, null, \"Directions\"),\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt })),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", null,\n \"Phone 1: \",\n selectedQuestDiagnosticsSites.phone_1),\n React.createElement(\"div\", null,\n \"Phone 2: \",\n selectedQuestDiagnosticsSites.phone_2),\n React.createElement(\"div\", null,\n \"Tax: \",\n selectedQuestDiagnosticsSites.fax),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Hours Of Operation: \"),\n React.createElement(\"span\", null, selectedQuestDiagnosticsSites.operation_hours_desc)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { Marker } from 'react-map-gl';\nexport var PIN_SIZE = 35;\nexport var MemoMarker = React.memo(function (props) {\n return React.createElement(Marker, __assign({ offsetLeft: -PIN_SIZE / 2, offsetTop: -PIN_SIZE }, props));\n});\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { Layer } from 'react-map-gl';\nimport { ENV_LEGEND_COLORS } from '../../env';\nimport { useMapValue } from '../mapprovider';\nvar patientChoroplethLayer = function (transparency) {\n if (transparency === void 0) { transparency = 70; }\n return ({\n id: 'patientchoroplethlayer',\n type: 'fill',\n paint: {\n 'fill-color': ['to-color', ['at', ['get', 'breakIdx'], ['array', ['literal', ENV_LEGEND_COLORS]]]],\n 'fill-opacity': transparency / 100,\n },\n });\n};\nexport var PatientChoroplethLayer = function () {\n var transparency = useMapValue('transparency')[0];\n return React.createElement(Layer, __assign({ source: \"selectedgeographysource\" }, patientChoroplethLayer(transparency)));\n};\nexport * from './infopopup';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Supercluster from 'supercluster';\nimport { point } from '@turf/helpers';\nimport { useMapRef } from './mapprovider';\nimport { groupBy } from '../utils';\nvar CLUSTER_OPTIONS = {\n radius: 35,\n};\nvar getClusterOptions = function () { return (__assign(__assign({}, CLUSTER_OPTIONS), { map: function (props) { return ({ locations: [props.location], isSameLocation: false }); }, reduce: function (acc, props) {\n acc.locations = __spreadArrays(acc.locations, props.locations);\n } })); };\nexport var useCluster = function (data, options) {\n var _a, _b;\n var map = (_b = (_a = useMapRef()) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.getMap();\n var indexRef = useRef();\n var _c = useState([]), cookedclusters = _c[0], setCookedClusters = _c[1];\n var recalculateClusters = useCallback(function () {\n var index = indexRef.current;\n if (map && index) {\n var zoom = map.getZoom();\n var bounds = map.getBounds().toArray();\n var bbox = __spreadArrays(bounds[0], bounds[1]);\n var clusters = index.getClusters(bbox, Math.floor(zoom)).map(function (i) {\n if (!i.properties.cluster) {\n return i;\n }\n var _a = i.properties.locations, point = _a[0], points = _a.slice(1);\n i.properties.isSameLocation = points.every(function (p) { return p.lng === point.lng && p.lat === point.lat; });\n return i;\n });\n var groupByLngLat = groupBy(clusters, function (i) { return JSON.stringify(i.geometry.coordinates); });\n clusters = Object.values(groupByLngLat).map(function (points, idx) {\n if (points.length === 1) {\n return points[0];\n }\n return point(points[0].geometry.coordinates, {\n point_count: points.length,\n point_count_abbreviated: points.length,\n locations: points.map(function (p) { return p.properties.location; }),\n isSameLocation: true,\n cluster: true,\n cluster_id: idx,\n });\n });\n setCookedClusters(clusters);\n }\n }, [map]);\n useEffect(function () {\n map === null || map === void 0 ? void 0 : map.on('moveend', recalculateClusters);\n return function () {\n map === null || map === void 0 ? void 0 : map.off('moveend', recalculateClusters);\n };\n }, [map, recalculateClusters]);\n useEffect(function () {\n var index = new Supercluster(getClusterOptions());\n indexRef.current = index;\n index.load((data || []).map(function (payload) { return point([payload.lng, payload.lat], { location: payload }); }));\n recalculateClusters();\n }, [data, recalculateClusters]);\n var getClusterExpansionZoom = useCallback(function (clusterId) { return indexRef.current && indexRef.current.getClusterExpansionZoom(clusterId) + 2; }, []);\n return [cookedclusters, getClusterExpansionZoom];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { Popup as MapboxPopup } from 'react-map-gl';\nexport var Popup = function (props) {\n var show = props.show, onClose = props.onClose, resprops = __rest(props, [\"show\", \"onClose\"]);\n useEffect(function () {\n if (show && onClose) {\n var handleKeyDown_1 = function (event) {\n var key = event.key || event.keyCode;\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n onClose();\n }\n };\n document.addEventListener('keydown', handleKeyDown_1);\n return function () {\n document.removeEventListener('keydown', handleKeyDown_1);\n };\n }\n }, [onClose, show]);\n if (!show)\n return null;\n return React.createElement(MapboxPopup, __assign({}, resprops));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback, useMemo } from 'react';\nimport { RESET_FILTERS, SET_FILTER_VALUE } from './reducer';\nimport { ALL_AGE_VALUES } from '../../lookupdata';\nexport function useFilterValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_FILTER_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.filter.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetFilter = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_FILTERS, payload: value }); }, [dispatch]);\n};\nexport var useFilterSetting = function () {\n var filter = useMappedState(useCallback(function (state) { return state.filter; }, []));\n return useMemo(function () { return filter.toJSON(); }, [filter]);\n};\nexport var exportFilterSettingPayload = function (values) {\n var _a, _b, _c, _d, _e;\n if (values.isAggregatedDataSource) {\n return {\n statisticType: values.statisticType,\n statisticOptionType: values.statisticOptionType,\n dataSourceName: values.dataSourceName,\n year: values.year,\n filteringCategoryType: values.filteringCategoryType,\n filteringCategoryValue: values.filteringCategoryValue,\n };\n }\n return {\n consumptionGroupClasses: values.consumptionGroupClasses,\n additionalConditions: values.additionalConditions,\n primaryConditions: values.primaryConditions,\n primaryCoMorbidities: (_a = values.primaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.slice(0, 1),\n comorbidities: Array.from(new Set(__spreadArrays((values.primaryCoMorbidities || []), (values.comorbidities || [])))).sort(),\n demographics: __assign(__assign({}, values.demographics), { ages: ((_c = (_b = values.demographics) === null || _b === void 0 ? void 0 : _b.ages) === null || _c === void 0 ? void 0 : _c.length) ? (_d = values.demographics) === null || _d === void 0 ? void 0 : _d.ages : ALL_AGE_VALUES }),\n raceMethodology: values.raceMethodology,\n dataYear: isNaN(values.dataYear || 0) ? 9999 : values.dataYear,\n dataYearSeason: values.dataYearSeason,\n statistic: values.statistic,\n claimNumber: values.claimNumber,\n claimDay: values.claimDay,\n singleStateCode: values.singleStateCode,\n singleStateAbb: values.singleStateAbb,\n vaccineCptCodes: values.vaccineCptCodes,\n fluVaccineCptCodes: values.fluVaccineCptCodes,\n primaryConditionWithClaims: (_e = values.primaryCoMorbidities) === null || _e === void 0 ? void 0 : _e.map(function (condition) {\n var _a;\n return ({\n chronicCode: Number(condition),\n minClaimNumber: (_a = values.primaryConditionWithClaims) === null || _a === void 0 ? void 0 : _a[condition],\n });\n }).filter(function (i) { return i.minClaimNumber && i.chronicCode; }),\n primaryConditionWithClaimsOptionals: values.primaryConditionWithClaimsOptionals,\n patientPopulationReferenceYear: values.patientPopulationReferenceYear,\n useMBSFChronicCondition: values.useMBSFChronicCondition,\n };\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useEffect, useState } from 'react';\nimport { useMount } from '../hooks';\nimport { useIndexName } from '../hostnameindexinfo';\nimport { useAPI } from '../state';\nvar FETCH_AGGREGATED_DATA_SOURCES_API_URL = '/api/data-file/get-data-source-names-for-an-index/{indexName}';\nexport var useAggregatedDataSource = function () {\n var indexName = useIndexName();\n var _a = useAPI(FETCH_AGGREGATED_DATA_SOURCES_API_URL, { indexName: indexName }), agrregatedData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceGeos.some(function (geo) { return geo.geoLevelLookup.geoName !== 'NATIONAL'; }); }); }, [\n agrregatedData.data,\n ]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], rest);\n};\nexport var useAggregatedDataSourceName = function () {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n // transform & remove duplicated & sort\n var data = useMemo(function () { var _a; return (_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.dataSourceName; }).filter(function (name, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === name; }); }).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); }, [agrregatedData.data]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// year by source name\nexport var useAggregatedYear = function (filterSetting) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n // search & transform & remove duplicated & sort\n var data = useMemo(function () {\n var _a;\n return filterSetting.isAggregatedDataSource\n ? (_a = agrregatedData === null || agrregatedData === void 0 ? void 0 : agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName; }).map(function (i) { return i.year; }).filter(function (year, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === year; }); }).sort() : undefined;\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// statistic by source name + year\nexport var useAggregatedStatistic = function (filterSetting) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n var _b = useState(), data = _b[0], setData = _b[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year; }).map(function (i) { return i.dataTypeName; }).filter(function (i, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === i; }); }));\n }\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName, filterSetting.year]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// demographic by source name + year\nexport var useAggregatedDemogaphic = function (filterSetting, demographic) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n var _b = useState(), data = _b[0], setData = _b[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year; }).flatMap(function (i) { return i.dataSourceColumnDefinitions.filter(function (cd) { return cd.category === demographic; }); }).filter(function (i, idx, arr) { return (idx === arr.findIndex(function (curr) { return curr.name === i.name; })); }));\n }\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName, filterSetting.year, demographic]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// geo level by source name + year + statistic\nexport var useAggregatedGeoLevel = function (filterSetting) {\n var _a;\n var _b = useAggregatedDataSource(), agrregatedData = _b[0], res = _b.slice(1);\n var _c = useState(), data = _c[0], setData = _c[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { var _a; return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year && i.dataTypeName === ((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption); }).flatMap(function (i) { return i.dataSourceGeos; }).map(function (i) { return i.geoLevelLookup.geoName; }).filter(function (i, idx, arr) { return i !== 'NATIONAL' && idx === arr.findIndex(function (curr) { return curr === i; }); }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.year, (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\nexport var AggregatedDataSourceComponent = function () {\n var _a = useAggregatedDataSource(), fetchAggregatedData = _a[1];\n useMount(function () {\n fetchAggregatedData();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ENV_MIN_PATIENT_BUSINESS_RULE = parseInt(process.env.REACT_APP_MIN_PATIENT_BUSINESS_RULE || '11', 10);\nexport var ENV_LEGEND_COLORS = (process.env.REACT_APP_LEGEND_COLORS || '#ccc,#ffff00,#ffd226,#ffa143,#f27151,#d9434c,#b71933,#8b0000').split(',');\nexport var ENV_STATE_BORDER_COLOR = process.env.REACT_APP_STATE_BORDER_COLOR || '#A9A9A9';\n"],"sourceRoot":""}