{"version":3,"sources":["../../nmqf-common-ui/dist/storeduivalue/index.js","../../nmqf-common-ui/dist/filterbar/useeffectfiltercount.js","serviceWorker.ts","components/filterdialog/conditiontab.tsx","components/filterdialog/index.tsx","components/map/index.tsx","components/indexdashboard/index.tsx","index.tsx","../../nmqf-common-ui/dist/trendline/usetrendlinedata.js","../../nmqf-common-ui/dist/utils/index.js","../../nmqf-common-ui/dist/hooks/usetoggle.js","../../nmqf-common-ui/dist/hooks/useform.js","../../nmqf-common-ui/dist/hooks/usedebounce.js","../../nmqf-common-ui/dist/hooks/usegeojson.js","../../nmqf-common-ui/dist/hooks/index.js","../../nmqf-common-ui/dist/map/geoselectedinfo/index.js","../../nmqf-common-ui/dist/demographicchart/usechartdata.js","../../nmqf-common-ui/dist/filterbar/geosearch.js","../../nmqf-common-ui/dist/filterbar/displayoption.js","../../nmqf-common-ui/dist/filterbar/downloadbutton.js","../../nmqf-common-ui/dist/filterbar/index.js","../../nmqf-common-ui/dist/filterbar/sharelinkbutton.js","../../nmqf-common-ui/dist/export/index.js","../../nmqf-common-ui/dist/hostnameindexinfo/index.js","../../nmqf-common-ui/dist/configs/filtersidebar.js","../../nmqf-common-ui/dist/map/overlays/styled.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/dataforgeo.js","../../nmqf-common-ui/dist/common/icontooltip.js","../../nmqf-common-ui/dist/hooks/useconfig.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/legend.js","../../nmqf-common-ui/dist/trendline/index.js","../../nmqf-common-ui/dist/common/pin.js","../../nmqf-common-ui/dist/demographicchart/pie.js","../../nmqf-common-ui/dist/state/filterediting/index.js","../../nmqf-common-ui/dist/state/filtersettings/reducer.js","../../nmqf-common-ui/dist/state/filterediting/reducer.js","../../nmqf-common-ui/dist/state/viewsetting/reducer.js","../../nmqf-common-ui/dist/index.js","../../nmqf-common-ui/dist/tableview/index.js","../../nmqf-common-ui/dist/userprofile/index.js","../../nmqf-common-ui/dist/userchangepassword/index.js","../../nmqf-common-ui/dist/aboutmodal/licenseagreementmodal.js","../../nmqf-common-ui/dist/enums/geolevelenum.js","../../nmqf-common-ui/dist/enums/statistictypeenum.js","../../nmqf-common-ui/dist/enums/datasourceenum.js","../../nmqf-common-ui/dist/enums/displayoptionenum.js","../../nmqf-common-ui/dist/enums/demographictypeenum.js","../../nmqf-common-ui/dist/enums/roleenum.js","../../nmqf-common-ui/dist/enums/racemethodologyenum.js","../../nmqf-common-ui/dist/enums/clinicaltrialoptionenum.js","../../nmqf-common-ui/dist/enums/conditionssorttypeenum.js","../../nmqf-common-ui/dist/enums/rightpaneltypeenum.js","../../nmqf-common-ui/dist/enums/userlogintypeenum.js","../../nmqf-common-ui/dist/enums/chronicconditionsourceenum.js","../../nmqf-common-ui/dist/reportsdialogextension/reportsdialogprovider.js","../../nmqf-common-ui/dist/state/api/reducer.js","../../nmqf-common-ui/dist/state/message/reducer.js","../../nmqf-common-ui/dist/state/api/index.js","../../nmqf-common-ui/dist/state/message/index.js","../../nmqf-common-ui/dist/state/index.js","../../nmqf-common-ui/dist/configs/filteroptions.js","../../nmqf-common-ui/dist/configs/viewoptions.js","../../nmqf-common-ui/dist/map/mapprovider.js","../../nmqf-common-ui/dist/common/spinner.js","../../nmqf-common-ui/dist/common/button.js","../../nmqf-common-ui/dist/common/fallback.js","../../nmqf-common-ui/dist/common/select.js","../../nmqf-common-ui/dist/common/checkboxgroup.js","../../nmqf-common-ui/dist/common/dropdownmenu.js","../../nmqf-common-ui/dist/common/messagebox.js","../../nmqf-common-ui/dist/common/constants.js","../../nmqf-common-ui/dist/common/radiogroup.js","../../nmqf-common-ui/dist/common/input.js","../../nmqf-common-ui/dist/common/datatable/index.js","../../nmqf-common-ui/dist/common/mainview.js","../../nmqf-common-ui/dist/common/index.js","../../nmqf-common-ui/dist/common/phoneinput.js","../../nmqf-common-ui/dist/common/datatable/pager.js","../../nmqf-common-ui/dist/authentication/changepasswordrequired.js","../../nmqf-common-ui/dist/authentication/resetpasswordrequired.js","../../nmqf-common-ui/dist/authentication/login.js","../../nmqf-common-ui/dist/authentication/confirmforgotpassword.js","../../nmqf-common-ui/dist/authentication/forgotpassword.js","../../nmqf-common-ui/dist/authentication/signup.js","../../nmqf-common-ui/dist/authentication/index.js","../../nmqf-common-ui/dist/types/index.js","../../nmqf-common-ui/dist/filterresultdashboard/index.js","../../nmqf-common-ui/dist/aboutmodal/index.js","../../nmqf-common-ui/dist/reportsdialogextension/showbyzipcodetab.js","../../nmqf-common-ui/dist/methodologymodal/constants.js","../../nmqf-common-ui/dist/methodologymodal/index.js","../../nmqf-common-ui/dist/reportsdialogextension/datayearseasontab.js","../../nmqf-common-ui/dist/reportsdialogextension/fluvaccinetab.js","../../nmqf-common-ui/dist/header/usermenu.js","../../nmqf-common-ui/dist/header/index.js","../../nmqf-common-ui/dist/filtersidebar/filtertab.js","../../nmqf-common-ui/dist/map/overlays/transparencycontrol.js","../../nmqf-common-ui/dist/filtersidebar/legendsidebar.js","../../nmqf-common-ui/dist/filtersidebar/legendtransparencytab.js","../../nmqf-common-ui/dist/filtersidebar/index.js","../../nmqf-common-ui/dist/maplayermenu/locationmenu.js","../../nmqf-common-ui/dist/maplayermenu/providermenu.js","../../nmqf-common-ui/dist/maplayermenu/clinicaltrialmenu.js","../../nmqf-common-ui/dist/maplayermenu/index.js","../../nmqf-common-ui/dist/demographicchart/bar.js","../../nmqf-common-ui/dist/demographicchart/index.js","../../nmqf-common-ui/dist/selectors/providersetting.js","../../nmqf-common-ui/dist/selectors/clinicaltrialgov.js","../../nmqf-common-ui/dist/selectors/provider.js","../../nmqf-common-ui/dist/selectors/custommaplayer.js","../../nmqf-common-ui/dist/selectors/questdiagnosticslayer.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/usemapdata.js","../../nmqf-common-ui/dist/i18n.js","../../nmqf-common-ui/dist/fontawesome.js","../../nmqf-common-ui/dist/filterdialog/tabselector.js","../../nmqf-common-ui/dist/filterdialog/datayeartab.js","../../nmqf-common-ui/dist/filterdialog/datayearseasontab.js","../../nmqf-common-ui/dist/filterdialog/usefiltercount.js","../../nmqf-common-ui/dist/filterdialog/filtercountloading.js","../../nmqf-common-ui/dist/filterdialog/conditiontab.js","../../nmqf-common-ui/dist/filterdialog/statistictab.js","../../nmqf-common-ui/dist/filterdialog/sextab.js","../../nmqf-common-ui/dist/filterdialog/racetab.js","../../nmqf-common-ui/dist/filterdialog/agetab.js","../../nmqf-common-ui/dist/filterdialog/aggregateddemographictab.js","../../nmqf-common-ui/dist/filterdialog/geoleveltab.js","../../nmqf-common-ui/dist/filterdialog/consumptiongroup.js","../../nmqf-common-ui/dist/filterdialog/index.js","../../nmqf-common-ui/dist/enums/reporttypeenum.js","../../nmqf-common-ui/dist/lookupdata/lookupcondition.js","../../nmqf-common-ui/dist/lookupdata/lookupstatistic.js","../../nmqf-common-ui/dist/lookupdata/lookupstate.js","../../nmqf-common-ui/dist/lookupdata/lookupzipcodedistrict.js","../../nmqf-common-ui/dist/lookupdata/lookupcounty.js","../../nmqf-common-ui/dist/lookupdata/lookupmsa.js","../../nmqf-common-ui/dist/lookupdata/lookupsexcode.js","../../nmqf-common-ui/dist/lookupdata/lookupracecode.js","../../nmqf-common-ui/dist/lookupdata/lookupage.js","../../nmqf-common-ui/dist/lookupdata/lookupyear.js","../../nmqf-common-ui/dist/lookupdata/lookupconsumptiongroup.js","../../nmqf-common-ui/dist/lookupdata/lookupgeolevel.js","../../nmqf-common-ui/dist/lookupdata/lookupclaim.js","../../nmqf-common-ui/dist/lookupdata/lookupvaccine.js","../../nmqf-common-ui/dist/lookupdata/lookupfluvaccine.js","../../nmqf-common-ui/dist/state/viewsetting/index.js","../../nmqf-common-ui/dist/map/selectedgeographysource.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/infopopup.js","../../nmqf-common-ui/dist/map/locationlayer.js","../../nmqf-common-ui/dist/map/providerlayer/index.js","../../nmqf-common-ui/dist/map/countnotification.js","../../nmqf-common-ui/dist/map/drawpolygon.js","../../nmqf-common-ui/dist/map/sidebar.js","../../nmqf-common-ui/dist/map/importinglocationlayer/detail.js","../../nmqf-common-ui/dist/map/importinglocationlayer/index.js","../../nmqf-common-ui/dist/map/providerdetail/demographicchart.js","../../nmqf-common-ui/dist/map/providerdetail/index.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/statisticdataforcard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/prevalencedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/aggregateddatabannerdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/totalcountdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospitalizationratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/ervisitratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospencounterratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/deathratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/readmissionratedashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/hospitalcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/ervisitcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/patientoutofpocketpartbdrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/patientoutofpocketpartddrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/medicarepartbdrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/medicarepartddrugcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/totalcostdashboard.js","../../nmqf-common-ui/dist/map/regiondetail/statisticcard/index.js","../../nmqf-common-ui/dist/map/regiondetail/trendline.js","../../nmqf-common-ui/dist/map/regiondetail/trendlineseason.js","../../nmqf-common-ui/dist/map/regiondetail/demographicchart.js","../../nmqf-common-ui/dist/map/regiondetail/statisticdetail.js","../../nmqf-common-ui/dist/map/regiondetail/representatives/representativedetail.js","../../nmqf-common-ui/dist/map/regiondetail/representatives/index.js","../../nmqf-common-ui/dist/map/regiondetail/index.js","../../nmqf-common-ui/dist/map/mapcontent.js","../../nmqf-common-ui/dist/map/clinicaltrialsitelayer/index.js","../../nmqf-common-ui/dist/map/clinicaltrialdetail.js","../../nmqf-common-ui/dist/map/questdiagnosticssitesdetail.js","../../nmqf-common-ui/dist/map/memo.js","../../nmqf-common-ui/dist/map/patientchoroplethlayer/index.js","../../nmqf-common-ui/dist/map/usecluster.js","../../nmqf-common-ui/dist/map/popup.js","../../nmqf-common-ui/dist/state/filtersettings/index.js","../../nmqf-common-ui/dist/filterdialog/aggregateddatasource.js","../../nmqf-common-ui/dist/env.js","../../nmqf-common-ui/dist/configs/reportoptions.js","../../nmqf-common-ui/dist/reportsdialogextension/reportstab.js","../../nmqf-common-ui/dist/reportsdialogextension/datayeartab.js","../../nmqf-common-ui/dist/reportsdialogextension/conditiontab.js","../../nmqf-common-ui/dist/reportsdialogextension/statistictab.js","../../nmqf-common-ui/dist/reportsdialogextension/sextab.js","../../nmqf-common-ui/dist/reportsdialogextension/racetab.js","../../nmqf-common-ui/dist/reportsdialogextension/agetab.js","../../nmqf-common-ui/dist/reportsdialogextension/showbytab.js","../../nmqf-common-ui/dist/reportsdialogextension/index.js"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","getSessionStorageItem","key","initialValue","item","window","sessionStorage","getItem","JSON","parse","error","setUIValueSessionStorage","value","picks","omits","_a","storedValue","santifiedValue","_","pick","omit","setItem","stringify","useShareableLink","useAPI","undefined","data","fetchData","clearData","location","useLocation","query","useMemo","qs","search","ignoreQueryPrefix","comma","href","split","id","title","_b","viewSetting","selectedRegion","longitude","latitude","isEmpty","viewport","e","useStoredUIValue","v","storedUIValueData","fetchStoredUIValueData","clearStoredUIValueData","sessionUIValue","session","shouldRequest","safeFetchData","useCallback","requesting","useUIValueSessionStorage","initialSessionValue","useState","setStoredValue","storedValueRef","useRef","current","picksString","valueToStore","Function","UIValueComponent","history","useHistory","useEffect","replace","pathname","hash","FallbackStoredUIValueComponent","props","React","createElement","Fragment","FallbackComponent","__spreadArrays","il","r","Array","k","a","j","jl","useEffectFilterCount","filterSetting","effect","addDeps","ignore","_c","indexConfig","useHostnameIndexInfo","year","dataYearSeason","dataYear","cmsDataSource","statistic","isAggregatedDataSource","primaryCoditions","primaryCoMorbidities","selectingConditions","comorbidities","sexCodes","demographics","raceCodes","raceMethodology","deps","claimNumber","claimDay","push","useDebounce","generalInformation","filterCount","payload","exportFilterSettingPayload","useEffectFilterEditingCount","useFilterEditing","useEffectFilterSettingCount","useFilterSetting","Boolean","hostname","match","RAW_RELATION_CONDITIONS","CONDITIONS_RELATIONSHIP_MAP","buildRelationship","options","acc","parent","forEach","option","isArray","children","map","child","PrioritizedConditionSection","useFilterEditingValue","textSearch","useLookupConditionSortByType","lookupData","useConditionCount","countData","setSelectingConditions","keyConditionMap","groupedCondition","ConditionType","Key","reduce","curr","handleChange","event","target","values","checked","result","removeAllChildren","code","filter","checkParentRelation","every","some","processCheckedValue","processUncheckValue","sort","sortValue","tag","renderConditionTree","isParentChecked","condition","indeterminate","detectIndeterminate","isShow","isIncludeSearchText","label","toLowerCase","includes","checkChildren","checkParent","searchCondition","FormGroup","check","onChange","getLabelWithCount","className","validationSchema","Yup","shape","nullable","required","min","IndexFilterDialog","isOpen","toggle","defaultActiveTab","DataYearTab","defaultProps","tabId","IndexMapComponent","StyledDashboard","styled","div","StyledViewMode","IndexDashboard","setDefaultActiveTab","useToggle","showFilterDialog","toggleFilterDialog","hiddenProvidersOverlay","handleToggleFilterDialog","combinedReducers","combineReducers","reducers","middlewares","thunk","promiseMiddleware","store","applyMiddleware","createStore","createStoreWithMiddleware","ReactDOM","render","Provider","disabledReport","path","exact","document","getElementById","navigator","serviceWorker","ready","then","registration","unregister","catch","console","message","getLinear","arr","xKey","yKey","xStart","xEnd","sumMult","xSum","ySum","sumXSq","x","y","m","b","useStatisticYearlyData","calculateStatisticAttachHostname","extractHostname","yearlyData","res","slice","useFilterValue","statisticOption","getStatisticOption","getDataByYear","mapStatisticResponsingData","numerator","denominator","isNA","StatisticTypeEnum","TotalCount","percentage","useAggregatedYearlyData","overall","useTrendLineData","statisticYearlyData","aggregatedYearlyData","filterSettings","from","useViewValue","to","fetchDataWrapper","forceUpdate","displayOption","displayOptionType","ViewModeEnum","Chart","mapView","type","GeoLevelEnum","Zip5","chartView","ChartViewEnum","Trends","combinedData","yearData","processStatisticValue","suffix","prefix","preUnit","linear","useTrendLineDataForSeason","fromSeasonYear","toSeasonYear","safeNumber","isEqualSeasonYear","putToSeasonYear","seasonYear","arg1","arg2","arg1Split","getYearsBySeason","arg2Split","arg","Number","join","DELIMITER_SEASON_YEAR","getDisplayText","src","parts","toString","getUserInitials","firstName","lastName","trim","charAt","toUpperCase","getDisplayUserName","middleName","prependingHttpToUrlIfMissing","url","isObject","keys","cleanFormattingPhoneNumber","phoneFormated","formatPhoneNumber","phoneNumberString","separation","roundNumber","precision","parseFloat","EPSILON","toFixed","safeDivide","cookLegendBreaks","originPoints","gradeDelta","Math","pow","prevGrade","grade","idx","currGrade","getBreakIdx","breakPoints","MAX_SAFE_INTEGER","findIndex","compareFunc","order","separateGeoLevelId","components","shift","getValidationSchema","getErrors","validateSync","abortEarly","inner","errors","setIn","getFlattenErrors","validationError","index","indexOf","getDirectionUrl","URL","searchParams","get","isFeatureInAState","state","properties","geoLevel","stateByZipCode5","stateCode","parseInt","zipCode","MSA","name","stateAbb","groupBy","items","substituteParams","str","params","isTouchEnabled","maxTouchPoints","msMaxTouchPoints","deviceType","ua","userAgent","test","String","setIsOpen","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","step","next","rejected","done","__generator","body","f","g","sent","trys","ops","verb","Symbol","iterator","op","TypeError","pop","castValues","cast","useForm","initialValues","setValues","_d","setErrors","_e","touched","setTouched","_f","isSubmitting","setIsSubmitting","_g","submitCount","setSubmitCount","isUnMount","initialValuesRef","validationSchemaRef","setInitialValues","setFieldValue","field","setFieldTouched","isTouched","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","features","useGeoJson","keyName","geoType","useCachedData","topology","object","objects","geometries","geo","featureCollection","feature","mapFeature","mapGeometry","topoJsonData","doRequest","resetStateAPI","combinedGeoJson","useMount","useSelectedGeoIdInfo","stateName","lookupStateData","useLookupState","lookupZipCode","useLookupZipCodeDistrict","lookupMsa","useLookupMSA","countyData","useLookupCounty","selectedId","RightPanelTypeEnum","RegionDetail","selectedGeoProperties","geoLevelLabel","getGeoLevelLabel","firstLevelLabel","secondLevelLabel","State","_h","firstLevelCode","secondLevelCode","endsWith","find","lookup","msaNumber","msaName","getNameByStateCode","padStart","getStateNameOfZipCode","County","ct","countyCode","countyName","Congressional","useChartData","statisticChartData","chartData","useLookupSexCode","lookupSexData","resLookupSex","useLookupRaceCode","lookupRaceData","resLookupRace","dataByDemographic","DemographicTypeEnum","Sex","mappedValues","Race","Age","mapAgeValues","ages","AGE_OPTIONS","combinedAgeKeyData","age","subGroups","stringifyAgeValue","patientCount","aggregateValue","demographic","stringified","shortName","useStatisticData","aggregatedChartData","aggregatedDataCategoryList","dataValue","dataSourceColumnDefinition","category","uiName","useAggregatedData","ageRanges","Demographic","ALL_AGE_VALUES","templateObject_1","templateObject_2","templateObject_3","templateObject_4","templateObject_5","templateObject_6","templateObject_7","templateObject_8","__makeTemplateObject","cooked","raw","defineProperty","EXCLUDE_STATE_COUNT_INDEXES","StyledParentOption","StyledChildOption","usePatientCountForState","useFilterCount","formatOptionLabel","showLabelCount","transformLookupStateForGeoId","useCombineTwoGeoLevel","dataByStateCode","sortFn","transformFn","isCombineKey","lookupState","setOptions","singleState","flatMap","transformedChild","childValue","noSort","isLoading","Option","useZipCodeDistrictSelectProps","localeCompare","StyledOption","SingleValue","GeoSelectComponent","setSelectedRegion","setZoomId","resetViewport","useViewport","Select","isClearable","width","indicatorIcon","SEARCH_COMPONENT_BY_GEO","selectProps","placeholder","Zip3","optionsTransform","LookupCountyComponent","re","RegExp","LookupMSAComponent","StateUpper","StateLower","GeoSearchComponent","fetchPatientCountForState","SearchCoponent","DisplayOption","StyledViewModeOption","SearchLabel","StyledComponentWithScreen","MapViewOption","viewMode","setGeoLevel","aggregatedGeoLevelData","useAggregatedGeoLevel","availableGeography","useGeneralConfigByDataSource","Map","Table","minMenuHeight","maxMenuHeight","GEO_LEVELS","isOptionDisabled","StyledCheckIcon","FontAwesomeIcon","StyleSelectChartView","ChartViewSearchOption","isParent","icon","ChartViewDemographicValue","childrenName","ChartViewTrendValue","statisticName","getStatisticShortName","ChartViewOption","chartViewType","setChartViewType","setDemographics","selectingChildrenMap","CHART_VIEW_OPTIONS","childrenSelecting","childrenSelecting_1","setter","ViewModeComponent","setViewMode","selectingOption","VIEW_MODES","UncontrolledDropdown","DropdownToggleIcon","size","caret","placement","DropdownMenu","right","opt","DropdownItem","DisplayOptionComponent","ShareLinkButton","btnRef","isOpenNotify","setIsOpenNotify","shareableLinkData","fetchShareableLinkData","clearShareableLinkData","isUnmounted","clipboard","writeText","ref","IconButton","loading","onClick","Tooltip","hideArrow","useExport","viewSettings","useViewSetting","exportGeoData","mapData","useMapData","geoJsonData","useSelectedGeoJson","lookupGeo","extractTableData","useExtractTableData","mapRef","useMapRef","editorRef","useMapValue","intersectionIds","poly","getFeatures","bbox","minLng","minLat","maxLng","maxLat","getMap","selectedFeatures","queryRenderedFeatures","project","layers","intersect","columns","header","col","text","rows","row","dataField","displayText","useExportGeoData","exportDemographicChartData","demographicChartData","lookupSex","lookupRace","customAge","isCustom","targetLookup","getAgeLabel","useExportDemographicChartData","exportTrendYearlyData","dataSource","useCMSDataYear","trendData","useExportTrendYearlyData","fileName","lookupCondition","useLookupCondition","csvNameArr","selectedGeoInfo","dataSourceName","DATA_SOURCES","abbreviation","labeledValues","chronicConditionName","startingYear","endingYear","Date","toISOString","partName","useFileName","disabled","getExportData","processCell","cell","csvFile","blob","Blob","encodedUri","createObjectURL","link","download","click","StyledDropdownItem","ProviderDownloadButton","auth","useAuth","useProviderSetting","doGetPrimaryCareProvider","doGetHospitalProvider","specialistProviders","available","form","action","method","token","jwt","filtering","providerParam","bottomLeftAndTopRightLngLatBound","getBounds","toArray","dateTimeStringForExportingCsv","moment","format","polygonPoints","geometry","coordinates","lng","lat","input","appendChild","submit","removeChild","BeneficiaryExportButton","handleExport","DownloadButton","Authenticated","roles","RoleEnum","SystemAdmin","GeneralUser","IndexManager","SingleIndexUserManager","SingleIndexDataManager","StyledFilterBar","Separator","LeftSide","RightSide","Navbar","show","HamburgerButton","ListIcon","FilterBar","setShow","rel","host","useFetchIndexConfiguration","HostNameIndexInfoProvider","fetchIndexGeneralInfo","isCheckingToken","setIsCheckingToken","refreshToken","retry","useIndexName","indexName","useDefaultFilter","defaultFilter","filterOnload","singleStateCode","singleStateAbb","indexPrimaryCoMorbidities","primaryConditions","reportTypes","useMBSFChronicCondition","HostNameMetaTagManager","indexInfo","indexTitle","indexOwner","FilterSidebarConst","InfluenzaVaccine","Vaccine","PrimaryCondition","SecondaryCondition","AdditionalCondition","overlayRule","css","StyledPanel","StyledCloseButton","button","CloseButton","faTimes","createDataFieldObject","fieldName","fieldValue","originalValue","getDataFieldsForZip5Digit","dataFields","getDataFieldsForZip3Digit","zip3","getNameByStateAbb","getDataFieldsForStateLevel","getDataFieldsForCountyLevel","getDataFieldsForMSALevel","getDataFieldsForCongressionalLevel","cd","getDataFieldsForStateUpperLevel","sldu","getDataFieldsForStateLowerLevel","sldl","getDataFieldsForPrevalence","national","getDataFieldsForTotalCountStatistic","getDataFieldForHospitalRate","geographic","getDataFieldForERVisitRate","getDataFieldForHospitalEncounterRate","getDataFieldForDeathRate","getDataFieldForReadmissionRate","getDataFieldForHospitalCost","eventCount","getDataFieldForERCost","getDataFieldForPatientOutOfPocketPartBDrugCost","getDataFieldForPatientOutOfPocketPartDDrugCost","getDataFieldForMedicarePartBDrugCost","getDataFieldForMedicarePartDDrugCost","getDataFieldForTotalCost","getDataFieldsByMapViewLevel","mapViewType","targetFunctionMapping","getDataFieldByStatisticType","isAggregated","getDataFieldForAggregatedDataSource","Prevalence","HospitalizationRate","ERVisitsRate","HospitalEncounterRate","DeathRate","ReadmissionRate","HospitalizationCost","ERCost","OOPPartBDrugCost","OOPPartDDrugCost","MCRPartBDrugCost","MCRPartDDrugCost","TotalCost","__rest","getOwnPropertySymbols","propertyIsEnumerable","StyledIconTooltip","StyledUncontrolledTooltip","maxWidth","maxHeight","UncontrolledTooltip","IconTooltip","iconRef","setReady","faInfoCircle","fixedWidth","forwardedRef","fade","autohide","modifiers","preventOverflow","enabled","hide","flip","cmsDataSourceParam","dataYearSeasonParam","dataYearParam","dataYearFilter","dataYearSeasonFilter","cmsDataSourceFilter","DataSourceEnum","MedicareFFS","filtersConfig","filtersConfigByDataSource","configByDataSource","configByDataYear","config","configByDataYearSeason","valueByKey","configByAllYear","StyledLegendOverlay","StyledLegend","LegendTitle","LegendItem","Color","color","SelectedStatistic","Label","StatisticCategoryLabel","StatisticConfigLabel","LegendComponent","ENV_LEGEND_COLORS","LegendByFilter","extractGeneralFilterInfo","breakLegendInfo","LegendOverlay","statisticConfig","group","StyledTrendLineComponent","TrendLineTitle","TrendLineTitleText","h4","StyledTrendLineContainer","TrendLineContainer","keyValue","ResponsiveContainer","LineChart","CartesianGrid","vertical","XAxis","dataKey","padding","left","YAxis","allowDataOverflow","top","bottom","isAnimationActive","labelFormatter","formatter","entry","ReferenceLine","stroke","Line","dot","strokeWidth","activeDot","connectNulls","strokeDasharray","TrendLineComponent","fromYear","setFromYear","toYear","setToYear","trendLineData","fetchTrendLineData","lookupYearData","useMixedYear","newToYear","newFromYear","fromYearIdx","LookupYearComponent","inline","StyledPin","img","svg","pointer","selected","Pin","memo","height","viewBox","d","cx","cy","style","fill","imgPin","xlinkHref","dy","fontSize","textAnchor","alignmentBaseline","ClusterPin","COLORS_BY_DEMOGRAPHIC","sex","race","StyledPieComponent","ResponsiveContainerWrapper","NoDataMessage","PieComponent","useTranslation","myRef","meetMinimumThreshold","colors","total","tooltipFomatter","totalCount","percent","integerPortion","floor","numberOfDecimalPlaces","calculatePieSlicePercent","PieChart","onMouseMove","tooltipWrapper","getElementsByClassName","getBoundingClientRect","innerWidth","onMouseLeave","Pie","labelLine","startAngle","endAngle","minAngle","outerRadius","Cell","wrapperStyle","zIndex","Legend","position","legendFormatter","keyPath","_i","dispatch","useDispatch","stringifiedPath","SET_FILTER_EDITING_VALUE","getter","filterediting","useMappedState","useResetFilterEditing","RESET_FILTER_EDITING","toJSON","RESET_FILTERS","SET_FILTER_VALUE","initialState","actionHandlers","reducer","fn","updatedState","toObject","set","removeIn","RESET_VIEW_SETTING","SET_VIEW_VALUE","DEFAULT_VIEW_SETTING","StyledTableViewComponent","Title","Body","extractGeoData","useExtractGeoData","lookupGeoData","selectedFeatureId","isSelectedFirstLevel","filteredFetures","getStateCodeOfZipCode","startsWith","fieldsForMapViewLevel","fieldsForStatistic","sortFunc","getColumns","f1","f2","geoData","TableViewComponent","tableColumns","setTableColumns","tableData","setTableData","DataTable","hover","sizePerPage","keyField","pagination","NOTIFICATION_PREFERENCES","ModalWrapper","Modal","UserProfile","stateData","fetchStateData","editProfile","ModalHeader","UserProfileEditForm","principalUser","onCancel","onSave","organization","address1","address2","city","zipcode","phoneNumber","notificationPreference","stateList","matches","ZIP_CODE_PATTERN","excludeEmptyString","when","is","PHONE_NUMBER_PATTERN","_j","_k","_l","_m","_o","username","roleName","role","onSubmit","Form","ModalBody","Row","Input","onBlur","invalid","FormFeedback","PhoneInput","st","stateAbbreviation","menuPlacement","ModalFooter","Button","Description","currentPassword","newPassword","notOneOf","PASSWORD_PATTERN","PASSWORD_RULE_MSG","passwordConfirmation","oneOf","UserChangePassword","user","useUser","userChangePasswordData","userChangePassword","resetStore","password","new_password","MessageBox","PASSWORD_DESCRIPTION","hidden","LicenseAgreementModal","StatisticGroupEnum","RaceMethodologyEnum","ClinicalTrialOptionEnum","ClinicalTrialStatusEnum","PrimaryConditionsSortTypeEnum","SecondaryConditionsSortTypeEnum","UserLoginTypeEnum","ChronicConditionSource","KeyCombineConditionSource","REPORT_DATA_SOURCES","ReportsDialogContext","createContext","useReportsDialogValue","useContext","updateState","useReportSetting","updateData","ReportsDialogProvider","isSeasonStatistic","INITIAL_VALUE","conditions","secondaryCormorbidities","dataSourceType","report","firstLevel","reportType","defaultReportType","ReportTypeEnum","CongressionalDetailAnalysis","secondLevel","zipCodes","Standard","statistics","isRememberSettings","fluVaccineCptCodes","contextValue","timeout","abortController","statusCode","remove","failFetch","errorMessage","APIClient","authStrategy","getKey","getMethod","getUrl","abort","api","resetState","_this","getState","request","parseData","response","requestOptions","contentType","e_1","AbortController","startFetch","now","getRequestOptions","fetch","signal","status","onUnauthorized","onForbidden","headers","json","statusText","substitutions","parseDataRef","AuthContext","substitutedUrl","substitutedKey","client","force","ignoreRequest","useMessage","messageId","view","Medicaid","availableStatistic","supportConsumptionGroup","MedicareAdvantage","MedicareAll","MedicareFfsFluSeason","DEMOGRAPHIC_CHART_OPTIONS","ALL_DEMOGRAPHIC_CHART_OPTIONS","showLegend","showGeographyHoverDisplay","importingLocationTypes","mapLayerCountNotifications","provider","checkedQuestDiagnosticsStatus","INITIAL_VIEW_PORT","zoom","pitch","bearing","MapContext","ViewportContext","useMapFallback","fallback","v4","oldState","fallbackObj","MapFallback","updateViewport","singleStateBBox","shouldResetViewport","webMercatorViewport","WebMercatorViewport","fitBounds","minZoom","max","useZoomToFeature","setViewport","viewportRef","transparency","SingleStateViewportComponent","ViewportProvider","MapProvider","setState","MessageId","ROUTE_URL","USER","DATA_FILE","MAP_LAYER","StyledSpinner","StyledRSSpinner","RSSpinner","radius","Spinner","iconButtonRule","StyledIconButton","RSButton","StyledDropdownToggleIcon","DropdownToggle","StyledButton","resprops","buttonRef","innerRef","faSpinner","spin","tooltipRef","FallbackOverlay","StyledErrorMsg","StyledWarningIcon","ErrorTitle","ErrorBody","ErrorMsg","spinnerSize","overlay","loadingDotAnimations","keyframes","LoadingDot","span","isOffset","ThreeDotLoading","InputGroupWrapper","DropdownIndicator","MenuList","searchedOptionsSize","MenuListMemo","prev","menuOptionsPrev","selectRef","select","menuOptions","menuOptionsNext","IconOption","inputBoxValue","inputValue","setInputValue","setSearchedOptionsSize","flatedOptions","__disabled","isMulti","AsyncSelect","isDisabled","defaultOptions","loadOptions","filterIncludes","filterStartWith","noCheckFilter","filteredOptions","isFilterStartWith","focusedOption","indicatorProps","IndicatorSeparator","menuListProps","onSelectToRenderOptions","menuPosition","onInputChange","onInputBoxValueChange","newValue","closeMenuOnSelect","controlShouldRenderValue","styles","menu","provided","indeterminateStyle","StyledCheckbox","SimpleCheckbox","Checkbox","groupValue","gv","CheckboxGroup","noAll","allText","Radio","RadioGroup","reverse","MIN_SAFE_INTEGER","RsInput","onKeyPress","fromCharCode","charCode","which","StyledDropdownItemIcon","StyledImageDropdownItem","checkMark","rest","RSDropdownItem","CheckIcon","partial","alt","DropdownItemCheck","DropdownItemCheckList","StyledMessageBox","Alert","messageBoxRef","scrollIntoView","behavior","msg","RSFormFeedback","AlertMessage","MessageWithState","setMessage","clearMessage","maxLength","currentTarget","selectionEnd","cleaned","newSelection_1","setSelectionRange","formatedValue","PaginationItem","active","first","previous","last","ellipsis","page","handleClick","content","RSPaginationItem","PaginationLink","Pagination","pages","onPageChange","hidePageListOnlyOnePage","totalPages","activePage","previousPageIsEllipsis","nextPageIsEllipsis","number","RSPagination","Pager","StyledDataTableComponent","minWidth","headerClasses","bordered","nameUnitItemTable","rowClasses","rowClassesProps","restProps","paginationSize","ceil","paginationOptions","paginationFactory","hideSizePerPage","showTotal","paginationTotalRenderer","pageListRenderer","propsPager","rowIndex","BootstrapTable","bootstrap4","classes","noDataIndication","sortCaret","NMQFGlobalStyle","createGlobalStyle","ChangePasswordContent","FormWrapper","H5Style","h5","ChangePasswordComponent","changePasswordData","changePassword","session_id","sessionId","plaintext","ConfirmResetPasswordContent","ButtonGroup","verificationCode","ConfirmResetPasswordComponent","requestData","confirmResetPassword","WrapperWithFlexGrow","Wrapper","LoginComponent","changePasswordRequired","toggleChangePasswordRequired","resetPasswordRequired","toggleResetPasswordRequired","authChallenge","getAuthChallenge","setErrorMessage","resetErrorAndChallenge","ChallengeName","authenticate","LoginPage","Link","Session","LinkWrapper","ConfirmText","ConfirmForgotPasswordContent","ConfirmForgotPassword","redirectToHomeURL","setRedirectToHomeURL","confirmForgotPasswordData","confirmForgotPassword","Redirect","ForgotPasswordWrapper","ForgotPasswordContent","ForgotPasswordComponent","usernameSubmitted","setUsernameSubmitted","forgotPasswordData","forgotPassword","resetData","Margin","recaptchaResponse","email","SignUpComponent","recaptchaSiteKey","fetchRecaptchaSiteKey","isOpenLicenseModal","setIsOpenLicenseModal","recaptchaRef","signUpData","signUp","reset","toggleLicenseAgreementModal","Col","sm","Recaptcha","sitekey","verifyCallback","expiredCallback","JWTStrategy","addEventListener","syncLogout","__jwt","subscribers","__user","jsonwebtoken","enumerable","configurable","localStorage","removeItem","reload","setError","setAuthChallenge","Authorization","FormData","referrer","refreshTokenPromise","credentials","authResponse","loginData","e_2","JWT","concat","exportToken","e_3","logout","clear","subscribe","unsubscribe","AuthProvider","strategy","useReducer","useLayoutEffect","isValid","checkPermission","Unuthenticated","Authenticate","Switch","Route","StyledFilterResultDashboard","StyledGetStartedButton","NoDefaultFilterComponent","outline","getStartedFilter","FilterResultDashboard","tagId","ConditionTab","LookupConditionComponent","LookupSexCodeComponent","LookupRaceCodeComponent","LookupStateComponent","LookupZipCodeDistrictComponent","templateObject_9","templateObject_10","templateObject_11","templateObject_12","templateObject_13","templateObject_14","CreditsTitle","CollapseSectionContainer","CollapseToggle","CollapseToggleTitle","LicensesText","StyledPaginate","ul","CollapseSection","expandedId","sectionId","setExpandedId","Collapse","PageButton","tabIndex","ariaLabel","Paginate","setSelected","handlePageClick","pageCount","createPageView","createBreakView","leftSide","pageRangeDisplayed","rightSide","adjustedRightSide","isPageStart","isPageEnd","isPageRange","isPageStartNoBreak","marginPagesDisplayed","isPageEndNoBreak","Licenses","offset","numberPerPage","currentData","setPagination","prevState","licenses","componentName","homePage","licenseText","CreditsPage","licensesData","fetchLicensesData","showCredits","toggleCredits","setLicenses","entries","repository","AboutModal","licenseModal","setLicenseModal","scrollable","utc","METHODOLOGY_TYPE","PREVALENCE","pdfFileType","TOTAL_COUNTS","HOSPITALIZATIONS","COSTS","MethodologyModal","methodology","setMethodology","handleChangeMethodology","open","alert","HighlightExisted","StyledLabel","StyledBadgeZipCodes","StyledSelect","TabPaneContentWrapper","TabPaneContentLeft","TabPaneContentRight","TabPaneContentRightContent","StyledResetButton","FormGroupWrapper","StyledStartWithOption","ZipCodeMemoComponent","handleAdd","setInputBoxValue","zipCode5ByState","zipCode5GroupByState","states","chain","optionsOriginal","stateWithZipCode","stateAndZipCode","useOptionsZipCode","actionMeta","LABEL_BADGE_ZIP_CODE","BadgeZipCodes","isZipCodeExisted","handleRemove","preProps","nextProps","ShowByZipCodeReportsDialogTab","zipCodesSelected","setZipCodesSelected","zipCodesSelectedRef","existedZipCodesSelected","setExistedZipCodesSelected","setZipCodeReports","timeout_1","startWith","allInState","zipCodeItem","TabPane","zipCodeExisted","zipCodesSelectedRefCurrent","newZipCodes","faUndo","splice","removeZipCodeSelected","tabName","tabField","tabSelector","ListGroupItem","ZipCodeDetailAnalysis","DataYearSeasonReportsDialogTab","dataYearSeasonUi","setDataYearSeasonUi","setDataYearSeason","setDataSourceType","lookupSeasonYearData","setConditions","setPatientPopulationRefYear","patientPopulationRefYearFilter","patientPopulationReferenceYear","lateYear","earlyYear","fullYearSeason","valueOf","dataYearSeasonValueUi","yearSeasonInDataYear","handleChangeYearSeason","ignoreConditionsByYear","cc","FluVaccineReportsDialogTab","setFluVaccineCptCodes","useLookupFluVaccine","lookupVaccine","fetchLookupVaccine","hcpcsPctCodes","hcpcsDescription","UserInfo","AvatarCircle","Initials","PrincipalUser","UserMenuStyle","LogOutItem","StyledSpace","UserMenuToggle","DialogManager","ReportsDialogExtension","showReportDialog","toggleReportDialog","ReportsTab","DataYearReportsDialogTab","ConditionReportsDialogTab","reportCondition","hasSecondaryCondition","StatisticReportsDialogTab","ShowByReportsDialogTab","SexReportsDialogTab","RaceReportsDialogTab","AgeReportsDialogTab","UserMenu","publicIndex","methodologyDocument","isOpenMethodologyModal","toggleMethodologyModal","isOpenUserProfileModal","toggleUserProfileModal","isOpenChangePasswordModal","toggleChangePasswordModal","isOpenAboutModal","toggleAboutModal","landscape","isPrintMap","StyledHeader","IndexLogoAndNameLink","IndexLogo","IndexName","IndexNameH3","h3","IndexNameH5","Header","squareLogo","StyledFiltersHeader","FiltersValue","Result","FiltersHeader","isHidden","FilterTab","_p","_q","_r","_s","_t","_u","_v","_w","_x","_y","_z","indexHostname","lookupPrimaryCondition","lookupConditionData","ageData","consumptionGroupClassesDefaultFilter","consumptionGroupClasses","consumptionGroups","getConsumptionGroups","shortTerm","primaryConditionName","otherContitionName","claimDayLabel","getClaimDayLabel","mainPrimaryConditionName","primaryConditionWithClaims","chronicConditionCode","textMainClaimNumber","otherPrimaryConditionNameWithClaim","claim","sexLabel","filteringCategoryType","filteringCategoryUiName","raceLabel","ageLabel","dataYearTabId","showFluVaccine","DataYearSeasonTab","showVaccine","VaccineFilterSidebar","InfluenzaVaccineFilterSidebar","ConsumptionGroupTab","AggregatedSexTab","SexTab","AggregatedRaceTab","RaceTab","AggregatedAgeTab","AgeTab","useLookupVaccine","vaccineCptCodes","selectingVaccineDiseaseName","cptCode","vaccineDiseaseName","allVaccinesInGroup","vaccineValue","vaccineBrandName","lookupFluVaccine","vaccine","StyledTransparencyControl","RangeInput","LabelLeft","LabelRight","TransparencyControl","setTransparency","StyledLegendHeader","StyledToggleBtn","isActive","StyledNode","ToggleButton","LegendSidebar","StatisticTab","StyledWrapper","StyledTransparency","StyledGeography","LegendTransparencyTab","StyledFilterSidebar","Sidebar","collapsed","PanelHeader","StyledTabsContainer","ListGroup","StyleTabSelector","TabSelector","setActiveTab","activeTab","FilterSidebar","toggleCollapsed","horizontal","TabContent","StyledSubMenuItem","useMapLayerListAPI","ImportingLocationSubType","setShowMapLayerMenu","selectingType","setSelectingType","ImportingLocationItem","TrialsRelated","displayIcon","direction","stopPropagation","AllTrials","ImportingLocationMenu","mapLayerData","ml","LocationMenu","StyledSpecialists","ProviderSelectItem","ProviderMenu","specialistsData","fetchSpecialistsData","toggleDoGetPrimaryCareProvider","setDoGetPrimaryCareProvider","toggleDoGetHospitalProvider","setDoGetHospitalProvider","setSpecialistProviders","providerSetting","setProviderSetting","disabledSpecialistProvider","specialistsSearchText","setSpecialistsSearchText","providerSettingRef","CLINICAL_TRIAL_STATUS_DATA","NotYetRecruiting","Recruiting","EnrollingByInvitation","ActiveNotRecruiting","DropdownMenuStyle","MapLayerMenu","showMapLayerMenu","fetchMapLayerData","hasFixedChildren","Children","c","Dropdown","CHART_COMPONENT_BY_TYPE","pie","bar","tickFormatter","tooltipFormatter","ComposedChart","interval","angle","tickLine","Bar","maxBarSize","StyledDemographicChart","StyledChartContainer","ChartContainerTitle","StyledChartComponent","ChartControl","StyledSwitchTypeButton","ChartTypeButton","activeType","ChartContainer","chartType","setChartType","ChartComponent","faChartPie","faChartBar","DemographicChartComponent","fetchChartData","edittingFilterSetting","checkingSetting","clinicalTrialMapSelector","createSelector","clinicalTrials","keyBy","nctId","facilityName","useClinicalTrialGovApi","useClinicalTrialDetail","clinicalTrialGovData","createClinicalTrialSelector","clinicalTrialSelector","providerMapSelector","providers","useProviderData","useProviderDetail","providerData","providerNpiNumber","createProviderDetailSelector","providerDetailSelector","mapLayerLocationMapSelector","mapLayerLocations","useCustomMapLayerLocationData","mapLayerId","useCustomMapLayerDetail","customMapLayerLocationData","createMapLayerLocationSelector","questDiagnosticsMapSelector","questDiagnosticsSites","questDiagnostics","site_code","zip_code","useQuestDiagnosticsApi","useQuestDiagnosticsDetail","questDiagnosticsData","createQuestDiagnosticsSelector","questDiagnosticsSelector","apiUrl","fetchMapData","extractedData","getStatisticPrecision","fetchMapDataWrapped","_0","_1","_2","_3","_4","_5","_6","_7","_8","_9","_10","_11","_12","_13","_14","_15","geographicNumerator","geographicDenominator","geographicEventCount","nationalDemographic","nationalDemographicNumerator","nationalDemographicDenominator","nationalDemographicEventCount","nationalAggregatedValue","patientPopulation","nationalPatientPopulation","_16","aggregatedId","preAggregatedPopulationStatisticData","populationStatisticData","mapPatientCount","rateOfAcuteEventsStatisticData","mapTotalRateOfAcuteEventSelectedDemographic","costOfAcuteEventsStatisticData","mapCostOfAcuteEventSelectedDemographic","mapPatientPopulationCount","mapPatientCountSelectedDemographic","mapCostOfAcuteEventHospitalizationVisit","mapCostOfAcuteEventHospitalizationVisitAllDemographic","mapTotalRateOfAcuteEventAllDemographic","mapCostOfAcuteEventAllDemographic","mapPatientCountAllDemographic","nationalDemographicSumUpHospVisit","nationalPatientCount","nationalDemographicSumUpRateOfAcuteEvent","nationalDemographicSumUpCostOfAcuteEvent","nationalPopulationCount","nationalDemographicPatientCount","breakIdx","nationalNumerator","nationalDenominator","nationalEventCount","resources","translation","enUS","i18n","use","LanguageDetector","initReactI18next","init","fallbackLng","debug","keySeparator","interpolation","escapeValue","library","add","fas","StyledTab","Dot","LeftTabSelectorItem","toggleTab","showRequiredDot","Component","CMSSourceTabSelector","AggregatedSourceTabSelector","agrregatedData","useAggregatedDataSourceName","setCmsDataSource","setStatisticYear","setAggregatedYear","setIsAggregatedDataSource","aggregatedDataSourceName","setAggregatedDataSourceName","fetchYearData","selectingPrimaryConditions","setSelectingPrimaryConditions","doSynchronized","useSynchronizedPrimaryCondition","Other","Primary","Secondary","handleChangeYear","allDataSourceOptions","dataSources","AggregatedDataSourceComponent","setAggregatedYearSeason","setDataYear","isYearSeasonReady","FilterCountTypeEnum","ConditionExclusionConfig","PRIMARY_CHRONIC_CONDITION","CHRONIC_CONDITION","filterType","useGeneralFilterCount","filterCountAttachHostname","filterCountApi","exclusionConfig","excludedConditionByDatasource","excludedConditions","excludedCcFromFilterCount","finalBody","FilterCountLoading","StyledPrimaryConditionSelect","StyledPrimaryConditionSection","StyledConditions","StyledPrimaryCondition","formatConditionLabel","count","showCount","showIndicator","isPrimary","showCmsSourceIndicator","AdditionalConditionSection","settings","isSingleSection","additionalConditions","setSelectingAdditionalConditions","overrideCondition","optionConditions","PrimaryConditionSection","primaryConditionOptions","primaryConditionCount","fetchPrimaryConditionCount","selectingPrimaryCoMorbidities","setSelectingPrimaryCoMorbidities","selectingPrimaryCondition","setSelectingPrimaryCondition","useCheckboxesForPrimaryConditions","cond","setTextSearch","fetchLookupCondition","fetchConditionCountData","shouldCountOnConditionChange","filterCountEffectDeps","statisticType","setStatisticType","setStatisticGroup","setStatisticTypeAggregated","setStatisticGroupAggregated","staticsticGroup","useStatisticEditing","filterEditing","aggregatedData","useAggregatedStatistic","availableStatisticsConfig","availableStatistics","getStatisticOptions","GROUPED_STATISTIC_OPTIONS","lookupSexCodeData","fetchLookupSexCode","sexCodeCountData","fetchSexCodeCount","setSexCodes","METHODOLOGY_OPTIONS","RTI","StyledMethodologySelect","StyledDiv","BlueTitle","lookupRaceCodeData","fetchLookupRaceCode","raceCodeCountData","fetchRaceCodeCount","rtiRaceCodeCountData","fetchRTIRaceCodeCount","setRaceCodes","StyledCustomAgeInput","AGE_GROUP_CODE","AgeCountComponent","setAges","isCustomAge","setIsCustomAge","useAgeGroupCount","ageGroupCount","fetchAgeGroupCount","filterCountEnabled","handleFetchAgeGroupCount","handleChangeCustomAgeInput","minAge","maxAge","getAgeGroupCode","customMinAge","customMaxAge","renderAgeCount","agesUniq","uniqWith","other","val","StyledClearButton","AggregatedCategoryTab","categoryType","setCategoryType","categoryValue","setCategoryValue","setCategoryUiName","useAggregatedDemogaphic","selectingValue","AggregatedDemographicTab","AggregatedCategoryTabSelector","GeoLevelTab","filterEdditing","StyledFormGroup","StyledTabPane","useSupportConsumptionGroup","setConsumptionGroups","isSupportConsumptionGroup","availableConsumption","consumptionGroupCount","fetchConsumptionGroupCount","consumptionDefault","intersection","CONSUMPTION_GROUP_OPTIONS","StyledModal","StyledRestoreDefaultButton","StyledModalBody","HamburgerGroup","StyledTabSelectors","StyledTabContent","validationAgeSchema","of","RestoreDefaultButton","resetFilterEditing","FilterDialog","editingFilter","resetFilter","useResetFilter","resetViewSetting","useResetViewSetting","shouldDisabledProviderSelection","validationSchemaProps","toggleShow","filterValue","selectedConditions","toggleTabSelector","tabSelectors","unmountOnClose","Card","fetchLookup","getConditionsByDataSet","conditionByDataSet","conditionByDataSource","conditionByDataSourceSetAllYear","conditionByDataSourceAndDataYear","compareCondition","parameters","primaryConditionsSortType","secondaryConditionsConfig","secondaryConditions","secondaryConditionsSortType","primaryConditionByDataSourceAndYear","fullPrimaryCondition","fullSecondaryConditions","Specifically","toLocaleLowerCase","useSynchronizedConditionReport","conditionType","selectingSecondaryCormorbidities","setSelectingSecondaryCormorbidities","comorbiditiesDefaultFilter","conditionsValues","selectingComorbiditiesFilter","conditionTypes","selectingAdditionalConditions","selectingComorbidities","setSelectingComorbidities","selectingPrimaryConditionWithoutClaimsOptionals","setSelectingPrimaryConditionWithoutClaimsOptionals","primaryConditionsValues","primaryConditionsValues_1","selectingPrimaryConditionsFilter","selectingPrimaryCoMorbiditiesFilter","selectingPrimaryConditionWithoutClaimsOptionalsFilter","primaryConditionsValues_2","otherConditions","otherConditionsValues_1","selectingAdditionalConditionsFilter","ConditionCMSFilter","lessThan2019","CMS_27","CMS_OTHER","greaterOrEqual2019","CMS_30","ValueCombineCondition","hostednameIndexConfig","dataYearFilterEditing","dataYearSeasonEditing","primaryConditionWithoutClaims","primaryConditionsByChronicConditionSourceConfig","allConditionDefault","ccBySource","chronicConditionSource","union","prioritizedConditions","isPrimaryByCCSource","template","isPrimaryByPrimaryConditionWithoutClaims","isPrimaryByPrimaryConditionByDataSourceAndYear","isPrimaryByPrimaryCondition","isSecondaryBySecondaryConditionsConfig","isSecondaryBySecondaryConditions","isSecondary","isKey","source","isIgnoreConditions","ignoreConditions","combinedDataWithinReferenceYear","groupedDataByReferenceYear","cur","NMQF_CUSTOM","dataYearToFilter","splitKey","mapByValue","valueIsAbb","getStateByStateCode","getStateAbbOfZipCode","countyByStateCode","sexName","sexCode","raceCode","raceName","fetchRaceLookupStandard","fetchRaceLookupRTI","transformAgeOption","onlyNumber","sortedYear","isNaN","useCMSDataSeasonYear","indexConfiguration","rangeYear","cmsYearData","aggregatedYearData","useAggregatedYear","STATISTIC_GROUPS","Population","Rate","Cost","STATISTIC_OPTION_BY_TYPE","CLAIM_NUMBERS","CLAIM_DAYS","createDate","getTime","GEO_JSON_URL_BY_LEVEL","stateLayer","paint","ENV_STATE_BORDER_COLOR","highlightLayer","selectedLayer","SelectedGeographySource","mapDataRequesting","hoveringInfo","zoomToFeature","setSelectedGeoProperties","zipcodeData","zoomId","filterForState","stateGeoJsonData","fetchStateGeoJson","filterForGeo","fetchGeoJson","isCookingGeoJson","setIsCookingGeoJson","round","selectedFeature","hoveringId","highlightGeoJson","Source","Layer","MemoMarker","Marker","offsetLeft","offsetTop","useStyles","makeStyles","arrow","tooltip","backgroundColor","textAlign","boxShadow","StyledCard","CardTitle","CardText","StatisticValue","roundedValue","formatMetricValue","valueKey","metricValue","secondaryValues","GeoName","geoProps","getSecondaryValues","regionData","firstSecondaryValueTitle","getFirstSecondaryValueTitle","cohort","region","statePatientPopulation","stateNumerator","stateDenominator","stateEventCount","PopperProps","boundariesElement","InfoPopup","geoName","metricValues","stateValue","getMetricValues","disableFocusListener","disableHoverListener","disableTouchListener","card","PatientChoroplethLayer","patientChoroplethLayer","CLUSTER_OPTIONS","useCluster","indexRef","cookedclusters","setCookedClusters","recalculateClusters","getZoom","bounds","clusters","getClusters","cluster","locations","point","points","isSameLocation","groupByLngLat","point_count","point_count_abbreviated","cluster_id","on","off","Supercluster","load","clusterId","getClusterExpansionZoom","Popup","onClose","handleKeyDown_1","keyCode","removeEventListener","MapboxPopup","StyledMultiplePinMenu","StyledMultiplePinMenuItem","MultiplePinMenuItem","idFields","MultiplePinMenu","selectedMultiplePin","setSelectedMultiplePin","captureScroll","sortByDepth","closeButton","compareFn","menuItemComponent","SinglePinMarker","getIcon","MultiplePinMarker","pinPayload","ClusterPinMarker","updateViewPort","SimpleLocationLayer","lnglat","ClusterLocationLayer","clusterColor","LayerCount","setMapLayerCountNotification","displayingCount","LocationDetailComponent","isSelected","locationMap","l","detailInfo","LocationLayer","RowLocationName","MenuItem","providerFirstName","providerLastName","providerCredentialText","ProviderLayer","providerLocatorData","fetchProviderLocatorData","loadedUserActionsHistoryRef","lngLatBounds","fetchDataWrapped","userActionsHistory","ProviderDetail","providerBroadSpecialty","StyledAndText","getCountDisplay","layerItem","toLocaleString","CountNotification","firstItem","otherItems","getEditHandleStyle","RENDER_STATE","SELECTED","HOVERED","UNCOMMITTED","fillOpacity","getFeatureStyle","CLOSING","StyledWrapperTool","DrawControl","isOpenHelpDialog","toggleHelpDialog","isOnDrawMode","toggleDrawMode","faVectorSquare","onDelete","faTrash","faQuestion","HelpDialog","controls","StyledMapSidebar","MapSidebar","StyledLocationDetailPanel","ImportingLocationDetail","CustomMapLayer","maplayerLocationDetail","faTimesCircle","trialName","locationName","stateAbv","zip","recruitmentStatus","startDate","estimatedCompletionDate","contactName1","contactPhone1","contactEmail1","investigatorName1","investigatorCredentials1","investigatorOrganization1","StyledBriefTitle","StyledFacilityName","SingleImportingLocationLayer","mapLayer","mapLayerLocationData","fetchMapLayerLocationData","displayColor","ImportingLocationLayers","allMapLayers","StyledLegendFormatter","ProviderPieComponent","SexChart","RaceChart","AgeChart","StyledProviderDetail","ProviderName","ProviderInfo","ProviderAddress","PatientDemographics","selectedProviderInfo","CardWrapper","CardValue","DataRowForCard","StatisticDataForCard","geoId","geoValue","StatisticDataForNational","nationalValue","CardInfo","Space","PrevalenceDashBoard","nationalDemographicValue","NationalCard","AggregatedDataBannerDashBoard","TotalCountDashBoard","HospitalizationRateDashBoard","ERVisitRateDashBoard","HospEncounterRateDashBoard","DeathRateDashBoard","ReadmissionRateDashBoard","HospitalCostDashBoard","ERVisitCostDashBoard","PatientOutOfPocketPartBDrugCostDashBoard","PatientOutOfPocketPartDDrugCostDashBoard","MedicarePartBDrugCostDashBoard","MedicarePartDDrugCostDashBoard","TotalCostDashBoard","CardContent","CardColor","Text","makeSelection","StatisticCard","extractedGeoData","StatisticComponent","getStatisticComponent","StyledDropdownToggle","StyledTitle","StyledDropdownMenu","StyledSelectYearItem","TrendLine","trendlineData","fetchTrendlineData","selectYearItem","TrendLineSeason","firstFrom","firstTo","StyledNational","DemographicChart","TrendLineStatisticDetail","StatisticDetail","DataBody","RepresentativePhoto","RepresentativeInfo","DataRow","DataRowAddress","DataRowPhone","FederalRepresentativeDetail","frPhotoLink","onError","display","onErrorFunc","frAddress","frPhoneNumber","frWebSite","faExternalLinkAlt","StateRepresentativeDetail","srPhotoLink","srAddress","replaceAll","srPhoneNumber","srWebSite","StyledGroup","GroupTitle","GroupContent","StyledRow","expanded","StyledRowExpanded","StyledFullName","StyledIcon","isRepublican","FederalRepresentativeItem","expandedFederal","toggleExpandFederal","frFirstName","frLastName","frMiddleName","frParty","frDistrict","frStateAbbreviation","faDemocrat","faRepublican","faFlagUsa","StateRepresentativeItem","expandedState","toggleExpandState","srFirstName","srLastName","srMiddleName","srParty","srChamber","srDistrict","stState","DataGroup","rep","itemComponent","useRepresentativePanel","apiRes","district","apiData","LegislatorsComponent","senators","representatives","StateDelegatesComponent","isDisabledRepresentativesTab","closePanel","StyledMapContent","StyledNavigationControl","StyledRightOverlay","MapComponent","resetMapData","setHoveringInfo","fallbackData","setFallbackData","mode","setMode","setDrawMode","setEditorRef","DrawPolygonMode","editor","Editor","clickRadius","onUpdate","editType","EditingMode","editHandleShape","featureStyle","editHandleStyle","drawControl","deleteFeatures","useDrawPolygon","newViewport","maxZoom","handleHover","lngLat","handleMouseOut","hanldeClick","mapEvents","onHover","onMouseOut","ReactMapGL","mapboxApiAccessToken","mapboxToken","mapStyle","mapboxStyle","onViewportChange","interactiveLayerIds","doubleClickZoom","NavigationControl","showCompass","briefTitle","clinicalTrialLocatorData","fetchClinicalTrialLocatorData","clinicalTrialOption","filterRecruitmentStatuses","ClinicalTrialDetail","clinicalTrial","currentDate","date","month","statisticOptionType","filteringCategoryValue","Set","chronicCode","minClaimNumber","primaryConditionWithClaimsOptionals","useAggregatedDataSource","dataSourceGeos","geoLevelLookup","setData","dataTypeName","dataSourceColumnDefinitions","fetchAggregatedData","ENV_MIN_PATIENT_BUSINESS_RULE","process","REACT_APP_MIN_PATIENT_BUSINESS_RULE","REACT_APP_LEGEND_COLORS","REACT_APP_STATE_BORDER_COLOR","REPORT_TYPE_OPTIONS","setReportType","allReportTypeOptions","listYearData","yearDataLatest","conditionsClaimOption","setConditionsClaimOption","isExistedPrimaryConditionWithoutClaims","conditionSelected","conditionOption","doSyncSecondary","filterReports","setStatistics","statisticFilterAvalable","StlyledLabel","districtByStateData","setFirstLevel","setSecondLevel","secondLevelOptions","congressionalDistrictByState","StyledSimpleCheckbox","conditionClaimOptionals","PRIVATE_REPORT_EXTENSION","geolevel","requiredField","reportSetting","setReportSetting","setRequesting","setIsRememberSettings","rememberSettingData","fetchRememberSettingData","fetchRememberSettings","fileNameStateName","filename","shortToken","primaryCormorbidities","reporting"],"mappings":"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","file":"static/js/main.00e50797.chunk.js","sourcesContent":["var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useMemo, useRef, useState } from 'react';\nimport qs from 'qs';\nimport { useHistory, useLocation } from 'react-router-dom';\nimport _ from 'lodash';\nimport { useAPI } from '../state';\nimport { FallbackComponent } from '../common';\nimport { isEmpty } from '../utils';\nvar GET_SHAREABLE_UI_LINK = '/api/general/ui-setting';\nvar GET_STRORED_UI_VALUE = '/api/general/ui-setting/{id}';\nvar UI_VALUE_SESSION_ID = 'UI_VALUE_SESSION_ID';\nvar getSessionStorageItem = function (key, initialValue) {\n try {\n var item = window.sessionStorage.getItem(key);\n return item ? JSON.parse(item) : initialValue;\n }\n catch (error) {\n return initialValue;\n }\n};\nexport var setUIValueSessionStorage = function (key, value, picks, omits) {\n var _a;\n var storedValue = getSessionStorageItem(UI_VALUE_SESSION_ID);\n var santifiedValue = value;\n if (picks) {\n santifiedValue = _.pick(santifiedValue, picks);\n }\n if (omits) {\n santifiedValue = _.omit(santifiedValue, omits);\n }\n window.sessionStorage.setItem(UI_VALUE_SESSION_ID, JSON.stringify(__assign(__assign({}, storedValue), (_a = {}, _a[key] = santifiedValue, _a))));\n};\nexport var useShareableLink = function () {\n var _a = useAPI(GET_SHAREABLE_UI_LINK, undefined, 'POST'), data = _a[0], fetchData = _a[1], clearData = _a[2];\n var location = useLocation();\n var query = useMemo(function () { return qs.parse(location.search, { ignoreQueryPrefix: true, comma: true }); }, [location.search]);\n var getter = function () {\n var _a;\n try {\n var storedValue = getSessionStorageItem(UI_VALUE_SESSION_ID);\n var _b = ((_a = storedValue === null || storedValue === void 0 ? void 0 : storedValue.viewSetting) === null || _a === void 0 ? void 0 : _a.selectedRegion) || {}, longitude = _b.longitude, latitude = _b.latitude;\n if (!isEmpty(longitude) && !isEmpty(latitude)) {\n storedValue = __assign(__assign({}, storedValue), { viewport: __assign(__assign({}, storedValue.viewport), { longitude: longitude, latitude: latitude }) });\n }\n fetchData(storedValue);\n }\n catch (e) { }\n };\n return [\n __assign(__assign({}, data), { data: data.data && window.location.href.split('?')[0] + \"?v=\" + data.data.id + (query.title ? \"&title=\" + query.title : '') }),\n getter,\n clearData,\n ];\n};\nexport var useStoredUIValue = function () {\n var location = useLocation();\n var query = useMemo(function () { return qs.parse(location.search, { ignoreQueryPrefix: true, comma: true }); }, [location.search]);\n var _a = useAPI(GET_STRORED_UI_VALUE, {\n id: query.v,\n }), storedUIValueData = _a[0], fetchStoredUIValueData = _a[1], clearStoredUIValueData = _a[2];\n var sessionUIValue = useMemo(function () { return (query.session === 'true' ? getSessionStorageItem(UI_VALUE_SESSION_ID) : undefined); }, [query.session]);\n var shouldRequest = !!query.v && !sessionUIValue;\n var safeFetchData = useCallback(function () {\n if (shouldRequest) {\n fetchStoredUIValueData();\n return clearStoredUIValueData;\n }\n }, [clearStoredUIValueData, fetchStoredUIValueData, shouldRequest]);\n return [\n __assign(__assign({}, storedUIValueData), { requesting: storedUIValueData.requesting || (shouldRequest && storedUIValueData.requesting === undefined), session: query.session === 'true', data: sessionUIValue || storedUIValueData.data }),\n safeFetchData,\n clearStoredUIValueData,\n ];\n};\nexport var useUIValueSessionStorage = function (key, initialValue, picks) {\n var storedUIValueData = useStoredUIValue()[0];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var initialSessionValue = useMemo(function () { var _a; return (_a = storedUIValueData.data) === null || _a === void 0 ? void 0 : _a[key]; }, []);\n var _a = useState(function () { return initialSessionValue !== null && initialSessionValue !== void 0 ? initialSessionValue : initialValue; }), storedValue = _a[0], setStoredValue = _a[1];\n var storedValueRef = useRef();\n storedValueRef.current = storedValue;\n var picksString = JSON.stringify(picks);\n var setValue = useCallback(function (value) {\n try {\n var valueToStore = value instanceof Function ? value(storedValueRef.current) : value;\n setStoredValue(valueToStore);\n setUIValueSessionStorage(key, valueToStore, JSON.parse(picksString));\n }\n catch (error) { }\n }, [key, picksString]);\n return [storedValue, setValue, initialSessionValue];\n};\nvar UIValueComponent = function () {\n var _a = useStoredUIValue(), storedUIValueData = _a[0], fetchStoredUIValueData = _a[1];\n var history = useHistory();\n var location = useLocation();\n var query = useMemo(function () { return qs.parse(location.search, { ignoreQueryPrefix: true, comma: true }); }, [location.search]);\n useEffect(fetchStoredUIValueData, [fetchStoredUIValueData]);\n useEffect(function () {\n if (!storedUIValueData.requesting) {\n window.sessionStorage.setItem(UI_VALUE_SESSION_ID, JSON.stringify(storedUIValueData.data));\n var search = qs.stringify(__assign(__assign({}, query), { session: true }));\n history.replace(\"\" + location.pathname + (location.hash ? \"#\" + location.hash : '') + \"?\" + search);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [storedUIValueData.requesting]);\n return null;\n};\nexport var FallbackStoredUIValueComponent = function (props) {\n var storedUIValueData = useStoredUIValue()[0];\n return (React.createElement(React.Fragment, null,\n React.createElement(UIValueComponent, null),\n React.createElement(FallbackComponent, __assign({ requesting: storedUIValueData.requesting || !storedUIValueData.session }, props))));\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useFilterSetting, exportFilterSettingPayload } from '../state/filtersettings';\nimport { useFilterEditing } from '../state/filterediting';\nimport { useDebounce } from '../hooks';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar RECOUNT_FILTER_DELAY_TIME = 1500;\nvar useEffectFilterCount = function (filterSetting, effect, addDeps, ignore) {\n var _a, _b, _c;\n var indexConfig = useHostnameIndexInfo();\n var year = filterSetting.dataYearSeason || filterSetting.dataYear;\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var isAggregatedDataSource = filterSetting.isAggregatedDataSource;\n var primaryCoditions = filterSetting.primaryCoMorbidities;\n var selectingConditions = filterSetting.comorbidities;\n var sexCodes = (_b = filterSetting.demographics) === null || _b === void 0 ? void 0 : _b.sexCodes;\n var raceCodes = (_c = filterSetting.demographics) === null || _c === void 0 ? void 0 : _c.raceCodes;\n var raceMethodology = filterSetting.raceMethodology;\n var deps = __spreadArrays([year, cmsDataSource, isAggregatedDataSource, filterSetting.claimNumber, filterSetting.claimDay], (addDeps || []));\n if (ignore !== 'PRIMARY_CONDITION') {\n deps.push(primaryCoditions);\n }\n if (ignore !== 'PRIMARY_CONDITION' && ignore !== 'CONDITION') {\n deps.push(selectingConditions);\n }\n if (ignore !== 'SEX') {\n deps.push(sexCodes);\n }\n if (ignore !== 'RACE') {\n deps.push(raceCodes);\n deps.push(raceMethodology);\n }\n useDebounce(function () {\n if ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && year && cmsDataSource && !isAggregatedDataSource) {\n var payload = exportFilterSettingPayload(filterSetting);\n effect(payload, indexConfig);\n }\n }, [JSON.stringify(deps)], RECOUNT_FILTER_DELAY_TIME);\n};\nexport var useEffectFilterEditingCount = function (effect, addDeps, ignore) {\n return useEffectFilterCount(useFilterEditing(), effect, addDeps, ignore);\n};\nexport var useEffectFilterSettingCount = function (effect, addDeps, ignore) {\n return useEffectFilterCount(useFilterSetting(), effect, addDeps, ignore);\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\n// This optional code is used to register a service worker.\n// register() is not called by default.\n\n// This lets the app load faster on subsequent visits in production, and gives\n// it offline capabilities. However, it also means that developers (and users)\n// will only see deployed updates on subsequent visits to a page, after all the\n// existing tabs open on the page have been closed, since previously cached\n// resources are updated in the background.\n\n// To learn more about the benefits of this model and instructions on how to\n// opt-in, read https://bit.ly/CRA-PWA\n\nconst isLocalhost = Boolean(\n window.location.hostname === 'localhost' ||\n // [::1] is the IPv6 localhost address.\n window.location.hostname === '[::1]' ||\n // 127.0.0.0/8 are considered localhost for IPv4.\n window.location.hostname.match(\n /^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/\n )\n);\n\ntype Config = {\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\n};\n\nexport function register(config?: Config) {\n if (process.env.NODE_ENV === 'production' && 'serviceWorker' in navigator) {\n // The URL constructor is available in all browsers that support SW.\n const publicUrl = new URL(\n process.env.PUBLIC_URL,\n window.location.href\n );\n if (publicUrl.origin !== window.location.origin) {\n // Our service worker won't work if PUBLIC_URL is on a different origin\n // from what our page is served on. This might happen if a CDN is used to\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\n return;\n }\n\n window.addEventListener('load', () => {\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\n\n if (isLocalhost) {\n // This is running on localhost. Let's check if a service worker still exists or not.\n checkValidServiceWorker(swUrl, config);\n\n // Add some additional logging to localhost, pointing developers to the\n // service worker/PWA documentation.\n navigator.serviceWorker.ready.then(() => {\n console.log(\n 'This web app is being served cache-first by a service ' +\n 'worker. To learn more, visit https://bit.ly/CRA-PWA'\n );\n });\n } else {\n // Is not localhost. Just register service worker\n registerValidSW(swUrl, config);\n }\n });\n }\n}\n\nfunction registerValidSW(swUrl: string, config?: Config) {\n navigator.serviceWorker\n .register(swUrl)\n .then(registration => {\n registration.onupdatefound = () => {\n const installingWorker = registration.installing;\n if (installingWorker == null) {\n return;\n }\n installingWorker.onstatechange = () => {\n if (installingWorker.state === 'installed') {\n if (navigator.serviceWorker.controller) {\n // At this point, the updated precached content has been fetched,\n // but the previous service worker will still serve the older\n // content until all client tabs are closed.\n console.log(\n 'New content is available and will be used when all ' +\n 'tabs for this page are closed. See https://bit.ly/CRA-PWA.'\n );\n\n // Execute callback\n if (config && config.onUpdate) {\n config.onUpdate(registration);\n }\n } else {\n // At this point, everything has been precached.\n // It's the perfect time to display a\n // \"Content is cached for offline use.\" message.\n console.log('Content is cached for offline use.');\n\n // Execute callback\n if (config && config.onSuccess) {\n config.onSuccess(registration);\n }\n }\n }\n };\n };\n })\n .catch(error => {\n console.error('Error during service worker registration:', error);\n });\n}\n\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\n // Check if the service worker can be found. If it can't reload the page.\n fetch(swUrl, {\n headers: { 'Service-Worker': 'script' }\n })\n .then(response => {\n // Ensure service worker exists, and that we really are getting a JS file.\n const contentType = response.headers.get('content-type');\n if (\n response.status === 404 ||\n (contentType != null && contentType.indexOf('javascript') === -1)\n ) {\n // No service worker found. Probably a different app. Reload the page.\n navigator.serviceWorker.ready.then(registration => {\n registration.unregister().then(() => {\n window.location.reload();\n });\n });\n } else {\n // Service worker found. Proceed as normal.\n registerValidSW(swUrl, config);\n }\n })\n .catch(() => {\n console.log(\n 'No internet connection found. App is running in offline mode.'\n );\n });\n}\n\nexport function unregister() {\n if ('serviceWorker' in navigator) {\n navigator.serviceWorker.ready\n .then(registration => {\n registration.unregister();\n })\n .catch(error => {\n console.error(error.message);\n });\n }\n}\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React, { useMemo } from 'react';\nimport {\n useFilterEditingValue,\n useLookupConditionSortByType,\n useConditionCount,\n ConditionType,\n StyledPrimaryConditionSection,\n SimpleCheckbox,\n OptionType,\n TransformedCondition,\n} from 'nmqf-common-ui';\nimport { FormGroup } from 'reactstrap';\n\ntype LeafRelation = string | [string, string[]];\ntype RelationCollection = Array;\n\nconst RAW_RELATION_CONDITIONS: RelationCollection = [\n ['83', ['84', '85', '86', '87', '88', '89', '90']],\n ['91', [['92', ['93', '94', '95', '96', '97', '98']], ['99', ['100', '101', '102']], '103', ['104', ['105', '106', '107', '108', '109']]]],\n ['110', ['111', '112', '113']],\n ['114', ['115', '116', '117']],\n '118',\n '119',\n ['120', ['121', '122', '123']],\n ['124', ['125', '126', '127', '128', '129', '130', '131', '132', '133', '134']],\n ['135', ['136', '137']],\n '158',\n '159',\n ['160', ['161', '162', '163', '164', '165']],\n];\n\nconst buildRelationship = (options: RelationCollection, acc: Record = Object.assign({}), parent?: string) => {\n options.forEach((option) => {\n const value = Array.isArray(option) ? option[0] : option;\n const children = Array.isArray(option) ? option[1] : undefined;\n acc[value] = { parent, children: children?.map((child: any) => (Array.isArray(child) ? child[0] : child)) };\n children && buildRelationship(children, acc, value);\n });\n return acc;\n};\n\nconst CONDITIONS_RELATIONSHIP_MAP = buildRelationship(RAW_RELATION_CONDITIONS);\n\nconst processCheckedValue = (keyConditionMap: Record, values: string[], value: string) => {\n let result = [...values, value];\n\n const removeAllChildren = (code: string) => {\n const { children } = CONDITIONS_RELATIONSHIP_MAP[code];\n if (children) {\n children.forEach((child) => {\n result = result.filter((v) => v !== child);\n removeAllChildren(child);\n });\n }\n };\n removeAllChildren(value);\n\n const checkParentRelation = (code: string) => {\n const { parent } = CONDITIONS_RELATIONSHIP_MAP[code];\n if (parent) {\n const { children } = CONDITIONS_RELATIONSHIP_MAP[parent];\n const isSelectedAll = children?.every((child) => !keyConditionMap[child] || result.some((v) => v === child));\n if (isSelectedAll) {\n result = [parent, ...result.filter((v) => !children?.some((child) => child === v))];\n checkParentRelation(parent);\n }\n }\n };\n checkParentRelation(value);\n\n return result;\n};\n\nconst processUncheckValue = (keyConditionMap: Record, values: string[], value: string) => {\n let result = values.filter((v) => v !== value);\n const { parent } = CONDITIONS_RELATIONSHIP_MAP[value];\n\n if (parent && result.length === values.length) {\n const { children = [] } = CONDITIONS_RELATIONSHIP_MAP[parent];\n result = [...result, ...children.filter((child) => keyConditionMap[child] && child !== value)];\n result = processUncheckValue(keyConditionMap, result, parent);\n }\n\n return result;\n};\n\nconst detectIndeterminate = (keyConditionMap: Record, values: string[], value: string): boolean => {\n let indeterminate = false;\n const { children = [] } = CONDITIONS_RELATIONSHIP_MAP[value];\n for (const child of children) {\n indeterminate = !!keyConditionMap[child] && (values.some((v) => v === child) || detectIndeterminate(keyConditionMap, values, child));\n if (indeterminate) {\n return indeterminate;\n }\n }\n return indeterminate;\n};\n\nconst searchCondition = (keyConditionMap: Record, value: string, textSearch?: string) => {\n const isIncludeSearchText = (code: string) => !textSearch || keyConditionMap?.[code]?.label.toLowerCase().includes(textSearch.toLowerCase());\n let isShow = isIncludeSearchText(value);\n\n const checkChildren = (code: string): boolean => {\n return !!CONDITIONS_RELATIONSHIP_MAP[code].children?.some((child) => isIncludeSearchText(child) || checkChildren(child));\n };\n isShow = isShow || checkChildren(value);\n\n const checkParent = (code: string): boolean => {\n const { parent } = CONDITIONS_RELATIONSHIP_MAP[code];\n return !!parent && (isIncludeSearchText(parent) || checkParent(parent));\n };\n isShow = isShow || checkParent(value);\n\n return isShow;\n};\n\nexport const PrioritizedConditionSection = () => {\n const [textSearch] = useFilterEditingValue('textSearch');\n const [lookupData] = useLookupConditionSortByType();\n const [countData] = useConditionCount();\n const [selectingConditions, setSelectingConditions] = useFilterEditingValue('comorbidities');\n\n const keyConditionMap: Record = useMemo(\n () =>\n lookupData.groupedCondition?.[ConditionType.Key]?.reduce((acc, curr) => {\n acc[curr.value] = curr;\n return acc;\n }, Object.assign({})) || Object.assign({}),\n [lookupData.groupedCondition]\n );\n\n const handleChange = (event: React.ChangeEvent) => {\n const value = event.target.value;\n let values = selectingConditions ? [...selectingConditions] : [];\n if (event.target.checked) {\n values = processCheckedValue(keyConditionMap, values, value);\n } else {\n values = processUncheckValue(keyConditionMap, values, value);\n }\n setSelectingConditions(values.sort(lookupData.sortValue));\n };\n const renderConditionTree = (options: RelationCollection, isParentChecked?: boolean) => {\n return (\n <>\n {options.map((option) => {\n const value = Array.isArray(option) ? option[0] : option;\n const children = Array.isArray(option) ? option[1] : undefined;\n const checked = isParentChecked || selectingConditions?.some((v) => v === value);\n const condition = keyConditionMap[value];\n const indeterminate = !checked && detectIndeterminate(keyConditionMap, selectingConditions || [], value);\n const isShow = searchCondition(keyConditionMap, value, textSearch);\n return (\n condition &&\n isShow && (\n \n \n \n \n
{children && renderConditionTree(children, checked)}
\n
\n )\n );\n })}\n \n );\n };\n\n return {renderConditionTree(RAW_RELATION_CONDITIONS)};\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport * as Yup from 'yup';\nimport {\n FilterDialog,\n DataYearTab,\n ConditionTab,\n PrimaryConditionSection,\n AdditionalConditionSection,\n StatisticTab,\n SexTab,\n RaceTab,\n AgeTab,\n AggregatedDemographicTab,\n AggregatedSexTab,\n AggregatedRaceTab,\n AggregatedAgeTab,\n GeoLevelTab,\n ConsumptionGroupTab,\n} from 'nmqf-common-ui';\nimport { PrioritizedConditionSection } from './conditiontab';\n\ninterface IndexFilterDialogProps {\n isOpen: boolean;\n toggle: () => void;\n defaultActiveTab?: string;\n}\n\nconst validationSchema = Yup.object().shape({\n comorbidities: Yup.array().nullable().required('Please select at least one of the Conditions').min(1, 'Please select at least one of the Conditions'),\n});\n\nexport const IndexFilterDialog: React.FC = (props) => {\n return (\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport { SelectedGeographySource, PatientChoroplethLayer, ProviderLayer, ImportingLocationLayers, MapComponent, InfoPopup } from 'nmqf-common-ui';\n\nexport const IndexMapComponent: React.FC = () => {\n return (\n \n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React, { useState } from 'react';\nimport styled from 'styled-components';\n\nimport {\n useToggle,\n FilterBar,\n FilterSidebar,\n FilterResultDashboard,\n DemographicChartComponent,\n TrendLineComponent,\n TableViewComponent,\n MapLayerMenu,\n ProviderMenu,\n MapProvider,\n DownloadButton,\n LocationMenu,\n ProviderDownloadButton,\n useHostnameIndexInfo,\n} from 'nmqf-common-ui';\nimport { IndexFilterDialog } from '../filterdialog';\nimport { IndexMapComponent } from '../map';\n\nconst StyledDashboard = styled.div`\n position: relative;\n flex: 1;\n display: flex;\n flex-direction: column;\n min-height: 0;\n`;\nconst StyledViewMode = styled.div`\n height: 100%;\n width: 100%;\n overflow: auto;\n`;\n\nexport const IndexDashboard: React.FC = () => {\n const [defaultActiveTab, setDefaultActiveTab] = useState();\n const [showFilterDialog, toggleFilterDialog] = useToggle();\n const indexConfig = useHostnameIndexInfo();\n const hiddenProvidersOverlay = indexConfig?.generalInformation.hiddenProvidersOverlay;\n\n const handleToggleFilterDialog = (tabId?: string) => {\n setDefaultActiveTab(tabId);\n toggleFilterDialog();\n };\n\n return (\n \n \n \n \n \n {!hiddenProvidersOverlay && }\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n );\n};\n","/* \n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved. \n */\nimport React from 'react';\nimport ReactDOM from 'react-dom';\nimport * as serviceWorker from './serviceWorker';\nimport { createStore, applyMiddleware, combineReducers } from 'redux';\nimport { BrowserRouter, Route } from 'react-router-dom';\nimport thunk from 'redux-thunk';\nimport promiseMiddleware from 'redux-promise';\nimport { StoreContext } from 'redux-react-hook';\n\nimport 'bootstrap/dist/css/bootstrap.css';\n\nimport {\n AuthProvider,\n Authenticate,\n Header,\n NMQFGlobalStyle,\n HostNameIndexInfoProvider,\n reducers,\n HostNameMetaTagManager,\n FallbackStoredUIValueComponent,\n} from 'nmqf-common-ui';\n\nimport { IndexDashboard } from './components/indexdashboard';\n\nconst combinedReducers = combineReducers(reducers);\nconst middlewares = [thunk, promiseMiddleware];\nconst createStoreWithMiddleware = applyMiddleware(...middlewares)(createStore);\nconst store = createStoreWithMiddleware(combinedReducers);\n\nReactDOM.render(\n <>\n \n \n \n \n \n \n
\n \n \n \n \n \n \n \n \n \n \n \n ,\n document.getElementById('root')\n);\n\n// If you want your app to work offline and load faster, you can change\n// unregister() to register() below. Note this comes with some pitfalls.\n// Learn more about service workers: https://bit.ly/CRA-PWA\nserviceWorker.unregister();\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useCallback } from 'react';\nimport { useFilterSetting, useFilterValue, useViewValue, exportFilterSettingPayload } from '../state';\nimport { ViewModeEnum, ChartViewEnum, StatisticTypeEnum, GeoLevelEnum } from '../enums';\nimport { useAPI } from '../state';\nimport { getStatisticOption, processStatisticValue } from '../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nvar SAFE_SEASON_YEAR = 100;\nvar FETCH_AGGREGATED_DATA_API_URL = '/api/data-file/get-aggregated-data-for-yearly-linechart';\nvar FETCH_YEARLY_DATA_API_URL = '/api/stats/{hostname}/calculate-statistic-for-yearly-linechart';\nvar FETCH_YEARLY_DATA_API_URL_PROXY = '/api/{hostname}/calculate-statistic-for-yearly-linechart';\nvar getLinear = function (arr, xKey, yKey) {\n if (!arr.length)\n return [];\n var xStart = arr[0][xKey];\n var xEnd = arr[arr.length - 1][xKey];\n var n = xEnd - xStart + 1;\n var sumMult = 0;\n var xSum = 0;\n var ySum = 0;\n var sumXSq = 0;\n arr.forEach(function (i) {\n var x = i[xKey];\n var y = i[yKey];\n sumMult += y * x;\n xSum += x;\n ySum += y;\n sumXSq += x * x;\n });\n var x1 = n * sumMult;\n var x2 = xSum * ySum;\n var y1 = n * sumXSq;\n var y2 = xSum * xSum;\n // slope = m = (a - b) / (c - d)\n var m = (x1 - x2) / (y1 - y2);\n var e = ySum;\n var f = m * xSum;\n // y-intercept = b = (e - f) / n\n var b = (e - f) / n;\n // y = mx + b\n return [m * xStart + b, m * xEnd + b];\n};\nvar useStatisticYearlyData = function () {\n var _a;\n var indexConfig = useHostnameIndexInfo();\n var _b = useAPI((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname) ? FETCH_YEARLY_DATA_API_URL_PROXY\n : FETCH_YEARLY_DATA_API_URL, { hostname: extractHostname() }, 'POST'), yearlyData = _b[0], res = _b.slice(1);\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticOption = getStatisticOption(statistic);\n var getDataByYear = useCallback(function (year) {\n var _a;\n var _b = ((_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData[year]) || {}, numerator = _b.numerator, denominator = _b.denominator;\n var value = numerator || 0;\n var isNA = !numerator;\n if (!isNA && statistic !== StatisticTypeEnum.TotalCount) {\n isNA = !denominator;\n value = isNA ? 0 : value / (denominator || 1);\n }\n return {\n value: value,\n isNA: isNA,\n percentage: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.percentage,\n };\n }, [statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.percentage, (_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData]);\n return __spreadArrays([__assign(__assign({}, yearlyData), { getDataByYear: getDataByYear })], res);\n};\nvar useAggregatedYearlyData = function () {\n var _a = useAPI(FETCH_AGGREGATED_DATA_API_URL, undefined, 'POST'), yearlyData = _a[0], res = _a.slice(1);\n var getDataByYear = useCallback(function (year) {\n var _a;\n var _b = ((_a = yearlyData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData[year]) || {}, percentage = _b.percentage, overall = _b.overall;\n var isNA = overall === undefined || overall === null || overall < 0;\n var value = (isNA ? 0 : overall);\n return {\n value: value,\n isNA: isNA,\n percentage: percentage,\n };\n }, [yearlyData.data]);\n return __spreadArrays([__assign(__assign({}, yearlyData), { getDataByYear: getDataByYear })], res);\n};\nexport var useTrendLineData = function () {\n var _a;\n var statisticYearlyData = useStatisticYearlyData();\n var aggregatedYearlyData = useAggregatedYearlyData();\n var filterSettings = useFilterSetting();\n var _b = filterSettings.isAggregatedDataSource ? aggregatedYearlyData : statisticYearlyData, data = _b[0], fetchData = _b[1], res = _b.slice(2);\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var from = useViewValue('chartView', 'startingYear')[0];\n var to = useViewValue('chartView', 'endingYear')[0];\n var fetchDataWrapper = useCallback(function () {\n if (filterSettings.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Trends,\n },\n } }));\n }\n }, [fetchData, filterSettings]);\n var combinedData = useMemo(function () {\n var result = [];\n if (from && to) {\n for (var year = from; year <= to; year += 1) {\n var yearData = data.getDataByYear(year);\n var value = processStatisticValue(yearData.value, yearData.percentage, statistic) || 0;\n result.push(__assign(__assign({}, yearData), { year: year,\n value: value, suffix: yearData.percentage ? '%' : '', prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit }));\n }\n var linear = getLinear(result, 'year', 'value');\n result[0].linear = linear[0];\n result[result.length - 1].linear = linear[1];\n }\n return result;\n }, [from, to, data, statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit]);\n return __spreadArrays([__assign(__assign({}, data), { data: combinedData }), fetchDataWrapper], res);\n};\nexport var useTrendLineDataForSeason = function () {\n var _a;\n var statisticYearlyData = useStatisticYearlyData();\n var filterSettings = useFilterSetting();\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var aggregatedYearlyData = useAggregatedYearlyData();\n var _b = filterSettings.isAggregatedDataSource ? aggregatedYearlyData : statisticYearlyData, data = _b[0], fetchData = _b[1], res = _b.slice(2);\n var fromSeasonYear = useViewValue('chartView', 'startingSeasonYear')[0];\n var toSeasonYear = useViewValue('chartView', 'endingSeasonYear')[0];\n var fetchDataWrapper = useCallback(function () {\n if (filterSettings.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Trends,\n },\n } }));\n }\n }, [fetchData, filterSettings]);\n var combinedData = useMemo(function () {\n var result = [];\n if (fromSeasonYear && toSeasonYear) {\n var year = fromSeasonYear;\n var safeNumber = 0;\n while (!isEqualSeasonYear(year, putToSeasonYear(toSeasonYear, 1)) && safeNumber < SAFE_SEASON_YEAR) {\n var yearData = data.getDataByYear(year);\n var value = processStatisticValue(yearData.value, yearData.percentage, statistic) || 0;\n result.push(__assign(__assign({}, yearData), { year: 0, seasonYear: year, value: value, suffix: yearData.percentage ? '%' : '', prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit }));\n year = putToSeasonYear(year, 1);\n safeNumber++;\n }\n var linear = getLinear(result, 'seasonYear', 'value');\n result[0].linear = linear[0];\n result[result.length - 1].linear = linear[1];\n }\n return result;\n }, [fromSeasonYear, toSeasonYear, data, statistic, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit]);\n return __spreadArrays([__assign(__assign({}, data), { data: combinedData }), fetchDataWrapper], res);\n};\nvar isEqualSeasonYear = function (arg1, arg2) {\n var arg1Split = getYearsBySeason(arg1);\n var arg2Split = getYearsBySeason(arg2);\n return arg1Split[0] === arg2Split[0] && arg1Split[1] === arg2Split[1];\n};\nvar putToSeasonYear = function (seasonYear, year) {\n var arg1Split = getYearsBySeason(seasonYear);\n return arg1Split.map(function (arg) { return Number(arg) + year; }).join(DELIMITER_SEASON_YEAR);\n};\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { ENV_MIN_PATIENT_BUSINESS_RULE } from '../env';\nimport { setIn } from 'formik';\nimport { GeoLevelEnum } from '../enums';\nexport var applyMinBusinessRule = function (number) { return (number && number >= ENV_MIN_PATIENT_BUSINESS_RULE ? number : undefined); };\nexport var getDisplayText = function (src, suffix, prefix) {\n if (suffix === void 0) { suffix = ''; }\n if (prefix === void 0) { prefix = ''; }\n if (typeof src === 'string')\n return src;\n if (src === undefined || src === null)\n return 'N/A';\n var parts = src.toString().split('.');\n parts[0] = parts[0].replace(/\\B(?=(\\d{3})+(?!\\d))/g, ',');\n return \"\" + prefix + parts.join('.') + suffix;\n};\nexport var getUserInitials = function (firstName, lastName) {\n if (firstName === void 0) { firstName = ''; }\n if (lastName === void 0) { lastName = ''; }\n return \"\" + firstName.trim().charAt(0).toUpperCase() + lastName.trim().charAt(0).toUpperCase();\n};\nexport var getDisplayUserName = function (firstName, lastName, middleName) {\n var arr = [];\n if (firstName) {\n arr.push(firstName);\n }\n if (middleName) {\n arr.push(middleName);\n }\n if (lastName) {\n arr.push(lastName);\n }\n return arr.join(' ');\n};\nexport var prependingHttpToUrlIfMissing = function (url) {\n if (!url || url.match(/^[a-zA-Z]+:\\/\\//)) {\n return url;\n }\n return \"http://\" + url;\n};\nexport var isObject = function (value) {\n var type = typeof value;\n return value != null && (type === 'object' || type === 'function');\n};\nexport var isEmpty = function (value) {\n if (isObject(value)) {\n if (Object.keys(value).length === 0) {\n return true;\n }\n else {\n return false;\n }\n }\n return value === undefined || value === null || value === '';\n};\nexport function cleanFormattingPhoneNumber(phoneFormated) {\n return phoneFormated.replace(/\\D/g, '');\n}\nexport function formatPhoneNumber(phoneNumberString) {\n if (!phoneNumberString) {\n return phoneNumberString;\n }\n var cleaned = cleanFormattingPhoneNumber(phoneNumberString);\n var match = cleaned.match(/^(\\d{3}|\\d+)(\\d{3}|\\d+)?(\\d{4}|\\d+)?$/);\n var arr = [];\n if (match) {\n var separation = '';\n for (var i = 1; i < match.length; i += 1) {\n if (match[i]) {\n arr.push(separation);\n arr.push(match[i]);\n separation = '-';\n }\n }\n }\n return arr.join('');\n}\nexport function roundNumber(value, precision) {\n if (precision === void 0) { precision = 0; }\n if (value === undefined || value === null) {\n return undefined;\n }\n return parseFloat((value + Number.EPSILON).toFixed(precision));\n}\nexport function safeDivide(numerator, denominator, percentage, precision) {\n if (percentage === void 0) { percentage = false; }\n if (precision === void 0) { precision = 0; }\n if (numerator !== undefined && numerator !== null && denominator) {\n return roundNumber((numerator / denominator) * (percentage ? 100 : 1), precision);\n }\n return undefined;\n}\nexport var cookLegendBreaks = function (originPoints, percentage, precision) {\n if (originPoints === void 0) { originPoints = []; }\n if (percentage === void 0) { percentage = false; }\n if (precision === void 0) { precision = 0; }\n var gradeDelta = 1 / Math.pow(10, precision);\n var prevGrade = -1;\n return originPoints.map(function (grade, idx) {\n var currGrade = idx === 0 || idx % 2 === 1 ? grade * (percentage ? 100 : 1) : prevGrade + gradeDelta;\n currGrade = roundNumber(currGrade, precision);\n if (currGrade < prevGrade) {\n currGrade = prevGrade;\n }\n prevGrade = currGrade;\n return currGrade;\n });\n};\nexport var getBreakIdx = function (breakPoints, value) {\n return !value || !breakPoints ? 0 : (__spreadArrays(breakPoints, [Number.MAX_SAFE_INTEGER]).findIndex(function (grade, idx) { return idx % 2 === 1 && value <= grade; }) + 1) / 2;\n};\nexport var compareFunc = function (a, b, order) {\n if (a === void 0) { a = ''; }\n if (b === void 0) { b = ''; }\n if (order === void 0) { order = 'asc'; }\n return (a < b ? -1 : a > b ? 1 : 0) * (order === 'desc' ? -1 : 1);\n};\nexport var separateGeoLevelId = function (id) {\n var components = (id === null || id === void 0 ? void 0 : id.split('-')) || [];\n return [components.shift(), components.join('-')];\n};\nexport function getValidationSchema(validationSchema) {\n if (typeof validationSchema === 'function') {\n return validationSchema();\n }\n return validationSchema;\n}\nexport function getErrors(validationSchema, values) {\n var parseErrors = function (validationError) {\n return validationError.inner.reduce(function (errors, error) { return setIn(errors, error.path, error.errors[0]); }, Object.assign({}));\n };\n try {\n validationSchema && getValidationSchema(validationSchema).validateSync(values, { abortEarly: false });\n return Object.assign({});\n }\n catch (error) {\n return parseErrors(error);\n }\n}\nexport function getFlattenErrors(validationSchema, values) {\n var parseErrors = function (validationError) { return validationError.errors.filter(function (error, index) { return validationError.errors.indexOf(error) === index; }); };\n try {\n validationSchema && getValidationSchema(validationSchema).validateSync(values, { abortEarly: false });\n return Object.assign([]);\n }\n catch (error) {\n return parseErrors(error);\n }\n}\nexport var getDirectionUrl = function (url) {\n var title = new URL(window.document.location.toString()).searchParams.get('title');\n return \"\" + url + (title !== null ? \"?title=\" + title : '');\n};\nexport var isFeatureInAState = function (state, properties, geoLevel, stateByZipCode5) {\n var _a, _b;\n if (stateByZipCode5 === void 0) { stateByZipCode5 = {}; }\n if (geoLevel === GeoLevelEnum.Zip5) {\n return state.stateCode === parseInt(stateByZipCode5[properties === null || properties === void 0 ? void 0 : properties.zipCode], 10);\n }\n else if (geoLevel === GeoLevelEnum.MSA) {\n return (_b = (_a = properties === null || properties === void 0 ? void 0 : properties.name) === null || _a === void 0 ? void 0 : _a.split(', ')[1]) === null || _b === void 0 ? void 0 : _b.split('-').some(function (i) { return i === state.stateAbb; });\n }\n else {\n return state.stateCode === parseInt(properties === null || properties === void 0 ? void 0 : properties.stateCode, 10);\n }\n};\nexport var groupBy = function (items, key) { return items === null || items === void 0 ? void 0 : items.reduce(function (result, item) {\n var _a;\n var k = typeof key === 'string' ? item[key] : key(item);\n return __assign(__assign({}, result), (_a = {}, _a[k] = __spreadArrays((result[k] || []), [item]), _a));\n}, Object.assign({})); };\nexport var keyBy = function (array, key) { return (array || []).reduce(function (r, x) {\n var _a;\n return (__assign(__assign({}, r), (_a = {}, _a[key ? x[key] : x] = x, _a)));\n}, {}); };\nexport var substituteParams = function (str, params) {\n return params !== undefined ? Object.keys(params).reduce(function (current, key) { return current.replace(\"{\" + key + \"}\", \"\" + params[key]); }, str) : str;\n};\nexport var isTouchEnabled = function () {\n return 'ontouchstart' in window || navigator.maxTouchPoints > 0 || navigator.msMaxTouchPoints > 0;\n};\nexport var deviceType = function () {\n var ua = navigator.userAgent;\n if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {\n return 'tablet';\n }\n else if (/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {\n return 'mobile';\n }\n return 'desktop';\n};\nexport var getYearsBySeason = function (seasonYear) {\n return String(seasonYear).match(/\\d+/g) || [];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useState, useCallback } from 'react';\nexport var useToggle = function (initialValue) {\n if (initialValue === void 0) { initialValue = false; }\n var _a = useState(initialValue), isOpen = _a[0], setIsOpen = _a[1];\n var toggle = useCallback(function () {\n setIsOpen(function (curr) { return !curr; });\n }, []);\n return [isOpen, toggle, setIsOpen];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport { useState, useCallback, useEffect, useRef } from 'react';\nimport { getIn, setIn, setNestedObjectValues } from 'formik';\nimport { isEmpty, getValidationSchema, getErrors } from '../utils';\nexport function castValues(values, validationSchema) {\n return !validationSchema ? values : getValidationSchema(validationSchema).cast(values);\n}\nvar isFirstError = function (errors, name, path) {\n if (path === void 0) { path = []; }\n if (isEmpty(errors)) {\n return false;\n }\n var firstErrorName = Array.isArray(errors) ? \"\" + errors.findIndex(function (err) { return !isEmpty(err); }) : Object.keys(errors)[0];\n path.push(firstErrorName);\n if (name === path.join('.')) {\n return true;\n }\n var nameDepth = name.split('.');\n if (nameDepth.length !== path.length) {\n return isFirstError(errors[firstErrorName], name, path);\n }\n return false;\n};\nexport var useForm = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, initialValues = _b.initialValues, validationSchema = _b.validationSchema;\n var _c = useState(Object.assign({}, initialValues)), values = _c[0], setValues = _c[1];\n var _d = useState(Object.assign({})), errors = _d[0], setErrors = _d[1];\n var _e = useState(Object.assign({})), touched = _e[0], setTouched = _e[1];\n var _f = useState(false), isSubmitting = _f[0], setIsSubmitting = _f[1];\n var _g = useState(0), submitCount = _g[0], setSubmitCount = _g[1];\n var isUnMount = useRef(false);\n var initialValuesRef = useRef(Object.assign({}, initialValues));\n var validationSchemaRef = useRef(validationSchema);\n useEffect(function () {\n return function () {\n isUnMount.current = true;\n };\n }, []);\n useEffect(function () {\n validationSchemaRef.current = validationSchema;\n if (typeof validationSchema === 'function') {\n setValues(function (values) { return (__assign({}, values)); });\n }\n }, [validationSchema]);\n useEffect(function () {\n setErrors(getErrors(validationSchemaRef.current, values));\n }, [values]);\n var setInitialValues = useCallback(function (initialValues) {\n initialValuesRef.current = initialValues;\n setValues(Object.assign({}, initialValues));\n setTouched(Object.assign({}));\n }, []);\n var setFieldValue = useCallback(function (value, field) {\n setValues(function (values) { return setIn(values, field, value); });\n }, []);\n var setFieldTouched = useCallback(function (isTouched, field) {\n setTouched(function (touched) { return setIn(touched, field, isTouched); });\n }, []);\n var handleChange = useCallback(function (event) {\n var name = event.target.name;\n var value = event.target.type === 'checkbox' ? event.target.checked : event.target.value;\n setFieldValue(value, name);\n }, [setFieldValue]);\n var handleBlur = useCallback(function (event) {\n var name = event.target.name;\n setFieldTouched(true, name);\n }, [setFieldTouched]);\n var handleSubmit = function (submitFormHandler) { return function (event) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n event === null || event === void 0 ? void 0 : event.preventDefault();\n if (isSubmitting) {\n return [2 /*return*/];\n }\n setSubmitCount(function (curr) { return curr + 1; });\n setIsSubmitting(true);\n setTouched(setNestedObjectValues(initialValuesRef.current, true));\n _a.label = 1;\n case 1:\n _a.trys.push([1, , 4, 5]);\n if (!isEmpty(errors)) return [3 /*break*/, 3];\n return [4 /*yield*/, submitFormHandler(castValues(values, validationSchemaRef.current))];\n case 2:\n _a.sent();\n _a.label = 3;\n case 3: return [3 /*break*/, 5];\n case 4:\n if (!isUnMount.current) {\n setIsSubmitting(false);\n }\n return [7 /*endfinally*/];\n case 5: return [2 /*return*/];\n }\n });\n }); }; };\n var handleReset = useCallback(function () {\n setValues(initialValuesRef.current);\n setTouched(Object.assign({}));\n }, []);\n var getError = function (name) { return (getIn(touched, name) ? getIn(errors, name) : undefined); };\n var isFirstFieldError = function (name) { return isFirstError(errors, name); };\n return {\n setInitialValues: setInitialValues,\n values: values,\n handleChange: handleChange,\n handleBlur: handleBlur,\n setFieldValue: setFieldValue,\n setFieldTouched: setFieldTouched,\n handleSubmit: handleSubmit,\n isSubmitting: isSubmitting,\n handleReset: handleReset,\n getError: getError,\n isFirstFieldError: isFirstFieldError,\n submitCount: submitCount,\n hasError: !isEmpty(errors),\n };\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect, useRef, useState } from 'react';\nexport var useDebounce = function (callback, depends, delay) {\n if (delay === void 0) { delay = 0; }\n var mountedRef = useRef(false);\n useEffect(function () {\n var unmountHandeler;\n var handler = setTimeout(function () {\n unmountHandeler = callback();\n }, !mountedRef.current ? 0 : delay);\n mountedRef.current = true;\n return function () {\n clearTimeout(handler);\n unmountHandeler && unmountHandeler();\n };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, __spreadArrays([delay], depends));\n};\nexport var useDebounceValue = function (callback, depends, delay) {\n if (delay === void 0) { delay = 0; }\n var _a = useState(callback), value = _a[0], setValue = _a[1];\n var mountedRef = useRef(false);\n useEffect(function () {\n if (mountedRef.current) {\n var handler_1 = setTimeout(function () {\n setValue(callback());\n }, delay);\n return function () {\n clearTimeout(handler_1);\n };\n }\n mountedRef.current = true;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, __spreadArrays([delay], depends));\n return value;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { feature } from 'topojson-client';\nimport * as turf from '@turf/helpers';\nimport * as _ from 'lodash';\nimport { useCachedData } from '../state';\nimport { useDebounceValue } from './usedebounce';\nexport var combineGeoJson = function (data, filter, propertyMapping, forceClean) {\n if (forceClean || !data) {\n return turf.featureCollection([]);\n }\n var features = data.features;\n features = filter ? features.filter(function (f) { return filter(f.properties); }) : features;\n features = propertyMapping ? features.map(function (f) { return (__assign(__assign({}, f), { properties: propertyMapping(f.properties) })); }) : features;\n return turf.featureCollection(features);\n};\nvar parseTopoJsonToGeoJson = function (keyName, geoType) {\n if (keyName === void 0) { keyName = 'id'; }\n if (geoType === void 0) { geoType = 'unknown'; }\n return function (topology) {\n if (topology) {\n var object = Object.values(topology.objects)[0];\n object.geometries = object.geometries.map(function (geo) { return (__assign(__assign({}, geo), { properties: __assign(__assign({}, geo.properties), { geoType: geoType }) })); });\n var featureCollection = feature(topology, object);\n var mapFeature = _.keyBy(featureCollection.features, \"properties.\" + keyName);\n var mapGeometry = _.keyBy(object.geometries, \"properties.\" + keyName);\n return { topology: topology, featureCollection: featureCollection, mapFeature: mapFeature, mapGeometry: mapGeometry };\n }\n };\n};\nexport var useGeoJson = function (url, option) {\n var _a, _b;\n var _c = useCachedData(url || '', undefined, undefined, undefined, parseTopoJsonToGeoJson(option === null || option === void 0 ? void 0 : option.keyName, option === null || option === void 0 ? void 0 : option.geoType)), topoJsonData = _c[0], doRequest = _c[1], resetStateAPI = _c[2];\n var _d = useDebounceValue(function () {\n var _a, _b;\n return ({\n featureCollection: (_a = topoJsonData.data) === null || _a === void 0 ? void 0 : _a.featureCollection,\n combinedGeoJson: combineGeoJson((_b = topoJsonData.data) === null || _b === void 0 ? void 0 : _b.featureCollection, option === null || option === void 0 ? void 0 : option.filter, option === null || option === void 0 ? void 0 : option.propertyMapping, option === null || option === void 0 ? void 0 : option.forceClean),\n });\n }, [option === null || option === void 0 ? void 0 : option.filter, option === null || option === void 0 ? void 0 : option.forceClean, option === null || option === void 0 ? void 0 : option.propertyMapping, (_a = topoJsonData.data) === null || _a === void 0 ? void 0 : _a.featureCollection]), featureCollection = _d.featureCollection, combinedGeoJson = _d.combinedGeoJson;\n return [\n __assign(__assign(__assign({}, topoJsonData), topoJsonData.data), { data: combinedGeoJson, requesting: topoJsonData.requesting || featureCollection !== ((_b = topoJsonData.data) === null || _b === void 0 ? void 0 : _b.featureCollection) }),\n doRequest,\n resetStateAPI,\n ];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect } from 'react';\nexport * from './usetoggle';\nexport * from './useform';\nexport * from './usedebounce';\nexport * from './usegeojson';\nexport * from './useconfig';\nexport var useMount = function (effect) {\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(effect, []);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\n// Common component use for both UI & Reports\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../enums';\nimport { useLookupState, useLookupZipCodeDistrict, useLookupMSA, useLookupCounty, getGeoLevelLabel } from '../../lookupdata';\nimport { separateGeoLevelId } from '../../utils';\nexport var useSelectedGeoIdInfo = function (viewSetting, stateName) {\n var _a, _b, _c, _d, _e, _f, _g;\n var lookupStateData = useLookupState()[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var lookupMsa = useLookupMSA()[0];\n var countyData = useLookupCounty()[0];\n var geoLevel = viewSetting.geoType;\n var selectedId = ((_a = viewSetting.selectedRegion) === null || _a === void 0 ? void 0 : _a.type) === RightPanelTypeEnum.RegionDetail ? viewSetting.selectedRegion.id : undefined;\n var selectedGeoProperties = (_b = viewSetting.mapView) === null || _b === void 0 ? void 0 : _b.selectedGeoProperties;\n var geoLevelLabel = getGeoLevelLabel(geoLevel);\n var firstLevelLabel = 'All';\n var secondLevelLabel = geoLevel !== GeoLevelEnum.State && geoLevel !== GeoLevelEnum.MSA ? 'All' : undefined;\n var _h = separateGeoLevelId(selectedId), firstLevelCode = _h[0], secondLevelCode = _h[1];\n if (firstLevelCode) {\n if (geoLevel === GeoLevelEnum.Zip5 && !(selectedId === null || selectedId === void 0 ? void 0 : selectedId.endsWith('-'))) {\n secondLevelLabel = firstLevelCode.padStart(5, '0');\n firstLevelLabel = stateName || lookupZipCode.getStateNameOfZipCode(secondLevelLabel);\n }\n else if (geoLevel === GeoLevelEnum.MSA) {\n firstLevelLabel = ((_d = (_c = lookupMsa.data) === null || _c === void 0 ? void 0 : _c.find(function (lookup) { return lookup.msaNumber === firstLevelCode; })) === null || _d === void 0 ? void 0 : _d.msaName) || (selectedGeoProperties === null || selectedGeoProperties === void 0 ? void 0 : selectedGeoProperties.name);\n }\n else {\n firstLevelLabel = lookupStateData.getNameByStateCode(firstLevelCode);\n }\n }\n if (firstLevelCode && secondLevelCode) {\n if (geoLevel === GeoLevelEnum.County) {\n secondLevelLabel = (_g = (_f = (_e = countyData.data) === null || _e === void 0 ? void 0 : _e[firstLevelCode.padStart(2, '0')]) === null || _f === void 0 ? void 0 : _f.find(function (ct) { return ct.countyCode === secondLevelCode; })) === null || _g === void 0 ? void 0 : _g.countyName;\n }\n else if (geoLevel === GeoLevelEnum.Congressional) {\n secondLevelLabel = secondLevelCode.padStart(2, '0');\n }\n else {\n // zip 3, upper district, lower district\n secondLevelLabel = secondLevelCode.padStart(3, '0');\n }\n }\n return [geoLevelLabel, firstLevelLabel, secondLevelLabel].filter(function (label) { return !!label; });\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useCallback, useMemo } from 'react';\nimport { useAPI, useFilterSetting, exportFilterSettingPayload } from '../state';\nimport { DemographicTypeEnum, ViewModeEnum, ChartViewEnum, GeoLevelEnum } from '../enums';\nimport { useLookupSexCode, useLookupRaceCode, mapAgeValues, stringifyAgeValue, AGE_OPTIONS, ALL_AGE_VALUES, getStatisticOption, processStatisticValue, } from '../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../hostnameindexinfo';\nvar FETCH_AGGREGATED_DATA_API_URL = '/api/data-file/get-aggregated-data-for-demographic-piechart';\nvar FETCH_CHART_DATA_API_URL = '/api/stats/{hostname}/calculate-statistic-for-demographic-piechart';\nvar FETCH_CHART_DATA_API_URL_PROXY = '/api/{hostname}/calculate-statistic-for-demographic-piechart';\nvar useStatisticData = function () {\n var _a;\n var _b, _c, _d, _e;\n var indexConfig = useHostnameIndexInfo();\n var _f = useAPI((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname) ? FETCH_CHART_DATA_API_URL_PROXY\n : FETCH_CHART_DATA_API_URL, {\n hostname: extractHostname()\n }, 'POST'), chartData = _f[0], res = _f.slice(1);\n var filterSettings = useFilterSetting();\n var statistic = (_b = filterSettings.statistic) === null || _b === void 0 ? void 0 : _b.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var _g = useLookupSexCode((_c = filterSettings.demographics) === null || _c === void 0 ? void 0 : _c.sexCodes), lookupSexData = _g[0], resLookupSex = _g.slice(1);\n var _h = useLookupRaceCode(filterSettings.raceMethodology, (_d = filterSettings.demographics) === null || _d === void 0 ? void 0 : _d.raceCodes), lookupRaceData = _h[0], resLookupRace = _h.slice(1);\n var dataByDemographic = (_a = {},\n _a[DemographicTypeEnum.Sex] = __spreadArrays([__assign(__assign({}, lookupSexData), { data: lookupSexData.mappedValues || lookupSexData.data })], resLookupSex),\n _a[DemographicTypeEnum.Race] = __spreadArrays([__assign(__assign({}, lookupRaceData), { data: lookupRaceData.mappedValues || lookupRaceData.data })], resLookupRace),\n _a[DemographicTypeEnum.Age] = [{ data: mapAgeValues((_e = filterSettings.demographics) === null || _e === void 0 ? void 0 : _e.ages) || AGE_OPTIONS }, function () { }, function () { }],\n _a);\n var data = useMemo(function () {\n var combinedAgeKeyData = chartData.data && __assign(__assign({}, chartData.data.mapStatisticResponsingData), { age: chartData.data.mapStatisticResponsingData.age.subGroups.reduce(function (acc, curr) {\n acc[stringifyAgeValue(curr)] = curr.patientCount || curr.aggregateValue;\n return acc;\n }, Object.assign({})) });\n return [DemographicTypeEnum.Sex, DemographicTypeEnum.Race, DemographicTypeEnum.Age].reduce(function (acc, demographic) {\n var _a;\n var _b = dataByDemographic[demographic], data = _b[0], res = _b.slice(1);\n acc[demographic] = __spreadArrays([\n __assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return ({\n id: i.stringified || i.value,\n name: i.shortName || i.label,\n value: processStatisticValue((combinedAgeKeyData === null || combinedAgeKeyData === void 0 ? void 0 : combinedAgeKeyData[demographic][i.stringified || i.value]) || 0, false, statistic),\n prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit,\n }); }).filter(function (i) { return !!i.value; }) })\n ], res);\n return acc;\n }, Object.assign({}));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [chartData.data, lookupSexData.data, lookupRaceData.data]);\n return __spreadArrays([\n __assign(__assign({}, chartData), { data: data })\n ], res);\n};\nvar useAggregatedData = function () {\n var _a;\n var _b = useAPI(FETCH_AGGREGATED_DATA_API_URL, undefined, 'POST'), chartData = _b[0], res = _b.slice(1);\n var filterSettings = useFilterSetting();\n var statistic = (_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticOption = getStatisticOption(statistic);\n var data = useMemo(function () {\n var _a;\n var _b;\n return (_b = chartData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData.aggregatedDataCategoryList.reduce(function (acc, curr) {\n var _a, _b;\n if (curr.dataValue >= 0 && acc[curr.dataSourceColumnDefinition.category.toLowerCase()]) {\n acc[curr.dataSourceColumnDefinition.category.toLowerCase()][0].data.push({\n name: curr.dataSourceColumnDefinition.uiName,\n value: processStatisticValue(curr.dataValue, (_a = chartData.data) === null || _a === void 0 ? void 0 : _a.mapStatisticResponsingData.percentage, statistic),\n key: curr.dataSourceColumnDefinition.id,\n prefix: statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.preUnit,\n suffix: ((_b = chartData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData.percentage) ? '%' : '',\n });\n }\n return acc;\n }, (_a = {}, _a[DemographicTypeEnum.Sex] = [{ data: [] }], _a[DemographicTypeEnum.Race] = [{ data: [] }], _a[DemographicTypeEnum.Age] = [{ data: [] }], _a));\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [chartData.data]);\n return __spreadArrays([\n __assign(__assign({}, chartData), { data: data })\n ], res);\n};\nexport var useChartData = function () {\n var statisticChartData = useStatisticData();\n var aggregatedChartData = useAggregatedData();\n var filterSettings = useFilterSetting();\n var _a = filterSettings.isAggregatedDataSource ? aggregatedChartData : statisticChartData, data = _a[0], fetchData = _a[1], res = _a.slice(2);\n var fetchDataWrapper = useCallback(function () {\n var _a;\n if (filterSettings.forceUpdate) {\n var ageRanges = (_a = filterSettings.demographics) === null || _a === void 0 ? void 0 : _a.ages;\n var payload = exportFilterSettingPayload(filterSettings);\n fetchData(__assign(__assign({}, payload), { displayOption: {\n displayOptionType: ViewModeEnum.Chart,\n mapView: { type: GeoLevelEnum.Zip5 },\n chartView: {\n type: ChartViewEnum.Demographic,\n ageRanges: (ageRanges === null || ageRanges === void 0 ? void 0 : ageRanges.length) ? ageRanges : ALL_AGE_VALUES,\n },\n } }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterSettings.forceUpdate]);\n return __spreadArrays([data, fetchDataWrapper], res);\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useCallback, useState } from 'react';\nimport styled from 'styled-components';\nimport { components } from 'react-select';\nimport { useViewValue, useFilterSetting } from '../state';\nimport { Select } from '../common';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../enums';\nimport { getDisplayText } from '../utils';\nimport { useLookupState, useLookupZipCodeDistrict, LookupMSAComponent, useLookupMSA, LookupCountyComponent, useLookupCounty, } from '../lookupdata';\nimport { useEffectFilterSettingCount } from './useeffectfiltercount';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useViewport } from '../map';\nimport { useFilterCount } from '../filterdialog';\nvar EXCLUDE_STATE_COUNT_INDEXES = ['lupus', 'fluvaccine'];\nvar StyledParentOption = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledChildOption = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar usePatientCountForState = function () {\n var indexConfig = useHostnameIndexInfo();\n var _a = useFilterCount('STATE_CODE', indexConfig), countData = _a[0], res = _a.slice(1);\n var filterSetting = useFilterSetting();\n var formatOptionLabel = useCallback(function (i) {\n var _a;\n var showLabelCount = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && !filterSetting.isAggregatedDataSource\n // NMQF-2098: Skip filter count for STATE_CODE in Lupus index\n && !EXCLUDE_STATE_COUNT_INDEXES.includes(indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname);\n return \"\" + i.stateName + (showLabelCount ? \" (\" + getDisplayText((_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.stateCode]) + \")\" : '');\n }, [countData.data, filterSetting.isAggregatedDataSource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname]);\n return __spreadArrays([__assign(__assign({}, countData), { formatOptionLabel: formatOptionLabel })], res);\n};\nvar transformLookupStateForGeoId = function (i, suffix) {\n if (suffix === void 0) { suffix = ''; }\n return (__assign(__assign({}, i), { value: \"\" + parseInt(i.stateCode, 10) + suffix, label: i.stateName }));\n};\nvar useCombineTwoGeoLevel = function (dataByStateCode, sortFn, transformFn, isCombineKey, key) {\n if (isCombineKey === void 0) { isCombineKey = true; }\n var lookupState = useLookupState()[0];\n var countData = usePatientCountForState()[0];\n var _a = useState([]), options = _a[0], setOptions = _a[1];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n useEffect(function () {\n var _a;\n setOptions((_a = lookupState.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return !singleState || parseInt(i.stateCode, 10) === singleState.stateCode; }).flatMap(function (i) {\n var _a, _b;\n var parent = transformLookupStateForGeoId(i, '-');\n var data = key ? (_a = dataByStateCode.data) === null || _a === void 0 ? void 0 : _a[key] : dataByStateCode.data;\n var children = (_b = data === null || data === void 0 ? void 0 : data[i.stateCode]) === null || _b === void 0 ? void 0 : _b.sort(sortFn).map(function (child) {\n var transformedChild = transformFn(child);\n var childValue = (\"\" + transformedChild.value).replace(/^0+(\\d+)$/, '$1');\n return __assign(__assign({}, transformedChild), { value: isCombineKey ? \"\" + parent.value + childValue : childValue, parent: parent });\n });\n return (children === null || children === void 0 ? void 0 : children.length) ? __spreadArrays([__assign(__assign({}, parent), { children: children })], children) : [];\n }));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupState.data, dataByStateCode.data]);\n var formatOptionLabel = function (i) { var _a; return (((_a = i.children) === null || _a === void 0 ? void 0 : _a.length) ? countData.formatOptionLabel(i) : i.label); };\n return {\n options: options,\n noSort: true,\n isLoading: lookupState.requesting || dataByStateCode.requesting,\n components: { Option: Option },\n formatOptionLabel: formatOptionLabel,\n };\n};\nvar useZipCodeDistrictSelectProps = function (key, isCombineKey) {\n var dataByStateCode = useLookupZipCodeDistrict()[0];\n var sortFn = function (a, b) { return (\"\" + a).padStart(5, '0').localeCompare((\"\" + b).padStart(5, '0')); };\n var transformFn = function (value) { return ({ value: value, label: value }); };\n return useCombineTwoGeoLevel(dataByStateCode, sortFn, transformFn, isCombineKey, key);\n};\nvar Option = function (props) {\n var _a;\n var StyledOption = ((_a = props.data.children) === null || _a === void 0 ? void 0 : _a.length) ? StyledParentOption : StyledChildOption;\n return (React.createElement(components.Option, __assign({}, props),\n React.createElement(StyledOption, null, props.children)));\n};\nvar SingleValue = function (props) {\n return (React.createElement(components.SingleValue, __assign({}, props),\n props.data.parent && React.createElement(\"b\", null,\n props.data.parent.label,\n \"\\u00A0\"),\n props.data.label));\n};\nvar GeoSelectComponent = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var _b = useViewValue('mapView', 'zoomId'), setZoomId = _b[1];\n var _c = useViewport(), resetViewport = _c[2];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : null;\n var handleChange = function (id) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail, id: id });\n setZoomId(id);\n if (!id) {\n resetViewport();\n }\n };\n return (React.createElement(Select, __assign({}, props, { components: __assign(__assign({}, props.components), { SingleValue: SingleValue }), isClearable: true, width: \"17\", name: \"selectId\", indicatorIcon: \"search\", value: selectedId, onChange: handleChange })));\n};\nvar ZipCodeComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('zipCode5ByState', false);\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or Zip Code\" }, selectProps));\n};\nvar Zip3Component = function () {\n var selectProps = useZipCodeDistrictSelectProps('zipCode3ByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or Zip Code\" }, selectProps));\n};\nvar CongrestionalComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('congressionalDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar StateUpperComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('upperHouseDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar StateLowerComponent = function () {\n var selectProps = useZipCodeDistrictSelectProps('lowerHouseDistrictByState');\n return React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or District\" }, selectProps));\n};\nvar CountyComponent = function () {\n var countyData = useLookupCounty()[0];\n var sortFn = function (a, b) { return a.countyName.toLowerCase().localeCompare(b.countyName.toLowerCase()); };\n var transformFn = function (i) { return ({ value: i.countyCode, label: i.countyName }); };\n var selectProps = useCombineTwoGeoLevel(countyData, sortFn, transformFn);\n return (React.createElement(React.Fragment, null,\n React.createElement(GeoSelectComponent, __assign({ placeholder: \"Search State or County\" }, selectProps)),\n React.createElement(LookupCountyComponent, null)));\n};\nvar StateComponent = function () {\n var lookupState = useLookupState()[0];\n var countData = usePatientCountForState()[0];\n return (React.createElement(GeoSelectComponent, { placeholder: \"Search State\", isLoading: lookupState.requesting, options: lookupState.data, optionsTransform: function (i) { return transformLookupStateForGeoId(i); }, formatOptionLabel: countData.formatOptionLabel }));\n};\nvar MSAComponent = function () {\n var _a;\n var lookupMsa = useLookupMSA()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var re = new RegExp(\"^[^,]*,.*(?: |-)(\" + (singleState === null || singleState === void 0 ? void 0 : singleState.stateAbb) + \")(?:$| |-)\");\n var options = singleState ? (_a = lookupMsa.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return re.test(i.msaName); }) : lookupMsa.data;\n return (React.createElement(React.Fragment, null,\n React.createElement(GeoSelectComponent, { placeholder: \"Search MSA\", isLoading: lookupMsa.requesting, options: options, optionsTransform: function (i) { return ({ value: i.msaNumber, label: i.msaName }); } }),\n React.createElement(LookupMSAComponent, null)));\n};\nvar SEARCH_COMPONENT_BY_GEO = (_a = {},\n _a[GeoLevelEnum.Zip5] = ZipCodeComponent,\n _a[GeoLevelEnum.Zip3] = Zip3Component,\n _a[GeoLevelEnum.State] = StateComponent,\n _a[GeoLevelEnum.County] = CountyComponent,\n _a[GeoLevelEnum.MSA] = MSAComponent,\n _a[GeoLevelEnum.Congressional] = CongrestionalComponent,\n _a[GeoLevelEnum.StateUpper] = StateUpperComponent,\n _a[GeoLevelEnum.StateLower] = StateLowerComponent,\n _a);\nexport var GeoSearchComponent = function () {\n var _a = usePatientCountForState(), fetchPatientCountForState = _a[1];\n var geoLevel = useViewValue('geoType')[0];\n var SearchCoponent = geoLevel && SEARCH_COMPONENT_BY_GEO[geoLevel];\n useEffectFilterSettingCount(function (body, indexConfig) {\n // NMQF-2098: Skip filter count for STATE_CODE in Lupus index\n if (!EXCLUDE_STATE_COUNT_INDEXES.includes(indexConfig.hostname)) {\n fetchPatientCountForState(body);\n }\n });\n return React.createElement(React.Fragment, null, SearchCoponent && React.createElement(SearchCoponent, null));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport styled from 'styled-components';\nimport { components } from 'react-select';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useViewValue, useFilterValue, useFilterSetting } from '../state';\nimport { VIEW_MODES, CHART_VIEW_OPTIONS } from '../configs';\nimport { DropdownToggleIcon, DropdownItem, Select } from '../common';\nimport { ViewModeEnum, ChartViewEnum, RightPanelTypeEnum } from '../enums';\nimport { GeoSearchComponent } from './geosearch';\nimport { useAggregatedGeoLevel } from '../filterdialog/aggregateddatasource';\nimport { getStatisticShortName, GEO_LEVELS } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks';\nvar DisplayOption = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) {\\n margin-left: auto;\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) {\\n margin-left: auto;\\n }\\n\"])));\nvar StyledViewModeOption = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0 0.5rem;\\n display: flex;\\n color: #000;\\n display: flex;\\n align-items: center;\\n\"], [\"\\n padding: 0 0.5rem;\\n display: flex;\\n color: #000;\\n display: flex;\\n align-items: center;\\n\"])));\nvar SearchLabel = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #fff;\\n margin-right: 0.5rem;\\n\"], [\"\\n color: #fff;\\n margin-right: 0.5rem;\\n\"])));\nvar StyledComponentWithScreen = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n @media only screen and (max-width: 720px) {\\n display: none;\\n }\\n\"], [\"\\n @media only screen and (max-width: 720px) {\\n display: none;\\n }\\n\"])));\nexport var MapViewOption = function () {\n var viewMode = useViewValue('viewMode')[0];\n var _a = useViewValue('geoType'), geoLevel = _a[0], setGeoLevel = _a[1];\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var filterSettings = useFilterSetting();\n var aggregatedGeoLevelData = useAggregatedGeoLevel(filterSettings)[0];\n var availableGeography = useGeneralConfigByDataSource('availableGeography');\n var isOptionDisabled = function (option) { var _a; return !!filterSettings.isAggregatedDataSource && !((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.some(function (i) { return i === option.value; })); };\n var isOptionDisabledByGeneralConfig = function (option) { return Array.isArray(availableGeography) && !availableGeography.includes(option.value); };\n var handleChangeGeoLevel = function (value) {\n setGeoLevel(value);\n if (value !== geoLevel && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n };\n if (viewMode !== ViewModeEnum.Map && viewMode !== ViewModeEnum.Table)\n return null;\n return (React.createElement(StyledViewModeOption, null,\n viewMode === ViewModeEnum.Map && (React.createElement(React.Fragment, null,\n React.createElement(SearchLabel, null, \"Show\"),\n React.createElement(Select, { minMenuHeight: 330, maxMenuHeight: 500, width: \"16\", className: \"mr-1\", name: \"geoLevel\", options: GEO_LEVELS, noSort: true, value: geoLevel, onChange: handleChangeGeoLevel, isOptionDisabled: isOptionDisabledByGeneralConfig || isOptionDisabled }))),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(GeoSearchComponent, null))));\n};\nvar StyledCheckIcon = styled(FontAwesomeIcon)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n position: absolute;\\n left: 1.25rem;\\n\"], [\"\\n position: absolute;\\n left: 1.25rem;\\n\"])));\nvar StyleSelectChartView = styled(Select)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n max-width: calc(100vw - 7rem);\\n\"], [\"\\n max-width: calc(100vw - 7rem);\\n\"])));\nvar ChartViewSearchOption = function (props) {\n return (React.createElement(components.Option, __assign({}, props, { className: props.data.isParent ? 'font-weight-bold' : 'pl-5 position-relative' }),\n props.data.checked && React.createElement(StyledCheckIcon, { className: \"position-absolute\", icon: \"check\" }),\n props.children));\n};\nvar ChartViewDemographicValue = function (props) {\n var _a;\n var demographics = useViewValue('chartView', 'demographics')[0];\n var childrenName = (_a = props.data.children) === null || _a === void 0 ? void 0 : _a.filter(function (child) { return demographics === null || demographics === void 0 ? void 0 : demographics.some(function (v) { return v === child.value; }); }).map(function (child) { return child.label; }).join(', ');\n return (React.createElement(components.SingleValue, __assign({}, props),\n React.createElement(\"b\", null, props.children),\n \"\\u00A0\",\n React.createElement(\"span\", null, childrenName)));\n};\nvar ChartViewTrendValue = function (props) {\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n return (React.createElement(components.SingleValue, __assign({}, props),\n React.createElement(\"b\", null, props.children),\n \"\\u00A0\",\n React.createElement(\"span\", null,\n \"Yearly \",\n statisticName)));\n};\nexport var ChartViewOption = function () {\n var viewMode = useViewValue('viewMode')[0];\n var _a = useViewValue('chartView', 'type'), chartViewType = _a[0], setChartViewType = _a[1];\n var _b = useViewValue('chartView', 'demographics'), demographics = _b[0], setDemographics = _b[1];\n var selectingChildrenMap = useMemo(function () {\n var _a;\n return (_a = {},\n _a[ChartViewEnum.Demographic] = [demographics, setDemographics],\n _a[ChartViewEnum.Trends] = undefined,\n _a);\n }, [demographics, setDemographics]);\n var options = useMemo(function () {\n return CHART_VIEW_OPTIONS.flatMap(function (option) {\n var childrenSelecting = (selectingChildrenMap[option.value] || [])[0];\n return __spreadArrays([\n __assign(__assign({}, option), { isParent: true })\n ], (option.children || []).map(function (child) { return (__assign(__assign({}, child), { parent: option, checked: childrenSelecting === null || childrenSelecting === void 0 ? void 0 : childrenSelecting.some(function (v) { return v === child.value; }) })); }));\n });\n }, [selectingChildrenMap]);\n var handleChange = function (value, name, values) {\n var _a, _b;\n if (values.isParent) {\n setChartViewType(value);\n }\n else {\n var _c = selectingChildrenMap[values.parent.value] || [], childrenSelecting_1 = _c[0], setter = _c[1];\n var isChecking = !!(childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return v === value; }));\n if (isChecking) {\n setter === null || setter === void 0 ? void 0 : setter((_a = values.parent.children) === null || _a === void 0 ? void 0 : _a.filter(function (option) { return (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.length) === 1 || (option.value !== value && (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return option.value === v; }))); }).map(function (option) { return option.value; }));\n }\n else {\n setter === null || setter === void 0 ? void 0 : setter((_b = values.parent.children) === null || _b === void 0 ? void 0 : _b.filter(function (option) { return option.value === value || (childrenSelecting_1 === null || childrenSelecting_1 === void 0 ? void 0 : childrenSelecting_1.some(function (v) { return option.value === v; })); }).map(function (option) { return option.value; }));\n }\n }\n };\n if (viewMode !== ViewModeEnum.Chart)\n return null;\n return (React.createElement(StyledViewModeOption, null,\n React.createElement(SearchLabel, null, \"Show\"),\n React.createElement(StyleSelectChartView, { name: \"chartViewType\", width: \"22\", options: options, noSort: true, value: chartViewType, onChange: handleChange, indicatorIcon: \"search\", components: {\n Option: ChartViewSearchOption,\n SingleValue: chartViewType === ChartViewEnum.Demographic ? ChartViewDemographicValue : ChartViewTrendValue,\n }, isOptionDisabled: function (i) { return !!i.parent && chartViewType !== i.parent.value; } })));\n};\nexport var ViewModeComponent = function () {\n var _a = useViewValue('viewMode'), viewMode = _a[0], setViewMode = _a[1];\n var selectingOption = VIEW_MODES[viewMode];\n return (React.createElement(UncontrolledDropdown, null,\n React.createElement(DropdownToggleIcon, { icon: selectingOption.icon, size: \"2x\", caret: true, title: \"Change view\", placement: \"top\" }),\n React.createElement(DropdownMenu, { right: true }, Object.values(VIEW_MODES).map(function (opt) { return (React.createElement(DropdownItem, { key: opt.value, icon: opt.icon, label: opt.label, value: opt.value, onChange: setViewMode })); }))));\n};\nexport var DisplayOptionComponent = function () {\n return (React.createElement(DisplayOption, null,\n React.createElement(MapViewOption, null),\n React.createElement(ChartViewOption, null),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(ViewModeComponent, null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { DropdownItem, DropdownMenu, UncontrolledDropdown } from 'reactstrap';\nimport moment from 'moment';\nimport { Authenticated, useAuth } from '../authentication';\nimport { DropdownToggleIcon } from '../common';\nimport { ClinicalTrialOptionEnum, RoleEnum, ViewModeEnum } from '../enums';\nimport { exportFilterSettingPayload, useFilterSetting, useViewSetting, useViewValue } from '../state';\nimport { useMapRef, useMapValue } from '../map';\nimport styled from 'styled-components';\nimport { getGeoLevelLabel, getStatisticShortName } from '../lookupdata';\nimport { useExport } from '../export';\nimport { useProviderSetting } from '../selectors';\nvar EXPORT_CSV_API = '/api/provider/export-csv';\nvar EXPORT_CLINICAL_TRIAL_CSV_API = '/api/clinical-trials/export-to-excel-file';\nvar EXPORT_QUEST_DIAGNOSTICS_SIE_CSV_API = '/api/quest-diagnostics/export-to-excel-file';\nvar StyledDropdownItem = styled(DropdownItem)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-left: 3rem;\\n position: relative;\\n\"], [\"\\n padding-left: 3rem;\\n position: relative;\\n\"])));\nexport var ProviderDownloadButton = function () {\n var auth = useAuth();\n var filterSetting = useFilterSetting();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var editorRef = useMapValue('editorRef')[0];\n var providerSetting = useProviderSetting()[0];\n var _a = providerSetting || {}, doGetPrimaryCareProvider = _a.doGetPrimaryCareProvider, doGetHospitalProvider = _a.doGetHospitalProvider, specialistProviders = _a.specialistProviders, available = _a.available;\n var show = available && viewMode === ViewModeEnum.Map;\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { providerParam: {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(),\n dateTimeStringForExportingCsv: moment().format('YYYYMMDD HHmmss'),\n polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1),\n } })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!show)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Providers\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Patient Demographics for Providers in Region\")));\n};\nexport var ClinicalTrialDownloadButton = function () {\n var auth = useAuth();\n var filterSetting = useFilterSetting();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var clinicalTrialOption = useViewValue('clinicalTrial', 'clinicalTrialOption')[0];\n var filterRecruitmentStatuses = useViewValue('clinicalTrialStatus', 'filterRecruitmentStatuses')[0];\n var editorRef = useMapValue('editorRef')[0];\n var show = !!clinicalTrialOption;\n show = show && viewMode === ViewModeEnum.Map;\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_CLINICAL_TRIAL_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { primaryCoMorbidities: clinicalTrialOption === ClinicalTrialOptionEnum.AllTrials ? undefined : filterSetting.primaryCoMorbidities, bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(), currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1), filterRecruitmentStatuses: filterRecruitmentStatuses })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!show)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Clinical Trials\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Trials in Region\")));\n};\nexport var QuestDiagnosticsSitesDownloadButton = function () {\n var auth = useAuth();\n var checkedQuestDiagnosticsStatus = useViewValue('checkedQuestDiagnosticsStatus')[0];\n var filterSetting = useFilterSetting();\n var viewMode = useViewValue('viewMode')[0];\n var mapRef = useMapRef();\n var editorRef = useMapValue('editorRef')[0];\n var onClick = function () {\n var _a, _b, _c;\n var payload = exportFilterSettingPayload(filterSetting);\n var form = document.createElement('form');\n form.action = EXPORT_QUEST_DIAGNOSTICS_SIE_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify(__assign(__assign({}, payload), { bottomLeftAndTopRightLngLatBound: (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap().getBounds().toArray(), currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, polygonPoints: (_c = (_b = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _b === void 0 ? void 0 : _b.getFeatures()[0]) === null || _c === void 0 ? void 0 : _c.geometry.coordinates[0].map(function (_a) {\n var lng = _a[0], lat = _a[1];\n return ({ lng: lng, lat: lat });\n }).slice(1) })),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!checkedQuestDiagnosticsStatus || viewMode !== ViewModeEnum.Map)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Quest Diagnostics Sites\"),\n React.createElement(StyledDropdownItem, { onClick: onClick }, \"Quest Diagnostics in Region\")));\n};\nexport var BeneficiaryExportButton = function () {\n var _a;\n var filterSetting = useFilterSetting();\n var viewSetting = useViewSetting();\n var geoLevel = viewSetting.geoType;\n var geoLevelLabel = getGeoLevelLabel(geoLevel);\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var statisticName = getStatisticShortName(statistic);\n var _b = useExport(), disabled = _b[0], handleExport = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Beneficiaries\"),\n React.createElement(StyledDropdownItem, { onClick: handleExport, disabled: disabled },\n statisticName,\n \" by \",\n geoLevelLabel)));\n};\nexport var DownloadButton = function (props) {\n return (React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.GeneralUser, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(UncontrolledDropdown, null,\n React.createElement(DropdownToggleIcon, { icon: \"cloud-download-alt\", size: \"2x\", placement: \"top\", title: \"Download data\" }),\n React.createElement(DropdownMenu, null,\n React.createElement(BeneficiaryExportButton, null),\n props.children))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState } from 'react';\nimport { useLocation } from 'react-router-dom';\nimport styled from 'styled-components';\nimport { IconButton } from '../common';\nimport { ViewModeEnum } from '../enums';\nimport { useViewValue } from '../state';\nimport { DisplayOptionComponent, ViewModeComponent } from './displayoption';\nimport { GeoSearchComponent } from './geosearch';\nimport { ShareLinkButton } from './sharelinkbutton';\nvar StyledFilterBar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 100%;\\n display: flex;\\n align-items: center;\\n padding: 0.75rem;\\n // box-shadow: 0 5px 10px -5px;\\n flex: 0 0 auto !important;\\n min-width: 17rem;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 599;\\n color: #fff;\\n\"], [\"\\n width: 100%;\\n display: flex;\\n align-items: center;\\n padding: 0.75rem;\\n // box-shadow: 0 5px 10px -5px;\\n flex: 0 0 auto !important;\\n min-width: 17rem;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 599;\\n color: #fff;\\n\"])));\nvar Separator = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n align-self: stretch;\\n background-color: #fff;\\n width: 1px;\\n margin: 0.25rem 0.5rem;\\n display: none;\\n\\n @media only screen and (max-width: 720px) {\\n display: block;\\n border-bottom: 1px solid #ffffff;\\n width: 19.5rem;\\n }\\n\"], [\"\\n align-self: stretch;\\n background-color: #fff;\\n width: 1px;\\n margin: 0.25rem 0.5rem;\\n display: none;\\n\\n @media only screen and (max-width: 720px) {\\n display: block;\\n border-bottom: 1px solid #ffffff;\\n width: 19.5rem;\\n }\\n\"])));\nvar LeftSide = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n flex: auto;\\n display: flex;\\n justify-content: left;\\n align-items: center;\\n\"], [\"\\n flex: auto;\\n display: flex;\\n justify-content: left;\\n align-items: center;\\n\"])));\nvar RightSide = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"], [\"\\n flex: 0;\\n display: flex;\\n align-items: center;\\n justify-content: flex-end;\\n\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"])));\nvar Navbar = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n flex-grow: 1;\\n\\n @media only screen and (max-width: 720px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n flex-direction: column;\\n align-items: flex-start;\\n \", \"\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n flex-grow: 1;\\n\\n @media only screen and (max-width: 720px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n flex-direction: column;\\n align-items: flex-start;\\n \", \"\\n }\\n\"])), function (_a) {\n var show = _a.show;\n return show ? 'display: flex;' : '';\n});\nvar HamburgerButton = styled(IconButton)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n display: none;\\n\\n @media only screen and (max-width: 940px) {\\n display: flex;\\n }\\n\"], [\"\\n display: none;\\n\\n @media only screen and (max-width: 940px) {\\n display: flex;\\n }\\n\"])));\nvar ListIcon = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) and (max-width: 940px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n align-items: flex-start;\\n \", \"\\n }\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\\n @media only screen and (min-width: 721px) and (max-width: 940px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n padding-left: 2rem;\\n padding-bottom: 0.5rem;\\n top: 3.875rem;\\n width: 100%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n align-items: flex-start;\\n \", \"\\n }\\n\"])), function (_a) {\n var show = _a.show;\n return show ? 'display: flex;' : '';\n});\nvar StyledComponentWithScreen = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"], [\"\\n @media only screen and (min-width: 721px) {\\n display: none;\\n }\\n\"])));\nexport var FilterBar = function (props) {\n var location = useLocation();\n var viewMode = useViewValue('viewMode')[0];\n var _a = useState(false), show = _a[0], setShow = _a[1];\n return (React.createElement(StyledFilterBar, null,\n React.createElement(LeftSide, null,\n React.createElement(HamburgerButton, { icon: show ? 'times' : 'bars', size: '2x', onClick: function () { return setShow(!show); } }),\n React.createElement(Navbar, { show: show },\n React.createElement(ListIcon, { show: show },\n React.createElement(IconButton, { icon: \"filter\", size: \"2x\", onClick: function () { return props.toggleFilterDialog(); }, title: \"Set filter criteria\", placement: \"top\" }),\n props.children,\n React.createElement(ShareLinkButton, null),\n React.createElement(IconButton, { icon: \"share\", size: \"2x\", tag: \"a\", href: location.search, target: \"_blank\", rel: \"opener\", title: \"Open current view in new tab\", placement: \"top\" }),\n React.createElement(StyledComponentWithScreen, null,\n React.createElement(ViewModeComponent, null))),\n React.createElement(Separator, null),\n React.createElement(DisplayOptionComponent, null))),\n React.createElement(RightSide, null, (viewMode === ViewModeEnum.Map || viewMode === ViewModeEnum.Table) && React.createElement(GeoSearchComponent, null))));\n};\nexport * from './downloadbutton';\nexport * from './useeffectfiltercount';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Tooltip } from 'reactstrap';\nimport { IconButton } from '../common';\nimport { useShareableLink } from '../storeduivalue';\nexport var ShareLinkButton = function (props) {\n var btnRef = useRef(null);\n var _a = useState(false), isOpenNotify = _a[0], setIsOpenNotify = _a[1];\n var _b = useShareableLink(), shareableLinkData = _b[0], fetchShareableLinkData = _b[1], clearShareableLinkData = _b[2];\n var isUnmounted = useRef(false);\n useEffect(function () {\n isUnmounted.current = false;\n return function () {\n isUnmounted.current = true;\n };\n }, []);\n useEffect(function () {\n if (isOpenNotify) {\n var handler_1 = setTimeout(setIsOpenNotify, 3000, false);\n return function () { return clearTimeout(handler_1); };\n }\n }, [isOpenNotify]);\n useEffect(function () {\n var createClipboardLink = function (url) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, navigator.clipboard.writeText(url)];\n case 1:\n _a.sent();\n if (!isUnmounted.current) {\n setIsOpenNotify(true);\n }\n return [2 /*return*/];\n }\n });\n }); };\n if (shareableLinkData.data) {\n createClipboardLink(shareableLinkData.data);\n return clearShareableLinkData;\n }\n }, [clearShareableLinkData, shareableLinkData.data]);\n return (React.createElement(React.Fragment, null,\n React.createElement(\"div\", { ref: btnRef },\n React.createElement(IconButton, { loading: shareableLinkData.requesting, icon: \"link\", size: \"2x\", onClick: fetchShareableLinkData, title: \"Copy link of current view to clipboard\" })),\n btnRef.current && (React.createElement(Tooltip, { isOpen: isOpenNotify, target: btnRef.current, placement: \"bottom-start\", hideArrow: true }, \"A link to this view was copied to your clipboard.\"))));\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport bbox from '@turf/bbox';\nimport intersect from '@turf/intersect';\nimport { useViewSetting, useFilterSetting, useFilterValue } from '../state';\nimport { ViewModeEnum, ChartViewEnum, DemographicTypeEnum } from '../enums';\nimport { DATA_SOURCES } from '../configs';\nimport { useLookupCondition, getStatisticShortName, useLookupSexCode, useLookupRaceCode, useLookupZipCodeDistrict, useCMSDataYear, useLookupState, AGE_OPTIONS, getAgeLabel, stringifyAgeValue, } from '../lookupdata';\nimport { useSelectedGeoIdInfo } from '../map/geoselectedinfo';\nimport { useMapData } from '../map/patientchoroplethlayer/usemapdata';\nimport { useMapRef, useMapValue, useSelectedGeoJson } from '../map';\nimport { useChartData } from '../demographicchart/usechartdata';\nimport { useTrendLineData } from '../trendline/usetrendlinedata';\nimport { getDisplayText } from '../utils';\nimport { useExtractTableData } from '../tableview';\nexport var exportCSV = function (data, fileName) {\n var processCell = function (cell) { return (cell === null ? '' : \"\\\"\" + cell.toString().replace(/\"/g, '\"\"') + \"\\\"\"); };\n var processRow = function (row) { return row.map(processCell).join(','); };\n var csvFile = data.map(processRow).join('\\n');\n var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });\n var encodedUri = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = encodedUri;\n link.download = fileName + \".csv\";\n link.click();\n};\nexport var useFileName = function () {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n var filterSettings = useFilterSetting();\n var viewSettings = useViewSetting();\n var lookupCondition = useLookupCondition(filterSettings.comorbidities)[0];\n var csvNameArr = [];\n var selectedGeoInfo = useSelectedGeoIdInfo(viewSettings);\n if (viewSettings.viewMode !== ViewModeEnum.Chart || ((_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.type) !== ChartViewEnum.Trends) {\n csvNameArr.push(filterSettings.dataYear);\n }\n var dataSource = (_b = filterSettings.statistic) === null || _b === void 0 ? void 0 : _b.cmsDataSource;\n csvNameArr.push(filterSettings.isAggregatedDataSource ? filterSettings.dataSourceName : dataSource && DATA_SOURCES[dataSource].abbreviation);\n if (!filterSettings.isAggregatedDataSource) {\n csvNameArr.push((_c = lookupCondition.labeledValues) === null || _c === void 0 ? void 0 : _c.slice(0, 2).map(function (option) { return option.chronicConditionName; }).join(' '));\n }\n csvNameArr.push(getStatisticShortName((_d = filterSettings.statistic) === null || _d === void 0 ? void 0 : _d.statisticOption));\n if (viewSettings.viewMode === ViewModeEnum.Map || viewSettings.viewMode === ViewModeEnum.Table) {\n csvNameArr.push(selectedGeoInfo.join('-'));\n }\n else if (((_e = viewSettings.chartView) === null || _e === void 0 ? void 0 : _e.type) === ChartViewEnum.Demographic) {\n csvNameArr.push('Demographics');\n csvNameArr.push((_f = viewSettings.chartView.demographics) === null || _f === void 0 ? void 0 : _f.join(''));\n }\n else {\n csvNameArr.push('Trends');\n csvNameArr.push(((_g = viewSettings.chartView) === null || _g === void 0 ? void 0 : _g.startingYear) + \"-\" + ((_h = viewSettings.chartView) === null || _h === void 0 ? void 0 : _h.endingYear));\n }\n csvNameArr.push(new Date().toISOString().slice(0, 10).replace(/-/g, ''));\n return csvNameArr.map(function (partName) { return (\"\" + partName).toLowerCase().replace(/[ /]/g, ''); }).join('_');\n};\nvar useExportGeoData = function (viewMode) {\n var _a;\n var mapData = useMapData()[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var lookupState = useLookupState()[0];\n var lookupGeo = useLookupZipCodeDistrict()[0];\n var extractTableData = useExtractTableData();\n var mapRef = useMapRef();\n var editorRef = useMapValue('editorRef')[0];\n var disabled = mapData.requesting || !!mapData.error || !((_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features.length) || !lookupState.data || !lookupGeo.data;\n var getExportData = function () {\n var _a, _b;\n var intersectionIds;\n var poly = (_a = editorRef === null || editorRef === void 0 ? void 0 : editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures()[0];\n if (viewMode === ViewModeEnum.Map && poly) {\n try {\n var _c = bbox(poly), minLng = _c[0], minLat = _c[1], maxLng = _c[2], maxLat = _c[3];\n var map = (_b = mapRef.current) === null || _b === void 0 ? void 0 : _b.getMap();\n var selectedFeatures = map === null || map === void 0 ? void 0 : map.queryRenderedFeatures([map.project([minLng, minLat]), map.project([maxLng, maxLat])], {\n layers: ['patientchoroplethlayer'],\n });\n intersectionIds = selectedFeatures === null || selectedFeatures === void 0 ? void 0 : selectedFeatures.reduce(function (acc, _a) {\n var _b;\n var properties = _a.properties;\n var id = properties.id;\n var feature = (_b = geoJsonData.mapFeature) === null || _b === void 0 ? void 0 : _b[id];\n if (feature && intersect(poly, feature)) {\n acc[id] = id;\n }\n return acc;\n }, Object.assign({}));\n }\n catch (e) {\n console.error(e);\n }\n }\n var _d = extractTableData(intersectionIds), columns = _d[0], data = _d[1];\n var header = columns.map(function (col) { return col.text; });\n var rows = data.map(function (row) { return columns.map(function (col) { return row[col.dataField].displayText; }); });\n return __spreadArrays([header], rows);\n };\n return [disabled, getExportData];\n};\nvar useExportDemographicChartData = function () {\n var _a, _b, _c;\n var demographicChartData = useChartData()[0];\n var lookupSex = useLookupSexCode()[0];\n var filterSettings = useFilterSetting();\n var lookupRace = useLookupRaceCode(filterSettings.raceMethodology)[0];\n var viewSettings = useViewSetting();\n var customAge = ((_c = (_b = (_a = filterSettings.demographics) === null || _a === void 0 ? void 0 : _a.ages) === null || _b === void 0 ? void 0 : _b[0]) === null || _c === void 0 ? void 0 : _c.isCustom) ? filterSettings.demographics.ages[0] : undefined;\n var disabled = demographicChartData.requesting || !!demographicChartData.error || !lookupSex.data || !lookupRace.data;\n var getExportData = function () {\n var _a, _b;\n var header = [];\n var row = [];\n (_b = (_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.demographics) === null || _b === void 0 ? void 0 : _b.forEach(function (type) {\n var _a;\n var data = (_a = demographicChartData.data) === null || _a === void 0 ? void 0 : _a[type][0].data;\n if (filterSettings.isAggregatedDataSource) {\n data === null || data === void 0 ? void 0 : data.forEach(function (item) {\n header.push(item.name);\n row.push(getDisplayText(item.value, item.suffix, item.prefix));\n });\n }\n else {\n var targetLookup = type === DemographicTypeEnum.Sex\n ? lookupSex.data\n : type === DemographicTypeEnum.Race\n ? lookupRace.data\n : __spreadArrays(AGE_OPTIONS, [{ value: customAge && stringifyAgeValue(customAge), label: \"Custom \" + getAgeLabel(customAge) }]);\n targetLookup === null || targetLookup === void 0 ? void 0 : targetLookup.forEach(function (option) {\n header.push(option.label);\n var item = data === null || data === void 0 ? void 0 : data.find(function (_a) {\n var id = _a.id;\n return id === (option.stringified || option.value);\n });\n row.push(getDisplayText(item === null || item === void 0 ? void 0 : item.value, item === null || item === void 0 ? void 0 : item.suffix, item === null || item === void 0 ? void 0 : item.prefix));\n });\n }\n });\n return [header, row];\n };\n return [disabled, getExportData];\n};\nexport var useExportTrendYearlyData = function () {\n var dataSource = useFilterValue('statistic', 'cmsDataSource')[0];\n var yearData = useCMSDataYear(dataSource)[0];\n var trendData = useTrendLineData()[0];\n var disabled = trendData.requesting || !!trendData.error || !yearData.data;\n var getExportData = function () {\n var _a;\n var header = [];\n var row = [];\n (_a = trendData.data) === null || _a === void 0 ? void 0 : _a.forEach(function (i) {\n header.push(\"\" + i.year);\n row.push(getDisplayText(i.value, i.suffix, i.prefix));\n });\n return [header, row];\n };\n return [disabled, getExportData];\n};\nexport var useExport = function () {\n var _a;\n var viewSettings = useViewSetting();\n var exportGeoData = useExportGeoData(viewSettings.viewMode);\n var exportDemographicChartData = useExportDemographicChartData();\n var exportTrendYearlyData = useExportTrendYearlyData();\n var fileName = useFileName();\n var _b = viewSettings.viewMode === ViewModeEnum.Map || viewSettings.viewMode === ViewModeEnum.Table\n ? exportGeoData\n : ((_a = viewSettings.chartView) === null || _a === void 0 ? void 0 : _a.type) === ChartViewEnum.Demographic\n ? exportDemographicChartData\n : exportTrendYearlyData, disabled = _b[0], getExportData = _b[1];\n var handleExport = function () {\n var data = getExportData();\n var processCell = function (cell) { return (cell === null ? '' : \"\\\"\" + cell.toString().replace(/\"/g, '\"\"') + \"\\\"\"); };\n var processRow = function (row) { return row.map(processCell).join(','); };\n var csvFile = data.map(processRow).join('\\n');\n var blob = new Blob([csvFile], { type: 'text/csv;charset=utf-8;' });\n var encodedUri = URL.createObjectURL(blob);\n var link = document.createElement('a');\n link.href = encodedUri;\n link.download = fileName + \".csv\";\n link.click();\n };\n return [disabled, handleExport];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { useAPI } from '../state';\nimport { FallbackComponent } from '../common';\nimport { useMount } from '../hooks';\nimport { useAuth } from '../authentication';\nimport { useState } from 'react';\nvar GET_INDEX_CONFIGURATION_API_URL = '/api/general/get-index-configuration/{hostname}';\nexport var extractHostname = function () {\n return window.location.host.split('.')[0];\n};\nvar useFetchIndexConfiguration = function () {\n var hostname = extractHostname();\n return useAPI(GET_INDEX_CONFIGURATION_API_URL, { hostname: hostname });\n};\nexport var HostNameIndexInfoProvider = function (props) {\n var _a = useFetchIndexConfiguration(), data = _a[0], fetchIndexGeneralInfo = _a[1];\n var auth = useAuth();\n var _b = useState(true), isCheckingToken = _b[0], setIsCheckingToken = _b[1];\n useMount(function () {\n fetchIndexGeneralInfo();\n var refreshToken = function () { return __awaiter(void 0, void 0, void 0, function () {\n var e_1;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 2, , 3]);\n return [4 /*yield*/, auth.refreshToken()];\n case 1:\n _a.sent();\n return [3 /*break*/, 3];\n case 2:\n e_1 = _a.sent();\n return [3 /*break*/, 3];\n case 3:\n setIsCheckingToken(false);\n return [2 /*return*/];\n }\n });\n }); };\n refreshToken();\n });\n return (React.createElement(FallbackComponent, { requesting: isCheckingToken || data.requesting === undefined || data.requesting, error: data.error, retry: fetchIndexGeneralInfo }, props.children));\n};\nexport var useIndexName = function () {\n var data = useFetchIndexConfiguration()[0].data;\n return (data === null || data === void 0 ? void 0 : data.indexName) || '';\n};\nexport var useHostnameIndexInfo = function () {\n return useFetchIndexConfiguration()[0].data;\n};\nexport var useDefaultFilter = function () {\n var data = useFetchIndexConfiguration()[0].data;\n return useMemo(function () {\n var _a, _b, _c, _d, _e;\n return (__assign(__assign({}, data === null || data === void 0 ? void 0 : data.defaultFilter), { comorbidities: [], primaryCoMorbidities: ((_a = data === null || data === void 0 ? void 0 : data.defaultFilter.comorbidities) === null || _a === void 0 ? void 0 : _a.slice(0, 1)) || [], available: data === null || data === void 0 ? void 0 : data.generalInformation.filterOnload, singleStateCode: (_b = data === null || data === void 0 ? void 0 : data.generalInformation.singleState) === null || _b === void 0 ? void 0 : _b.stateCode, singleStateAbb: (_c = data === null || data === void 0 ? void 0 : data.generalInformation.singleState) === null || _c === void 0 ? void 0 : _c.stateAbb, indexPrimaryCoMorbidities: data === null || data === void 0 ? void 0 : data.generalInformation.primaryConditions, reportTypes: data === null || data === void 0 ? void 0 : data.generalInformation.reportTypes, useMBSFChronicCondition: data === null || data === void 0 ? void 0 : data.generalInformation.useMBSFChronicCondition, dataYear: ((_d = data === null || data === void 0 ? void 0 : data.defaultFilter) === null || _d === void 0 ? void 0 : _d.dataYearSeason) ? undefined : (_e = data === null || data === void 0 ? void 0 : data.defaultFilter) === null || _e === void 0 ? void 0 : _e.dataYear }));\n }, [data]);\n};\nexport var HostNameMetaTagManager = function () {\n var indexInfo = useHostnameIndexInfo();\n useEffect(function () {\n if (indexInfo) {\n var _a = indexInfo.generalInformation, indexTitle = _a.indexTitle, indexOwner = _a.indexOwner;\n document.title = \"\" + indexTitle + (indexOwner && \" - \" + indexOwner);\n }\n }, [indexInfo]);\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var FilterSidebarConst = {\n InfluenzaVaccine: {\n tabId: 'influenzavaccinestab',\n title: 'Vaccine',\n },\n Vaccine: {\n tabId: 'vaccinestab',\n title: 'Vaccine',\n },\n PrimaryCondition: {\n tabId: 'primaryConditionTab',\n title: 'Primary Conditions',\n },\n SecondaryCondition: {\n tabId: 'secondaryConditionTab',\n title: 'Secondary Conditions',\n },\n AdditionalCondition: {\n tabId: 'additionalConditionTab',\n title: 'Additional Conditions',\n }\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled, { css } from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTimes } from '@fortawesome/free-solid-svg-icons';\nexport var overlayRule = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n background-color: #fff;\\n position: relative;\\n padding: 0.75rem;\\n border-radius: 0.25rem;\\n\"], [\"\\n background-color: #fff;\\n position: relative;\\n padding: 0.75rem;\\n border-radius: 0.25rem;\\n\"])));\nexport var StyledPanel = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \"\\n \", \"\\n\"], [\"\\n \", \"\\n \", \"\\n\"])), overlayRule, function (_a) {\n var _b = _a.show, show = _b === void 0 ? true : _b;\n return (!show ? 'display:none;' : '');\n});\nvar StyledCloseButton = styled.button(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n \", \"\\n background-color: inherit;\\n padding: 0;\\n position: absolute;\\n cursor: pointer;\\n width: 2rem;\\n height: 2rem;\\n top: -0.85rem;\\n right: -0.85rem;\\n border-radius: 100%;\\n border: 0;\\n &:focus {\\n outline: none;\\n }\\n &:hover {\\n opacity: 0.8;\\n }\\n\"], [\"\\n \", \"\\n background-color: inherit;\\n padding: 0;\\n position: absolute;\\n cursor: pointer;\\n width: 2rem;\\n height: 2rem;\\n top: -0.85rem;\\n right: -0.85rem;\\n border-radius: 100%;\\n border: 0;\\n &:focus {\\n outline: none;\\n }\\n &:hover {\\n opacity: 0.8;\\n }\\n\"])), overlayRule);\nexport var CloseButton = function (props) {\n if (!props.onClick)\n return null;\n return (React.createElement(StyledCloseButton, { onClick: props.onClick },\n React.createElement(FontAwesomeIcon, { icon: faTimes })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { GeoLevelEnum, StatisticTypeEnum } from '../../enums';\nimport { getDisplayText } from '../../utils';\nimport { getStatisticShortName } from '../../lookupdata';\nvar createDataFieldObject = function (fieldName, fieldValue, suffix, prefix, loading) {\n if (suffix === void 0) { suffix = ''; }\n if (prefix === void 0) { prefix = ''; }\n return {\n key: fieldName,\n name: fieldName,\n value: getDisplayText(fieldValue, suffix, prefix),\n originalValue: fieldValue,\n loading: loading,\n };\n};\nfunction getDataFieldsForZip5Digit(props, lookupState, lookupZipCode) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Zip Code', \"\\t\" + props.zipCode));\n dataFields.push(createDataFieldObject('State', lookupZipCode.getStateNameOfZipCode(props.zipCode), undefined, undefined, lookupState.requesting || lookupZipCode.requesting));\n return dataFields;\n}\nvar getDataFieldsForZip3Digit = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Zip Code', \"\\t\" + props.zip3));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateAbb(props.stateAbb), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateLevel = function (props) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State', props === null || props === void 0 ? void 0 : props.name));\n return dataFields;\n};\nvar getDataFieldsForCountyLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('County', props.name));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForMSALevel = function (props) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('MSA', props.name));\n return dataFields;\n};\nvar getDataFieldsForCongressionalLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('US Congress District', props.cd));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateUpperLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State Upper House District', props.sldu));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldsForStateLowerLevel = function (props, lookupState) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('State Lower House District', props.sldl));\n dataFields.push(createDataFieldObject('State', lookupState.getNameByStateCode(props.stateCode), undefined, undefined, lookupState.requesting));\n return dataFields;\n};\nvar getDataFieldForAggregatedDataSource = function (data, statistic) {\n var dataFields = [];\n dataFields.push(createDataFieldObject(getStatisticShortName(statistic), data.value, data.suffix, data.prefix));\n return dataFields;\n};\nvar getDataFieldsForPrevalence = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Patient Population', data.denominator));\n dataFields.push(createDataFieldObject('Patient Count', data.numerator));\n dataFields.push(createDataFieldObject('Prevalence', data.value, '%'));\n dataFields.push(createDataFieldObject('National Prevalence', data.national, '%'));\n return dataFields;\n};\nvar getDataFieldsForTotalCountStatistic = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Patient Count', data.value));\n return dataFields;\n};\nvar getDataFieldForHospitalRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total hospital visits', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hospital rate', data.value));\n dataFields.push(createDataFieldObject('Geographic hospital rate', data.geographic));\n dataFields.push(createDataFieldObject('National hospital rate', data.national));\n return dataFields;\n};\nvar getDataFieldForERVisitRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total ER visits', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort ER visit rate', data.value));\n dataFields.push(createDataFieldObject('Geographic ER visit rate', data.geographic));\n dataFields.push(createDataFieldObject('National ER visit rate', data.national));\n return dataFields;\n};\nvar getDataFieldForHospitalEncounterRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # hosp encounters', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hosp encounter rate', data.value));\n dataFields.push(createDataFieldObject('Geographic hosp encounter rate', data.geographic));\n dataFields.push(createDataFieldObject('National hosp encounter rate', data.national));\n return dataFields;\n};\nvar getDataFieldForDeathRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # deaths', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort death rate', data.value));\n dataFields.push(createDataFieldObject('Geographic death rate', data.geographic));\n dataFields.push(createDataFieldObject('National death rate', data.national));\n return dataFields;\n};\nvar getDataFieldForReadmissionRate = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total # readmissions', data.numerator));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort readmission rate', data.value));\n dataFields.push(createDataFieldObject('Geographic readmission rate', data.geographic));\n dataFields.push(createDataFieldObject('National readmission rate', data.national));\n return dataFields;\n};\nvar getDataFieldForHospitalCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total hospital visits', data.eventCount));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort hosp cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic hosp cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National hosp cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForERCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total ER visits', data.eventCount));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort ER cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic ER cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National ER cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForPatientOutOfPocketPartBDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Patient Part b Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForPatientOutOfPocketPartDDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Patient Part d Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForMedicarePartBDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Part b Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForMedicarePartDDrugCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total Part d Drug Payments', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nvar getDataFieldForTotalCost = function (data) {\n var dataFields = [];\n dataFields.push(createDataFieldObject('Total annual costs', data.numerator, '', '$'));\n dataFields.push(createDataFieldObject('Total # patients', data.denominator));\n dataFields.push(createDataFieldObject('Cohort cost/patient', data.value, '', '$'));\n dataFields.push(createDataFieldObject('Geographic cost/patient', data.geographic, '', '$'));\n dataFields.push(createDataFieldObject('National cost/patient', data.national, '', '$'));\n return dataFields;\n};\nexport var getDataFieldsByMapViewLevel = function (mapViewType, properties, lookupState, lookupZipCode) {\n var _a;\n var targetFunctionMapping = (_a = {},\n _a[GeoLevelEnum.Zip5] = getDataFieldsForZip5Digit,\n _a[GeoLevelEnum.Zip3] = getDataFieldsForZip3Digit,\n _a[GeoLevelEnum.State] = getDataFieldsForStateLevel,\n _a[GeoLevelEnum.County] = getDataFieldsForCountyLevel,\n _a[GeoLevelEnum.MSA] = getDataFieldsForMSALevel,\n _a[GeoLevelEnum.Congressional] = getDataFieldsForCongressionalLevel,\n _a[GeoLevelEnum.StateUpper] = getDataFieldsForStateUpperLevel,\n _a[GeoLevelEnum.StateLower] = getDataFieldsForStateLowerLevel,\n _a);\n if (mapViewType && targetFunctionMapping[mapViewType]) {\n return targetFunctionMapping[mapViewType](properties, lookupState, lookupZipCode);\n }\n return [];\n};\nexport var getDataFieldByStatisticType = function (data, statistic) {\n var _a;\n var isAggregated = data.isAggregated;\n if (isAggregated) {\n return getDataFieldForAggregatedDataSource(data, statistic);\n }\n var targetFunctionMapping = (_a = {},\n _a[StatisticTypeEnum.Prevalence] = getDataFieldsForPrevalence,\n _a[StatisticTypeEnum.TotalCount] = getDataFieldsForTotalCountStatistic,\n _a[StatisticTypeEnum.HospitalizationRate] = getDataFieldForHospitalRate,\n _a[StatisticTypeEnum.ERVisitsRate] = getDataFieldForERVisitRate,\n _a[StatisticTypeEnum.HospitalEncounterRate] = getDataFieldForHospitalEncounterRate,\n _a[StatisticTypeEnum.DeathRate] = getDataFieldForDeathRate,\n _a[StatisticTypeEnum.ReadmissionRate] = getDataFieldForReadmissionRate,\n _a[StatisticTypeEnum.HospitalizationCost] = getDataFieldForHospitalCost,\n _a[StatisticTypeEnum.ERCost] = getDataFieldForERCost,\n _a[StatisticTypeEnum.OOPPartBDrugCost] = getDataFieldForPatientOutOfPocketPartBDrugCost,\n _a[StatisticTypeEnum.OOPPartDDrugCost] = getDataFieldForPatientOutOfPocketPartDDrugCost,\n _a[StatisticTypeEnum.MCRPartBDrugCost] = getDataFieldForMedicarePartBDrugCost,\n _a[StatisticTypeEnum.MCRPartDDrugCost] = getDataFieldForMedicarePartDDrugCost,\n _a[StatisticTypeEnum.TotalCost] = getDataFieldForTotalCost,\n _a);\n if (statistic && targetFunctionMapping[statistic]) {\n return targetFunctionMapping[statistic](data);\n }\n return [];\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useRef, useState } from 'react';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled from 'styled-components';\nimport { faInfoCircle } from '@fortawesome/free-solid-svg-icons';\nimport { useMount } from '../hooks';\nvar StyledIconTooltip = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n color: #212529;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n color: #212529;\\n }\\n &:focus,\\n &:active {\\n color: #212529;\\n }\\n\"], [\"\\n color: #212529;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n color: #212529;\\n }\\n &:focus,\\n &:active {\\n color: #212529;\\n }\\n\"])));\nvar StyledUncontrolledTooltip = styled(function (_a) {\n var maxWidth = _a.maxWidth, maxHeight = _a.maxHeight, props = __rest(_a, [\"maxWidth\", \"maxHeight\"]);\n return React.createElement(UncontrolledTooltip, __assign({}, props));\n})(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n .tooltip.show {\\n opacity: 1;\\n }\\n .tooltip-inner {\\n color: #212529;\\n background-color: #fff;\\n border: 1px solid #cccccc;\\n text-align: left;\\n max-width: \", \";\\n overflow-y: scroll;\\n max-height: \", \";\\n }\\n\"], [\"\\n .tooltip.show {\\n opacity: 1;\\n }\\n .tooltip-inner {\\n color: #212529;\\n background-color: #fff;\\n border: 1px solid #cccccc;\\n text-align: left;\\n max-width: \", \";\\n overflow-y: scroll;\\n max-height: \", \";\\n }\\n\"])), function (props) { return (typeof props.maxWidth === 'number' ? props.maxWidth / 16 + \"rem\" : props.maxWidth || '16rem'); }, function (props) { return (typeof props.maxHeight === 'number' ? props.maxHeight / 16 + \"rem\" : props.maxHeight); });\nexport var IconTooltip = function (props) {\n var iconRef = useRef();\n var _a = useState(), ready = _a[0], setReady = _a[1];\n useMount(function () {\n setReady(true);\n });\n return (React.createElement(StyledIconTooltip, null,\n React.createElement(FontAwesomeIcon, { icon: faInfoCircle, size: props.size, fixedWidth: true, forwardedRef: iconRef }),\n props.title && ready && iconRef.current && (React.createElement(StyledUncontrolledTooltip, { hideArrow: true, placement: props.placement, target: iconRef.current, fade: false, autohide: props.autohide, maxWidth: props.maxWidth, maxHeight: props.maxHeight, modifiers: {\n preventOverflow: {\n enabled: false,\n },\n hide: { enabled: false },\n }, flip: false }, props.title))));\n};\nvar templateObject_1, templateObject_2;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useFilterEditingValue } from '../state';\nimport _ from 'lodash';\nimport { DataSourceEnum } from '../enums';\nexport var useGeneralConfigByDataSource = function (key, cmsDataSourceParam, dataYearSeasonParam, dataYearParam) {\n var indexConfig = useHostnameIndexInfo();\n var dataYearFilter = useFilterEditingValue('dataYear')[0];\n var dataYearSeasonFilter = useFilterEditingValue('dataYearSeason')[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource')[0], cmsDataSourceFilter = _a === void 0 ? DataSourceEnum.MedicareFFS : _a;\n var filtersConfig = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filtersConfigByDataSource;\n var cmsDataSource = useMemo(function () { return cmsDataSourceParam || cmsDataSourceFilter; }, [cmsDataSourceParam, cmsDataSourceFilter]);\n var dataYearSeason = useMemo(function () { return dataYearSeasonParam || dataYearSeasonFilter; }, [dataYearSeasonParam, dataYearSeasonFilter]);\n var dataYear = useMemo(function () { return dataYearParam || dataYearFilter; }, [dataYearParam, dataYearFilter]);\n var result = useMemo(function () {\n if (cmsDataSource && filtersConfig && key) {\n var configByDataSource = filtersConfig === null || filtersConfig === void 0 ? void 0 : filtersConfig[cmsDataSource];\n var configByDataYear = configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { return String(config.dataYear) === String(dataYear); });\n // Format of data year season ' - '\n var configByDataYearSeason = dataYearSeason ? configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { var _a; return ((_a = config.dataYearSeason) === null || _a === void 0 ? void 0 : _a.join(DELIMITER_SEASON_YEAR)) === dataYearSeason.join(DELIMITER_SEASON_YEAR); }) : undefined;\n var valueByKey = _.get(configByDataYearSeason, key, undefined);\n if (valueByKey)\n return valueByKey;\n valueByKey = _.get(configByDataYear, key, undefined);\n if (valueByKey)\n return valueByKey;\n var configByAllYear = configByDataSource === null || configByDataSource === void 0 ? void 0 : configByDataSource.find(function (config) { return !config.dataYear && !config.dataYearSeason; });\n return _.get(configByAllYear, key, undefined);\n }\n return undefined;\n }, [cmsDataSource, filtersConfig, dataYearSeason, key, dataYear]);\n return result;\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { getDisplayText } from '../../utils';\nimport { extractGeneralFilterInfo, useMapData } from './usemapdata';\nimport { useFilterSetting, useFilterValue } from '../../state/filtersettings';\nimport { CloseButton, StyledPanel } from '../overlays/styled';\nimport { useViewValue } from '../../state';\nimport { getStatisticOption } from '../../lookupdata';\nimport { ENV_LEGEND_COLORS } from '../../env';\nvar StyledLegendOverlay = styled(StyledPanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n right: 1.5rem;\\n bottom: 2rem;\\n width: max-content;\\n\"], [\"\\n position: absolute;\\n right: 1.5rem;\\n bottom: 2rem;\\n width: max-content;\\n\"])));\nvar StyledLegend = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.125rem 0;\\n\"], [\"\\n padding: 0.125rem 0;\\n\"])));\nvar LegendTitle = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-top: 0.5rem;\\n margin-bottom: 0.25rem;\\n\"], [\"\\n font-weight: 700;\\n margin-top: 0.5rem;\\n margin-bottom: 0.25rem;\\n\"])));\nvar LegendItem = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-bottom: 0.125rem;\\n line-height: 1;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-bottom: 0.125rem;\\n line-height: 1;\\n\"])));\nvar Color = styled.div(function (props) { return \"\\n background-color: \" + props.color + \";\\n width: 1rem;\\n height: 1rem;\\n margin-right: 0.25rem;\\n\"; });\nvar SelectedStatistic = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n max-width: 16rem;\\n line-height: initial;\\n font-weight: 700;\\n\"], [\"\\n max-width: 16rem;\\n line-height: initial;\\n font-weight: 700;\\n\"])));\nvar Label = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticCategoryLabel = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticConfigLabel = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"], [\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"])));\n// Common Legend Component use for UI & Reports\nexport var LegendComponent = function (props) {\n var _a;\n return (React.createElement(StyledLegend, null,\n props.title && React.createElement(LegendTitle, null, \"Legend\"),\n React.createElement(LegendItem, null,\n React.createElement(Color, { color: ENV_LEGEND_COLORS[0] }),\n React.createElement(Label, null, \"N/A\")), (_a = props.payload) === null || _a === void 0 ? void 0 :\n _a.map(function (grade, idx, arr) {\n return !(idx % 2) ? (React.createElement(LegendItem, { key: grade },\n React.createElement(Color, { color: ENV_LEGEND_COLORS[idx / 2 + 1] }),\n React.createElement(Label, null,\n getDisplayText(grade, props.suffix, props.prefix),\n idx !== arr.length - 1 ? \" - \" + getDisplayText(arr[idx + 1], props.suffix) : '+'))) : null;\n })));\n};\nexport var LegendByFilter = function () {\n var _a;\n var filterSetting = useFilterSetting();\n var data = useMapData()[0].data;\n var _b = extractGeneralFilterInfo(data, (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption), suffix = _b.suffix, prefix = _b.prefix;\n return React.createElement(LegendComponent, { payload: data === null || data === void 0 ? void 0 : data.breakLegendInfo, suffix: suffix, prefix: prefix });\n};\nexport var LegendOverlay = function () {\n var _a = useViewValue('mapView', 'showLegend'), show = _a[0], setShow = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticConfig = getStatisticOption(statistic);\n var toggle = function () { return setShow(!show); };\n if (!show)\n return null;\n return (React.createElement(StyledLegendOverlay, null,\n React.createElement(CloseButton, { onClick: toggle }),\n React.createElement(SelectedStatistic, null,\n React.createElement(StatisticCategoryLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.group.label),\n React.createElement(StatisticConfigLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.label)),\n React.createElement(LegendByFilter, null)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { ResponsiveContainer, LineChart, Line, XAxis, YAxis, CartesianGrid, Tooltip, ReferenceLine } from 'recharts';\nimport styled from 'styled-components';\nimport { useViewSetting, useFilterSetting, useViewValue } from '../state';\nimport { getDisplayText, getYearsBySeason } from '../utils';\nimport { ViewModeEnum, ChartViewEnum } from '../enums';\nimport { useTrendLineData, useTrendLineDataForSeason } from './usetrendlinedata';\nimport { FallbackComponent, Select } from '../common';\nimport { LookupYearComponent, useMixedYear, getStatisticShortName, useCMSDataSeasonYear } from '../lookupdata';\nvar FROM_YEAR_DISTANCE = 3;\nvar LINE_COLOR = '#00008b';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem;\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relatived;\\n min-height: 15rem;\\n height: 100%;\\n\"], [\"\\n padding: 1rem;\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relatived;\\n min-height: 15rem;\\n height: 100%;\\n\"])));\nvar TrendLineTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar TrendLineTitleText = styled.h4(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: inline-block;\\n\"], [\"\\n display: inline-block;\\n\"])));\nvar StyledTrendLineContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n min-height: 6.25rem;\\n max-height: 25rem;\\n max-width: 75rem;\\n min-width: 10rem;\\n position: relative;\\n\"], [\"\\n flex: 1;\\n min-height: 6.25rem;\\n max-height: 25rem;\\n max-width: 75rem;\\n min-width: 10rem;\\n position: relative;\\n\"])));\nexport var TrendLineContainer = function (_a) {\n var _b = _a.keyValue, keyValue = _b === void 0 ? 'year' : _b, data = _a.data;\n var tooltipFomatter = function (value, name, entry) {\n if (name === 'linear')\n return [];\n if (entry.payload.isNA)\n return ['NA', entry.payload[keyValue]];\n return [getDisplayText(value, entry.payload.suffix, entry.payload.prefix), entry.payload[keyValue]];\n };\n return (React.createElement(StyledTrendLineContainer, null,\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(LineChart, { data: data },\n React.createElement(CartesianGrid, { vertical: false }),\n React.createElement(XAxis, { dataKey: keyValue, padding: { left: 30, right: 30 } }),\n React.createElement(YAxis, { allowDataOverflow: true, padding: { top: 10, bottom: 0 } }),\n React.createElement(Tooltip, { isAnimationActive: false, labelFormatter: function () { return ''; }, formatter: tooltipFomatter }),\n React.createElement(ReferenceLine, { y: 0, stroke: \"#000\" }),\n React.createElement(Line, { dataKey: \"value\", isAnimationActive: false, stroke: LINE_COLOR, dot: { strokeWidth: 12 }, activeDot: { r: 12 }, strokeWidth: 5 }),\n React.createElement(Line, { dataKey: \"linear\", isAnimationActive: false, connectNulls: true, dot: false, activeDot: false, stroke: LINE_COLOR, strokeDasharray: \"5 5\", strokeWidth: 5 })))));\n};\nexport var TrendLineComponent = function () {\n var _a, _b, _c;\n var _d = useViewValue('chartView', 'startingYear'), fromYear = _d[0], setFromYear = _d[1];\n var _e = useViewValue('chartView', 'endingYear'), toYear = _e[0], setToYear = _e[1];\n var _f = useTrendLineData(), trendLineData = _f[0], fetchTrendLineData = _f[1];\n var filterSettings = useFilterSetting();\n var lookupYearData = useMixedYear(filterSettings, true)[0];\n var statisticName = getStatisticShortName((_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption);\n var viewSetting = useViewSetting();\n var isShow = viewSetting.viewMode === ViewModeEnum.Chart && ((_b = viewSetting.chartView) === null || _b === void 0 ? void 0 : _b.type) === ChartViewEnum.Trends;\n useEffect(function () {\n fetchTrendLineData();\n }, [fetchTrendLineData]);\n useEffect(function () {\n var _a;\n if ((_a = lookupYearData.data) === null || _a === void 0 ? void 0 : _a.length) {\n var newToYear = toYear;\n if (!newToYear || !lookupYearData.data.includes(newToYear)) {\n newToYear = lookupYearData.data[lookupYearData.data.length - 1];\n }\n var newFromYear = fromYear;\n if (!newFromYear || newFromYear > newToYear || !lookupYearData.data.includes(newFromYear)) {\n var fromYearIdx = lookupYearData.data.length - FROM_YEAR_DISTANCE;\n fromYearIdx = fromYearIdx < 0 ? 0 : fromYearIdx;\n newFromYear = lookupYearData.data[fromYearIdx];\n }\n setFromYear(newFromYear);\n setToYear(newToYear);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupYearData.data, setFromYear, setToYear]);\n return (React.createElement(React.Fragment, null,\n React.createElement(LookupYearComponent, { dataSource: (_c = filterSettings.statistic) === null || _c === void 0 ? void 0 : _c.cmsDataSource }),\n isShow && (React.createElement(StyledTrendLineComponent, null,\n React.createElement(TrendLineTitle, null,\n React.createElement(TrendLineTitleText, null,\n \"Yearly \",\n statisticName,\n \" from\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromYear, onChange: setFromYear, isOptionDisabled: function (option) { return !!toYear && option.value > toYear; }, isLoading: lookupYearData.requesting }),\n ' ',\n React.createElement(TrendLineTitleText, null, \"to\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toYear, onChange: setToYear, isOptionDisabled: function (option) { return !!fromYear && option.value < fromYear; }, isLoading: lookupYearData.requesting })),\n React.createElement(FallbackComponent, { requesting: trendLineData.requesting || lookupYearData.requesting, error: trendLineData.error, retry: fetchTrendLineData },\n React.createElement(TrendLineContainer, { data: trendLineData.data }))))));\n};\nexport var TrendLineSeasonComponent = function () {\n var _a, _b, _c;\n var filterSettings = useFilterSetting();\n var lookupSeasonYearData = useCMSDataSeasonYear(filterSettings)[0];\n var _d = useTrendLineDataForSeason(), trendLineData = _d[0], fetchTrendLineData = _d[1];\n var _e = useViewValue('chartView', 'startingSeasonYear'), fromSeasonYear = _e[0], setFromSeasonYear = _e[1];\n var _f = useViewValue('chartView', 'endingSeasonYear'), toSeasonYear = _f[0], setToSeasonYear = _f[1];\n var viewSetting = useViewSetting();\n var statisticName = getStatisticShortName((_a = filterSettings.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption);\n var isShow = viewSetting.viewMode === ViewModeEnum.Chart && ((_b = viewSetting.chartView) === null || _b === void 0 ? void 0 : _b.type) === ChartViewEnum.Trends;\n useEffect(function () {\n fetchTrendLineData();\n }, [fetchTrendLineData]);\n useEffect(function () {\n var lookupSeasonYearDataByCMS = lookupSeasonYearData.data || [];\n if (lookupSeasonYearDataByCMS.length) {\n var newFromSeasonYear = fromSeasonYear;\n var newToSeasonYear = toSeasonYear;\n if (!newToSeasonYear || !lookupSeasonYearDataByCMS.includes(newToSeasonYear)) {\n newToSeasonYear = lookupSeasonYearDataByCMS[lookupSeasonYearDataByCMS.length - 1];\n }\n if (!newFromSeasonYear || !lookupSeasonYearDataByCMS.includes(newFromSeasonYear)) {\n newFromSeasonYear = lookupSeasonYearDataByCMS[0];\n }\n setFromSeasonYear(newFromSeasonYear);\n setToSeasonYear(newToSeasonYear);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupSeasonYearData.data, setFromSeasonYear, setToSeasonYear]);\n return (React.createElement(React.Fragment, null,\n React.createElement(LookupYearComponent, { dataSource: (_c = filterSettings.statistic) === null || _c === void 0 ? void 0 : _c.cmsDataSource }),\n isShow && (React.createElement(StyledTrendLineComponent, null,\n React.createElement(TrendLineTitle, null,\n React.createElement(TrendLineTitleText, null,\n \"Yearly \",\n statisticName,\n \" from\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"12\", name: \"from\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromSeasonYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(item.value)[0];\n var firstTo = getYearsBySeason(toSeasonYear)[0];\n return !!toSeasonYear && firstFrom > firstTo;\n }, onChange: setFromSeasonYear, isLoading: lookupSeasonYearData.requesting }),\n ' ',\n React.createElement(TrendLineTitleText, null, \"to\"),\n ' ',\n React.createElement(Select, { inline: true, width: \"12\", name: \"to\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toSeasonYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(fromSeasonYear)[0];\n var firstTo = getYearsBySeason(item.value)[0];\n return !!fromSeasonYear && firstFrom > firstTo;\n }, onChange: setToSeasonYear, isLoading: lookupSeasonYearData.requesting })),\n React.createElement(FallbackComponent, { requesting: trendLineData.requesting || lookupSeasonYearData.requesting, error: trendLineData.error, retry: fetchTrendLineData },\n React.createElement(TrendLineContainer, { data: trendLineData.data, keyValue: \"seasonYear\" }))))));\n};\nexport * from './usetrendlinedata';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport React from 'react';\nimport styled from 'styled-components';\nvar ICON = \"M20.2,15.7L20.2,15.7c1.1-1.6,1.8-3.6,1.8-5.7c0-5.6-4.5-10-10-10S2,4.5,2,10c0,2,0.6,3.9,1.6,5.4c0,0.1,0.1,0.2,0.2,0.3\\n c0,0,0.1,0.1,0.1,0.2c0.2,0.3,0.4,0.6,0.7,0.9c2.6,3.1,7.4,7.6,7.4,7.6s4.8-4.5,7.4-7.5c0.2-0.3,0.5-0.6,0.7-0.9\\n C20.1,15.8,20.2,15.8,20.2,15.7z\";\nvar ImagePin = styled.img(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 20px;\\n\"], [\"\\n width: 20px;\\n\"])));\nvar SIZE = 35;\nvar StyledPin = styled.svg(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: \", \";\\n fill: \", \";\\n stroke: \", \";\\n color: \", \";\\n\"], [\"\\n cursor: \", \";\\n fill: \", \";\\n stroke: \", \";\\n color: \", \";\\n\"])), function (props) { return (props.pointer ? 'pointer' : 'default'); }, function (props) { return (props.selected ? '#000' : props.color); }, function (props) { return (props.selected ? '#000' : props.stroke || props.color); }, function (props) { return (props.selected ? '#000' : props.stroke || props.color); });\nexport var Pin = React.memo(function (props) {\n var _a = props.size, size = _a === void 0 ? SIZE : _a;\n var onClick = function () {\n var _a;\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.payload);\n };\n return (React.createElement(StyledPin, { className: props.className, pointer: !!props.onClick, color: props.color, stroke: props.stroke, selected: props.selected, height: size, width: size, viewBox: \"0 0 24 24\", onClick: onClick },\n React.createElement(\"path\", { d: ICON }),\n React.createElement(\"circle\", { cx: 12, cy: 10, r: 8, style: { fill: 'white', stroke: props.stroke } }),\n props.icon && React.createElement(FontAwesomeIcon, { height: 11, y: 4, icon: props.icon }),\n props.imgPin && React.createElement(\"image\", { height: 10, y: 5, x: 7, xlinkHref: \"/assets/images/icons/\" + props.imgPin + \".png\" }),\n props.text && (React.createElement(\"text\", { x: \"50%\", y: \"50%\", dy: \"-0.15rem\", style: { fill: '#000', stroke: 'none', fontSize: '8px', textAnchor: 'middle', alignmentBaseline: 'central' } }, props.text))));\n});\nexport var ClusterPin = React.memo(function (props) {\n var _a = props.size, size = _a === void 0 ? SIZE : _a;\n return (React.createElement(StyledPin, { height: size, width: size, viewBox: \"0 0 24 24\", pointer: true, onClick: props.onClick },\n React.createElement(\"circle\", { cx: 12, cy: 12, r: 11.5, style: { fill: props.color, stroke: props.stroke || props.color, strokeWidth: '0.5px' } }),\n React.createElement(\"text\", { x: \"50%\", y: \"50%\", style: { fill: '#fff', stroke: 'none', fontSize: '8px', textAnchor: 'middle', alignmentBaseline: 'central' } }, props.text)));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useMemo, useRef } from 'react';\nimport { ResponsiveContainer, PieChart, Pie, Cell, Tooltip, Legend } from 'recharts';\nimport styled from 'styled-components';\nimport { useTranslation } from 'react-i18next';\nimport { getDisplayText } from '../utils';\nvar COLORS_BY_DEMOGRAPHIC = {\n sex: ['#00008b', '#ffa500'],\n race: ['#800080', '#a8135f', '#b6443a', '#a77217', '#ac8d02', '#cd9d00', '#ffa500'],\n age: ['#ffeabd', '#ffd59b', '#ffa474', '#f47461', '#db4551', '#b81b34', '#8b0000'],\n};\nvar StyledPieComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n height: 100%;\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n\"], [\"\\n height: 100%;\\n display: flex;\\n flex-flow: column;\\n align-items: center;\\n\"])));\nvar ResponsiveContainerWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"], [\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"])), function (props) { return (typeof props.width === 'string' ? props.width : props.width ? props.width / 16 + \"rem\" : '100%'); }, function (props) { return (typeof props.height === 'string' ? props.height : props.height ? props.height / 16 + \"rem\" : '100%'); });\nvar StyledLegend = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n min-height: 2.25rem;\\n min-width: 8.5rem;\\n flex: 1;\\n .recharts-legend-item {\\n display: \", \"flex !important;\\n align-items: center;\\n text-align: left;\\n .recharts-legend-item-text {\\n flex: 1;\\n }\\n }\\n\"], [\"\\n min-height: 2.25rem;\\n min-width: 8.5rem;\\n flex: 1;\\n .recharts-legend-item {\\n display: \", \"flex !important;\\n align-items: center;\\n text-align: left;\\n .recharts-legend-item-text {\\n flex: 1;\\n }\\n }\\n\"])), function (props) { return (props.inline ? 'inline-' : ''); });\nvar NoDataMessage = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n text-align: center;\\n font-style: italic;\\n\"], [\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n text-align: center;\\n font-style: italic;\\n\"])));\nvar calculatePieSlicePercent = function (value, totalCount) {\n var percent = (value / totalCount) * 100;\n var integerPortion = Math.floor(percent);\n var numberOfDecimalPlaces = 3;\n if (integerPortion > 1 && integerPortion < 10) {\n numberOfDecimalPlaces = 2;\n }\n else if (integerPortion < 100) {\n numberOfDecimalPlaces = 1;\n }\n return parseFloat(percent.toFixed(numberOfDecimalPlaces));\n};\nexport var PieComponent = function (props) {\n var _a, _b, _c;\n var t = useTranslation().t;\n var myRef = useRef(null);\n var meetMinimumThreshold = !!((_a = props.data) === null || _a === void 0 ? void 0 : _a.length);\n var data = useMemo(function () { return (meetMinimumThreshold ? props.data : [{ name: 'NA', value: 1 }]); }, [props.data, meetMinimumThreshold]);\n var colors = useMemo(function () { return COLORS_BY_DEMOGRAPHIC[props.type]; }, [props.type]);\n var total = useMemo(function () { var _a; return ((_a = props.data) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) { return acc + curr.value; }, 0)) || 0; }, [props.data]);\n var tooltipFomatter = useCallback(function (value, name, entry) {\n return props.percentage\n ? getDisplayText(calculatePieSlicePercent(entry.payload.value, total), '%')\n : getDisplayText(entry.payload.value, entry.payload.suffix, entry.payload.prefix);\n }, [props.percentage, total]);\n var onPieEnter = function () {\n var _a;\n var tooltipWrapper = (_a = myRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('recharts-tooltip-wrapper')[0];\n if (tooltipWrapper) {\n tooltipWrapper.style.right = 'auto';\n if (tooltipWrapper.getBoundingClientRect().right > window.innerWidth) {\n tooltipWrapper.style.right = '0';\n }\n }\n };\n var onPieLeave = function () {\n var _a;\n var tooltipWrapper = (_a = myRef.current) === null || _a === void 0 ? void 0 : _a.getElementsByClassName('recharts-tooltip-wrapper')[0];\n if (tooltipWrapper) {\n tooltipWrapper.style.right = 'auto';\n }\n };\n return (React.createElement(StyledPieComponent, { className: props.className, ref: myRef },\n React.createElement(ResponsiveContainerWrapper, { width: props.width, height: props.height },\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(PieChart, { onMouseMove: onPieEnter, onMouseLeave: onPieLeave },\n React.createElement(Pie, { dataKey: \"value\", isAnimationActive: false, data: data, fill: \"#ccc\", strokeWidth: meetMinimumThreshold ? 2 : 0, labelLine: false, startAngle: 90, endAngle: -270, minAngle: 2, outerRadius: \"100%\" }, (_b = props.data) === null || _b === void 0 ? void 0 : _b.map(function (entry, idx) { return (React.createElement(Cell, { key: \"cell-\" + entry.name, fill: colors[idx] })); })),\n meetMinimumThreshold && React.createElement(Tooltip, { wrapperStyle: { zIndex: 99 }, isAnimationActive: false, formatter: tooltipFomatter }))),\n !meetMinimumThreshold && React.createElement(NoDataMessage, null, t('demographicchart.nomeetminimumthreshold.msg'))),\n meetMinimumThreshold && (React.createElement(StyledLegend, { inline: props.inline },\n React.createElement(Legend, { wrapperStyle: { position: 'relative' }, payload: meetMinimumThreshold\n ? (_c = props.data) === null || _c === void 0 ? void 0 : _c.map(function (entry, idx) { return ({\n id: idx,\n value: entry.name,\n color: colors[idx],\n type: 'rect',\n dataValue: entry.value,\n }); }) : [{ id: 0, value: 'N/A', color: '#ccc', type: 'rect' }], formatter: props.legendFormatter })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback, useMemo } from 'react';\nimport { RESET_FILTER_EDITING, SET_FILTER_EDITING_VALUE } from './reducer';\nexport function useFilterEditingValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_FILTER_EDITING_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.filterediting.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetFilterEditing = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_FILTER_EDITING, payload: value }); }, [dispatch]);\n};\nexport var useFilterEditing = function () {\n var filterediting = useMappedState(useCallback(function (state) { return state.filterediting; }, []));\n return useMemo(function () { return filterediting.toJSON(); }, [filterediting]);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nimport { setUIValueSessionStorage } from '../../storeduivalue';\nexport var RESET_FILTERS = 'RESET_FILTERS';\nexport var SET_FILTER_VALUE = 'SET_FILTER_VALUE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_FILTERS] = function (s, a) { return Map(a.payload).set('forceUpdate', (s.get('forceUpdate') || 0) + 1); };\nactionHandlers[SET_FILTER_VALUE] = function (s, a) { return (a.payload.value ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n var fn = actionHandlers[action.type];\n if (!fn)\n return state;\n var updatedState = fn(state, action);\n setUIValueSessionStorage('filterSetting', updatedState.toObject(), undefined, [\n 'indexPrimaryCoMorbidities',\n 'singleStateCode',\n 'singleStateAbb',\n 'available',\n 'forceUpdate',\n 'textSearch',\n 'geoLevel',\n ]);\n return updatedState;\n}\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var RESET_FILTER_EDITING = 'RESET_FILTER_EDITING';\nexport var SET_FILTER_EDITING_VALUE = 'SET_FILTER_EDITING_VALUE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_FILTER_EDITING] = function (s, a) { return Map(a.payload); };\nactionHandlers[SET_FILTER_EDITING_VALUE] = function (s, a) { return (a.payload.value ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nimport { DEFAULT_VIEW_SETTING } from '../../configs';\nimport { setUIValueSessionStorage } from '../../storeduivalue';\nexport var RESET_VIEW_SETTING = 'RESET_VIEW_SETTING';\nexport var SET_VIEW_VALUE = 'SET_VIEW_VALUE';\n// Init state\nvar initialState = Map(DEFAULT_VIEW_SETTING);\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[RESET_VIEW_SETTING] = function (s, a) { return Map(__assign(__assign({}, DEFAULT_VIEW_SETTING), a.payload)); };\nactionHandlers[SET_VIEW_VALUE] = function (s, a) { return (a.payload.value !== undefined ? s.setIn(a.payload.keyPath, a.payload.value) : s.removeIn(a.payload.keyPath)); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n var fn = actionHandlers[action.type];\n if (!fn)\n return state;\n var updatedState = fn(state, action);\n setUIValueSessionStorage('viewSetting', updatedState.toObject(), undefined, [\n 'mapView',\n 'showMapLayerMenu',\n 'selectedMultiplePin',\n 'mapLayerCountNotifications',\n ]);\n return updatedState;\n}\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport 'mapbox-gl/dist/mapbox-gl.css';\nimport './i18n';\nimport './fontawesome';\nexport { ENV_LEGEND_COLORS, ENV_STATE_BORDER_COLOR } from './env'; // For Reports\nexport * from './lookupdata';\nexport * from './utils';\nexport * from './common';\nexport * from './hooks';\nexport * from './enums';\nexport * from './types';\nexport * from './configs';\nexport * from './state';\nexport * from './hostnameindexinfo';\nexport * from './authentication';\nexport * from './header';\nexport * from './userprofile';\nexport * from './userchangepassword';\nexport * from './filterbar';\nexport * from './filterdialog';\nexport * from './filterresultdashboard';\nexport * from './filtersidebar';\nexport * from './maplayermenu';\nexport * from './map';\nexport * from './demographicchart';\nexport * from './trendline';\nexport * from './tableview';\nexport * from './storeduivalue';\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useState, useCallback } from 'react';\nimport { useTranslation } from 'react-i18next';\nimport styled from 'styled-components';\nimport { FallbackComponent, DataTable } from '../common';\nimport { GeoLevelEnum, RightPanelTypeEnum, ViewModeEnum } from '../enums';\nimport { useLookupZipCodeDistrict, getStatisticShortName, getGeoLevelLabel, useLookupState } from '../lookupdata';\nimport { useMapData, useExtractGeoData } from '../map/patientchoroplethlayer/usemapdata';\nimport { useFilterValue, useViewValue } from '../state';\nimport { useSelectedGeoJson } from '../map';\nimport { compareFunc, isFeatureInAState } from '../utils';\nimport { getDataFieldsByMapViewLevel, getDataFieldByStatisticType } from '../map/patientchoroplethlayer/dataforgeo';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledTableViewComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem 2rem;\\n\"], [\"\\n padding: 1rem 2rem;\\n\"])));\nvar Title = styled.h4(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar Body = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"])));\nvar getColumns = function (geoLevel, statistic, lookupState, lookupGeoData) {\n var columns = [];\n var fieldsForMapViewLevel = getDataFieldsByMapViewLevel(geoLevel, Object.assign({}), lookupState, lookupGeoData);\n var fieldsForStatistic = getDataFieldByStatisticType(Object.assign({}), statistic);\n var dataFields = __spreadArrays(fieldsForMapViewLevel, fieldsForStatistic);\n columns = dataFields.map(function (entry) { return (__assign(__assign({}, entry), { dataField: entry.key, text: entry.name, formatter: function (cell) { return cell.displayText; }, sort: true, sortFunc: function (a, b, order) { return compareFunc(a.originalValue, b.originalValue, order); } })); });\n return columns;\n};\nexport var useExtractTableData = function () {\n var extractGeoData = useExtractGeoData();\n var lookupState = useLookupState()[0];\n var lookupGeoData = useLookupZipCodeDistrict()[0];\n var geoLevel = useViewValue('geoType')[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var selectedFeatureId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var extractData = useCallback(function (intersectionIds) {\n var _a;\n var isSelectedFirstLevel = selectedFeatureId === null || selectedFeatureId === void 0 ? void 0 : selectedFeatureId.endsWith('-');\n var filteredFetures = (_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features;\n if (intersectionIds) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return intersectionIds[(_a = f.properties) === null || _a === void 0 ? void 0 : _a.id]; });\n }\n else if (isSelectedFirstLevel && geoLevel === GeoLevelEnum.Zip5) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return lookupGeoData.getStateCodeOfZipCode((_a = f.properties) === null || _a === void 0 ? void 0 : _a.id) + \"-\" === (selectedFeatureId === null || selectedFeatureId === void 0 ? void 0 : selectedFeatureId.padStart(3, '0')); });\n }\n else if (selectedFeatureId) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a, _b; return isSelectedFirstLevel ? (_a = f.properties) === null || _a === void 0 ? void 0 : _a.id.startsWith(selectedFeatureId) : ((_b = f.properties) === null || _b === void 0 ? void 0 : _b.id) === selectedFeatureId; });\n }\n else if (singleState) {\n filteredFetures = filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.filter(function (f) { var _a; return isFeatureInAState(singleState, f.properties, geoLevel || GeoLevelEnum.State, (_a = lookupGeoData.data) === null || _a === void 0 ? void 0 : _a.stateByZipCode5); });\n }\n var columns = getColumns(geoLevel, statistic, lookupState, lookupGeoData);\n var data = [];\n filteredFetures === null || filteredFetures === void 0 ? void 0 : filteredFetures.sort(function (f1, f2) { var _a, _b; return compareFunc((_a = f1.properties) === null || _a === void 0 ? void 0 : _a.id.padStart(6, '0'), (_b = f2.properties) === null || _b === void 0 ? void 0 : _b.id.padStart(6, '0')); }).forEach(function (f) {\n var _a;\n var geoData = extractGeoData((_a = f.properties) === null || _a === void 0 ? void 0 : _a.id);\n var fieldsForMapViewLevel = getDataFieldsByMapViewLevel(geoLevel, f.properties, lookupState, lookupGeoData);\n var fieldsForStatistic = getDataFieldByStatisticType(geoData, statistic);\n var dataFields = __spreadArrays(fieldsForMapViewLevel, fieldsForStatistic);\n var item = dataFields.reduce(function (acc, curr) {\n var _a;\n var _b;\n return (__assign(__assign({}, acc), (_a = {}, _a[curr.key] = {\n displayText: curr.value,\n originalValue: curr.originalValue,\n }, _a.id = (_b = f.properties) === null || _b === void 0 ? void 0 : _b.id, _a)));\n }, {});\n data.push(item);\n });\n return [columns, data];\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [extractGeoData, selectedFeatureId, geoJsonData.data, lookupState.data, lookupGeoData.data]);\n return extractData;\n};\nexport var TableViewComponent = function () {\n var t = useTranslation().t;\n var mapData = useMapData()[0];\n var lookupGeoData = useLookupZipCodeDistrict()[0];\n var geoLevel = useViewValue('geoType')[0];\n var geoJsonData = useSelectedGeoJson()[0];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n var viewMode = useViewValue('viewMode')[0];\n var extractTableData = useExtractTableData();\n var _a = useState(), tableColumns = _a[0], setTableColumns = _a[1];\n var _b = useState(), tableData = _b[0], setTableData = _b[1];\n var isShow = viewMode === ViewModeEnum.Table;\n useEffect(function () {\n if (!isShow)\n return;\n var _a = extractTableData(), columns = _a[0], data = _a[1];\n setTableColumns(columns);\n setTableData(data);\n }, [isShow, extractTableData]);\n if (!isShow)\n return null;\n return (React.createElement(StyledTableViewComponent, null,\n React.createElement(Title, null, t('tableview.title', [statisticName, getGeoLevelLabel(geoLevel)])),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: mapData.requesting || geoJsonData.requesting || lookupGeoData.requesting, error: mapData.error || lookupGeoData.error || lookupGeoData.error }, !!(tableColumns === null || tableColumns === void 0 ? void 0 : tableColumns.length) && tableData && React.createElement(DataTable, { hover: true, columns: tableColumns, data: tableData, sizePerPage: 100, keyField: \"id\", pagination: true })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { useAPI, useCachedData } from '../state';\nimport * as Yup from 'yup';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, FormFeedback, Row } from 'reactstrap';\nimport { useAuth } from '../authentication';\nimport { useForm } from '../hooks';\nimport { PhoneInput, PHONE_NUMBER_PATTERN, Select, ZIP_CODE_PATTERN, Input } from '../common';\nexport var NOTIFICATION_PREFERENCES = {\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n};\nvar ModalWrapper = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media (min-width: 992px) {\\n max-width: 900px !important;\\n }\\n\"], [\"\\n @media (min-width: 992px) {\\n max-width: 900px !important;\\n }\\n\"])));\nexport var UserProfile = function (props) {\n var _a;\n var auth = useAuth();\n var _b = useCachedData('/api/general/lookup/get-list-state'), stateData = _b[0], fetchStateData = _b[1];\n var _c = useAPI('/api/user/editProfile', undefined, 'POST'), editProfile = _c[1];\n useEffect(function () {\n if (props.isOpen) {\n fetchStateData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isOpen]);\n var handleSaveUser = function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {\n firstName: payload.firstName,\n middleName: payload.middleName,\n lastName: payload.lastName,\n organization: payload.organization,\n address1: payload.address1,\n address2: payload.address2,\n city: payload.city,\n stateAbb: payload.stateAbb,\n zipcode: payload.zipcode,\n phoneNumber: payload.phoneNumber,\n notificationPreference: payload.notificationPreference,\n };\n return [4 /*yield*/, editProfile(data)];\n case 1:\n _a.sent();\n return [4 /*yield*/, auth.refreshToken()];\n case 2:\n _a.sent();\n props.toggle();\n return [2 /*return*/];\n }\n });\n }); };\n return (React.createElement(ModalWrapper, { size: \"lg\", isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"User Profile\"),\n React.createElement(UserProfileEditForm, { data: props.principalUser, onCancel: props.toggle, onSave: handleSaveUser, stateList: (_a = stateData.data) === null || _a === void 0 ? void 0 : _a.data })));\n};\nvar validationSchema = Yup.object().shape({\n firstName: Yup.string().nullable().trim().required('Required'),\n lastName: Yup.string().nullable().trim().required('Required'),\n zipcode: Yup.string().nullable().trim().matches(ZIP_CODE_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n organization: Yup.string().nullable().trim(),\n address1: Yup.string().nullable().trim(),\n address2: Yup.string().nullable().trim(),\n city: Yup.string().nullable().trim(),\n notificationPreference: Yup.string().nullable().required('Required'),\n phoneNumber: Yup.string()\n .nullable()\n .trim()\n .when('notificationPreference', {\n is: NOTIFICATION_PREFERENCES.SMS,\n then: Yup.string().nullable().required('Required'),\n })\n .matches(PHONE_NUMBER_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n});\nexport var UserProfileEditForm = function (props) {\n var _a = useForm({\n validationSchema: validationSchema,\n }), setInitialValues = _a.setInitialValues, values = _a.values, handleChange = _a.handleChange, handleBlur = _a.handleBlur, setFieldValue = _a.setFieldValue, setFieldTouched = _a.setFieldTouched, handleSubmit = _a.handleSubmit, isSubmitting = _a.isSubmitting, getError = _a.getError;\n useEffect(function () {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;\n setInitialValues({\n firstName: (_a = props.data) === null || _a === void 0 ? void 0 : _a.firstName,\n middleName: (_b = props.data) === null || _b === void 0 ? void 0 : _b.middleName,\n lastName: (_c = props.data) === null || _c === void 0 ? void 0 : _c.lastName,\n username: (_d = props.data) === null || _d === void 0 ? void 0 : _d.username,\n organization: (_e = props.data) === null || _e === void 0 ? void 0 : _e.organization,\n address1: (_f = props.data) === null || _f === void 0 ? void 0 : _f.address1,\n address2: (_g = props.data) === null || _g === void 0 ? void 0 : _g.address2,\n city: (_h = props.data) === null || _h === void 0 ? void 0 : _h.city,\n stateAbb: (_j = props.data) === null || _j === void 0 ? void 0 : _j.stateAbb,\n zipcode: (_k = props.data) === null || _k === void 0 ? void 0 : _k.zipcode,\n roleName: (_l = props.data) === null || _l === void 0 ? void 0 : _l.role.roleName,\n phoneNumber: (_m = props.data) === null || _m === void 0 ? void 0 : _m.phoneNumber,\n notificationPreference: (_o = props.data) === null || _o === void 0 ? void 0 : _o.notificationPreference,\n });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.data]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, props.onSave(__assign({}, payload))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(ModalBody, null,\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"First Name\"),\n React.createElement(Input, { type: \"text\", name: \"firstName\", value: values.firstName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('firstName') }),\n React.createElement(FormFeedback, null, getError('firstName'))),\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Middle Name\"),\n React.createElement(Input, { type: \"text\", name: \"middleName\", value: values.middleName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('middleName') }),\n React.createElement(FormFeedback, null, getError('middleName'))),\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Last Name\"),\n React.createElement(Input, { type: \"text\", name: \"lastName\", value: values.lastName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('lastName') }),\n React.createElement(FormFeedback, null, getError('lastName')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-4\" },\n React.createElement(Label, null, \"Mobile phone number\"),\n React.createElement(PhoneInput, { name: \"phoneNumber\", value: values.phoneNumber, setFieldValue: setFieldValue, setFieldTouched: setFieldTouched, invalid: !!getError('phoneNumber') }),\n React.createElement(FormFeedback, null, getError('phoneNumber'))),\n React.createElement(FormGroup, { className: \"col-md-8\" },\n React.createElement(Label, null, \"\\u00A0\"),\n React.createElement(\"div\", { className: \"pt-2\" },\n React.createElement(Label, { className: \"mr-2\" }, \"Preference for notifications:\"),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.EMAIL, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.EMAIL }),\n \"Email\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.SMS, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.SMS }),\n \"SMS Text\"))),\n React.createElement(FormFeedback, { className: \"d-lock\" }, !!getError('notificationPreference')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Organization Name\"),\n React.createElement(Input, { type: \"text\", name: \"organization\", value: values.organization, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('organization') }),\n React.createElement(FormFeedback, null, getError('organization')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Address 1\"),\n React.createElement(Input, { type: \"text\", name: \"address1\", value: values.address1, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address1') }),\n React.createElement(FormFeedback, null, getError('address1'))),\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"Address 2\"),\n React.createElement(Input, { type: \"text\", name: \"address2\", value: values.address2, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address2') }),\n React.createElement(FormFeedback, null, getError('address2')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-md-6\" },\n React.createElement(Label, null, \"City\"),\n React.createElement(Input, { type: \"text\", name: \"city\", value: values.city, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('city') }),\n React.createElement(FormFeedback, null, getError('city'))),\n React.createElement(FormGroup, { className: \"col-md-3\" },\n React.createElement(Label, null, \"State\"),\n React.createElement(Select, { name: \"stateAbb\", options: props.stateList, value: values.stateAbb, onChange: setFieldValue, setFieldTouched: setFieldTouched, optionsTransform: function (st) { return (__assign(__assign({}, st), { value: st.stateAbbreviation, label: st.stateName })); }, menuPlacement: \"top\" }),\n React.createElement(FormFeedback, null, getError('stateAbb'))),\n React.createElement(FormGroup, { className: \"col-md-3\" },\n React.createElement(Label, null, \"Zip Code\"),\n React.createElement(Input, { type: \"text\", name: \"zipcode\", value: values.zipcode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('zipcode') }),\n React.createElement(FormFeedback, null, getError('zipcode'))))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { type: \"button\", onClick: props.onCancel, disabled: isSubmitting }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", disabled: isSubmitting }, \"Save\"))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback, Modal, ModalHeader, ModalBody, ModalFooter } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { Button, MessageBox, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nimport { useUser } from '../authentication';\nvar COGNITO_USER_CHANGE_PASSWORD = '/api/user/changePassword';\nvar WO_COGNITO_USER_CHANGE_PASSWORD = '/api/userApp/changePassword';\nvar Description = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n currentPassword: Yup.string().required('Required'),\n newPassword: Yup.lazy(function (value) {\n return isEmpty(value)\n ? Yup.string().required('Required')\n : Yup.string()\n .notOneOf([values.currentPassword], 'New password must be different than the current password')\n .matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG);\n }),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n });\n});\nexport var UserChangePassword = function (props) {\n var user = useUser();\n var _a = useAPI((user === null || user === void 0 ? void 0 : user.firstName) ? COGNITO_USER_CHANGE_PASSWORD : WO_COGNITO_USER_CHANGE_PASSWORD, undefined, 'POST'), userChangePasswordData = _a[0], userChangePassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.isOpen) {\n setInitialValues({\n currentPassword: '',\n newPassword: '',\n passwordConfirmation: '',\n });\n resetStore();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.isOpen]);\n useEffect(function () {\n if (userChangePasswordData.requesting === false && !userChangePasswordData.error) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [userChangePasswordData.requesting]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, userChangePassword({\n password: values.currentPassword,\n new_password: values.newPassword,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Change Password\"),\n React.createElement(ModalBody, null,\n React.createElement(MessageBox, { error: userChangePasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Current password\"),\n React.createElement(Input, { type: \"password\", name: \"currentPassword\", placeholder: \"Current Password\", value: values.currentPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('currentPassword') }),\n React.createElement(FormFeedback, null, getError('currentPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(Button, { color: \"primary\", hidden: true, type: \"submit\" }))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", onClick: onSubmit, loading: isSubmitting }, \"Change password\"))));\n};\nvar templateObject_1;\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { Modal, ModalHeader, ModalBody } from 'reactstrap';\nexport var LicenseAgreementModal = function (props) {\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"National Minority Quality Forum License Agreement\"),\n React.createElement(ModalBody, null, \"You should carefully read the following terms and conditions before using the INDEX, which contains software and proprietary data owned by the National Minority Quality Forum, Inc. (the \\\"Forum\\\"). Upon your acceptance of the terms of this License Agreement, the Forum will approve your registration and license your exclusive use under the terms set forth below. If you do not agree to the terms and conditions of this License Agreement, do not use the INDEX. Using any part of the INDEX indicates that you accept these terms. The product is provided as is. Grant of License: The Forum grants you a personal, limited, nonexclusive, nontransferable, non-assignable License to view health indicators within geographic boundaries. The Forum grants you this License solely for your personal use for your organization/office of employment for the sole purpose of furthering understanding and appreciation of health indicators and requires that you adhere to all of the terms and conditions of this License Agreement. These limitations on use apply to the software and any other documentation and materials associated with the INDEX. The foregoing is an express limited-use License and not an assignment, sale, or other transfer of the INDEX or any Intellectual-Property Rights (as defined below) of the Forum. Assent: By logging on to the INDEX, you agree that this License Agreement is a legally binding and valid contract, you agree to abide by the intellectual-property laws and all of the terms and conditions of this Agreement, and you further agree to take all necessary steps to ensure that the terms and conditions of this Agreement are not violated by any person or entity under your control or in your service. Ownership of Software: The Forum and/or its affiliates or subsidiaries own certain rights and have accepted certain data-use agreements that may exist from time to time in this or any other jurisdiction, whether foreign or domestic, under patent law, copyright law, publicity-rights law, moral-rights law, trade-secret law, trademark law, unfair-competition law, or other similar protections (\\\"Intellectual-Property Rights\\\"), regardless of whether or not such rights or protections are registered or perfected, in the INDEX. All Intellectual-Property Rights in and to the INDEX are and shall remain in the Forum. No Commercial Use: This License Agreement grants you the right to personal use of the INDEX for your organization/office of employment only. Commercial use of the software or of the work products resulting from its use is not permitted under this License Agreement. Restrictions:1. You are expressly prohibited from copying, modifying, merging, selling, leasing, redistributing, assigning, or transferring in any manner the INDEX or any portion of its software.2. You are expressly prohibited from reverse engineering, decompiling, translating, disassembling, deciphering, decrypting, or otherwise attempting to discover the source code of the INDEX, as the INDEX contains proprietary material of the Forum. You may not otherwise modify, alter, adapt, port, or merge the INDEX.3. You may not remove, alter, deface, overprint, or otherwise obscure the Forum logos, patent, trademark, service mark, or copyright notices.4. You agree that the INDEX will not be shipped, transferred, or exported to any other country or used in any manner prohibited by any government agency or any export laws, restrictions, or regulations.5. You may not distribute in any form of electronic or printed communication the materials within or otherwise related to the INDEX, including but not limited to the object code, documentation, help files, examples, and benchmarks. Exceptions: You may create copies of the data produced by the INDEX for the sole purpose of furthering the understanding and appreciation of health indicators. You may distribute such maps or derivative data within your organization or place of employment in electronic or printed form. All maps or derivative data that you copy, print, or distribute must contain the logos of the Forum. Linkage to the INDEX: No linkage to the INDEX from your or another Web site is permitted without the written consent of the Forum. Warranties and Disclaimer: Except as expressly provided otherwise in a written agreement between the Forum and you, the INDEX is provided as is, without warranty of any kind, either express or implied, including but not limited to implied warranty of merchantability or fitness for a particular purpose and warranty of non-infringement. Without limiting the foregoing, the Forum makes no warranty that (i) the INDEX will meet your requirements; (ii) the use of the INDEX will be uninterrupted, timely, secure, or error free; (iii) the quality of the INDEX will meet your expectations; and/or (v) you may use, practice, execute, or access the INDEX without violating the intellectual-property rights of others. In no event shall the Forum or its suppliers or contractors be liable to you or any third party for any special, incidental, indirect, or consequential damages of any kind or any damages whatsoever, including without limitation those resulting from loss of use, data, or profits, whether or not the Forum had been advised of the possibility of such damages, and on any theory of liability, arising out of or in connection with the use of the INDEX. Some jurisdictions prohibit the exclusion or limitation of liability for consequential or incidental damages, so the above limitations may not apply to you. These limitations shall apply notwithstanding any failure of essential purpose of any limited remedy. Severability: In the event that any provision of this License Agreement is found to be invalid, illegal, or unenforceable, the validity, legality, and enforceability of any of the remaining provisions shall not in any way be affected or impaired, and a valid, legal, and enforceable provision of similar intent and economic impact shall be substituted therefore. Entire Agreement: This License Agreement sets forth the entire understanding and agreement between you and the Forum It may be amended only in a writing signed by both parties. This License Agreement shall not supersede any other written agreement between you and the Forum with respect to the INDEX.\")));\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var GeoLevelEnum;\n(function (GeoLevelEnum) {\n GeoLevelEnum[\"Zip5\"] = \"ZIP_CODE_5\";\n GeoLevelEnum[\"Zip3\"] = \"ZIP_CODE_3\";\n GeoLevelEnum[\"State\"] = \"STATE\";\n GeoLevelEnum[\"County\"] = \"COUNTY\";\n GeoLevelEnum[\"MSA\"] = \"MSA\";\n GeoLevelEnum[\"Congressional\"] = \"CONGRESSIONAL_DISTRICT\";\n GeoLevelEnum[\"StateUpper\"] = \"STATE_UPPER_HOUSE_DISTRICT\";\n GeoLevelEnum[\"StateLower\"] = \"STATE_LOWER_HOUSE_DISTRICT\";\n})(GeoLevelEnum || (GeoLevelEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var StatisticGroupEnum;\n(function (StatisticGroupEnum) {\n StatisticGroupEnum[\"Population\"] = \"POPULATION\";\n StatisticGroupEnum[\"Rate\"] = \"RATE_OF_ACUTE_EVENTS\";\n StatisticGroupEnum[\"Cost\"] = \"COST_OF_ACUTE_EVENTS\";\n})(StatisticGroupEnum || (StatisticGroupEnum = {}));\nexport var StatisticTypeEnum;\n(function (StatisticTypeEnum) {\n // Population\n StatisticTypeEnum[\"Prevalence\"] = \"PREVALENCE\";\n StatisticTypeEnum[\"TotalCount\"] = \"TOTAL_COUNT_OF_PATIENTS\";\n // RateOfAcuteEvents\n StatisticTypeEnum[\"HospitalizationRate\"] = \"HOSPITALIZATION_RATE\";\n StatisticTypeEnum[\"ERVisitsRate\"] = \"ER_VISITS_RATE\";\n StatisticTypeEnum[\"HospitalEncounterRate\"] = \"HOSPITAL_ENCOUNTERS_RATE\";\n StatisticTypeEnum[\"DeathRate\"] = \"DEATH_RATE\";\n StatisticTypeEnum[\"ReadmissionRate\"] = \"READMISSION_RATE\";\n // CostOfAcuteEvents\n StatisticTypeEnum[\"HospitalizationCost\"] = \"TOTAL_ANNUAL_HOSPITALIZATION_COST_PER_PATIENT\";\n StatisticTypeEnum[\"ERCost\"] = \"TOTAL_ANNUAL_ER_COST_PER_PATIENT\";\n StatisticTypeEnum[\"OOPPartBDrugCost\"] = \"TOTAL_ANNUAL_PATIENT_OUT_OF_POCKET_PART_B_DRUG_COST_PER_PATIENT\";\n StatisticTypeEnum[\"OOPPartDDrugCost\"] = \"TOTAL_ANNUAL_PATIENT_OUT_OF_POCKET_PART_D_DRUG_COST_PER_PATIENT\";\n StatisticTypeEnum[\"MCRPartBDrugCost\"] = \"TOTAL_ANNUAL_MCR_PART_B_DRUG_PAYMENTS_PER_PATIENT\";\n StatisticTypeEnum[\"MCRPartDDrugCost\"] = \"TOTAL_ANNUAL_MCR_PART_D_DRUG_PAYMENTS_PER_PATIENT\";\n StatisticTypeEnum[\"TotalCost\"] = \"TOTAL_ANNUAL_COST_PER_PATIENT\";\n})(StatisticTypeEnum || (StatisticTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var DataSourceEnum;\n(function (DataSourceEnum) {\n DataSourceEnum[\"MedicareAll\"] = \"MEDICARE_ALL\";\n DataSourceEnum[\"MedicareFFS\"] = \"MEDICARE_FFS\";\n DataSourceEnum[\"MedicareAdvantage\"] = \"MEDICARE_ADVANTAGE\";\n DataSourceEnum[\"Medicaid\"] = \"MEDICAID\";\n DataSourceEnum[\"MedicareFfsFluSeason\"] = \"MEDICARE_FFS_FLU_SEASON\";\n})(DataSourceEnum || (DataSourceEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ViewModeEnum;\n(function (ViewModeEnum) {\n ViewModeEnum[\"Map\"] = \"MAP_VIEW\";\n ViewModeEnum[\"Table\"] = \"TABULAR_VIEW\";\n ViewModeEnum[\"Chart\"] = \"CHART_VIEW\";\n})(ViewModeEnum || (ViewModeEnum = {}));\nexport var ChartViewEnum;\n(function (ChartViewEnum) {\n ChartViewEnum[\"Demographic\"] = \"DEMOGRAPHIC\";\n ChartViewEnum[\"Trends\"] = \"TRENDS\";\n})(ChartViewEnum || (ChartViewEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var DemographicTypeEnum;\n(function (DemographicTypeEnum) {\n DemographicTypeEnum[\"Sex\"] = \"sex\";\n DemographicTypeEnum[\"Race\"] = \"race\";\n DemographicTypeEnum[\"Age\"] = \"age\";\n})(DemographicTypeEnum || (DemographicTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RoleEnum;\n(function (RoleEnum) {\n RoleEnum[\"GeneralUser\"] = \"GENERAL_USER\";\n RoleEnum[\"GeneralUserNoDownload\"] = \"GENERAL_USER_NO_DOWNLOAD\";\n RoleEnum[\"SystemAdmin\"] = \"SYSTEM_ADMIN\";\n RoleEnum[\"IndexManager\"] = \"INDEX_MANAGER\";\n RoleEnum[\"SingleIndexDataManager\"] = \"SINGLE_INDEX_DATA_MANAGER\";\n RoleEnum[\"SingleIndexUserManager\"] = \"SINGLE_INDEX_USER_MANAGER\";\n})(RoleEnum || (RoleEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RaceMethodologyEnum;\n(function (RaceMethodologyEnum) {\n RaceMethodologyEnum[\"Standard\"] = \"STANDARD\";\n RaceMethodologyEnum[\"RTI\"] = \"RTI\";\n})(RaceMethodologyEnum || (RaceMethodologyEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ClinicalTrialOptionEnum;\n(function (ClinicalTrialOptionEnum) {\n ClinicalTrialOptionEnum[\"TrialsRelated\"] = \"TRIALS_RELATED\";\n ClinicalTrialOptionEnum[\"AllTrials\"] = \"ALL_TRIALS\";\n})(ClinicalTrialOptionEnum || (ClinicalTrialOptionEnum = {}));\nexport var ClinicalTrialStatusEnum;\n(function (ClinicalTrialStatusEnum) {\n ClinicalTrialStatusEnum[\"NotYetRecruiting\"] = \"NOT_YET_RECRUITING\";\n ClinicalTrialStatusEnum[\"Recruiting\"] = \"RECRUITING\";\n ClinicalTrialStatusEnum[\"EnrollingByInvitation\"] = \"ENROLLING_BY_INVITATION\";\n ClinicalTrialStatusEnum[\"ActiveNotRecruiting\"] = \"ACTIVE_NOT_RECRUITING\";\n})(ClinicalTrialStatusEnum || (ClinicalTrialStatusEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var PrimaryConditionsSortTypeEnum;\n(function (PrimaryConditionsSortTypeEnum) {\n PrimaryConditionsSortTypeEnum[\"Specifically\"] = \"SPECIFICALLY\";\n})(PrimaryConditionsSortTypeEnum || (PrimaryConditionsSortTypeEnum = {}));\nexport var SecondaryConditionsSortTypeEnum;\n(function (SecondaryConditionsSortTypeEnum) {\n SecondaryConditionsSortTypeEnum[\"Specifically\"] = \"SPECIFICALLY\";\n})(SecondaryConditionsSortTypeEnum || (SecondaryConditionsSortTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var RightPanelTypeEnum;\n(function (RightPanelTypeEnum) {\n RightPanelTypeEnum[\"RegionDetail\"] = \"RegionDetail\";\n RightPanelTypeEnum[\"ProviderDetail\"] = \"ProviderDetail\";\n RightPanelTypeEnum[\"ClinicalTrialDetail\"] = \"ClinicalTrialDetail\";\n RightPanelTypeEnum[\"CustomMapLayer\"] = \"CustomMapLayer\";\n RightPanelTypeEnum[\"QuestDiagnosticsSites\"] = \"QuestDiagnosticsSitesLayer\";\n})(RightPanelTypeEnum || (RightPanelTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var UserLoginTypeEnum;\n(function (UserLoginTypeEnum) {\n UserLoginTypeEnum[\"USER_APP\"] = \"USER_APP\";\n UserLoginTypeEnum[\"USER_COGNITO\"] = \"USER_COGNITO\";\n})(UserLoginTypeEnum || (UserLoginTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ChronicConditionSource;\n(function (ChronicConditionSource) {\n ChronicConditionSource[\"NMQF_CUSTOM\"] = \"nmqf_custom\";\n ChronicConditionSource[\"CMS_OTHER\"] = \"cms_other\";\n ChronicConditionSource[\"CMS_27\"] = \"cms_27\";\n ChronicConditionSource[\"CMS_30\"] = \"cms_30\";\n})(ChronicConditionSource || (ChronicConditionSource = {}));\nexport var KeyCombineConditionSource;\n(function (KeyCombineConditionSource) {\n KeyCombineConditionSource[\"lessThan2019\"] = \"lessThan2019\";\n KeyCombineConditionSource[\"greaterOrEqual2019\"] = \"greaterOrEqual2019\";\n})(KeyCombineConditionSource || (KeyCombineConditionSource = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useContext, useCallback, useMemo } from 'react';\nimport { Map } from 'immutable';\nimport { DataSourceEnum, RaceMethodologyEnum, StatisticTypeEnum } from '../enums';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nexport var REPORT_DATA_SOURCES = [DataSourceEnum.MedicareFFS];\nvar ReportsDialogContext = React.createContext([]);\nexport var useReportsDialogValue = function (key) {\n var _a = useContext(ReportsDialogContext), state = _a[0], updateState = _a[1];\n var getter = function () { return state === null || state === void 0 ? void 0 : state.get(key); };\n var setter = useCallback(function (value) { return updateState === null || updateState === void 0 ? void 0 : updateState(function (curr) { return curr.set(key, value); }); }, [key, updateState]);\n return [useMemo(getter, [key, state]), setter];\n};\nexport var useReportSetting = function () {\n var _a = useContext(ReportsDialogContext), data = _a[0], updateData = _a[1];\n var getter = function () { return data === null || data === void 0 ? void 0 : data.toJSON(); };\n var setter = useCallback(function (value) { return updateData === null || updateData === void 0 ? void 0 : updateData(Map(value)); }, [updateData]);\n return [useMemo(getter, [data]), setter];\n};\nexport var ReportsDialogProvider = function (props) {\n var _a, _b, _c, _d, _e;\n var defaultFilter = useDefaultFilter();\n var indexConfig = useHostnameIndexInfo();\n var _f = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).isSeasonStatistic, isSeasonStatistic = _f === void 0 ? false : _f;\n var INITIAL_VALUE = {\n isSeasonStatistic: isSeasonStatistic,\n conditions: defaultFilter.primaryCoMorbidities || [],\n secondaryCormorbidities: [],\n dataSourceType: ((_b = (_a = defaultFilter.report) === null || _a === void 0 ? void 0 : _a.cmsDataSource) === null || _b === void 0 ? void 0 : _b[0]) || REPORT_DATA_SOURCES[0],\n dataYear: 0,\n dataYearSeason: defaultFilter.dataYearSeason || [],\n firstLevel: undefined,\n reportType: defaultFilter.defaultReportType || ReportTypeEnum.CongressionalDetailAnalysis,\n secondLevel: undefined,\n zipCodes: undefined,\n raceMethodology: RaceMethodologyEnum.Standard,\n statistics: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationCost,\n StatisticTypeEnum.ERCost,\n StatisticTypeEnum.TotalCost,\n ],\n sexCodes: (_c = defaultFilter.demographics) === null || _c === void 0 ? void 0 : _c.sexCodes,\n raceCodes: (_d = defaultFilter.demographics) === null || _d === void 0 ? void 0 : _d.raceCodes,\n ages: (_e = defaultFilter.demographics) === null || _e === void 0 ? void 0 : _e.ages,\n isRememberSettings: false,\n fluVaccineCptCodes: [],\n };\n var _g = useState(function () { return Map(INITIAL_VALUE); }), state = _g[0], setState = _g[1];\n var contextValue = [state, setState];\n return (React.createElement(ReportsDialogContext.Provider, { value: contextValue }, props.children));\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var FETCH_URL_START = 'FETCH_URL_START';\nexport var FETCH_URL_SUCCESS = 'FETCH_URL_SUCCESS';\nexport var FETCH_URL_FAILED = 'FETCH_URL_FAILED';\nexport var FETCH_URL_RESET = 'FETCH_URL_RESET';\nvar initialState = Map();\nvar actionHandlers = {};\nactionHandlers[FETCH_URL_START] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], true)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'error'])\n .setIn([a.payload.key + \":\" + a.payload.method, 'timeout'], a.payload.timeout)\n .setIn([a.payload.key + \":\" + a.payload.method, 'abortController'], a.payload.abortController);\n};\nactionHandlers[FETCH_URL_SUCCESS] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], false)\n .setIn([a.payload.key + \":\" + a.payload.method, 'data'], a.payload.data)\n .setIn([a.payload.key + \":\" + a.payload.method, 'statusCode'], a.payload.statusCode)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'abortController']);\n};\nactionHandlers[FETCH_URL_FAILED] = function (s, a) {\n return s\n .setIn([a.payload.key + \":\" + a.payload.method, 'requesting'], false)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'data'])\n .setIn([a.payload.key + \":\" + a.payload.method, 'error'], a.payload.error)\n .setIn([a.payload.key + \":\" + a.payload.method, 'statusCode'], a.payload.statusCode)\n .removeIn([a.payload.key + \":\" + a.payload.method, 'abortController']);\n};\nactionHandlers[FETCH_URL_RESET] = function (s, a) { return s.remove(a.payload.key + \":\" + a.payload.method); };\nexport default function reducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { Map } from 'immutable';\nexport var SET_MESSAGE = 'SET_MESSAGE';\n// Init state\nvar initialState = Map();\n// Init action handlers\nvar actionHandlers = {};\nactionHandlers[SET_MESSAGE] = function (s, a) { return (a.payload.data ? s.set(a.payload.key, a.payload.data) : s.remove(a.payload.key)); };\nexport default function messageReducer(state, action) {\n if (state === void 0) { state = initialState; }\n // Get appropriate action handler by type\n var fn = actionHandlers[action.type];\n // Check if handler is existed\n // Then call the handler\n // Otherwise return state\n return fn ? fn(state, action) : state;\n}\n;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useContext, useCallback, useMemo, useRef } from 'react';\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { Map } from 'immutable';\nimport { AuthContext } from 'cinchy';\nimport { FETCH_URL_START, FETCH_URL_SUCCESS, FETCH_URL_FAILED, FETCH_URL_RESET } from './reducer';\nimport { substituteParams } from '../../utils';\nvar DEFAULT_TIMEOUT = 60000; // One Minute Timeout\nvar startFetch = function (key, method, timeout, abortController) { return ({\n type: FETCH_URL_START,\n payload: { key: key, method: method, timeout: timeout, abortController: abortController },\n}); };\nvar successFetch = function (key, method, data, statusCode) { return ({\n type: FETCH_URL_SUCCESS,\n payload: { key: key, method: method, data: data, statusCode: statusCode },\n}); };\nvar failFetch = function (key, method, error, statusCode) { return ({\n type: FETCH_URL_FAILED,\n payload: {\n key: key,\n method: method,\n error: __assign(__assign({}, (typeof error === 'object' ? error : { error: error })), { statusCode: statusCode, message: statusCode === 502 || statusCode === 504\n ? 'The system is currently busy, please try again in a couple of minutes'\n : typeof error === 'object'\n ? error.message || error.errorMessage\n : 'Server Error' }),\n statusCode: statusCode,\n },\n}); };\nvar resetState = function (key, method) { return ({ type: FETCH_URL_RESET, payload: { key: key, method: method } }); };\nvar APIClient = /** @class */ (function () {\n function APIClient(url, key, method, authStrategy) {\n this.authStrategy = authStrategy;\n this.url = url;\n this.key = key;\n this.method = method;\n }\n APIClient.prototype.getKey = function () {\n return this.key;\n };\n APIClient.prototype.getMethod = function () {\n return this.method;\n };\n APIClient.prototype.getUrl = function () {\n return this.url;\n };\n APIClient.prototype.abort = function (state) {\n var _a, _b;\n (_b = (_a = state.api.get(this.key + \":\" + this.method)) === null || _a === void 0 ? void 0 : _a.get('abortController')) === null || _b === void 0 ? void 0 : _b.abort();\n };\n APIClient.prototype.resetState = function () {\n var _this = this;\n return function (dispatch, getState) {\n _this.abort(getState());\n dispatch(resetState(_this.getKey(), _this.getMethod()));\n };\n };\n APIClient.prototype.request = function (timeout, body, parseData) {\n var _this = this;\n if (timeout === void 0) { timeout = DEFAULT_TIMEOUT; }\n return function (dispatch, getState) { return __awaiter(_this, void 0, void 0, function () {\n var abortController, retry, response, requestOptions, request, contentType, _a, contentType, _b, e_1;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n if (!this.url)\n return [2 /*return*/];\n this.abort(getState());\n abortController = new AbortController();\n dispatch(startFetch(this.key, this.method, Date.now() + timeout, abortController));\n _c.label = 1;\n case 1:\n _c.trys.push([1, 19, , 22]);\n retry = true;\n response = {};\n _c.label = 2;\n case 2:\n if (!retry) return [3 /*break*/, 18];\n retry = false;\n requestOptions = this.authStrategy.getRequestOptions(this.method, body);\n return [4 /*yield*/, fetch(this.url, __assign({ signal: abortController.signal }, requestOptions))];\n case 3:\n request = _c.sent();\n if (!(request.status > 299)) return [3 /*break*/, 12];\n if (!(request.status === 401)) return [3 /*break*/, 5];\n return [4 /*yield*/, this.authStrategy.onUnauthorized(dispatch, getState, request)];\n case 4:\n retry = _c.sent();\n return [3 /*break*/, 11];\n case 5:\n if (!(request.status === 403)) return [3 /*break*/, 7];\n return [4 /*yield*/, this.authStrategy.onForbidden(dispatch, getState, request)];\n case 6:\n retry = _c.sent();\n return [3 /*break*/, 11];\n case 7:\n contentType = request.headers.get('content-type');\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json'))) return [3 /*break*/, 9];\n return [4 /*yield*/, request.json()];\n case 8:\n _a = _c.sent();\n return [3 /*break*/, 10];\n case 9:\n _a = request.statusText;\n _c.label = 10;\n case 10:\n response = _a;\n dispatch(failFetch(this.key, this.method, response, request.status));\n _c.label = 11;\n case 11: return [3 /*break*/, 17];\n case 12:\n contentType = request.headers.get('content-type');\n if (!(contentType === null || contentType === void 0 ? void 0 : contentType.includes('application/json'))) return [3 /*break*/, 14];\n return [4 /*yield*/, request.json()];\n case 13:\n _b = _c.sent();\n return [3 /*break*/, 16];\n case 14: return [4 /*yield*/, request.text()];\n case 15:\n _b = _c.sent();\n _c.label = 16;\n case 16:\n response = _b;\n response = parseData ? parseData(response) : response;\n dispatch(successFetch(this.key, this.method, response, request.status));\n _c.label = 17;\n case 17: return [3 /*break*/, 2];\n case 18: return [2 /*return*/, response];\n case 19:\n e_1 = _c.sent();\n if (!(e_1.name !== 'AbortError')) return [3 /*break*/, 21];\n return [4 /*yield*/, this.authStrategy.onUnauthorized(dispatch, getState, e_1)];\n case 20:\n _c.sent();\n dispatch(failFetch(this.key, this.method, e_1));\n _c.label = 21;\n case 21: return [3 /*break*/, 22];\n case 22: return [2 /*return*/];\n }\n });\n }); };\n };\n return APIClient;\n}());\nexport { APIClient };\nexport var useAPI = function (url, substitutions, method, key, parseData) {\n if (substitutions === void 0) { substitutions = {}; }\n if (method === void 0) { method = 'GET'; }\n if (key === void 0) { key = url; }\n var parseDataRef = useRef();\n parseDataRef.current = parseData;\n var auth = useContext(AuthContext);\n var dispatch = useDispatch();\n var substitutedUrl = substituteParams(url, substitutions);\n var substitutedKey = substituteParams(key, substitutions);\n var client = useMemo(function () { return new APIClient(substitutedUrl, substitutedKey, method, auth); }, [substitutedUrl, substitutedKey, method, auth]);\n var doRequest = useCallback(function (body, force, timeout) {\n if (timeout === void 0) { timeout = DEFAULT_TIMEOUT; }\n return dispatch(client.request(timeout, body, parseDataRef.current));\n }, [client, dispatch]);\n var data = useMappedState(useCallback(function (state) { return state.api.get(client.getKey() + \":\" + client.getMethod(), Map({})).toObject(); }, [client]));\n var resetStateAPI = useCallback(function () { return dispatch(client.resetState()); }, [client, dispatch]);\n return [data, doRequest, resetStateAPI];\n};\nexport var useCachedData = function (url, substitutions, method, key, parseData) {\n if (method === void 0) { method = 'GET'; }\n if (key === void 0) { key = url; }\n var _a = useAPI(url, substitutions, method, key, parseData), data = _a[0], doRequest = _a[1], resetState = _a[2];\n var ignoreRequest = useRef(false);\n ignoreRequest.current = !!data.data || !!data.requesting;\n var fetchData = useCallback(function (body, force, timeout) {\n if (force || !ignoreRequest.current) {\n doRequest(body, force, timeout);\n }\n }, [doRequest]);\n return [data, fetchData, resetState];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback } from 'react';\nimport { SET_MESSAGE } from './reducer';\nexport var useMessage = function (messageId) {\n var dispatch = useDispatch();\n var setter = useCallback(function (message) { return dispatch({ type: SET_MESSAGE, payload: { key: messageId, data: message } }); }, [dispatch, messageId]);\n var getter = useCallback(function (state) { return state.message.get(messageId); }, [messageId]);\n return [useMappedState(getter), setter];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport api from './api/reducer';\nimport filter from './filtersettings/reducer';\nimport filterediting from './filterediting/reducer';\nimport view from './viewsetting/reducer';\nimport message from './message/reducer';\nexport var reducers = { api: api, filter: filter, filterediting: filterediting, view: view, message: message };\nexport * from './api';\nexport * from './filtersettings';\nexport * from './filterediting';\nexport * from './viewsetting';\nexport * from './message';\n","var _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { DataSourceEnum, StatisticTypeEnum } from '../enums';\nexport var DATA_SOURCES = (_a = {},\n _a[DataSourceEnum.Medicaid] = {\n value: DataSourceEnum.Medicaid,\n label: 'Medicaid',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount\n ],\n abbreviation: 'mcd',\n },\n _a[DataSourceEnum.MedicareFFS] = {\n value: DataSourceEnum.MedicareFFS,\n label: 'Medicare FFS',\n supportConsumptionGroup: true,\n abbreviation: 'mcr',\n },\n _a[DataSourceEnum.MedicareAdvantage] = {\n value: DataSourceEnum.MedicareAdvantage,\n label: 'Medicare Advantage',\n abbreviation: 'mcradv',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationRate,\n StatisticTypeEnum.ERVisitsRate,\n StatisticTypeEnum.HospitalEncounterRate,\n StatisticTypeEnum.DeathRate,\n StatisticTypeEnum.ReadmissionRate,\n ],\n },\n _a[DataSourceEnum.MedicareAll] = {\n value: DataSourceEnum.MedicareAll,\n label: 'Medicare All',\n abbreviation: 'mcrall',\n availableStatistic: [\n StatisticTypeEnum.Prevalence,\n StatisticTypeEnum.TotalCount,\n StatisticTypeEnum.HospitalizationRate,\n StatisticTypeEnum.ERVisitsRate,\n StatisticTypeEnum.HospitalEncounterRate,\n StatisticTypeEnum.DeathRate,\n StatisticTypeEnum.ReadmissionRate,\n ],\n },\n _a[DataSourceEnum.MedicareFfsFluSeason] = {\n value: DataSourceEnum.MedicareFfsFluSeason,\n label: 'Medicare FFS Flu Season',\n abbreviation: 'mcr',\n },\n _a);\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar _a, _b;\nimport { ViewModeEnum, GeoLevelEnum, ChartViewEnum, DemographicTypeEnum } from '../enums';\nimport { deviceType } from '../utils';\nexport var VIEW_MODES = (_a = {},\n _a[ViewModeEnum.Map] = {\n value: ViewModeEnum.Map,\n label: 'View Map',\n icon: 'map',\n },\n _a[ViewModeEnum.Chart] = {\n value: ViewModeEnum.Chart,\n label: 'View Chart',\n icon: 'chart-pie',\n },\n _a[ViewModeEnum.Table] = {\n value: ViewModeEnum.Table,\n label: 'View Table',\n icon: 'table',\n },\n _a);\nexport var DEMOGRAPHIC_CHART_OPTIONS = [\n {\n value: DemographicTypeEnum.Sex,\n label: 'Sex',\n },\n {\n value: DemographicTypeEnum.Age,\n label: 'Age',\n },\n {\n value: DemographicTypeEnum.Race,\n label: 'Race/Ethnicity',\n },\n];\nexport var ALL_DEMOGRAPHIC_CHART_OPTIONS = DEMOGRAPHIC_CHART_OPTIONS.map(function (_a) {\n var value = _a.value;\n return value;\n});\nexport var CHART_VIEW_OPTIONS = [\n { value: ChartViewEnum.Demographic, label: 'Demographics', children: DEMOGRAPHIC_CHART_OPTIONS },\n { value: ChartViewEnum.Trends, label: 'Trends' },\n];\nexport var DEFAULT_VIEW_SETTING = {\n viewMode: ViewModeEnum.Map,\n geoType: GeoLevelEnum.Zip5,\n mapView: {\n showLegend: deviceType() !== 'mobile',\n showGeographyHoverDisplay: true,\n },\n chartView: (_b = {\n type: ChartViewEnum.Demographic,\n demographics: ALL_DEMOGRAPHIC_CHART_OPTIONS\n },\n _b[DemographicTypeEnum.Sex] = 'pie',\n _b[DemographicTypeEnum.Race] = 'pie',\n _b[DemographicTypeEnum.Age] = 'pie',\n _b),\n importingLocationTypes: {},\n mapLayerCountNotifications: {},\n provider: {},\n checkedQuestDiagnosticsStatus: false,\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useContext, useMemo, useCallback, useEffect, useRef } from 'react';\nimport { WebMercatorViewport } from 'react-map-gl';\nimport bbox from '@turf/bbox';\nimport { Map } from 'immutable';\nimport { v4 } from 'uuid';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useUIValueSessionStorage } from '../storeduivalue';\nimport { useMount } from '../hooks';\nvar INITIAL_VIEW_PORT = {\n latitude: 37.70912855295634,\n longitude: -95.77103105174075,\n zoom: 3.4,\n pitch: 0,\n bearing: 0,\n};\nvar DEFAULT_TRANSPARENCY = 70;\nvar FIT_BOUNDS_PADDING = 70;\nvar MapContext = React.createContext(Object.assign([]));\nvar ViewportContext = React.createContext(Object.assign([]));\nexport var useMapFallback = function (requesting, error, retry) {\n var _a = useContext(MapContext), state = _a[0], updateState = _a[1];\n var fallback = state === null || state === void 0 ? void 0 : state.get('fallback');\n var key = useMemo(function () { return v4(); }, []);\n var getter = function () {\n var fallbackObj = (fallback === null || fallback === void 0 ? void 0 : fallback.toObject()) || {};\n var result = Object.values(fallbackObj).reduce(function (acc, curr) {\n acc.requesting = acc.requesting || curr.requesting;\n acc.error = acc.error || curr.error;\n return acc;\n }, Object.assign({}));\n result.retry = function () {\n Object.values(fallbackObj).forEach(function (curr) {\n if (curr.error) {\n curr.retry();\n }\n });\n };\n return result;\n };\n var setter = useCallback(function (value) {\n updateState === null || updateState === void 0 ? void 0 : updateState('fallback', function (oldState) { return (value ? oldState.set(key, value) : oldState.remove(key)); });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [updateState]);\n useEffect(function () {\n setter({ requesting: requesting, error: error, retry: retry });\n return setter;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requesting, error]);\n return [useMemo(getter, [fallback]), setter];\n};\nexport var MapFallback = function (props) {\n useMapFallback(props.requesting, props.error, props.retry);\n return null;\n};\nexport var useMapRef = function () {\n var _a = useContext(MapContext), mapRef = _a[2];\n return mapRef;\n};\nexport var useViewport = function () {\n var _a;\n var _b = useContext(ViewportContext), viewport = _b[0], updateViewport = _b[1];\n var indexConfig = useHostnameIndexInfo();\n var singleStateBBox = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.singleState) === null || _a === void 0 ? void 0 : _a.bbox;\n var setter = useCallback(function (value) {\n updateViewport(function (curr) { return (__assign(__assign({}, curr), value)); });\n }, [updateViewport]);\n var resetViewport = function (shouldResetViewport) {\n if (shouldResetViewport === void 0) { shouldResetViewport = true; }\n if (singleStateBBox && (viewport === null || viewport === void 0 ? void 0 : viewport.width) && (viewport === null || viewport === void 0 ? void 0 : viewport.height)) {\n var webMercatorViewport = new WebMercatorViewport(viewport);\n var minLng = singleStateBBox[0], minLat = singleStateBBox[1], maxLng = singleStateBBox[2], maxLat = singleStateBBox[3];\n var _a = webMercatorViewport.fitBounds([\n [minLng, minLat],\n [maxLng, maxLat],\n ], { padding: FIT_BOUNDS_PADDING }), longitude = _a.longitude, latitude = _a.latitude, zoom = _a.zoom;\n var value = { minZoom: zoom, zoom: Math.max(zoom, viewport.zoom || 0) };\n if (shouldResetViewport) {\n value = __assign(__assign({}, value), { longitude: longitude,\n latitude: latitude,\n zoom: zoom });\n }\n setter(value);\n }\n else if (shouldResetViewport) {\n setter(INITIAL_VIEW_PORT);\n }\n };\n return [viewport, setter, resetViewport];\n};\nexport var useMapValue = function (key) {\n var _a = useContext(MapContext), state = _a[0], updateState = _a[1];\n var getter = function () { return state === null || state === void 0 ? void 0 : state.get(key); };\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var setter = useCallback(function (value) { return updateState === null || updateState === void 0 ? void 0 : updateState(key, value); }, []);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n return [useMemo(getter, [state]), setter];\n};\nexport var useZoomToFeature = function () {\n var _a = useViewport(), viewport = _a[0], setViewport = _a[1];\n var viewportRef = useRef();\n viewportRef.current = viewport;\n var zoomToFeature = useCallback(function (feature) {\n if (feature) {\n try {\n var webMercatorViewport = new WebMercatorViewport(viewportRef.current);\n var _a = bbox(feature), minLng = _a[0], minLat = _a[1], maxLng = _a[2], maxLat = _a[3];\n var _b = webMercatorViewport.fitBounds([\n [minLng, minLat],\n [maxLng, maxLat],\n ], { padding: FIT_BOUNDS_PADDING }), longitude = _b.longitude, latitude = _b.latitude, zoom = _b.zoom;\n setViewport({\n longitude: longitude,\n latitude: latitude,\n zoom: Math.max(zoom - 1.5, viewportRef.current.minZoom || 0),\n });\n }\n catch (e) { }\n }\n }, [setViewport]);\n return zoomToFeature;\n};\nvar INITIAL_VALUE = {\n viewport: INITIAL_VIEW_PORT,\n transparency: DEFAULT_TRANSPARENCY,\n fallback: Map(),\n};\nvar SingleStateViewportComponent = function (props) {\n var _a = useViewport(), resetViewport = _a[2];\n useMount(function () {\n resetViewport(props.shouldResetViewport);\n });\n return null;\n};\nvar ViewportProvider = function (props) {\n var _a = useUIValueSessionStorage('viewport', INITIAL_VIEW_PORT, ['latitude', 'longitude', 'zoom']), viewport = _a[0], setViewport = _a[1], initialSessionValue = _a[2];\n return (React.createElement(ViewportContext.Provider, { value: [viewport, setViewport] },\n !!viewport.width && !!viewport.height && React.createElement(SingleStateViewportComponent, { shouldResetViewport: !initialSessionValue }),\n props.children));\n};\nexport var MapProvider = function (props) {\n var _a = useState(function () { return Map(INITIAL_VALUE); }), state = _a[0], setState = _a[1];\n var mapRef = useRef(null);\n var setter = useCallback(function (key, value) {\n setState(function (curr) { return curr.set(key, typeof value === 'function' ? value(curr.get(key)) : value); });\n }, []);\n var contextValue = useMemo(function () { return [state, setter, mapRef]; }, [state, setter]);\n return (React.createElement(ViewportProvider, null,\n React.createElement(MapContext.Provider, __assign({ value: contextValue }, props))));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Spinner as RSSpinner } from 'reactstrap';\nvar DEFAULT_SPINNER_RADIUS = 120;\nvar StyledSpinner = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: 1rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n padding: 1rem;\\n\"])));\nvar StyledRSSpinner = styled(RSSpinner)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n color: #0099db;\\n border-width: 0.125rem;\\n \", \"\\n\"], [\"\\n color: #0099db;\\n border-width: 0.125rem;\\n \", \"\\n\"])), function (_a) {\n var _b = _a.radius, radius = _b === void 0 ? DEFAULT_SPINNER_RADIUS : _b;\n return \"width: \" + radius / 16 + \"rem; height: \" + radius / 16 + \"rem;\";\n});\nexport var Spinner = function (props) {\n if (!props.show)\n return null;\n return (React.createElement(StyledSpinner, null,\n React.createElement(StyledRSSpinner, { radius: props.radius })));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { Button as RSButton, DropdownToggle, UncontrolledTooltip } from 'reactstrap';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faSpinner } from '@fortawesome/free-solid-svg-icons';\nimport styled, { css } from 'styled-components';\nvar iconButtonRule = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar StyledIconButton = styled(RSButton)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), iconButtonRule);\nvar StyledDropdownToggleIcon = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \", \"\\n\"])), iconButtonRule);\nvar StyledButton = styled(RSButton)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n outline: none !important;\\n box-shadow: none !important;\\n\"], [\"\\n outline: none !important;\\n box-shadow: none !important;\\n\"])));\nexport var IconButton = function (_a) {\n var icon = _a.icon, size = _a.size, title = _a.title, placement = _a.placement, loading = _a.loading, resprops = __rest(_a, [\"icon\", \"size\", \"title\", \"placement\", \"loading\"]);\n var myRef = useRef();\n var buttonRef = resprops.innerRef || myRef;\n var _b = useState(false), ready = _b[0], setReady = _b[1];\n useEffect(function () {\n setReady(true);\n }, []);\n return (React.createElement(StyledIconButton, __assign({ size: \"sm\" }, resprops, { disabled: loading || resprops.disabled, innerRef: buttonRef }),\n loading ? React.createElement(FontAwesomeIcon, { icon: faSpinner, spin: true, size: size, fixedWidth: true }) : icon && React.createElement(FontAwesomeIcon, { icon: icon, size: size, fixedWidth: true }),\n title && ready && React.createElement(UncontrolledTooltip, { placement: placement, target: buttonRef.current, fade: false, delay: 1000 }, title)));\n};\nexport var DropdownToggleIcon = function (_a) {\n var icon = _a.icon, size = _a.size, title = _a.title, placement = _a.placement, resprops = __rest(_a, [\"icon\", \"size\", \"title\", \"placement\"]);\n var tooltipRef = useRef();\n var _b = useState(false), ready = _b[0], setReady = _b[1];\n useEffect(function () {\n setReady(true);\n }, []);\n return (React.createElement(StyledDropdownToggleIcon, __assign({ size: \"sm\" }, resprops, { innerRef: tooltipRef }),\n icon && React.createElement(FontAwesomeIcon, { icon: icon, size: size, fixedWidth: true }),\n title && ready && React.createElement(UncontrolledTooltip, { placement: placement, target: tooltipRef.current, fade: false, delay: 1000 }, title)));\n};\nexport var Button = function (_a) {\n var message = _a.message, icon = _a.icon, loading = _a.loading, resprops = __rest(_a, [\"message\", \"icon\", \"loading\"]);\n return (React.createElement(StyledButton, __assign({}, resprops, { disabled: loading || resprops.disabled }),\n loading ? React.createElement(FontAwesomeIcon, { icon: faSpinner, spin: true }) : icon && React.createElement(FontAwesomeIcon, { icon: icon }),\n \" \",\n message,\n resprops.children));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled, { keyframes } from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { useTranslation } from 'react-i18next';\nimport { Spinner } from './spinner';\nimport { Button } from './button';\nvar FallbackOverlay = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n // top: 0;\\n // bottom: 0;\\n // left: 0;\\n // right: 0;\\n // cursor: not-allowed;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n \\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"], [\"\\n position: absolute;\\n // top: 0;\\n // bottom: 0;\\n // left: 0;\\n // right: 0;\\n // cursor: not-allowed;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n \\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"])));\nvar StyledErrorMsg = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 1rem;\\n text-align: center;\\n background-color: #fff;\\n border-radius: 4px;\\n cursor: default;\\n\"], [\"\\n padding: 1rem;\\n text-align: center;\\n background-color: #fff;\\n border-radius: 4px;\\n cursor: default;\\n\"])));\nvar StyledWarningIcon = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: 3.5rem;\\n height: 3.5rem;\\n margin: 0 auto;\\n color: #ccc;\\n border-radius: 100%;\\n border: 0.125rem solid #ccc;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"], [\"\\n width: 3.5rem;\\n height: 3.5rem;\\n margin: 0 auto;\\n color: #ccc;\\n border-radius: 100%;\\n border: 0.125rem solid #ccc;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n\"])));\nvar ErrorTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-size: 2rem;\\n text-align: center;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-size: 2rem;\\n text-align: center;\\n margin: 0.25rem 0;\\n\"])));\nvar ErrorBody = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: #9b9b9b;\\n margin: 0.75rem 0;\\n\"], [\"\\n color: #9b9b9b;\\n margin: 0.75rem 0;\\n\"])));\nvar ErrorMsg = function (props) {\n var _a, _b, _c, _d;\n var t = useTranslation().t;\n return (React.createElement(StyledErrorMsg, null,\n React.createElement(StyledWarningIcon, null,\n React.createElement(FontAwesomeIcon, { icon: \"exclamation\", size: \"2x\" })),\n React.createElement(ErrorTitle, null, (((_a = props.error) === null || _a === void 0 ? void 0 : _a.statusCode) === 502 || ((_b = props.error) === null || _b === void 0 ? void 0 : _b.statusCode) === 504) ? 'Important' : t('apierror.title')),\n React.createElement(ErrorBody, null, (((_c = props.error) === null || _c === void 0 ? void 0 : _c.statusCode) === 502 || ((_d = props.error) === null || _d === void 0 ? void 0 : _d.statusCode) === 504)\n ? 'The system is currently busy, please try again in a couple of minutes.'\n : t('apierror.msg')),\n props.retry && React.createElement(Button, { color: \"primary\", message: \"Retry\", onClick: function () { return props.retry && props.retry(); } })));\n};\nexport var FallbackComponent = function (props) {\n var fallback = props.requesting ? (props.fallback || React.createElement(Spinner, { show: true, radius: props.spinnerSize })) : props.error ? (React.createElement(ErrorMsg, { error: props.error, retry: props.retry })) : null;\n if (fallback && !props.overlay)\n return fallback;\n return (React.createElement(React.Fragment, null,\n props.children,\n fallback && props.overlay && React.createElement(FallbackOverlay, null, fallback)));\n};\nvar loadingDotAnimations = keyframes(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"], [\"\\n 0%, 80%, 100% { opacity: 0; }\\n 40% { opacity: 1; }\\n\"])));\nvar LoadingDot = styled.span(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n animation: \", \" 1s ease-in-out \", \"ms infinite;\\n background-color: currentColor;\\n border-radius: 0.25rem;\\n margin-left: \", \";\\n display: inline-block;\\n height: 0.25rem;\\n width: 0.25rem;\\n\"], [\"\\n animation: \", \" 1s ease-in-out \", \"ms infinite;\\n background-color: currentColor;\\n border-radius: 0.25rem;\\n margin-left: \", \";\\n display: inline-block;\\n height: 0.25rem;\\n width: 0.25rem;\\n\"])), loadingDotAnimations, function (props) { return props.delay; }, function (props) { return (props.isOffset ? '0.25rem' : '0'); });\nexport var ThreeDotLoading = function (props) {\n if (props.loading) {\n return (React.createElement(\"span\", null,\n React.createElement(LoadingDot, { delay: 0 }),\n React.createElement(LoadingDot, { delay: 160, isOffset: true }),\n React.createElement(LoadingDot, { delay: 320, isOffset: true })));\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect, useRef } from 'react';\nimport styled, { css } from 'styled-components';\nimport { components } from 'react-select';\nimport AsyncSelect from 'react-select/async';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport ReactSelectCreatable from 'react-select/creatable';\nimport { isEmpty } from '../utils';\nvar MAX_OPTION_SIZE = 1000;\nvar InputGroupWrapper = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n flex-shrink: 0;\\n \", \"\\n // max-width: 25rem;\\n \", \"\\n\"], [\"\\n flex-shrink: 0;\\n \", \"\\n // max-width: 25rem;\\n \",\n \"\\n\"])), function (props) { return (props.inline ? 'display: inline-block;' : ''); }, function (props) {\n return props.width\n ? css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: \", \"rem;\\n \"], [\"\\n width: \", \"rem;\\n \"])), props.width) : css(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n min-width: 10rem;\\n \"], [\"\\n min-width: 10rem;\\n \"])));\n});\nvar DropdownIndicator = function (_a) {\n var icon = _a.icon, props = __rest(_a, [\"icon\"]);\n return React.createElement(components.DropdownIndicator, __assign({}, props), icon ? React.createElement(FontAwesomeIcon, { icon: icon }) : props.children);\n};\nvar MenuList = function (_a) {\n var searchedOptionsSize = _a.searchedOptionsSize, props = __rest(_a, [\"searchedOptionsSize\"]);\n return React.createElement(components.MenuList, __assign({}, props), props.children);\n};\nvar MenuListMemo = React.memo(MenuList, function (prev, next) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;\n var menuOptionsPrev = (((_d = (_c = (_b = (_a = prev.selectRef) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.select) === null || _c === void 0 ? void 0 : _c.select) === null || _d === void 0 ? void 0 : _d.state) || {}).menuOptions;\n var menuOptionsNext = (((_h = (_g = (_f = (_e = next.selectRef) === null || _e === void 0 ? void 0 : _e.current) === null || _f === void 0 ? void 0 : _f.select) === null || _g === void 0 ? void 0 : _g.select) === null || _h === void 0 ? void 0 : _h.state) || {}).menuOptions;\n return ((_k = (_j = menuOptionsPrev === null || menuOptionsPrev === void 0 ? void 0 : menuOptionsPrev.render) === null || _j === void 0 ? void 0 : _j[0]) === null || _k === void 0 ? void 0 : _k.value) === ((_m = (_l = menuOptionsNext === null || menuOptionsNext === void 0 ? void 0 : menuOptionsNext.render) === null || _l === void 0 ? void 0 : _l[0]) === null || _m === void 0 ? void 0 : _m.value) &&\n prev.searchedOptionsSize === next.searchedOptionsSize &&\n prev.isLoading === next.isLoading;\n});\nvar IconOption = function (props) { return (React.createElement(components.Option, __assign({}, props),\n props.data.icon && React.createElement(FontAwesomeIcon, { icon: props.data.icon, className: \"mr-1\" }),\n props.children)); };\nvar SingleValue = function (props) { return (React.createElement(components.SingleValue, __assign({}, props),\n props.data.icon && React.createElement(FontAwesomeIcon, { icon: props.data.icon, className: \"mr-1\" }),\n props.children)); };\nexport var Select = function (props) {\n var _a = useState(props.inputBoxValue || ''), inputValue = _a[0], setInputValue = _a[1];\n var _b = useState(), searchedOptionsSize = _b[0], setSearchedOptionsSize = _b[1];\n var selectRef = useRef();\n useEffect(function () {\n var _a;\n setSearchedOptionsSize((_a = props.options) === null || _a === void 0 ? void 0 : _a.length);\n }, [props.options]);\n useEffect(function () {\n setInputValue(props.inputBoxValue || '');\n }, [props.inputBoxValue]);\n var handleInputChange = function (newValue) {\n var _a;\n setInputValue(newValue);\n if (!newValue) {\n setSearchedOptionsSize((_a = props.options) === null || _a === void 0 ? void 0 : _a.length);\n }\n };\n var handleChange = function (values) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, props.isMulti ? values === null || values === void 0 ? void 0 : values.map(function (i) { return i.value; }) : values === null || values === void 0 ? void 0 : values.value, props.name, values);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, props.isMulti ? values === null || values === void 0 ? void 0 : values.map(function (i) { return i.value; }) : values === null || values === void 0 ? void 0 : values.value, props.name, values);\n };\n var options = props.options ? (props.optionsTransform ? props.options.map(props.optionsTransform) : props.options) : [];\n if (props.noSort === undefined || props.noSort === false) {\n options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); });\n }\n options = props.isOptionDisabled ? options === null || options === void 0 ? void 0 : options.map(function (option) { var _a; return (__assign(__assign({}, option), { __disabled: (_a = props.isOptionDisabled) === null || _a === void 0 ? void 0 : _a.call(props, option) })); }) : options;\n var isOptionDisabled = function (option) { return !!option.__disabled; };\n var loadOptions = function (input) { return __awaiter(void 0, void 0, void 0, function () {\n var filterIncludes, filterStartWith;\n return __generator(this, function (_a) {\n filterIncludes = function (i) {\n var _a, _b;\n return (i.label.toLowerCase().includes(input.toLowerCase()) || ((_a = i.parent) === null || _a === void 0 ? void 0 : _a.label.toLowerCase().includes(input.toLowerCase())) || ((_b = i.children) === null || _b === void 0 ? void 0 : _b.some(function (child) { return child.label.toLowerCase().includes(input.toLowerCase()); })));\n };\n filterStartWith = function (i) {\n var _a, _b;\n return (i.noCheckFilter ||\n i.label.toLowerCase().startsWith(input.toLowerCase()) || ((_a = i.parent) === null || _a === void 0 ? void 0 : _a.label.toLowerCase().startsWith(input.toLowerCase())) || ((_b = i.children) === null || _b === void 0 ? void 0 : _b.some(function (child) { return child.label.toLowerCase().startsWith(input.toLowerCase()); })));\n };\n return [2 /*return*/, new Promise(function (resolve) {\n setTimeout(function () {\n var filteredOptions = options.filter(props.isFilterStartWith ? filterStartWith : filterIncludes);\n setSearchedOptionsSize(filteredOptions.length);\n filteredOptions = filteredOptions.slice(0, MAX_OPTION_SIZE);\n resolve(filteredOptions);\n var focusedOption = selectRef.current.select.select.state.focusedOption;\n if (filteredOptions.indexOf(focusedOption) === -1 || !(focusedOption === null || focusedOption === void 0 ? void 0 : focusedOption.label.toLowerCase().includes(input.toLowerCase()))) {\n selectRef.current.select.select.setState({\n focusedOption: filteredOptions.find(function (option) { return option.label.toLowerCase().includes(inputValue.toLowerCase()); }),\n });\n }\n });\n })];\n });\n }); };\n var handleBlur = function () {\n var _a;\n (_a = props.setFieldTouched) === null || _a === void 0 ? void 0 : _a.call(props, true, props.name);\n };\n var flatedOptions = options.flatMap(function (i) { return i.options || [i]; });\n var value = props.isMulti ? flatedOptions.filter(function (i) { var _a; return (_a = props.value) === null || _a === void 0 ? void 0 : _a.some(function (v) { return v === i.value; }); }) : flatedOptions.find(function (i) { return i.value === props.value; });\n return (React.createElement(InputGroupWrapper, { inline: props.inline, width: props.width },\n React.createElement(AsyncSelect, { ref: selectRef, className: props.className, isLoading: props.isLoading, isDisabled: props.disabled, value: value === undefined ? null : value, isClearable: props.isClearable, placeholder: props.placeholder, defaultOptions: options.slice(0, MAX_OPTION_SIZE), loadOptions: loadOptions, onChange: handleChange, onBlur: handleBlur, name: props.name, menuPlacement: props.menuPlacement, formatOptionLabel: props.formatOptionLabel, components: __assign({ DropdownIndicator: function (indicatorProps) {\n return inputValue && props.indicatorIcon ? null : React.createElement(DropdownIndicator, __assign({}, indicatorProps, { icon: props.indicatorIcon }));\n }, IndicatorSeparator: inputValue && props.indicatorIcon ? null : components.IndicatorSeparator, MenuList: function (menuListProps) {\n if (props.onSelectToRenderOptions)\n return React.createElement(MenuListMemo, __assign({}, menuListProps, { selectRef: selectRef, searchedOptionsSize: searchedOptionsSize }));\n return React.createElement(MenuList, __assign({}, menuListProps, { searchedOptionsSize: searchedOptionsSize }));\n }, Option: IconOption, SingleValue: SingleValue }, props.components), inputValue: inputValue, menuPosition: props.menuPosition, onInputChange: props.onInputBoxValueChange || handleInputChange, isOptionDisabled: isOptionDisabled, isMulti: props.isMulti, closeMenuOnSelect: props.closeMenuOnSelect, controlShouldRenderValue: props.controlShouldRenderValue, styles: {\n menu: function (provided) { return (__assign(__assign({}, provided), { zIndex: 9999 })); },\n }, minMenuHeight: props.minMenuHeight, maxMenuHeight: props.maxMenuHeight })));\n};\nexport var CreatableSelect = function (props) {\n var _a = useState(''), inputValue = _a[0], setInputValue = _a[1];\n var handleInputChange = function (inputValue) {\n setInputValue(inputValue.trimStart());\n };\n var handleChange = function (newValue) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, newValue === null || newValue === void 0 ? void 0 : newValue.value, props.name, newValue);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, newValue === null || newValue === void 0 ? void 0 : newValue.value, props.name, newValue);\n };\n var handleBlur = function () {\n var _a;\n (_a = props.setFieldTouched) === null || _a === void 0 ? void 0 : _a.call(props, true, props.name);\n };\n var isValidNewOption = function (inputValue, selectValue, selectOptions) {\n var candidate = inputValue.trim().toLowerCase();\n return (!!candidate &&\n selectValue.every(function (value) { return candidate !== (\"\" + value).trim().toLowerCase(); }) &&\n selectOptions.every(function (option) { return candidate !== option.label.trim().toLowerCase(); }));\n };\n var options = props.options ? (props.optionsTransform ? props.options.map(props.optionsTransform) : props.options) : [];\n if (props.noSort === undefined || props.noSort === false) {\n options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); });\n }\n var value = !isEmpty(props.value) ? options.find(function (i) { return i.value === props.value; }) || { value: props.value, label: props.value } : null;\n return (React.createElement(ReactSelectCreatable, __assign({}, props, { value: value, options: options, inputValue: inputValue, onInputChange: handleInputChange, onChange: handleChange, onBlur: handleBlur, isValidNewOption: isValidNewOption })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { FormGroup, Label, Input } from 'reactstrap';\nimport styled, { css } from 'styled-components';\nvar indeterminateStyle = css(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n border: 0;\\n :not(:disabled) {\\n background-color: #0374fe;\\n :hover {\\n background-color: #065cc8;\\n }\\n }\\n :disabled {\\n background-color: #d1d1d1;\\n }\\n\"], [\"\\n border: 0;\\n :not(:disabled) {\\n background-color: #0374fe;\\n :hover {\\n background-color: #065cc8;\\n }\\n }\\n :disabled {\\n background-color: #d1d1d1;\\n }\\n\"])));\nexport var StyledCheckbox = styled(function (_a) {\n var indeterminate = _a.indeterminate, props = __rest(_a, [\"indeterminate\"]);\n return React.createElement(Label, __assign({}, props));\n})(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n input {\\n appearance: none;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 0.125rem;\\n border: 1px solid #757575;\\n :hover:not(:disabled) {\\n border-color: #212529;\\n }\\n :disabled {\\n background-color: #f8f8f8;\\n border-color: #d1d1d1;\\n }\\n \", \"\\n :checked {\\n \", \"\\n }\\n }\\n input:checked + span::before {\\n content: '';\\n width: 0.25rem;\\n height: 0.625rem;\\n border: 1px solid #fff;\\n border-width: 0 0.125rem 0.125rem 0;\\n transform: rotate(45deg);\\n position: absolute;\\n left: -0.9rem;\\n top: 0.4rem;\\n }\\n\"], [\"\\n position: relative;\\n input {\\n appearance: none;\\n width: 0.875rem;\\n height: 0.875rem;\\n border-radius: 0.125rem;\\n border: 1px solid #757575;\\n :hover:not(:disabled) {\\n border-color: #212529;\\n }\\n :disabled {\\n background-color: #f8f8f8;\\n border-color: #d1d1d1;\\n }\\n \", \"\\n :checked {\\n \", \"\\n }\\n }\\n input:checked + span::before {\\n content: '';\\n width: 0.25rem;\\n height: 0.625rem;\\n border: 1px solid #fff;\\n border-width: 0 0.125rem 0.125rem 0;\\n transform: rotate(45deg);\\n position: absolute;\\n left: -0.9rem;\\n top: 0.4rem;\\n }\\n\"])), function (props) { return (props.indeterminate ? indeterminateStyle : ''); }, indeterminateStyle);\nexport var SimpleCheckbox = function (props) {\n return (React.createElement(StyledCheckbox, { indeterminate: props.indeterminate, check: true, className: props.disabled ? 'text-muted' : '' },\n React.createElement(Input, { type: \"checkbox\", value: props.value, disabled: props.disabled, checked: props.checked, onChange: props.onChange }),\n React.createElement(\"span\", null,\n props.label,\n props.children)));\n};\nexport var Checkbox = function (props) {\n var value = useMemo(function () { return (Array.isArray(props.value) ? props.value.map(function (i) { return i.value; }) : [props.value]); }, [props.value]);\n var handleChange = function (event) {\n var _a;\n var newValue;\n if (event.target.checked) {\n newValue = __spreadArrays((props.groupValue || []), value);\n }\n else {\n newValue = (_a = props.groupValue) === null || _a === void 0 ? void 0 : _a.filter(function (gv) { return !value.some(function (v) { return JSON.stringify(v) === JSON.stringify(gv); }); });\n }\n props.sortValue && (newValue === null || newValue === void 0 ? void 0 : newValue.sort(props.sortValue));\n props.onChange(newValue, props.payload);\n };\n var checked = useMemo(function () { return value.every(function (v) { var _a; return (_a = props.groupValue) === null || _a === void 0 ? void 0 : _a.some(function (gv) { return JSON.stringify(gv) === JSON.stringify(v); }); }); }, [value, props.groupValue]);\n return (React.createElement(FormGroup, { check: true, inline: props.inline },\n React.createElement(SimpleCheckbox, { label: props.label, value: value === null || value === void 0 ? void 0 : value[0], disabled: props.disabled, checked: checked, onChange: handleChange })));\n};\nexport var CheckboxGroup = function (props) {\n var _a;\n var options = props.optionsTransform ? (_a = props.options) === null || _a === void 0 ? void 0 : _a.map(props.optionsTransform) : props.options;\n !props.noSort && (options === null || options === void 0 ? void 0 : options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0); }));\n options = props.input ? options === null || options === void 0 ? void 0 : options.filter(function (i) { var _a; return i.label.toLowerCase().includes((_a = props.input) === null || _a === void 0 ? void 0 : _a.toLowerCase()); }) : options;\n var handleChange = function (value, payload) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, payload);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, value, props.name || '');\n };\n if (!(options === null || options === void 0 ? void 0 : options.length))\n return null;\n return (React.createElement(\"div\", { className: props.className },\n !props.noAll && (React.createElement(Checkbox, { disabled: props.disabled && props.disabled('__ALL__'), inline: props.inline, value: options, groupValue: props.value, label: props.allText || 'Select All', onChange: handleChange, sortValue: props.sortValue })), options === null || options === void 0 ? void 0 :\n options.map(function (item) { return (React.createElement(Checkbox, { key: JSON.stringify(item.value), disabled: props.disabled && props.disabled(item), inline: props.inline, value: item.value, payload: item, groupValue: props.value, label: props.formatOptionLabel ? props.formatOptionLabel(item) : item.label, onChange: handleChange, sortValue: props.sortValue })); })));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled, { css } from 'styled-components';\nimport { DropdownItem as RSDropdownItem } from 'reactstrap';\nvar StyledDropdownItemIcon = styled(FontAwesomeIcon)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin-right: 0.375rem;\\n\"], [\"\\n margin-right: 0.375rem;\\n\"])));\nvar StyledImageDropdownItem = styled.img(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 15px;\\n margin-right: 4px;\\n\"], [\"\\n width: 15px;\\n margin-right: 4px;\\n\"])));\nvar StyledDropdownItem = styled(function (_a) {\n var checkMark = _a.checkMark, rest = __rest(_a, [\"checkMark\"]);\n return React.createElement(RSDropdownItem, __assign({}, rest));\n})(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \"\\n\"], [\"\\n \",\n \"\\n\"])), function (props) {\n return props.checkMark\n ? css(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding-left: 3rem;\\n position: relative;\\n \"], [\"\\n padding-left: 3rem;\\n position: relative;\\n \"]))) : '';\n});\nvar CheckIcon = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n position: absolute;\\n left: 1.5rem;\\n\"], [\"\\n position: absolute;\\n left: 1.5rem;\\n\"])));\nexport var DropdownItem = function (props) {\n var checked = props.checked, icon = props.icon, img = props.img, label = props.label, partial = props.partial, resprops = __rest(props, [\"checked\", \"icon\", \"img\", \"label\", \"partial\"]);\n var handleClick = function () {\n var _a;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, props.value);\n };\n return (React.createElement(StyledDropdownItem, __assign({}, resprops, { onClick: handleClick }),\n checked && (React.createElement(CheckIcon, null,\n React.createElement(FontAwesomeIcon, { icon: \"check\", color: partial ? '#ccc' : undefined }))),\n icon && React.createElement(StyledDropdownItemIcon, { icon: icon }),\n img && React.createElement(StyledImageDropdownItem, { src: \"/assets/images/icons/\" + props.img + \".png\", alt: '' }),\n label,\n props.children));\n};\nexport var DropdownItemCheck = function (props) {\n return React.createElement(DropdownItem, __assign({ checkMark: true }, props));\n};\nexport var DropdownItemCheckList = function (props) {\n var values = props.values, sort = props.sort, resprops = __rest(props, [\"values\", \"sort\"]);\n var checked = useMemo(function () { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === props.value; }); }, [props.value, values]);\n var handleChange = function () {\n var _a, _b;\n if (checked) {\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, values === null || values === void 0 ? void 0 : values.filter(function (v) { return v !== props.value; }));\n }\n else {\n (_b = props.onChange) === null || _b === void 0 ? void 0 : _b.call(props, __spreadArrays((values || []), [props.value]).sort(sort || (function () { return 0; })));\n }\n };\n return React.createElement(DropdownItemCheck, __assign({}, resprops, { checked: checked, onChange: handleChange }));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useMemo, useRef } from 'react';\nimport { Alert, FormFeedback as RSFormFeedback, Modal } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { useMessage } from '../state';\nimport { isEmpty } from '../utils';\nvar StyledMessageBox = styled(Alert)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n line-height: 1.5;\\n\"], [\"\\n line-height: 1.5;\\n\"])));\nexport var MessageBox = function (props) {\n var error = props.error, resprops = __rest(props, [\"error\"]);\n var _a = useToggle(), isOpen = _a[0], toggle = _a[1], setIsOpen = _a[2];\n var messageBoxRef = useRef(null);\n var errors = useMemo(function () {\n var _a;\n return ((_a = (Array.isArray(props.error) ? props.error : [props.error])) === null || _a === void 0 ? void 0 : _a.map(function (i) { return (typeof i === 'string' ? i : (i === null || i === void 0 ? void 0 : i.message) || (i === null || i === void 0 ? void 0 : i.errorMessage)); }).filter(function (message) { return !!message; })) || [];\n }, [props.error]);\n useEffect(function () {\n if (!isEmpty(errors)) {\n setIsOpen(true);\n setTimeout(function () { var _a; return (_a = messageBoxRef.current) === null || _a === void 0 ? void 0 : _a.scrollIntoView({ behavior: 'smooth' }); });\n }\n else {\n setIsOpen(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errors]);\n return (React.createElement(\"div\", { ref: messageBoxRef },\n React.createElement(StyledMessageBox, __assign({}, resprops, { color: \"danger\", isOpen: isOpen, toggle: toggle }), errors.map(function (msg, idx) { return (React.createElement(\"div\", { key: idx }, msg)); }))));\n};\nexport var FormFeedback = function (props) {\n var message = props.message, resprops = __rest(props, [\"message\"]);\n if (!message)\n return null;\n return (React.createElement(RSFormFeedback, __assign({}, resprops, { className: \"d-block \" + (props.className || '') }), message));\n};\nexport var AlertMessage = function (props) {\n var errors = props.errors;\n var _a = useToggle(), isOpen = _a[0], toggle = _a[1], setIsOpen = _a[2];\n useEffect(function () {\n setIsOpen(!isEmpty(errors));\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [errors]);\n return (React.createElement(Modal, { isOpen: isOpen },\n React.createElement(StyledMessageBox, { toggle: toggle, color: \"danger\", className: \"m-0 pr-5\", isOpen: true, fade: false }, errors === null || errors === void 0 ? void 0 : errors.map(function (i, index) { return React.createElement(\"div\", { key: index }, i); }))));\n};\nexport var MessageId;\n(function (MessageId) {\n MessageId[\"LoginPage\"] = \"LOGIN_PAGE\";\n})(MessageId || (MessageId = {}));\nexport var MessageWithState = function (props) {\n var _a = useMessage(props.messageId), message = _a[0], setMessage = _a[1];\n var clearMessage = useCallback(function () {\n setMessage();\n }, [setMessage]);\n useEffect(function () {\n if (message) {\n var handler_1 = setTimeout(clearMessage, 5000);\n return function () { return clearTimeout(handler_1); };\n }\n }, [message, clearMessage]);\n return (React.createElement(StyledMessageBox, { toggle: clearMessage, color: (message === null || message === void 0 ? void 0 : message.type) === 'success' ? 'success' : 'danger', className: \"pr-5\", isOpen: !!(message === null || message === void 0 ? void 0 : message.value), fade: false }, message === null || message === void 0 ? void 0 : message.value));\n};\nvar templateObject_1;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ROUTE_URL = {\n USER: '/admin/user',\n DATA_FILE: '/admin/data-file',\n MAP_LAYER: '/admin/map-layer',\n};\nexport var PHONE_NUMBER_PATTERN = /^(\\d{3})(\\d{3})(\\d{4})$/;\nexport var ZIP_CODE_PATTERN = /^[0-9]{5}(?:-[0-9]{4})?$/;\nexport var PASSWORD_PATTERN = /^(?=^\\S*$)(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])(?=.*[!@#$%&*()])(?=.{8,})/;\nexport var PASSWORD_DESCRIPTION = 'Password may not include spaces and must be at least 8 characters with at least 1 upper case, lower case, number and special character included.';\nexport var PASSWORD_RULE_MSG = 'Password does not meet criteria above';\nexport var DELIMITER_SEASON_YEAR = ' - ';\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { FormGroup, Label, Input } from 'reactstrap';\nvar Radio = function (props) {\n var handleChange = function (event) {\n props.onChange(props.value, props.payload);\n };\n return (React.createElement(FormGroup, { check: true, inline: props.inline },\n React.createElement(Label, { check: true, className: props.disabled ? 'text-muted' : '' },\n React.createElement(Input, { type: \"radio\", disabled: props.disabled, checked: props.value === props.groupValue, onChange: handleChange }),\n props.label)));\n};\nexport var RadioGroup = function (props) {\n var _a;\n var options = props.optionsTransform ? (_a = props.options) === null || _a === void 0 ? void 0 : _a.map(props.optionsTransform) : props.options;\n !props.noSort && (options === null || options === void 0 ? void 0 : options.sort(function (a, b) { return (a.label < b.label ? -1 : a.label > b.label ? 1 : 0) * (props.reverse ? -1 : 1); }));\n options = props.input ? options === null || options === void 0 ? void 0 : options.filter(function (i) { var _a; return i.label.toLowerCase().includes((_a = props.input) === null || _a === void 0 ? void 0 : _a.toLowerCase()); }) : options;\n var handleChange = function (value, payload) {\n var _a, _b;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, value, payload);\n (_b = props.setFieldValue) === null || _b === void 0 ? void 0 : _b.call(props, value, props.name || '');\n };\n if (!(options === null || options === void 0 ? void 0 : options.length))\n return null;\n return (React.createElement(React.Fragment, null, options === null || options === void 0 ? void 0 : options.map(function (item) {\n var _a;\n return (React.createElement(Radio, { key: item.value, inline: props.inline, payload: item, value: item.value, label: props.formatOptionLabel ? props.formatOptionLabel(item) : item.label, groupValue: props.value, onChange: handleChange, disabled: (_a = props.isOptionDisabled) === null || _a === void 0 ? void 0 : _a.call(props, item) }));\n })));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { Input as RsInput } from 'reactstrap';\nexport var Input = function (props) {\n var _a = props.min, min = _a === void 0 ? Number.MIN_SAFE_INTEGER : _a, _b = props.max, max = _b === void 0 ? Number.MAX_SAFE_INTEGER : _b, _c = props.type, type = _c === void 0 ? 'text' : _c;\n var setFieldValue = props.setFieldValue, setFieldTouched = props.setFieldTouched, resprops = __rest(props, [\"setFieldValue\", \"setFieldTouched\"]);\n var handleChange = function (event) {\n var _a;\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, event);\n var value = type === 'checkbox' ? event.target.checked : event.target.value;\n if (type === 'number') {\n value = /^\\d+$/.test(value) ? parseInt(event.target.value, 10) : undefined;\n if (value === undefined || value <= max) {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(value, event.target.name);\n }\n }\n else {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(value, event.target.name);\n }\n };\n var handleKeyPress = function (event) {\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\n if (type === 'number' && !/^\\d*$/.test(key)) {\n event.preventDefault();\n return false;\n }\n return true;\n };\n var handleBlur = function (event) {\n var _a;\n (_a = props.onBlur) === null || _a === void 0 ? void 0 : _a.call(props, event);\n if (type === 'number' && props.value !== undefined && (props.value < min || props.value > max)) {\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(undefined, props.name || '');\n }\n setFieldTouched === null || setFieldTouched === void 0 ? void 0 : setFieldTouched(true, props.name);\n };\n return (React.createElement(RsInput, __assign({}, resprops, { value: props.value === undefined ? '' : props.value, checked: !props.checked && ['checkbox', 'radio'].includes(type) ? false : props.checked, onChange: handleChange, onKeyPress: handleKeyPress, onBlur: handleBlur })));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useCallback } from 'react';\nimport BootstrapTable from 'react-bootstrap-table-next';\nimport paginationFactory from 'react-bootstrap-table2-paginator';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport styled from 'styled-components';\nimport { Pager } from './pager';\nimport 'react-bootstrap-table-next/dist/react-bootstrap-table2.min.css';\nexport var DEFAULT_PAGE_SIZE = 20;\nvar StyledDataTableComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n th,\\n td {\\n padding: 0.5rem 0.25rem;\\n }\\n .table {\\n min-width: \", \";\\n }\\n .cell-container {\\n outline: none;\\n }\\n .datatable-custom-header {\\n background-color: #f2f2f2;\\n font-size: 13px;\\n color: #4a4a4a;\\n font-weight: bold;\\n border: 1px solid #dedede;\\n border-bottom: 0;\\n }\\n .datatable-custom-body {\\n font-size: 14px;\\n color: #4a4a4a;\\n border: 1px solid #dedede;\\n td:not(.reset-expansion-style),\\n .td {\\n vertical-align: middle;\\n word-break: break-word;\\n white-space: normal;\\n }\\n }\\n .dropdown-action-menu {\\n min-width: 50px;\\n }\\n .title-search-participant {\\n font-weight: 600;\\n font-size: 17px;\\n }\\n .react-bs-table-no-data {\\n height: 175px;\\n padding: 0;\\n vertical-align: middle;\\n .no-data-icon {\\n color: #cccccc;\\n font-size: 48px;\\n }\\n }\\n\"], [\"\\n th,\\n td {\\n padding: 0.5rem 0.25rem;\\n }\\n .table {\\n min-width: \", \";\\n }\\n .cell-container {\\n outline: none;\\n }\\n .datatable-custom-header {\\n background-color: #f2f2f2;\\n font-size: 13px;\\n color: #4a4a4a;\\n font-weight: bold;\\n border: 1px solid #dedede;\\n border-bottom: 0;\\n }\\n .datatable-custom-body {\\n font-size: 14px;\\n color: #4a4a4a;\\n border: 1px solid #dedede;\\n td:not(.reset-expansion-style),\\n .td {\\n vertical-align: middle;\\n word-break: break-word;\\n white-space: normal;\\n }\\n }\\n .dropdown-action-menu {\\n min-width: 50px;\\n }\\n .title-search-participant {\\n font-weight: 600;\\n font-size: 17px;\\n }\\n .react-bs-table-no-data {\\n height: 175px;\\n padding: 0;\\n vertical-align: middle;\\n .no-data-icon {\\n color: #cccccc;\\n font-size: 48px;\\n }\\n }\\n\"])), function (_a) {\n var minWidth = _a.minWidth;\n return (typeof minWidth === 'number' ? minWidth + \"rem\" : minWidth);\n});\nexport var enumFormatter = function (cell, row, rowIndex, enumObject) { var _a; return (_a = enumObject[cell]) === null || _a === void 0 ? void 0 : _a.label; };\nexport var DataTable = function (_a) {\n var className = _a.className, headerClasses = _a.headerClasses, _b = _a.bordered, bordered = _b === void 0 ? false : _b, _c = _a.nameUnitItemTable, nameUnitItemTable = _c === void 0 ? 'Record(s)' : _c, _d = _a.sizePerPage, sizePerPage = _d === void 0 ? DEFAULT_PAGE_SIZE : _d, pagination = _a.pagination, _e = _a.rowClasses, rowClassesProps = _e === void 0 ? '' : _e, _f = _a.data, data = _f === void 0 ? [] : _f, page = _a.page, onPageChange = _a.onPageChange, minWidth = _a.minWidth, restProps = __rest(_a, [\"className\", \"headerClasses\", \"bordered\", \"nameUnitItemTable\", \"sizePerPage\", \"pagination\", \"rowClasses\", \"data\", \"page\", \"onPageChange\", \"minWidth\"]);\n var paginationSize = Math.ceil(data.length / sizePerPage);\n var paginationOptions = useMemo(function () {\n return pagination &&\n paginationFactory({\n page: page && page > paginationSize ? 1 : page,\n onPageChange: onPageChange,\n hideSizePerPage: true,\n showTotal: true,\n sizePerPage: sizePerPage,\n paginationSize: paginationSize,\n paginationTotalRenderer: function (from, to, size) { return React.createElement(React.Fragment, null); },\n pageListRenderer: function (propsPager) { return React.createElement(Pager, __assign({ hidePageListOnlyOnePage: true }, propsPager)); },\n });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [pagination, nameUnitItemTable, sizePerPage, restProps.data, paginationSize, page]);\n var rowClasses = useCallback(function (row, rowIndex) {\n return \"custom-row \" + (typeof rowClassesProps === 'function' ? rowClassesProps(row, rowIndex) : rowClassesProps);\n }, [rowClassesProps]);\n return (React.createElement(StyledDataTableComponent, { className: className, minWidth: minWidth },\n React.createElement(BootstrapTable, __assign({}, restProps, { data: data, bootstrap4: true, headerClasses: \"datatable-custom-header \" + headerClasses, classes: \"datatable-custom-body\", rowClasses: rowClasses, bordered: bordered, pagination: paginationOptions, noDataIndication: \"There is no data to display\", sort: {\n sortCaret: function (order) { return (React.createElement(FontAwesomeIcon, { className: \"ml-1\", icon: !order ? 'sort' : order === 'asc' ? 'sort-up' : 'sort-down', color: !order ? '#ccc' : undefined })); },\n } }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nvar StyledMainView = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1.25rem;\\n max-width: \", \";\\n margin: 0 auto;\\n width: 100%;\\n\"], [\"\\n padding: 1.25rem;\\n max-width: \", \";\\n margin: 0 auto;\\n width: 100%;\\n\"])), function (props) { return (typeof props.maxWidth === 'string' ? props.maxWidth : (props.maxWidth || 75) + \"rem\"); });\nexport var MainView = function (props) {\n return (React.createElement(StyledMainView, { maxWidth: props.maxWidth },\n React.createElement(\"h4\", null, props.title),\n props.children));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { createGlobalStyle } from 'styled-components';\nexport * from './constants';\nexport * from './spinner';\nexport * from './button';\nexport * from './fallback';\nexport * from './select';\nexport * from './checkboxgroup';\nexport * from './radiogroup';\nexport * from './input';\nexport * from './dropdownmenu';\nexport * from './messagebox';\nexport * from './phoneinput';\nexport * from './datatable';\nexport * from './mainview';\nexport * from './autoscroll';\nexport * from './datepicker';\nexport * from './pin';\nexport * from './icontooltip';\nexport var NMQFGlobalStyle = createGlobalStyle(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n #root {\\n height: 100vh;\\n display: flex;\\n flex-flow: column nowrap;\\n }\\n svg {\\n overflow: visible;\\n }\\n &:focus {\\n outline: none;\\n }\\n .was-validated .form-control:invalid, .form-control.is-invalid {\\n background-image: none !important;\\n }\\n\"], [\"\\n #root {\\n height: 100vh;\\n display: flex;\\n flex-flow: column nowrap;\\n }\\n svg {\\n overflow: visible;\\n }\\n &:focus {\\n outline: none;\\n }\\n .was-validated .form-control:invalid, .form-control.is-invalid {\\n background-image: none !important;\\n }\\n\"])));\nvar templateObject_1;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useRef, useEffect } from 'react';\nimport { formatPhoneNumber, cleanFormattingPhoneNumber } from '../utils';\nimport { Input } from 'reactstrap';\nexport var PhoneInput = function (props) {\n var _a = useState(), value = _a[0], setValue = _a[1];\n var ref = useRef();\n var setFieldValue = props.setFieldValue, setFieldTouched = props.setFieldTouched, resprops = __rest(props, [\"setFieldValue\", \"setFieldTouched\"]);\n useEffect(function () {\n setValue(formatPhoneNumber(props.value));\n }, [props.value]);\n var handleChange = function (event) {\n var _a;\n var _b = event.currentTarget, name = _b.name, selectionEnd = _b.selectionEnd, value = _b.value;\n setValue(value);\n var cleaned = cleanFormattingPhoneNumber(value);\n if (props.value !== cleaned) {\n (_a = props.onChange) === null || _a === void 0 ? void 0 : _a.call(props, name, cleaned);\n setFieldValue === null || setFieldValue === void 0 ? void 0 : setFieldValue(cleaned, name);\n var newSelection_1 = Math.max(formatPhoneNumber(value).length - value.length, 0) + (selectionEnd || 0);\n setTimeout(function () { return ref.current.setSelectionRange(newSelection_1, newSelection_1); });\n }\n };\n var handleBlur = function (event) {\n var onBlur = props.onBlur;\n var formatedValue = formatPhoneNumber(value);\n if (value !== formatedValue) {\n setValue(formatedValue);\n }\n onBlur === null || onBlur === void 0 ? void 0 : onBlur(event);\n setFieldTouched === null || setFieldTouched === void 0 ? void 0 : setFieldTouched(true, props.name);\n };\n var handleKeyPress = function (event) {\n var key = String.fromCharCode(!event.charCode ? event.which : event.charCode);\n if (!/^\\d*$/.test(key)) {\n event.preventDefault();\n return false;\n }\n return true;\n };\n return (React.createElement(Input, __assign({}, resprops, { innerRef: ref, type: \"text\", maxLength: 12, value: value || '', onChange: handleChange, onBlur: handleBlur, onKeyPress: handleKeyPress })));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useMemo } from 'react';\nimport { Pagination as RSPagination, PaginationItem as RSPaginationItem, PaginationLink } from 'reactstrap';\nvar PaginationItem = function (_a) {\n var active = _a.active, disabled = _a.disabled, first = _a.first, previous = _a.previous, next = _a.next, last = _a.last, ellipsis = _a.ellipsis, page = _a.page, children = _a.children, onClick = _a.onClick;\n var handleClick = useCallback(function () {\n if (!active && !disabled && page && onClick) {\n onClick(page);\n }\n }, [onClick, page, active, disabled]);\n var content = useMemo(function () {\n if (first)\n return '«';\n if (previous)\n return '‹';\n if (next)\n return '›';\n if (last)\n return '»';\n if (ellipsis)\n return '…';\n return children;\n }, [first, previous, next, last, ellipsis, children]);\n return (React.createElement(RSPaginationItem, { active: active, disabled: disabled },\n React.createElement(PaginationLink, { href: \"#\", onClick: handleClick }, content)));\n};\nvar Pagination = function (_a) {\n var _b;\n var className = _a.className, pages = _a.pages, onPageChange = _a.onPageChange, hidePageListOnlyOnePage = _a.hidePageListOnlyOnePage;\n var pageWithoutIndication = pages.filter(function (p) { return typeof p.page !== 'string'; });\n var totalPages = pageWithoutIndication.length;\n if (hidePageListOnlyOnePage && totalPages < 2)\n return null;\n var activePage = (_b = pages.find(function (p) { return p.active; })) === null || _b === void 0 ? void 0 : _b.page;\n var previousPageIsEllipsis = activePage - 3 > 1;\n var nextPageIsEllipsis = activePage + 3 < totalPages;\n var items = [];\n for (var number = 1; number <= totalPages; number += 1) {\n var active = number === activePage;\n items.push(React.createElement(PaginationItem, { key: number, active: active, page: number, onClick: onPageChange }, number));\n if (number === 1 && previousPageIsEllipsis) {\n items.push(React.createElement(PaginationItem, { key: \"prev-more\", ellipsis: true, disabled: true }));\n number = activePage - 3;\n }\n if (number === activePage + 2 && nextPageIsEllipsis) {\n items.push(React.createElement(PaginationItem, { key: \"next-more\", ellipsis: true, disabled: true }));\n number = totalPages - 1;\n }\n }\n return (React.createElement(RSPagination, { className: className },\n React.createElement(PaginationItem, { first: true, disabled: activePage === 1, onClick: onPageChange, page: 1 }),\n React.createElement(PaginationItem, { previous: true, disabled: activePage === 1, onClick: onPageChange, page: activePage - 1 }),\n items,\n React.createElement(PaginationItem, { next: true, disabled: activePage === totalPages, onClick: onPageChange, page: activePage + 1 }),\n React.createElement(PaginationItem, { last: true, disabled: activePage === totalPages, onClick: onPageChange, page: totalPages })));\n};\nexport var Pager = function (props) { return (React.createElement(\"div\", { className: \"col-md-6 col-xs-6 col-sm-6 col-lg-6\" },\n React.createElement(Pagination, __assign({ className: \"float-right\" }, props)))); };\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { MessageBox, Button, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar ChangePasswordContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 500px;\\n margin: 20px auto;\\n\"], [\"\\n width: 500px;\\n margin: 20px auto;\\n\"])));\nvar FormWrapper = styled(Form)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 380px;\\n margin: 20px auto;\\n\"], [\"\\n width: 380px;\\n margin: 20px auto;\\n\"])));\nvar Description = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar H5Style = styled.h5(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n newPassword: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n });\n});\nexport var ChangePasswordComponent = function (props) {\n var _a = useAPI('/api/auth/changePassword', undefined, 'POST'), changePasswordData = _a[0], changePassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.show) {\n setInitialValues({\n newPassword: '',\n passwordConfirmation: '',\n });\n return resetStore;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.show]);\n useEffect(function () {\n if (changePasswordData.data) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [changePasswordData.data]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, changePassword({\n username: props.username,\n new_password: values.newPassword,\n session_id: props.sessionId,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n if (!props.show)\n return null;\n return (React.createElement(ChangePasswordContent, null,\n React.createElement(H5Style, null, \"Change Password Required\"),\n React.createElement(MessageBox, { error: changePasswordData.error }),\n React.createElement(FormWrapper, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"email\", name: \"username\", placeholder: \"Username\", plaintext: true, disabled: true, value: props.username })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(\"div\", { className: \"text-center\" },\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Change password\")))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect } from 'react';\nimport * as Yup from 'yup';\nimport { Button, Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { isEmpty } from '../utils';\nimport { useForm } from '../hooks';\nimport { useAPI } from '../state';\nimport { MessageBox, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar ConfirmResetPasswordContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 500px;\\n margin: 20px auto;\\n\"], [\"\\n width: 500px;\\n margin: 20px auto;\\n\"])));\nvar FormWrapper = styled(Form)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 380px;\\n margin: 20px auto;\\n\"], [\"\\n width: 380px;\\n margin: 20px auto;\\n\"])));\nvar H5Style = styled.h5(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar Description = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: center !important;\\n\"], [\"\\n text-align: center !important;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n newPassword: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.newPassword], 'Passwords do not match');\n }),\n verificationCode: Yup.string().required('Required'),\n });\n});\nexport var ConfirmResetPasswordComponent = function (props) {\n var _a = useAPI('/api/user/confirmResetPassword', undefined, 'POST'), requestData = _a[0], confirmResetPassword = _a[1], resetStore = _a[2];\n var _b = useForm({ validationSchema: validationSchema }), setInitialValues = _b.setInitialValues, values = _b.values, handleChange = _b.handleChange, handleBlur = _b.handleBlur, handleSubmit = _b.handleSubmit, isSubmitting = _b.isSubmitting, getError = _b.getError;\n useEffect(function () {\n if (props.show) {\n setInitialValues({\n newPassword: '',\n passwordConfirmation: '',\n });\n return resetStore;\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.show]);\n useEffect(function () {\n if (requestData.data) {\n props.toggle();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [requestData.data]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, confirmResetPassword({\n username: props.username,\n password: values.newPassword,\n verificationCode: values.verificationCode,\n })];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n if (!props.show)\n return null;\n return (React.createElement(ConfirmResetPasswordContent, null,\n React.createElement(H5Style, null, \"Reset Password Required\"),\n React.createElement(MessageBox, { error: requestData.error }),\n React.createElement(FormWrapper, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"email\", name: \"username\", placeholder: \"Username\", plaintext: true, disabled: true, value: props.username })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"New password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"newPassword\", placeholder: \"New password\", value: values.newPassword, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('newPassword') }),\n React.createElement(FormFeedback, null, getError('newPassword'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", placeholder: \"Re-type new password\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Verification Code\"),\n React.createElement(Input, { type: \"password\", name: \"verificationCode\", placeholder: \"Verification Code\", value: values.verificationCode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('verificationCode') }),\n React.createElement(FormFeedback, null, getError('verificationCode'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", disabled: isSubmitting }, \"Change password\")))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport * as Yup from 'yup';\nimport { Link } from 'react-router-dom';\nimport { FormGroup, Label } from 'reactstrap';\nimport { useAuth } from '.';\nimport { Button, MessageBox, FormFeedback, Input, MessageWithState, MessageId } from '../common';\nimport { ChangePasswordComponent } from './changepasswordrequired';\nimport { ConfirmResetPasswordComponent } from './resetpasswordrequired';\nimport { useForm, useMount, useToggle } from '../hooks';\nimport { getDirectionUrl } from '../utils';\nimport { useIndexName } from '../hostnameindexinfo';\nvar PASSWORD_RESET_REQUIRED_EXCEPTION = 'PasswordResetRequiredException';\nvar WrapperWithFlexGrow = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex-grow: 1 !important;\\n padding: 0.5rem !important;\\n overflow: auto !important;\\n display: flex !important;\\n\"], [\"\\n flex-grow: 1 !important;\\n padding: 0.5rem !important;\\n overflow: auto !important;\\n display: flex !important;\\n\"])));\nvar Wrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n width: 100%;\\n margin: 0 auto;\\n padding: 1rem 0;\\n flex-direction: column !important;\\n\"], [\"\\n display: flex;\\n width: 100%;\\n margin: 0 auto;\\n padding: 1rem 0;\\n flex-direction: column !important;\\n\"])));\nvar Form = styled.form(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-width: 25rem;\\n width: 100%;\\n margin: auto;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n padding: 2rem;\\n\"], [\"\\n max-width: 25rem;\\n width: 100%;\\n margin: auto;\\n border: 1px solid #dee2e6;\\n border-radius: 0.25rem;\\n padding: 2rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n username: Yup.string().trim().required('Required'),\n password: Yup.string().required('Required'),\n});\nexport var LoginComponent = function (props) {\n var _a = useToggle(), changePasswordRequired = _a[0], toggleChangePasswordRequired = _a[1];\n var _b = useToggle(), resetPasswordRequired = _b[0], toggleResetPasswordRequired = _b[1];\n var auth = useAuth();\n var error = auth.getError();\n var authChallenge = auth.getAuthChallenge();\n var _c = useState(), errorMessage = _c[0], setErrorMessage = _c[1];\n var indexName = useIndexName();\n var _d = useForm({ validationSchema: validationSchema }), setInitialValues = _d.setInitialValues, values = _d.values, handleChange = _d.handleChange, handleBlur = _d.handleBlur, handleSubmit = _d.handleSubmit, isSubmitting = _d.isSubmitting, getError = _d.getError;\n useMount(function () {\n setInitialValues({\n username: '',\n password: '',\n });\n return function () {\n auth.resetErrorAndChallenge();\n };\n });\n useEffect(function () {\n setErrorMessage(undefined);\n if (authChallenge === null || authChallenge === void 0 ? void 0 : authChallenge.ChallengeName) {\n toggleChangePasswordRequired();\n }\n else if ((error === null || error === void 0 ? void 0 : error.code) === PASSWORD_RESET_REQUIRED_EXCEPTION) {\n toggleResetPasswordRequired();\n }\n else {\n setErrorMessage(error);\n }\n }, [authChallenge, error, toggleChangePasswordRequired, toggleResetPasswordRequired]);\n var onSubmit = handleSubmit(function (values) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, auth.authenticate(__assign(__assign({}, values), { indexName: indexName }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(WrapperWithFlexGrow, null,\n React.createElement(Wrapper, { hidden: changePasswordRequired || resetPasswordRequired },\n React.createElement(MessageWithState, { messageId: MessageId.LoginPage }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(MessageBox, { error: errorMessage }),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Username\"),\n React.createElement(Input, { type: \"text\", name: \"username\", placeholder: \"Username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') }),\n React.createElement(FormFeedback, { message: getError('username') })),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Password\"),\n React.createElement(Input, { type: \"password\", name: \"password\", placeholder: \"Password\", value: values.password, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('password') }),\n React.createElement(FormFeedback, { message: getError('password') })),\n React.createElement(Link, { to: getDirectionUrl('/forgotpassword') }, \"Forgot Password\"),\n React.createElement(\"div\", { className: \"text-right\" },\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting, message: \"Log in\" })),\n React.createElement(Link, { to: getDirectionUrl('/signup') }, \"Sign-up\"))),\n React.createElement(ChangePasswordComponent, { show: changePasswordRequired, toggle: toggleChangePasswordRequired, username: values.username, sessionId: authChallenge === null || authChallenge === void 0 ? void 0 : authChallenge.Session }),\n React.createElement(ConfirmResetPasswordComponent, { show: resetPasswordRequired, toggle: toggleResetPasswordRequired, username: values.username })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect, useState } from 'react';\nimport * as Yup from 'yup';\nimport { Form, Label, FormGroup, Input, FormFeedback } from 'reactstrap';\nimport styled from 'styled-components';\nimport { Link, Redirect } from 'react-router-dom';\nimport { useAPI } from '../state';\nimport { isEmpty, getDirectionUrl } from '../utils';\nimport { useForm, useMount } from '../hooks';\nimport { MessageBox, Button, PASSWORD_PATTERN, PASSWORD_RULE_MSG, PASSWORD_DESCRIPTION } from '../common';\nvar LinkWrapper = styled(Link)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"], [\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"])));\nvar H5Style = styled.h5(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-align: center !important;\\n\"], [\"\\n text-align: center !important;\\n\"])));\nvar ConfirmText = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar Description = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"], [\"\\n margin: -0.5rem 0 0.75rem;\\n font-size: 80%;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: right !important;\\n\"], [\"\\n text-align: right !important;\\n\"])));\nvar ConfirmForgotPasswordContent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"], [\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"])));\nvar validationSchema = Yup.lazy(function (values) {\n return Yup.object().shape({\n verificationCode: Yup.string().required('Required'),\n password: Yup.string().matches(PASSWORD_PATTERN, PASSWORD_RULE_MSG).required('Required'),\n passwordConfirmation: Yup.lazy(function (value) {\n return isEmpty(value) ? Yup.string().required('Required') : Yup.string().oneOf([values.password], 'Passwords do not match');\n }),\n });\n});\nexport var ConfirmForgotPassword = function (props) {\n var _a = useState(false), redirectToHomeURL = _a[0], setRedirectToHomeURL = _a[1];\n var _b = useAPI('/api/auth/confirm-forgot-password', undefined, 'POST'), confirmForgotPasswordData = _b[0], confirmForgotPassword = _b[1], resetStore = _b[2];\n var _c = useForm({ validationSchema: validationSchema }), setInitialValues = _c.setInitialValues, values = _c.values, handleChange = _c.handleChange, handleBlur = _c.handleBlur, handleSubmit = _c.handleSubmit, isSubmitting = _c.isSubmitting, getError = _c.getError;\n useMount(function () {\n setInitialValues({\n password: '',\n passwordConfirmation: '',\n verificationCode: '',\n });\n return resetStore;\n });\n useEffect(function () {\n if (confirmForgotPasswordData.requesting === false && !confirmForgotPasswordData.error) {\n setRedirectToHomeURL(true);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [confirmForgotPasswordData.requesting]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, confirmForgotPassword(__assign(__assign({}, payload), { username: props.username }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(ConfirmForgotPasswordContent, { hidden: !props.username },\n React.createElement(H5Style, null, \"Forgot Password\"),\n React.createElement(ConfirmText, null, \"A confirmation code was sent to your email account\"),\n React.createElement(MessageBox, { error: confirmForgotPasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter new password\"),\n React.createElement(Description, null, PASSWORD_DESCRIPTION),\n React.createElement(Input, { type: \"password\", name: \"password\", value: values.password, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('password') }),\n React.createElement(FormFeedback, null, getError('password'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Re-type new password\"),\n React.createElement(Input, { type: \"password\", name: \"passwordConfirmation\", value: values.passwordConfirmation, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('passwordConfirmation') }),\n React.createElement(FormFeedback, null, getError('passwordConfirmation'))),\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter confirmation code\"),\n React.createElement(Input, { type: \"text\", name: \"verificationCode\", value: values.verificationCode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('verificationCode') }),\n React.createElement(FormFeedback, null, getError('verificationCode'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting },\n React.createElement(LinkWrapper, { to: getDirectionUrl('/') }, \"Cancel\")),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Change Password\"),\n redirectToHomeURL && React.createElement(Redirect, { to: getDirectionUrl('/') })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useEffect, useState } from 'react';\nimport { Form, FormGroup, Label, Input, FormFeedback } from 'reactstrap';\nimport * as Yup from 'yup';\nimport styled from 'styled-components';\nimport { Link } from 'react-router-dom';\nimport { useAPI } from '../state';\nimport { ConfirmForgotPassword } from './confirmforgotpassword';\nimport { useForm, useMount } from '../hooks';\nimport { MessageBox, Button } from '../common';\nimport { getDirectionUrl } from '../utils';\nimport { useIndexName } from '../hostnameindexinfo';\nvar ForgotPasswordWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex-grow: 1;\\n overflow: auto;\\n display: flex;\\n padding: 10px;\\n\"], [\"\\n flex-grow: 1;\\n overflow: auto;\\n display: flex;\\n padding: 10px;\\n\"])));\nvar ForgotPasswordContent = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"], [\"\\n width: 450px;\\n border: 1px solid #dee2e6;\\n border-radius: 4px;\\n padding: 30px;\\n margin: auto;\\n\"])));\nvar H5Style = styled.h5(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"], [\"\\n text-align: center !important;\\n margin-bottom: 1.5rem !important;\\n\"])));\nvar ButtonGroup = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-align: right !important;\\n\"], [\"\\n text-align: right !important;\\n\"])));\nvar LinkWrapper = styled(Link)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"], [\"\\n color: inherit;\\n :hover {\\n color: inherit;\\n text-decoration: none;\\n }\\n\"])));\nvar validationSchema = Yup.object().shape({\n username: Yup.string().required('Required'),\n});\nexport var ForgotPasswordComponent = function () {\n var _a = useState(), usernameSubmitted = _a[0], setUsernameSubmitted = _a[1];\n var _b = useAPI('/api/auth/forgot-password', undefined, 'POST'), forgotPasswordData = _b[0], forgotPassword = _b[1], resetData = _b[2];\n var _c = useForm({ validationSchema: validationSchema }), setInitialValues = _c.setInitialValues, values = _c.values, handleChange = _c.handleChange, handleBlur = _c.handleBlur, handleSubmit = _c.handleSubmit, isSubmitting = _c.isSubmitting, getError = _c.getError;\n var indexName = useIndexName();\n useMount(function () {\n setInitialValues({\n username: '',\n });\n return resetData;\n });\n useEffect(function () {\n if (forgotPasswordData.requesting === false && !forgotPasswordData.error) {\n setUsernameSubmitted(values.username);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [forgotPasswordData.requesting]);\n var onSubmit = handleSubmit(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0: return [4 /*yield*/, forgotPassword(__assign(__assign({}, payload), { indexName: indexName }))];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); });\n return (React.createElement(ForgotPasswordWrapper, null,\n React.createElement(ForgotPasswordContent, { hidden: !!usernameSubmitted },\n React.createElement(H5Style, null, \"Forgot Password\"),\n React.createElement(MessageBox, { error: forgotPasswordData.error }),\n React.createElement(Form, { onSubmit: onSubmit },\n React.createElement(FormGroup, null,\n React.createElement(Label, null, \"Enter your email address\"),\n React.createElement(Input, { type: \"email\", name: \"username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') }),\n React.createElement(FormFeedback, null, getError('username'))),\n React.createElement(ButtonGroup, null,\n React.createElement(Button, { type: \"button\", disabled: isSubmitting },\n React.createElement(LinkWrapper, { to: getDirectionUrl('/') }, \"Cancel\")),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Continue\")))),\n React.createElement(ConfirmForgotPassword, { username: usernameSubmitted })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useEffect, useCallback, useRef } from 'react';\nimport * as Yup from 'yup';\nimport Recaptcha from 'react-recaptcha';\nimport { Form, Row, FormGroup, Label, FormFeedback, Col } from 'reactstrap';\nimport { useForm } from '../hooks';\nimport { PhoneInput, Input, Select, MessageBox, Button, ZIP_CODE_PATTERN, PHONE_NUMBER_PATTERN, MessageId } from '../common';\nimport { LicenseAgreementModal } from '../aboutmodal/licenseagreementmodal';\nimport styled from 'styled-components';\nimport { useAPI, useMessage } from '../state';\nimport { Redirect } from 'react-router-dom';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { getDirectionUrl } from '../utils';\nexport var NOTIFICATION_PREFERENCES = {\n EMAIL: 'EMAIL',\n SMS: 'SMS',\n};\nvar Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 62.5rem;\\n margin: 0 auto;\\n padding: 1.25rem;\\n\"], [\"\\n max-width: 62.5rem;\\n margin: 0 auto;\\n padding: 1.25rem;\\n\"])));\nvar Margin = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin: 0 3.125rem;\\n\"], [\"\\n margin: 0 3.125rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n recaptchaResponse: Yup.string().required('Please verify that you are not a robot.'),\n firstName: Yup.string().trim().required('Required'),\n lastName: Yup.string().trim().required('Required'),\n username: Yup.string().email().required('Required'),\n organization: Yup.string().trim().required('Required'),\n address1: Yup.string().trim().required('Required'),\n city: Yup.string().trim().required('Required'),\n stateAbb: Yup.string().trim().required('Required'),\n zipcode: Yup.string().trim().required('Required').matches(ZIP_CODE_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n notificationPreference: Yup.string().trim().required('Required'),\n phoneNumber: Yup.string().trim().required('Required').matches(PHONE_NUMBER_PATTERN, {\n excludeEmptyString: true,\n message: 'Invalid',\n }),\n});\nexport var SignUpComponent = function () {\n var _a;\n var indexName = useIndexName();\n var _b = useAPI('/api/general/get-recaptcha-site-key'), recaptchaSiteKey = _b[0].data, fetchRecaptchaSiteKey = _b[1];\n var _c = useState(false), isOpenLicenseModal = _c[0], setIsOpenLicenseModal = _c[1];\n var _d = useState(false), redirectToHomeURL = _d[0], setRedirectToHomeURL = _d[1];\n var recaptchaRef = useRef();\n var _e = useAPI('/api/user/register', undefined, 'POST'), signUpData = _e[0], signUp = _e[1], resetData = _e[2];\n var _f = useAPI('/api/general/lookup/get-list-state'), stateData = _f[0], fetchStateData = _f[1];\n var _g = useForm({\n validationSchema: validationSchema,\n }), setInitialValues = _g.setInitialValues, values = _g.values, handleChange = _g.handleChange, handleBlur = _g.handleBlur, setFieldValue = _g.setFieldValue, setFieldTouched = _g.setFieldTouched, handleSubmit = _g.handleSubmit, isSubmitting = _g.isSubmitting, getError = _g.getError;\n var indexConfig = useHostnameIndexInfo();\n var _h = useMessage(MessageId.LoginPage), setMessage = _h[1];\n useEffect(function () {\n setInitialValues({\n firstName: '',\n middleName: '',\n lastName: '',\n username: '',\n organization: '',\n address1: '',\n address2: '',\n city: '',\n stateAbb: '',\n zipcode: '',\n phoneNumber: '',\n notificationPreference: NOTIFICATION_PREFERENCES.EMAIL,\n recaptchaResponse: '',\n });\n return resetData;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n fetchStateData();\n fetchRecaptchaSiteKey();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (!recaptchaRef.current) {\n recaptchaRef.current = true;\n }\n else {\n recaptchaRef.current.reset();\n setFieldTouched(false, 'recaptchaResponse');\n setFieldValue('', 'recaptchaResponse');\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n useEffect(function () {\n if (signUpData.data) {\n setRedirectToHomeURL(true);\n setMessage({\n value: \"Your request for access to the \" + (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle) + \" was successfully submitted. Once approved, you will receive an email or SMS message with a temporary password to enable your account\",\n type: 'success'\n });\n }\n }, [indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle, setMessage, signUpData.data]);\n var toggleLicenseAgreementModal = function () {\n setIsOpenLicenseModal(!isOpenLicenseModal);\n };\n var handleRecaptchVerify = function (recaptchaResponse) {\n setFieldValue(recaptchaResponse, 'recaptchaResponse');\n };\n var handleRecaptchExpired = function () {\n recaptchaRef.current.reset();\n setFieldValue('', 'recaptchaResponse');\n };\n var handleCancelBtn = function () {\n setRedirectToHomeURL(true);\n };\n var onSubmit = handleSubmit(useCallback(function (payload) { return __awaiter(void 0, void 0, void 0, function () {\n var data;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n data = {\n firstName: payload.firstName,\n middleName: payload.middleName,\n lastName: payload.lastName,\n username: payload.username,\n organization: payload.organization,\n address1: payload.address1,\n address2: payload.address2,\n city: payload.city,\n stateAbb: payload.stateAbb,\n zipcode: payload.zipcode,\n phoneNumber: payload.phoneNumber,\n notificationPreference: payload.notificationPreference,\n recaptchaResponse: payload.recaptchaResponse,\n indexName: indexName,\n };\n return [4 /*yield*/, signUp(data)];\n case 1:\n _a.sent();\n return [2 /*return*/];\n }\n });\n }); }, []));\n return (React.createElement(Wrapper, null,\n React.createElement(MessageBox, { error: signUpData.error }),\n React.createElement(\"h4\", null, \"Register New Account\"),\n React.createElement(\"hr\", null),\n React.createElement(Form, { className: \"mt-4\", onSubmit: onSubmit },\n React.createElement(Margin, null,\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"First Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"firstName\", value: values.firstName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('firstName') }),\n React.createElement(FormFeedback, null, getError('firstName'))),\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null, \"Middle Name\"),\n React.createElement(Input, { type: \"text\", name: \"middleName\", value: values.middleName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('middleName') }),\n React.createElement(FormFeedback, null, getError('middleName'))),\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"Last Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"lastName\", value: values.lastName, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('lastName') }),\n React.createElement(FormFeedback, null, getError('lastName')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-12\" },\n React.createElement(Label, null,\n \"Email Address\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Row, null,\n React.createElement(Col, { sm: 4 },\n React.createElement(Input, { type: \"email\", name: \"username\", value: values.username, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('username') })),\n React.createElement(Col, { className: \"align-self-center font-italic\" },\n \"This will be your login name. \",\n React.createElement(\"span\", { className: \"text-danger\" }, \"Please note the username is case sensitive.\"))),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('username')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-4\" },\n React.createElement(Label, null,\n \"Mobile phone number\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(PhoneInput, { name: \"phoneNumber\", value: values.phoneNumber, setFieldValue: setFieldValue, setFieldTouched: setFieldTouched, invalid: !!getError('phoneNumber') }),\n React.createElement(FormFeedback, null, getError('phoneNumber'))),\n React.createElement(FormGroup, { className: \"col-sm-8\" },\n React.createElement(Label, null, \"\\u00A0\"),\n React.createElement(\"div\", { className: \"pt-2\" },\n React.createElement(Label, { className: \"mr-2\" },\n \"Preference for notifications:\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.EMAIL, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.EMAIL }),\n \"Email\")),\n React.createElement(FormGroup, { check: true, className: \"d-inline-block mr-2\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"notificationPreference\", checked: values.notificationPreference === NOTIFICATION_PREFERENCES.SMS, onChange: handleChange, onBlur: handleBlur, value: NOTIFICATION_PREFERENCES.SMS }),\n \"SMS Text\"))),\n React.createElement(FormFeedback, { className: \"d-lock\" }, getError('notificationPreference')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"Organization Name\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"organization\", value: values.organization, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('organization') }),\n React.createElement(FormFeedback, null, getError('organization')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"Address 1\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"address1\", value: values.address1, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address1') }),\n React.createElement(FormFeedback, null, getError('address1'))),\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null, \"Address 2\"),\n React.createElement(Input, { type: \"text\", name: \"address2\", value: values.address2, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('address2') }),\n React.createElement(FormFeedback, null, getError('address2')))),\n React.createElement(Row, null,\n React.createElement(FormGroup, { className: \"col-sm-6\" },\n React.createElement(Label, null,\n \"City\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"city\", value: values.city, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('city') }),\n React.createElement(FormFeedback, null, getError('city'))),\n React.createElement(FormGroup, { className: \"col-sm-3\" },\n React.createElement(Label, null,\n \"State\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Select, { name: \"stateAbb\", options: (_a = stateData.data) === null || _a === void 0 ? void 0 : _a.data, value: values.stateAbb, onChange: setFieldValue, setFieldTouched: setFieldTouched, optionsTransform: function (st) { return (__assign(__assign({}, st), { value: st.stateAbbreviation, label: st.stateName })); }, menuPlacement: \"top\" }),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('stateAbb'))),\n React.createElement(FormGroup, { className: \"col-sm-3\" },\n React.createElement(Label, null,\n \"Zip Code\",\n React.createElement(\"span\", { className: \"text-danger\" }, \"*\")),\n React.createElement(Input, { type: \"text\", name: \"zipcode\", value: values.zipcode, onChange: handleChange, onBlur: handleBlur, invalid: !!getError('zipcode') }),\n React.createElement(FormFeedback, null, getError('zipcode'))))),\n React.createElement(Row, { className: \"justify-content-center\" },\n React.createElement(FormGroup, null,\n recaptchaSiteKey && (React.createElement(Recaptcha, { ref: recaptchaRef, sitekey: recaptchaSiteKey, verifyCallback: handleRecaptchVerify, expiredCallback: handleRecaptchExpired })),\n React.createElement(FormFeedback, { className: \"d-block\" }, getError('recaptchaResponse')))),\n React.createElement(Row, null,\n React.createElement(Col, { sm: 4, className: \"align-self-center mr-auto\" },\n React.createElement(\"small\", null,\n \"In submitting this form, you agree to the National Minority Quality Forum, Inc\",\n ' ',\n React.createElement(\"a\", { href: \"#\", onClick: toggleLicenseAgreementModal }, \"License Agreement\"),\n \".\")),\n React.createElement(Col, { sm: \"auto\", className: \"text-right align-self-end\" },\n React.createElement(Button, { type: \"button\", disabled: isSubmitting, onClick: handleCancelBtn }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", type: \"submit\", loading: isSubmitting }, \"Submit\"),\n redirectToHomeURL && React.createElement(Redirect, { to: getDirectionUrl('/') })))),\n React.createElement(LicenseAgreementModal, { isOpen: isOpenLicenseModal, toggle: toggleLicenseAgreementModal })));\n};\nvar templateObject_1, templateObject_2;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useContext, useReducer, useLayoutEffect, useMemo } from 'react';\nimport * as jsonwebtoken from 'jsonwebtoken';\nimport { AuthContext } from 'cinchy';\nimport { Redirect, Route, Switch } from 'react-router-dom';\nimport { LoginComponent } from './login';\nimport { ForgotPasswordComponent } from './forgotpassword';\nimport { SignUpComponent } from './signup';\nexport { LoginComponent } from './login';\nvar NMQF_SESSION_STORAGE_NAME = 'SESSION';\nvar API_URL_LOGIN = '/api/auth/login';\nvar API_URL_REFRESH_JWT = '/api/auth/token';\nvar JWTStrategy = /** @class */ (function () {\n function JWTStrategy() {\n window.addEventListener('storage', this.syncLogout);\n this.__jwt = null;\n this.subscribers = [];\n }\n Object.defineProperty(JWTStrategy.prototype, \"user\", {\n get: function () {\n if (this.jwt) {\n if (!this.__user) {\n this.__user = jsonwebtoken.decode(this.jwt);\n }\n return this.__user;\n }\n return undefined;\n },\n enumerable: false,\n configurable: true\n });\n Object.defineProperty(JWTStrategy.prototype, \"jwt\", {\n get: function () {\n return this.__jwt;\n },\n set: function (value) {\n var _this = this;\n if (value) {\n localStorage.setItem(NMQF_SESSION_STORAGE_NAME, value);\n }\n else if (this.__jwt) {\n localStorage.removeItem(NMQF_SESSION_STORAGE_NAME);\n window.location.reload();\n }\n if (value && this.__jwt !== value) {\n this.__jwt = value;\n this.__user = undefined;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n },\n enumerable: false,\n configurable: true\n });\n JWTStrategy.prototype.getError = function () {\n return this.error;\n };\n JWTStrategy.prototype.setError = function (error) {\n var _this = this;\n if (this.error !== error) {\n this.error = error;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n };\n JWTStrategy.prototype.getAuthChallenge = function () {\n return this.authChallenge;\n };\n JWTStrategy.prototype.setAuthChallenge = function (authChallenge) {\n var _this = this;\n if (this.authChallenge !== authChallenge) {\n this.authChallenge = authChallenge;\n this.subscribers.forEach(function (x) {\n _this.subscribers.includes(x) && x();\n });\n }\n };\n JWTStrategy.prototype.resetErrorAndChallenge = function () {\n this.setAuthChallenge();\n this.setError();\n };\n JWTStrategy.prototype.getRequestOptions = function (method, body) {\n var headers = {\n Authorization: this.jwt ? \"Bearer \" + this.jwt : '',\n };\n if (!(body instanceof FormData)) {\n headers['Content-Type'] = 'application/json';\n body = JSON.stringify(body);\n }\n return {\n method: method,\n body: body,\n headers: headers,\n referrer: window.location.href.split('?')[0],\n };\n };\n JWTStrategy.prototype.onUnauthorized = function (dispatch, getState, request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (request.status !== 401) {\n return [2 /*return*/, false];\n }\n if (!this.refreshTokenPromise) return [3 /*break*/, 2];\n return [4 /*yield*/, this.refreshTokenPromise];\n case 1: return [2 /*return*/, _a.sent()];\n case 2: return [4 /*yield*/, this.refreshToken()];\n case 3: return [2 /*return*/, _a.sent()];\n }\n });\n });\n };\n JWTStrategy.prototype.onForbidden = function (dispatch, getState, request) {\n return __awaiter(this, void 0, void 0, function () {\n return __generator(this, function (_a) {\n return [2 /*return*/, false];\n });\n });\n };\n JWTStrategy.prototype.authenticate = function (credentials) {\n return __awaiter(this, void 0, void 0, function () {\n var authResponse, loginData, _a, _b, e_1, e_2;\n return __generator(this, function (_c) {\n switch (_c.label) {\n case 0:\n _c.trys.push([0, 7, , 8]);\n this.resetErrorAndChallenge();\n return [4 /*yield*/, fetch(API_URL_LOGIN, {\n method: 'POST',\n body: JSON.stringify(credentials),\n headers: { 'Content-Type': 'application/json' },\n referrer: window.location.href.split('?')[0],\n })];\n case 1:\n authResponse = _c.sent();\n if (!(authResponse.status === 200 || authResponse.status === 201)) return [3 /*break*/, 3];\n return [4 /*yield*/, authResponse.json()];\n case 2:\n loginData = _c.sent();\n if (loginData.JWT) {\n this.jwt = loginData.JWT;\n }\n else {\n this.setAuthChallenge(loginData);\n }\n return [3 /*break*/, 6];\n case 3:\n _c.trys.push([3, 5, , 6]);\n _a = this.setError;\n _b = [{ statusCode: authResponse.status }];\n return [4 /*yield*/, authResponse.json()];\n case 4:\n _a.apply(this, [__assign.apply(void 0, _b.concat([(_c.sent())]))]);\n return [3 /*break*/, 6];\n case 5:\n e_1 = _c.sent();\n this.setError({ message: 'Invalid Username or Password, please try again' });\n return [3 /*break*/, 6];\n case 6: return [3 /*break*/, 8];\n case 7:\n e_2 = _c.sent();\n this.setError(e_2);\n return [3 /*break*/, 8];\n case 8: return [2 /*return*/];\n }\n });\n });\n };\n JWTStrategy.prototype.refreshToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry;\n var _this = this;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n this.refreshTokenPromise = fetch(API_URL_REFRESH_JWT, this.getRequestOptions('GET')).then(function (response) { return __awaiter(_this, void 0, void 0, function () {\n var JWT;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n if (!(response.status === 200 || response.status === 201)) return [3 /*break*/, 2];\n return [4 /*yield*/, response.json()];\n case 1:\n JWT = (_a.sent()).JWT;\n this.jwt = JWT;\n return [2 /*return*/, true];\n case 2:\n if (response.status === 401) {\n this.jwt = null;\n }\n _a.label = 3;\n case 3: return [2 /*return*/, false];\n }\n });\n }); });\n return [4 /*yield*/, this.refreshTokenPromise];\n case 1:\n retry = _a.sent();\n this.refreshTokenPromise = undefined;\n return [2 /*return*/, retry];\n }\n });\n });\n };\n JWTStrategy.prototype.exportToken = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry, response, JWT, e_3;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n _a.trys.push([0, 8, , 9]);\n retry = true;\n _a.label = 1;\n case 1:\n if (!retry) return [3 /*break*/, 7];\n retry = false;\n return [4 /*yield*/, fetch('/api/auth/exporttoken', this.getRequestOptions('GET'))];\n case 2:\n response = _a.sent();\n if (!((response.status === 200 || response.status === 201) && this.jwt)) return [3 /*break*/, 4];\n return [4 /*yield*/, response.json()];\n case 3:\n JWT = (_a.sent()).JWT;\n this.setError();\n return [2 /*return*/, JWT];\n case 4:\n if (!(response.status === 401)) return [3 /*break*/, 6];\n return [4 /*yield*/, this.refreshToken()];\n case 5:\n retry = _a.sent();\n _a.label = 6;\n case 6: return [3 /*break*/, 1];\n case 7:\n this.setError({ message: 'Something went wrong. Please try again later.' });\n return [3 /*break*/, 9];\n case 8:\n e_3 = _a.sent();\n this.setError(e_3);\n return [3 /*break*/, 9];\n case 9: return [2 /*return*/, ''];\n }\n });\n });\n };\n JWTStrategy.prototype.logout = function () {\n return __awaiter(this, void 0, void 0, function () {\n var retry, e_4;\n return __generator(this, function (_a) {\n switch (_a.label) {\n case 0:\n retry = 3;\n _a.label = 1;\n case 1:\n if (!retry) return [3 /*break*/, 6];\n _a.label = 2;\n case 2:\n _a.trys.push([2, 4, , 5]);\n return [4 /*yield*/, fetch('/api/auth/logout', this.getRequestOptions('DELETE'))];\n case 3:\n _a.sent();\n retry = 0;\n return [3 /*break*/, 5];\n case 4:\n e_4 = _a.sent();\n retry--;\n return [3 /*break*/, 5];\n case 5: return [3 /*break*/, 1];\n case 6:\n window.localStorage.setItem('logout', Date.now().toString());\n this.syncLogout({ key: 'logout' });\n return [2 /*return*/];\n }\n });\n });\n };\n JWTStrategy.prototype.syncLogout = function (event) {\n if (event.key === 'logout') {\n this.jwt = null;\n sessionStorage.clear();\n localStorage.clear();\n window.location.reload();\n }\n };\n JWTStrategy.prototype.subscribe = function (fn) {\n var _this = this;\n this.subscribers.push(fn);\n return function () {\n _this.unsubscribe(fn);\n };\n };\n JWTStrategy.prototype.unsubscribe = function (fn) {\n this.subscribers = this.subscribers.filter(function (i) { return !Object.is(i, fn); });\n };\n return JWTStrategy;\n}());\nexport { JWTStrategy };\nexport var AuthProvider = function (props) {\n var strategy = useMemo(function () { return new JWTStrategy(); }, []);\n return React.createElement(AuthContext.Provider, { value: strategy }, props.children);\n};\nexport var useUser = function () {\n var strategy = useContext(AuthContext);\n var _a = useReducer(function (x) { return x + 1; }, 0), forceUpdate = _a[1];\n useLayoutEffect(function () { return strategy.subscribe(forceUpdate); }, [strategy]);\n return strategy.user;\n};\nexport var useAuth = function () {\n var strategy = useContext(AuthContext);\n var _a = useReducer(function (x) { return x + 1; }, 0), forceUpdate = _a[1];\n useLayoutEffect(function () { return strategy.subscribe(forceUpdate); }, [strategy]);\n return strategy;\n};\nexport var PrivateRoute = function (props) {\n var user = useUser();\n var _a = props.roles, roles = _a === void 0 ? [user === null || user === void 0 ? void 0 : user.roleName] : _a, _b = props.checkPermission, checkPermission = _b === void 0 ? function () { return true; } : _b, children = props.children, resprops = __rest(props, [\"roles\", \"checkPermission\", \"children\"]);\n var hasPermission = roles.some(function (i) { return i === (user === null || user === void 0 ? void 0 : user.roleName); }) && checkPermission();\n return (React.createElement(Route, __assign({}, resprops, { render: function (_a) {\n var location = _a.location;\n return hasPermission ? (children) : (React.createElement(Redirect, { to: {\n pathname: '/',\n state: { from: location },\n } }));\n } })));\n};\nexport var Authenticated = function (props) {\n var user = useUser();\n var isValid = !!user;\n isValid = isValid && (!props.roles || props.roles.some(function (i) { return i === (user === null || user === void 0 ? void 0 : user.roleName); }));\n isValid = isValid && (!props.checkPermission || props.checkPermission());\n if (!isValid) {\n return null;\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nexport var Unuthenticated = function (props) {\n var user = useUser();\n if (user) {\n return null;\n }\n return React.createElement(React.Fragment, null, props.children);\n};\nexport var Authenticate = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Unuthenticated, null,\n React.createElement(Switch, null,\n React.createElement(Route, { path: \"/\", exact: true },\n React.createElement(LoginComponent, null)),\n React.createElement(Route, { path: \"/forgotpassword\", exact: true },\n React.createElement(ForgotPasswordComponent, null)),\n React.createElement(Route, { path: \"/signup\", exact: true },\n React.createElement(SignUpComponent, null)),\n React.createElement(Redirect, { to: \"/\" }))),\n React.createElement(Authenticated, null, props.children)));\n};\n","export * from './partialfiltersetting';\nexport * from './viewsetting';\nexport * from './indexconfig';\nexport * from './managemaplayer';\nexport * from './managefilterbydatasource';\nexport * from './filtercount';\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Button } from '../common';\nimport { useFilterValue } from '../state/filtersettings';\nimport { LookupRaceCodeComponent, LookupSexCodeComponent, LookupConditionComponent, LookupStateComponent, LookupZipCodeDistrictComponent } from '../lookupdata';\nimport { ConditionTab } from '../filterdialog';\nvar StyledFilterResultDashboard = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n overflow: auto;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n overflow: auto;\\n\"])));\nvar StyledGetStartedButton = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n transform: translateY(-50%);\\n top: 50%;\\n align-self: center;\\n\"], [\"\\n position: absolute;\\n transform: translateY(-50%);\\n top: 50%;\\n align-self: center;\\n\"])));\nvar NoDefaultFilterComponent = function (props) {\n return (React.createElement(StyledGetStartedButton, null,\n React.createElement(Button, { outline: true, color: \"primary\", size: \"lg\", className: \"p-5\", message: \"Click here to get started\", onClick: function () { return props.getStartedFilter && props.getStartedFilter(props.tabId); } })));\n};\nexport var FilterResultDashboard = function (props) {\n var _a;\n var available = useFilterValue('available')[0];\n return (React.createElement(React.Fragment, null,\n available ? (React.createElement(StyledFilterResultDashboard, null, props.children)) : (React.createElement(NoDefaultFilterComponent, { tabId: props.tagId || ((_a = ConditionTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId), getStartedFilter: props.toggleFilterDialog })),\n React.createElement(LookupConditionComponent, null),\n React.createElement(LookupSexCodeComponent, null),\n React.createElement(LookupRaceCodeComponent, null),\n React.createElement(LookupStateComponent, null),\n React.createElement(LookupZipCodeDistrictComponent, null)));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/* eslint-disable jsx-a11y/anchor-is-valid */\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { Fragment, useEffect, useState } from 'react';\nimport { Collapse, Modal, ModalHeader, ModalBody } from 'reactstrap';\nimport moment from 'moment';\nimport styled from 'styled-components';\nimport { LicenseAgreementModal } from './licenseagreementmodal';\nimport { IconButton, useAPI, useMount, useToggle } from '..';\nvar CreditsTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 700;\\n font-size: 1.25rem;\\n cursor: pointer;\\n\"], [\"\\n font-weight: 700;\\n font-size: 1.25rem;\\n cursor: pointer;\\n\"])));\nvar CollapseSectionContainer = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.25rem;\\n \", \"\\n\"], [\"\\n padding: 0.25rem;\\n \", \"\\n\"])), function (props) { return (props.isOpen ? 'background-color: #f2f2f2;' : ''); });\nvar CollapseToggle = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n cursor: pointer;\\n\"])));\nvar CollapseToggleTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 700;\\n font-size: 1rem;\\n flex: 1;\\n\"], [\"\\n font-weight: 700;\\n font-size: 1rem;\\n flex: 1;\\n\"])));\nvar LicensesText = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-family: 'Courier New', monospace;\\n margin-top: 1rem;\\n font-size: 0.875rem;\\n white-space: pre-wrap;\\n\"], [\"\\n font-family: 'Courier New', monospace;\\n margin-top: 1rem;\\n font-size: 0.875rem;\\n white-space: pre-wrap;\\n\"])));\nvar StyledPaginate = styled.ul(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n display: flex;\\n list-style: none;\\n justify-content: center;\\n padding: 0.5rem 0;\\n margin: 0;\\n li {\\n padding: 0.25rem;\\n &.active {\\n font-weight: 700;\\n }\\n }\\n\"], [\"\\n display: flex;\\n list-style: none;\\n justify-content: center;\\n padding: 0.5rem 0;\\n margin: 0;\\n li {\\n padding: 0.25rem;\\n &.active {\\n font-weight: 700;\\n }\\n }\\n\"])));\nvar CollapseSection = function (props) {\n var isOpen = props.expandedId === props.sectionId;\n var handleClick = function () {\n props.setExpandedId(isOpen ? undefined : props.sectionId);\n };\n return (React.createElement(CollapseSectionContainer, { isOpen: isOpen },\n React.createElement(CollapseToggle, { onClick: handleClick },\n React.createElement(CollapseToggleTitle, null, props.title),\n React.createElement(IconButton, { icon: isOpen ? 'angle-up' : 'angle-down', size: \"2x\", color: \"#000\" })),\n React.createElement(Collapse, { isOpen: isOpen }, props.children)));\n};\nvar PageButton = function (props) {\n var handlePageClick = function () {\n var _a;\n if (!props.disabled) {\n (_a = props.onClick) === null || _a === void 0 ? void 0 : _a.call(props, props.index);\n }\n };\n return (React.createElement(\"li\", { className: props.className + \" \" + (props.disabled ? 'disabled' : '') },\n React.createElement(\"a\", { tabIndex: props.disabled ? -1 : 0, role: \"button\", \"aria-disabled\": props.disabled ? 'true' : 'false', \"aria-label\": props.ariaLabel, onClick: handlePageClick }, props.label)));\n};\nvar Paginate = function (props) {\n var _a = useState(0), selected = _a[0], setSelected = _a[1];\n var handlePageClick = function (index) {\n setSelected(index);\n props.onPageChange(index);\n };\n var pagination = function () {\n var items = [];\n var pageRangeDisplayed = 5;\n var marginPagesDisplayed = 2;\n var createPageView = function (index) { return (React.createElement(PageButton, { key: index, className: index === selected ? 'active' : '', ariaLabel: \"Page \" + (index + 1), index: index, label: index + 1, onClick: handlePageClick })); };\n var createBreakView = function (index) { return (React.createElement(PageButton, { key: index, index: index < selected ? Math.max(selected - pageRangeDisplayed, 0) : Math.min(selected + pageRangeDisplayed, props.pageCount - 1), label: \"...\", onClick: handlePageClick })); };\n if (props.pageCount <= pageRangeDisplayed) {\n for (var index = 0; index < props.pageCount; index++) {\n items.push(createPageView(index));\n }\n }\n else {\n var leftSide = pageRangeDisplayed / 2;\n var rightSide = pageRangeDisplayed - leftSide;\n if (selected > props.pageCount - pageRangeDisplayed / 2) {\n rightSide = props.pageCount - selected;\n leftSide = pageRangeDisplayed - rightSide;\n }\n else if (selected < pageRangeDisplayed / 2) {\n leftSide = selected;\n rightSide = pageRangeDisplayed - leftSide;\n }\n for (var index = 0; index < props.pageCount; index++) {\n var adjustedRightSide = !selected ? rightSide - 1 : rightSide;\n var page = index + 1;\n var isPageStart = page <= marginPagesDisplayed;\n var isPageEnd = page > props.pageCount - marginPagesDisplayed;\n var isPageRange = index >= selected - leftSide && index <= selected + adjustedRightSide;\n var isPageStartNoBreak = page === marginPagesDisplayed + 1 && index + 1 >= selected - leftSide;\n var isPageEndNoBreak = page === props.pageCount - marginPagesDisplayed && index - 1 <= selected + adjustedRightSide;\n if (isPageStart || isPageEnd || isPageRange || isPageStartNoBreak || isPageEndNoBreak) {\n items.push(createPageView(index));\n continue;\n }\n if (page === marginPagesDisplayed + 1) {\n items.push(createBreakView(index));\n continue;\n }\n if (page === props.pageCount - marginPagesDisplayed) {\n items.push(createBreakView(index));\n continue;\n }\n }\n }\n return items;\n };\n if (!props.pageCount || props.pageCount === 1)\n return null;\n return (React.createElement(StyledPaginate, { className: \"pagination\" },\n React.createElement(PageButton, { disabled: !selected, className: \"previous\", ariaLabel: \"Previous page\", index: selected - 1, label: \"previous\", onClick: handlePageClick }),\n pagination(),\n React.createElement(PageButton, { disabled: selected === props.pageCount - 1, className: \"next\", ariaLabel: \"Next page\", index: selected + 1, label: \"next\", onClick: handlePageClick })));\n};\nvar Licenses = React.memo(function (props) {\n var _a = useState(''), expandedId = _a[0], setExpandedId = _a[1];\n var _b = useState({\n offset: 0,\n numberPerPage: 100,\n pageCount: 0,\n currentData: [],\n }), pagination = _b[0], setPagination = _b[1];\n useEffect(function () {\n setPagination(function (prevState) { return (__assign(__assign({}, prevState), { pageCount: Math.ceil(props.licenses.length / prevState.numberPerPage), currentData: props.licenses.slice(pagination.offset, pagination.offset + pagination.numberPerPage) })); });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [pagination.numberPerPage, pagination.offset]);\n var handlePageClick = function (selected) {\n var offset = selected * pagination.numberPerPage;\n setPagination(__assign(__assign({}, pagination), { offset: offset }));\n };\n return (React.createElement(Collapse, { isOpen: props.isOpen, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(\"div\", { className: \"h-100 d-flex flex-column\" },\n React.createElement(\"div\", { className: \"flex-grow-1 overflow-auto\" }, pagination.currentData &&\n pagination.currentData.map(function (item, index) { return (React.createElement(CollapseSection, { key: index, sectionId: item.componentName, title: item.componentName, expandedId: expandedId, setExpandedId: setExpandedId },\n React.createElement(\"a\", { href: item.homePage, target: \"_blank\", rel: \"noopener noreferrer\" }, item.homePage),\n React.createElement(LicensesText, null, item.licenseText))); })),\n React.createElement(Paginate, { pageCount: pagination.pageCount, onPageChange: handlePageClick }))));\n});\nvar CreditsPage = function () {\n var _a = useAPI(process.env.PUBLIC_URL + \"/licenses.json\"), licensesData = _a[0], fetchLicensesData = _a[1];\n var _b = useToggle(), showCredits = _b[0], toggleCredits = _b[1];\n var _c = useState(), licenses = _c[0], setLicenses = _c[1];\n useMount(function () {\n fetchLicensesData();\n });\n useEffect(function () {\n setLicenses(typeof licensesData.data === 'object'\n ? Object.entries(licensesData.data)\n .map(function (_a) {\n var key = _a[0], value = _a[1];\n return ({\n componentName: key,\n homePage: value.repository,\n licenseText: value.licenseText,\n });\n })\n .sort(function (a, b) { return a.componentName.toLowerCase().localeCompare(b.componentName.toLowerCase()); })\n : undefined);\n }, [licensesData.data]);\n if (!licenses)\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(CreditsTitle, { onClick: toggleCredits },\n \"Credits\",\n React.createElement(IconButton, { icon: showCredits ? 'angle-up' : 'angle-down', size: \"2x\", color: \"#000\" })),\n React.createElement(Licenses, { isOpen: showCredits, licenses: licenses })));\n};\nexport var AboutModal = function (props) {\n var _a = useState(false), licenseModal = _a[0], setLicenseModal = _a[1];\n var toggleLicenseAgreementModal = function () {\n if (licenseModal) {\n props.toggle();\n }\n setLicenseModal(!licenseModal);\n };\n return (React.createElement(Fragment, null,\n React.createElement(Modal, { isOpen: props.isOpen && !licenseModal, toggle: props.toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"About\"),\n React.createElement(ModalBody, { className: \"d-flex flex-column\" },\n React.createElement(\"div\", null, \"About \" + props.title + \" \" + process.env.REACT_APP_VERSION),\n React.createElement(\"div\", null,\n \"Copyright \\u00A9 2018-\",\n moment.utc().year(),\n \" SHC Holdings LLC\"),\n React.createElement(\"br\", null),\n React.createElement(\"p\", null,\n \"The use of this product is subject to the terms of the National Minority Quality Forum, Inc. (the \\\"Forum\\\")\\u00A0\",\n React.createElement(\"a\", { href: \"#\", onClick: toggleLicenseAgreementModal }, \"License Agreement\")),\n React.createElement(CreditsPage, null))),\n React.createElement(LicenseAgreementModal, { isOpen: licenseModal, toggle: toggleLicenseAgreementModal })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { faTimes, faUndo } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { IconButton } from '@material-ui/core';\nimport _ from 'lodash';\nimport React from 'react';\nimport { components } from 'react-select';\nimport { TabPane, FormGroup, ListGroupItem } from 'reactstrap';\nimport styled, { keyframes } from 'styled-components';\nimport { Select } from '../common';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupState, useLookupZipCodeDistrict } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nvar HighlightExisted = keyframes(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n 0% {\\n background-color: #007bff;\\n }\\n 50% {\\n background-color: #fff;\\n }\\n 100% {\\n background-color: #007bff;\\n }\\n\"], [\"\\n 0% {\\n background-color: #007bff;\\n }\\n 50% {\\n background-color: #fff;\\n }\\n 100% {\\n background-color: #007bff;\\n }\\n\"])));\nvar StyledLabel = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: 14px;\\n line-height: 1.5;\\n\"], [\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n font-size: 14px;\\n line-height: 1.5;\\n\"])));\nvar StyledBadgeZipCodes = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n background-color: #007bff;\\n color: #ffffff;\\n display: inline-block;\\n border-radius: 50px;\\n padding: 0.5rem 0.625rem;\\n white-space: nowrap;\\n margin-right: 0.3rem;\\n &.badge-existed {\\n animation: \", \" 500ms 1;\\n }\\n\"], [\"\\n background-color: #007bff;\\n color: #ffffff;\\n display: inline-block;\\n border-radius: 50px;\\n padding: 0.5rem 0.625rem;\\n white-space: nowrap;\\n margin-right: 0.3rem;\\n &.badge-existed {\\n animation: \", \" 500ms 1;\\n }\\n\"])), HighlightExisted);\nvar StyledSelect = styled(Select)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-size: 14px;\\n line-height: 1;\\n\"], [\"\\n font-size: 14px;\\n line-height: 1;\\n\"])));\nvar TabPaneContentWrapper = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n flex: 1;\\n gap: 2rem;\\n font-size: 14px;\\n\"], [\"\\n flex: 1;\\n gap: 2rem;\\n font-size: 14px;\\n\"])));\nvar TabPaneContentLeft = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n flex: 3;\\n min-width: 200px;\\n\"], [\"\\n flex: 3;\\n min-width: 200px;\\n\"])));\nvar TabPaneContentRight = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 4;\\n min-width: 200px;\\n\"], [\"\\n flex: 4;\\n min-width: 200px;\\n\"])));\nvar TabPaneContentRightContent = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n min-height: 2rem;\\n max-height: 30rem;\\n gap: 0.375rem;\\n\"], [\"\\n min-height: 2rem;\\n max-height: 30rem;\\n gap: 0.375rem;\\n\"])));\nvar StyledResetButton = styled.div(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n color: #808080;\\n cursor: pointer;\\n\"], [\"\\n color: #808080;\\n cursor: pointer;\\n\"])));\nvar FormGroupWrapper = styled(FormGroup)(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n justify-content: space-between;\\n\"], [\"\\n justify-content: space-between;\\n\"])));\nvar StyledParentOption = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledCloseButton = styled(IconButton)(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\\n :focus {\\n outline: none\\n }\\n\"], [\"\\n :focus {\\n outline: none\\n }\\n\"])));\nvar StyledChildOption = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar StyledStartWithOption = styled.div(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\"], [\"\"])));\nvar useOptionsZipCode = function (inputBoxValue) {\n var dataByStateCode = useLookupZipCodeDistrict()[0];\n var lookupState = useLookupState()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var _a = (dataByStateCode.data || {}).zipCode5ByState, zipCode5ByState = _a === void 0 ? {} : _a;\n var zipCode5GroupByState = React.useMemo(function () { return _.reduce(zipCode5ByState, function (acc, zipCodes, state) {\n acc[state] = zipCodes.map(function (zipCode) { return ({ label: zipCode, value: zipCode, type: \"zipCode\" /* ZIP_CODE */ }); });\n return acc;\n }, {}); }, [zipCode5ByState]);\n var states = React.useMemo(function () {\n return _.chain((lookupState.data || []))\n .filter(function (st) { return !singleState || parseInt(st.stateCode, 10) === singleState.stateCode; })\n .map(function (st) {\n var _a;\n return (__assign(__assign({}, st), { children: (_a = zipCode5GroupByState[st.stateCode]) === null || _a === void 0 ? void 0 : _a.map(function (zipCode) { return (__assign(__assign({}, zipCode), { parent: st })); }), type: \"allInState\" /* ALL_IN_STATE */ }));\n })\n .value() || [];\n }, [lookupState.data, singleState, zipCode5GroupByState]);\n var optionsOriginal = React.useMemo(function () {\n var stateWithZipCode = [];\n states.forEach(function (state) {\n var stateAndZipCode = __spreadArrays([state], (state.children || []));\n stateWithZipCode = stateWithZipCode.concat(stateAndZipCode);\n });\n return stateWithZipCode;\n }, [states]);\n var options = React.useMemo(function () {\n var regex = new RegExp(/^\\d+$/);\n return regex.test(inputBoxValue) ? __spreadArrays([{ label: \"Starting with \\\"\" + inputBoxValue + \"\\\"\", value: inputBoxValue, type: \"startWith\" /* START_WITH */, noCheckFilter: true }], optionsOriginal) :\n optionsOriginal;\n }, [optionsOriginal, inputBoxValue]);\n return [options, !!(lookupState.requesting || dataByStateCode.requesting)];\n};\nvar ShowByZipCodeReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var reportType = useReportsDialogValue('reportType')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: reportType !== ReportTypeEnum.ZipCodeDetailAnalysis })));\n};\nvar Option = function (props) {\n var _a;\n var StyledOption = props.data.noCheckFilter ?\n StyledStartWithOption :\n ((_a = props.data.children) === null || _a === void 0 ? void 0 : _a.length) ?\n StyledParentOption :\n StyledChildOption;\n return (React.createElement(components.Option, __assign({}, props),\n React.createElement(StyledOption, null, props.children)));\n};\nvar ZipCodeComponent = function (_a) {\n var handleAdd = _a.handleAdd;\n var _b = React.useState(''), inputBoxValue = _b[0], setInputBoxValue = _b[1];\n var value = React.useState('')[0];\n var _c = useOptionsZipCode(inputBoxValue), options = _c[0], isLoading = _c[1];\n return (React.createElement(StyledSelect, { components: { Option: Option }, isLoading: isLoading, options: options, placeholder: \"Search State or Zip Code\", isClearable: true, name: \"\", indicatorIcon: \"search\", noSort: true, closeMenuOnSelect: false, value: value, inputBoxValue: inputBoxValue, onInputBoxValueChange: function (value, actionMeta) {\n if (actionMeta.action === 'input-change') {\n setInputBoxValue(value);\n }\n if (actionMeta.action === 'menu-close') {\n setInputBoxValue('');\n }\n }, onChange: function (value, name, values) { return handleAdd(values); }, menuPosition: \"fixed\", isFilterStartWith: true, onSelectToRenderOptions: true }));\n};\nvar ZipCodeMemoComponent = React.memo(ZipCodeComponent, function () { return true; });\nvar LABEL_BADGE_ZIP_CODE = (_a = {},\n _a[\"zipCode\" /* ZIP_CODE */] = function (selected) { return selected.value; },\n _a[\"allInState\" /* ALL_IN_STATE */] = function (selected) { return \"All Zip Codes in \" + selected.label; },\n _a[\"startWith\" /* START_WITH */] = function (selected) { return \"Starting with \\\"\" + selected.value + \"\\\"\"; },\n _a);\nvar BadgeZipCodes = React.memo(function (_a) {\n var selected = _a.selected, isZipCodeExisted = _a.isZipCodeExisted, handleRemove = _a.handleRemove;\n return (React.createElement(StyledBadgeZipCodes, { className: isZipCodeExisted ? 'badge-existed' : '' },\n React.createElement(\"span\", { className: 'd-flex' },\n LABEL_BADGE_ZIP_CODE[selected.type](selected),\n \"\\u00A0\",\n React.createElement(StyledCloseButton, { className: 'p-0', onClick: handleRemove },\n React.createElement(FontAwesomeIcon, { className: 'w-1 h-1', style: { fontSize: 14 }, icon: faTimes, color: \"#ffffff\" })))));\n}, function (preProps, nextProps) {\n return preProps.selected.value === nextProps.selected.value &&\n preProps.isZipCodeExisted === nextProps.isZipCodeExisted;\n});\nexport var ShowByZipCodeReportsDialogTab = function (props) {\n var _a = React.useState([]), zipCodesSelected = _a[0], setZipCodesSelected = _a[1];\n var zipCodesSelectedRef = React.useRef([]);\n var _b = React.useState(), existedZipCodesSelected = _b[0], setExistedZipCodesSelected = _b[1];\n var _c = useReportsDialogValue('zipCodes'), setZipCodeReports = _c[1];\n React.useEffect(function () {\n if (existedZipCodesSelected) {\n var timeout_1 = setTimeout(function () {\n setExistedZipCodesSelected(undefined);\n }, 500);\n return function () {\n clearTimeout(timeout_1);\n };\n }\n }, [existedZipCodesSelected]);\n React.useEffect(function () {\n var zipCode = [];\n var startWith = [];\n var allInState = [];\n zipCodesSelected.forEach((function (zipCodeItem) {\n if (zipCodeItem.type === \"zipCode\" /* ZIP_CODE */) {\n zipCode.push(zipCodeItem.value);\n return;\n }\n if (zipCodeItem.type === \"allInState\" /* ALL_IN_STATE */) {\n allInState.push(zipCodeItem.value);\n return;\n }\n startWith.push(zipCodeItem.value);\n }));\n setZipCodeReports({\n zipCode: zipCode,\n startWith: startWith,\n allInState: allInState,\n });\n }, [setZipCodeReports, zipCodesSelected]);\n var addZipCodeSelected = function (values) {\n if (!values)\n return;\n var zipCodeExisted;\n var zipCodesSelectedRefCurrent = zipCodesSelectedRef.current;\n var newZipCodes = __spreadArrays(zipCodesSelectedRefCurrent);\n if (values.type === \"allInState\" /* ALL_IN_STATE */ && Array.isArray(values.children) && values.children.length) {\n newZipCodes = zipCodesSelectedRefCurrent.filter(function (zipCode) { return !_.some(values.children, ['value', zipCode.value]); });\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) { return zipCode.value === values.value; });\n if (!zipCodeExisted) {\n newZipCodes.push({ label: values.stateName || '', type: values.type, value: values.value });\n }\n }\n if (values.type === \"zipCode\" /* ZIP_CODE */) {\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) {\n var _a;\n return (values.type === zipCode.type && values.value === zipCode.value) ||\n (((_a = values.parent) === null || _a === void 0 ? void 0 : _a.value) === zipCode.value) ||\n (values.value.startsWith(zipCode.value));\n });\n if (!zipCodeExisted) {\n zipCodesSelectedRefCurrent.push({ label: '', type: values.type, value: values.value });\n newZipCodes = __spreadArrays(zipCodesSelectedRefCurrent);\n }\n }\n if (values.type === \"startWith\" /* START_WITH */) {\n zipCodeExisted = zipCodesSelectedRefCurrent.find(function (zipCode) {\n var _a;\n return (values.type === zipCode.type && values.value === zipCode.value) ||\n (((_a = values.parent) === null || _a === void 0 ? void 0 : _a.value) === zipCode.value);\n });\n newZipCodes = zipCodesSelectedRefCurrent.filter(function (zipCode) { return zipCode.type !== \"zipCode\" /* ZIP_CODE */ || !zipCode.value.startsWith(values.value); });\n if (!zipCodeExisted) {\n newZipCodes.push({ label: '', type: values.type, value: values.value });\n }\n }\n setExistedZipCodesSelected(zipCodeExisted);\n zipCodesSelectedRef.current = newZipCodes;\n setZipCodesSelected(newZipCodes);\n };\n var removeZipCodeSelected = function (index) {\n zipCodesSelectedRef.current.splice(index, 1);\n setZipCodesSelected(__spreadArrays(zipCodesSelectedRef.current));\n };\n var resetZipCodeSelected = function () {\n zipCodesSelectedRef.current = [];\n setZipCodesSelected(__spreadArrays(zipCodesSelectedRef.current));\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroupWrapper, { row: true },\n React.createElement(TabPaneContentWrapper, { className: 'd-flex py-0 px-3 flex-wrap' },\n React.createElement(TabPaneContentLeft, null,\n React.createElement(StyledLabel, { className: \"font-weight-bold\" }, \"Add Zip Codes to Report\"),\n React.createElement(ZipCodeMemoComponent, { handleAdd: addZipCodeSelected })),\n React.createElement(TabPaneContentRight, null,\n React.createElement(\"div\", { className: 'd-flex justify-content-between align-items-center' },\n React.createElement(StyledLabel, { className: \"font-weight-bold\" }, \"Selected Zip Codes\"),\n React.createElement(StyledResetButton, { className: 'p-0', onClick: resetZipCodeSelected },\n React.createElement(FontAwesomeIcon, { className: 'w-1 h-1', icon: faUndo }),\n \"\\u00A0 Reset\")),\n React.createElement(TabPaneContentRightContent, { className: 'flex-wrap d-flex align-items-center overflow-auto' },\n zipCodesSelected.length === 0 && 'Search and select zip codes on the left',\n zipCodesSelected.map(function (selected, index) { return (React.createElement(BadgeZipCodes, { key: index, handleRemove: function () { return removeZipCodeSelected(index); }, selected: selected, isZipCodeExisted: (existedZipCodesSelected === null || existedZipCodesSelected === void 0 ? void 0 : existedZipCodesSelected.value) === selected.value })); })))))));\n};\nShowByZipCodeReportsDialogTab.defaultProps = {\n tabId: 'showByZipCodeTab',\n tabName: 'Show by',\n tabField: ['zipCodes'],\n tabSelector: ShowByZipCodeReportsTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14;\n","/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nexport var STATIC_PDF_FILE_TYPE = {\n METHODOLOGY_PREVALENCE: 'METHODOLOGY_PREVALENCE',\n METHODOLOGY_TOTAL_COUNTS: 'METHODOLOGY_TOTAL_COUNTS',\n METHODOLOGY_HOSPITALIZATIONS: 'METHODOLOGY_HOSPITALIZATIONS',\n METHODOLOGY_COSTS: 'METHODOLOGY_COSTS',\n METHODOLOGY_DATA_SOURCES: 'METHODOLOGY_DATA_SOURCES',\n};\nexport var METHODOLOGY_TYPE = {\n PREVALENCE: {\n value: 'PREVALENCE',\n label: 'Prevalence',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_PREVALENCE,\n },\n TOTAL_COUNTS: {\n value: 'TOTAL_COUNTS',\n label: 'Total Counts',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_TOTAL_COUNTS,\n },\n HOSPITALIZATIONS: {\n value: 'HOSPITALIZATIONS',\n label: 'Hospitalizations',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_HOSPITALIZATIONS,\n },\n COSTS: {\n value: 'COSTS',\n label: 'Costs',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_COSTS,\n },\n DATA_SOURCES: {\n value: 'DATA_SOURCES',\n label: 'Data Sources',\n pdfFileType: STATIC_PDF_FILE_TYPE.METHODOLOGY_DATA_SOURCES,\n },\n};\n","/*!\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, Button, Form, FormGroup, Label, Input } from 'reactstrap';\nimport { METHODOLOGY_TYPE } from './constants';\nexport var MethodologyModal = function (props) {\n var _a = useState(METHODOLOGY_TYPE.PREVALENCE), methodology = _a[0], setMethodology = _a[1];\n var handleChangeMethodology = function (methodology) {\n setMethodology(methodology);\n };\n var handleOKBtn = function () {\n if (!methodology) {\n alert('Please select Methodology');\n return;\n }\n props.toggle();\n window.open(\"/api/nmqf/get-static-pdf-file/\" + methodology.pdfFileType);\n };\n return (React.createElement(Modal, { isOpen: props.isOpen, toggle: props.toggle },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Select Methodology\"),\n React.createElement(ModalBody, null,\n React.createElement(Form, null, Object.keys(METHODOLOGY_TYPE).map(function (key) { return (React.createElement(FormGroup, { check: true, key: key },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", name: \"printOption\", checked: methodology.value === METHODOLOGY_TYPE[key].value, onChange: function () { return handleChangeMethodology(METHODOLOGY_TYPE[key]); } }),\n METHODOLOGY_TYPE[key].label))); }))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"secondary\", onClick: props.toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", onClick: handleOKBtn }, \"Submit\"))));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport { Select, FallbackComponent, DELIMITER_SEASON_YEAR } from '../common';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { LookupYearComponent, useCMSDataYear } from '../lookupdata';\nimport { getYearsBySeason } from '../utils';\nimport { REPORT_DATA_SOURCES, useReportsDialogValue } from './reportsdialogprovider';\nvar DataYearSeasonReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSeasonStatistic })));\n};\nexport var DataYearSeasonReportsDialogTab = function (props) {\n var _a = React.useState(), dataYearSeasonUi = _a[0], setDataYearSeasonUi = _a[1];\n var _b = useReportsDialogValue('dataYearSeason'), dataYearSeason = _b[0], setDataYearSeason = _b[1];\n var _c = useReportsDialogValue('dataSourceType'), dataSourceType = _c[0], setDataSourceType = _c[1];\n var lookupSeasonYearData = useCMSDataYear(dataSourceType)[0];\n var _d = useReportsDialogValue('conditions'), conditions = _d[0], setConditions = _d[1];\n var _e = useReportsDialogValue('patientPopulationReferenceYear'), setPatientPopulationRefYear = _e[1];\n var indexConfig = useHostnameIndexInfo();\n var patientPopulationRefYearFilter = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter.patientPopulationReferenceYear;\n useEffect(function () {\n setPatientPopulationRefYear(patientPopulationRefYearFilter);\n }, [patientPopulationRefYearFilter, setPatientPopulationRefYear]);\n useEffect(function () {\n var _a = getYearsBySeason(dataYearSeasonUi), lateYear = _a[0], earlyYear = _a[1];\n if (lateYear && earlyYear) {\n var fullYearSeason = [Number(lateYear).valueOf(), Number(earlyYear).valueOf()];\n setDataYearSeason(fullYearSeason);\n }\n }, [setDataYearSeason, dataYearSeasonUi]);\n useEffect(function () {\n var _a, _b;\n if (((_a = lookupSeasonYearData.data) === null || _a === void 0 ? void 0 : _a.length) && !dataYearSeasonUi) {\n var dataYearSeasonValueUi = String(lookupSeasonYearData.data[lookupSeasonYearData.data.length - 1]);\n if (Array.isArray(dataYearSeason) && dataYearSeason.length) {\n var yearSeasonInDataYear = (_b = lookupSeasonYearData.data) === null || _b === void 0 ? void 0 : _b.find(function (year) { return String(year).includes(dataYearSeason.join(DELIMITER_SEASON_YEAR)); });\n dataYearSeasonValueUi = yearSeasonInDataYear ? String(yearSeasonInDataYear) : dataYearSeasonValueUi;\n }\n if (getYearsBySeason(dataYearSeasonValueUi).length === 2)\n handleChangeYearSeason(dataYearSeasonValueUi);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataYearSeasonUi, lookupSeasonYearData]);\n var handleChangeDataSource = function (value, name, option) {\n setDataSourceType(value);\n };\n var handleChangeYearSeason = function (value) {\n var _a;\n setDataYearSeasonUi(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setConditions(conditions === null || conditions === void 0 ? void 0 : conditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: REPORT_DATA_SOURCES, optionsTransform: function (v) { return DATA_SOURCES[v]; }, noSort: true, value: dataSourceType, onChange: handleChangeDataSource })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: lookupSeasonYearData.requesting, error: lookupSeasonYearData.error },\n React.createElement(Select, { name: \"dataYearSeason\", options: lookupSeasonYearData.data, noSort: true, value: dataYearSeasonUi, onChange: handleChangeYearSeason, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); } }))),\n React.createElement(LookupYearComponent, { dataSource: dataSourceType })));\n};\nDataYearSeasonReportsDialogTab.defaultProps = {\n tabId: 'DataYearSeasonTab',\n tabName: 'Data Set',\n tabField: ['dataSourceType', 'dataYearSeason'],\n tabSelector: DataYearSeasonReportsTabSelector,\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label, ListGroupItem } from 'reactstrap';\nimport { CheckboxGroup, FallbackComponent } from '../common';\nimport { useLookupFluVaccine } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { FilterSidebarConst } from '../configs';\nvar FluVaccineReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSeasonStatistic })));\n};\nexport var FluVaccineReportsDialogTab = function (props) {\n var _a = useReportsDialogValue('fluVaccineCptCodes'), fluVaccineCptCodes = _a[0], setFluVaccineCptCodes = _a[1];\n var _b = useLookupFluVaccine(), lookupVaccine = _b[0], fetchLookupVaccine = _b[1];\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Vaccines Requirements\"),\n React.createElement(FallbackComponent, { requesting: lookupVaccine.requesting, error: lookupVaccine.error, retry: fetchLookupVaccine },\n React.createElement(CheckboxGroup, { options: lookupVaccine.data, optionsTransform: function (item) { return ({ value: item.hcpcsPctCodes, label: item.hcpcsDescription }); }, noSort: true, value: fluVaccineCptCodes, onChange: setFluVaccineCptCodes }))));\n};\nFluVaccineReportsDialogTab.defaultProps = {\n tabId: FilterSidebarConst.InfluenzaVaccine.tabId,\n tabName: FilterSidebarConst.InfluenzaVaccine.title,\n tabField: ['fluVaccineCptCodes'],\n tabSelector: FluVaccineReportsTabSelector,\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { UncontrolledDropdown, DropdownToggle, DropdownMenu, DropdownItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { AboutModal } from '../aboutmodal';\nimport { MethodologyModal } from '../methodologymodal';\nimport { useAuth, useUser, Authenticated } from '../authentication';\nimport { getUserInitials } from '../utils';\nimport { UserProfile } from '../userprofile';\nimport { UserChangePassword } from '../userchangepassword';\nimport { RightPanelTypeEnum, RoleEnum } from '../enums';\nimport { ROUTE_URL } from '../common';\nimport { useFilterSetting, useViewSetting } from '../state';\nimport { useLookupZipCodeDistrict } from '../lookupdata';\nimport { AgeReportsDialogTab, ConditionReportsDialogTab, DataYearReportsDialogTab, RaceReportsDialogTab, ReportsDialogExtension, ReportsDialogProvider, ReportsTab, SexReportsDialogTab, ShowByReportsDialogTab, StatisticReportsDialogTab, } from '../reportsdialogextension';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ShowByZipCodeReportsDialogTab } from '../reportsdialogextension/showbyzipcodetab';\nimport { DataYearSeasonReportsDialogTab } from '../reportsdialogextension/datayearseasontab';\nimport { FluVaccineReportsDialogTab } from '../reportsdialogextension/fluvaccinetab';\nvar UserInfo = styled(DropdownToggle)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n color: #000000;\\n text-decoration: none;\\n :hover {\\n text-decoration: none !important;\\n color: #000000;\\n }\\n cursor: pointer;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n color: #000000;\\n text-decoration: none;\\n :hover {\\n text-decoration: none !important;\\n color: #000000;\\n }\\n cursor: pointer;\\n\"])));\nvar AvatarCircle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 2.25rem;\\n height: 2.25rem;\\n background-color: #007bff;\\n text-align: center;\\n border-radius: 50%;\\n color: #ffffff;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 0.25rem;\\n\"], [\"\\n width: 2.25rem;\\n height: 2.25rem;\\n background-color: #007bff;\\n text-align: center;\\n border-radius: 50%;\\n color: #ffffff;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n margin-right: 0.25rem;\\n\"])));\nvar Initials = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n text-decoration: none;\\n\"], [\"\\n text-decoration: none;\\n\"])));\nvar PrincipalUser = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n text-decoration: none;\\n\\n @media only screen and (max-width: 600px) {\\n display: none;\\n }\\n\"], [\"\\n text-decoration: none;\\n\\n @media only screen and (max-width: 600px) {\\n display: none;\\n }\\n\"])));\nvar UserMenuStyle = styled(DropdownMenu)(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding-bottom: 0;\\n > .dropdown-item:not(.level-1) {\\n font-weight: 500;\\n }\\n\"], [\"\\n padding-bottom: 0;\\n > .dropdown-item:not(.level-1) {\\n font-weight: 500;\\n }\\n\"])));\nvar LogOutItem = styled.span(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledSpace = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nexport var UserMenuToggle = function () {\n var _a;\n var user = useUser();\n return (React.createElement(UserInfo, { tag: \"div\" },\n React.createElement(AvatarCircle, null,\n React.createElement(Initials, null, (user === null || user === void 0 ? void 0 : user.firstName) ? getUserInitials(user === null || user === void 0 ? void 0 : user.firstName, user === null || user === void 0 ? void 0 : user.lastName) : (_a = user === null || user === void 0 ? void 0 : user.username) === null || _a === void 0 ? void 0 : _a.charAt(0).toUpperCase())),\n React.createElement(PrincipalUser, null, (user === null || user === void 0 ? void 0 : user.firstName) ? (user === null || user === void 0 ? void 0 : user.firstName) + \" \" + (user === null || user === void 0 ? void 0 : user.lastName) : user === null || user === void 0 ? void 0 : user.username)));\n};\nvar DialogManager = function (props) {\n return (React.createElement(ReportsDialogProvider, null,\n React.createElement(ReportsDialogExtension, { isOpen: props.showReportDialog, toggle: props.toggleReportDialog },\n React.createElement(ReportsTab, null),\n React.createElement(DataYearReportsDialogTab, null),\n React.createElement(DataYearSeasonReportsDialogTab, null),\n React.createElement(FluVaccineReportsDialogTab, null),\n React.createElement(ConditionReportsDialogTab, { condition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition }),\n React.createElement(StatisticReportsDialogTab, null),\n React.createElement(ShowByReportsDialogTab, null),\n React.createElement(ShowByZipCodeReportsDialogTab, null),\n React.createElement(SexReportsDialogTab, null),\n React.createElement(RaceReportsDialogTab, null),\n React.createElement(AgeReportsDialogTab, null))));\n};\nexport var UserMenu = function (props) {\n var _a;\n var auth = useAuth();\n var indexConfig = useHostnameIndexInfo();\n var _b = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}, publicIndex = _b.publicIndex, methodologyDocument = _b.methodologyDocument;\n var _c = useToggle(), isOpenMethodologyModal = _c[0], toggleMethodologyModal = _c[1];\n var _d = useToggle(), isOpenUserProfileModal = _d[0], toggleUserProfileModal = _d[1];\n var _e = useToggle(), isOpenChangePasswordModal = _e[0], toggleChangePasswordModal = _e[1];\n var _f = useToggle(), isOpenAboutModal = _f[0], toggleAboutModal = _f[1];\n var _g = useToggle(), showReportDialog = _g[0], toggleReportDialog = _g[1];\n var filterSettings = useFilterSetting();\n var viewSettings = useViewSetting();\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var disabled = !filterSettings.available;\n var handleSubmit = function () { return __awaiter(void 0, void 0, void 0, function () {\n var form, params;\n var _a;\n return __generator(this, function (_b) {\n form = document.createElement('form');\n form.action = \"/api/pdf/private/printmap\";\n form.method = 'post';\n form.target = '_blank';\n params = {\n token: auth.jwt,\n data: JSON.stringify({\n filterSettings: filterSettings,\n viewSettings: viewSettings,\n stateName: lookupZipCode.getStateNameOfZipCode(((_a = viewSettings.selectedRegion) === null || _a === void 0 ? void 0 : _a.type) === RightPanelTypeEnum.RegionDetail ? viewSettings.selectedRegion.id : undefined),\n hostname: window.location.host.split('.')[0],\n }),\n landscape: true,\n isPrintMap: true,\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n return [2 /*return*/];\n });\n }); };\n var handleLogout = function () {\n auth.logout();\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(UncontrolledDropdown, null,\n React.createElement(UserMenuToggle, null),\n React.createElement(UserMenuStyle, { right: true },\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.GeneralUser, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { header: true }, \"Index\"),\n React.createElement(DropdownItem, { disabled: props.disabledReport, onClick: toggleReportDialog }, \"View Reports\"),\n React.createElement(DropdownItem, { disabled: disabled, onClick: handleSubmit }, \"Print Map\"),\n React.createElement(StyledSpace, null)),\n !publicIndex && (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"User Account\"),\n ((_a = auth.user) === null || _a === void 0 ? void 0 : _a.firstName) && React.createElement(DropdownItem, { onClick: toggleUserProfileModal }, \"View Profile\"),\n React.createElement(DropdownItem, { onClick: toggleChangePasswordModal }, \"Change Password\"),\n React.createElement(StyledSpace, null))),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { header: true }, \"Administration\"),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexUserManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.USER }, \"Manage Users\")),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager, RoleEnum.SingleIndexDataManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.DATA_FILE }, \"Manage Data Files\")),\n React.createElement(Authenticated, { roles: [RoleEnum.SystemAdmin, RoleEnum.IndexManager] },\n React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: ROUTE_URL.MAP_LAYER }, \"Manage Map Layers\")),\n React.createElement(StyledSpace, null)),\n React.createElement(DropdownItem, { header: true }, \"Help\"),\n !methodologyDocument ? (React.createElement(DropdownItem, { onClick: toggleMethodologyModal }, \"Methodologies\")) : (React.createElement(DropdownItem, { tag: \"a\", target: \"_blank\", rel: \"opener\", href: methodologyDocument }, \"Methodologies\")),\n React.createElement(DropdownItem, { onClick: toggleAboutModal }, \"About\"),\n React.createElement(StyledSpace, null),\n !publicIndex && (React.createElement(DropdownItem, { onClick: handleLogout, disabled: false, className: \"level-1 bg-primary text-white\" },\n React.createElement(LogOutItem, null, \"Log Out\"),\n \" \",\n React.createElement(FontAwesomeIcon, { icon: \"sign-out-alt\", size: \"lg\" }))))),\n React.createElement(UserProfile, { isOpen: isOpenUserProfileModal, toggle: toggleUserProfileModal, principalUser: auth.user }),\n React.createElement(UserChangePassword, { isOpen: isOpenChangePasswordModal, toggle: toggleChangePasswordModal }),\n React.createElement(MethodologyModal, { isOpen: isOpenMethodologyModal, toggle: toggleMethodologyModal }),\n React.createElement(AboutModal, { isOpen: isOpenAboutModal, toggle: toggleAboutModal, title: '' }),\n React.createElement(DialogManager, { reportCondition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition, showReportDialog: showReportDialog, toggleReportDialog: toggleReportDialog })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { Link, useLocation } from 'react-router-dom';\nimport { Authenticated } from '../authentication';\nimport { UserMenu } from './usermenu';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledHeader = styled.header(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 0 0 4.3125rem;\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 1rem;\\n position: relative;\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n flex: 0 0 4.3125rem;\\n display: flex;\\n align-items: center;\\n padding: 0.25rem 1rem;\\n position: relative;\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar IndexLogoAndNameLink = styled(Link)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n :hover {\\n text-decoration: none !important;\\n }\\n text-decoration: none;\\n background-color: transparent;\\n margin-right: auto;\\n\"], [\"\\n display: flex;\\n :hover {\\n text-decoration: none !important;\\n }\\n text-decoration: none;\\n background-color: transparent;\\n margin-right: auto;\\n\"])));\nvar IndexLogo = styled.img(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-height: 3.5rem;\\n max-width: 18.75rem;\\n vertical-align: middle;\\n border-style: none;\\n margin: auto;\\n @media only screen and (max-width: 600px) {\\n max-height: 3rem;\\n }\\n\"], [\"\\n max-height: 3.5rem;\\n max-width: 18.75rem;\\n vertical-align: middle;\\n border-style: none;\\n margin: auto;\\n @media only screen and (max-width: 600px) {\\n max-height: 3rem;\\n }\\n\"])));\nvar IndexName = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n margin-left: 0.5rem;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n color: #000000;\\n > * {\\n font-weight: normal;\\n }\\n\"], [\"\\n margin-left: 0.5rem;\\n display: flex;\\n flex-direction: column;\\n justify-content: center;\\n color: #000000;\\n > * {\\n font-weight: normal;\\n }\\n\"])));\nvar IndexNameH3 = styled.h3(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n margin: 0 !important;\\n font-size: 1.75rem;\\n line-height: 1.2;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 1.25rem;\\n }\\n\"], [\"\\n margin: 0 !important;\\n font-size: 1.75rem;\\n line-height: 1.2;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 1.25rem;\\n }\\n\"])));\nvar IndexNameH5 = styled.h5(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin: 0 !important;\\n font-size: 1.25rem;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 0.825rem;\\n }\\n\"], [\"\\n margin: 0 !important;\\n font-size: 1.25rem;\\n\\n @media only screen and (max-width: 600px) {\\n font-size: 0.825rem;\\n }\\n\"])));\nexport var Header = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var location = useLocation();\n return (React.createElement(StyledHeader, null,\n React.createElement(IndexLogoAndNameLink, { to: location.search },\n React.createElement(IndexLogo, { alt: \"app-logo\", src: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.squareLogo }),\n React.createElement(IndexName, null,\n React.createElement(IndexNameH3, null, props.indexName || (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexTitle)),\n React.createElement(IndexNameH5, null, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.indexOwner))),\n props.children,\n React.createElement(Authenticated, null,\n React.createElement(UserMenu, { disabledReport: props.disabledReport, reportCondition: props.reportCondition, hasSecondaryCondition: props.hasSecondaryCondition }))));\n};\nexport * from './usermenu';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useFilterSetting } from '../state';\nimport { DATA_SOURCES } from '../configs';\nimport { mapAgeValues, useLookupSexCode, useLookupRaceCode, useLookupCondition, getConsumptionGroups, getClaimDayLabel, useLookupVaccine, useLookupFluVaccine } from '../lookupdata';\nimport { ConsumptionGroupTab, ConditionTab, AggregatedSexTab, SexTab, AggregatedRaceTab, RaceTab, AggregatedAgeTab, AgeTab, DataYearTab, DataYearSeasonTab, } from '../filterdialog';\nimport { FilterSidebarConst } from '../configs/filtersidebar';\nimport { DELIMITER_SEASON_YEAR } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nvar StyledFiltersHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n font-weight: 550;\\n padding-top: 1rem;\\n\"], [\"\\n cursor: pointer;\\n font-weight: 550;\\n padding-top: 1rem;\\n\"])));\nvar FiltersValue = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n color: #6b778c;\\n width: 17rem;\\n margin: 0.5rem;\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 3;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n color: #6b778c;\\n width: 17rem;\\n margin: 0.5rem;\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 3;\\n -webkit-box-orient: vertical;\\n\"])));\nvar Result = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: 0;\\n\"], [\"\\n margin: 0;\\n\"])));\nvar FiltersHeader = function (props) {\n var handleClick = function () {\n props.toggleFilterDialog(props.tabId);\n };\n if (props.isHidden)\n return null;\n return React.createElement(StyledFiltersHeader, { onClick: handleClick }, props.children);\n};\nexport var FilterTab = function (props) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z;\n var indexHostname = useHostnameIndexInfo();\n var filterSetting = useFilterSetting();\n var lookupPrimaryCondition = useLookupCondition(filterSetting.primaryCoMorbidities)[0];\n var lookupConditionData = useLookupCondition(filterSetting.comorbidities)[0];\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var dataSourceName = filterSetting.isAggregatedDataSource ? filterSetting.dataSourceName : cmsDataSource && DATA_SOURCES[cmsDataSource].label;\n var lookupSexData = useLookupSexCode((_b = filterSetting.demographics) === null || _b === void 0 ? void 0 : _b.sexCodes)[0];\n var lookupRaceData = useLookupRaceCode(filterSetting.raceMethodology, (_c = filterSetting.demographics) === null || _c === void 0 ? void 0 : _c.raceCodes)[0];\n var ageData = mapAgeValues((_d = filterSetting.demographics) === null || _d === void 0 ? void 0 : _d.ages);\n var consumptionGroupClassesDefaultFilter = indexHostname === null || indexHostname === void 0 ? void 0 : indexHostname.defaultFilter.consumptionGroupClasses;\n var consumptionGroups = (_e = getConsumptionGroups(filterSetting.consumptionGroupClasses)) === null || _e === void 0 ? void 0 : _e.map(function (i) { return i.shortTerm; }).join(', ');\n var primaryConditionName = (_g = (_f = lookupPrimaryCondition.labeledValues) === null || _f === void 0 ? void 0 : _f[0]) === null || _g === void 0 ? void 0 : _g.chronicConditionName;\n var otherContitionName = (_h = lookupConditionData.labeledValues) === null || _h === void 0 ? void 0 : _h.map(function (i) { return i.chronicConditionName; }).filter(function (name) { return name !== primaryConditionName; }).join(', ');\n var claimDayLabel = getClaimDayLabel(filterSetting.claimDay);\n var mainPrimaryConditionName = (_k = (_j = lookupPrimaryCondition.labeledValues) === null || _j === void 0 ? void 0 : _j.filter(function (i) { return !filterSetting.primaryConditionWithClaims || !filterSetting.primaryConditionWithClaims[i.chronicConditionCode]; })) === null || _k === void 0 ? void 0 : _k.map(function (i) {\n return i.chronicConditionName;\n }).join(', ');\n var textMainClaimNumber = filterSetting.claimNumber ?\n \" (\" + filterSetting.claimNumber + \" claim(s)\" + (filterSetting.claimNumber && filterSetting.claimNumber > 1 ? \" \" + claimDayLabel + \" days apart\" : '') + \")\" : '';\n var otherPrimaryConditionNameWithClaim = (_m = (_l = lookupPrimaryCondition.labeledValues) === null || _l === void 0 ? void 0 : _l.filter(function (i) { return filterSetting.primaryConditionWithClaims && filterSetting.primaryConditionWithClaims[i.chronicConditionCode]; })) === null || _m === void 0 ? void 0 : _m.map(function (i, idx) {\n var claimNumber = filterSetting.primaryConditionWithClaims ? filterSetting.primaryConditionWithClaims[i.chronicConditionCode] : '';\n var claim = claimNumber ? \"(\" + claimNumber + \" claim(s)\" + ((claimNumber && claimNumber > 1 && claimDayLabel) ? \" \" + claimDayLabel + \" days apart\" : '') + \")\" : '';\n return i.chronicConditionName + \" \" + claim;\n }).join(', ');\n var sexLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'SEX'\n ? filterSetting.filteringCategoryUiName\n : ''\n : ((_o = lookupSexData.mappedValues) === null || _o === void 0 ? void 0 : _o.length) && lookupSexData.mappedValues.map(function (option) { return option.label; }).join(', ');\n var raceLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'RACE'\n ? filterSetting.filteringCategoryUiName\n : ''\n : ((_p = lookupRaceData.mappedValues) === null || _p === void 0 ? void 0 : _p.length) && lookupRaceData.mappedValues.map(function (option) { return option.label; }).join(', ');\n var ageLabel = filterSetting.isAggregatedDataSource\n ? filterSetting.filteringCategoryType === 'AGE'\n ? filterSetting.filteringCategoryUiName\n : ''\n : (ageData === null || ageData === void 0 ? void 0 : ageData.length) && ageData.map(function (option) { return option.label; }).join(', ');\n var dataYearTabId = props.showFluVaccine ? (_q = DataYearSeasonTab.defaultProps) === null || _q === void 0 ? void 0 : _q.tabId : (_r = DataYearTab.defaultProps) === null || _r === void 0 ? void 0 : _r.tabId;\n var dataYear = React.useMemo(function () {\n if (Array.isArray(filterSetting.dataYearSeason) && filterSetting.dataYearSeason.length === 2) {\n return filterSetting.dataYearSeason.join(DELIMITER_SEASON_YEAR);\n }\n return filterSetting.dataYear;\n }, [filterSetting.dataYear, filterSetting.dataYearSeason]);\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: dataYearTabId, toggleFilterDialog: props.toggleFilterDialog },\n \"Patients from \",\n dataSourceName,\n \" \",\n dataYear),\n props.showVaccine && React.createElement(VaccineFilterSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n props.showFluVaccine && React.createElement(InfluenzaVaccineFilterSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n !filterSetting.isAggregatedDataSource && (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: (_s = ConditionTab.defaultProps) === null || _s === void 0 ? void 0 : _s.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Conditions\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null,\n mainPrimaryConditionName,\n textMainClaimNumber,\n (textMainClaimNumber || mainPrimaryConditionName) && otherPrimaryConditionNameWithClaim && \", \",\n otherPrimaryConditionNameWithClaim,\n (textMainClaimNumber || primaryConditionName || otherPrimaryConditionNameWithClaim) && otherContitionName && \", \",\n otherContitionName)))),\n React.createElement(FiltersHeader, { tabId: (_t = ConsumptionGroupTab.defaultProps) === null || _t === void 0 ? void 0 : _t.tabId, toggleFilterDialog: props.toggleFilterDialog, isHidden: Array.isArray(consumptionGroupClassesDefaultFilter) && !consumptionGroupClassesDefaultFilter.length }, \"Consumption Group Class\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, consumptionGroups)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_u = AggregatedSexTab.defaultProps) === null || _u === void 0 ? void 0 : _u.tabId : (_v = SexTab.defaultProps) === null || _v === void 0 ? void 0 : _v.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Sex\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, sexLabel)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_w = AggregatedRaceTab.defaultProps) === null || _w === void 0 ? void 0 : _w.tabId : (_x = RaceTab.defaultProps) === null || _x === void 0 ? void 0 : _x.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Race/Ethnicity\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, raceLabel)),\n React.createElement(FiltersHeader, { tabId: filterSetting.isAggregatedDataSource ? (_y = AggregatedAgeTab.defaultProps) === null || _y === void 0 ? void 0 : _y.tabId : (_z = AgeTab.defaultProps) === null || _z === void 0 ? void 0 : _z.tabId, toggleFilterDialog: props.toggleFilterDialog }, \"Age\"),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, ageLabel))));\n};\nvar VaccineFilterSidebar = function (_a) {\n var _b, _c, _d, _e;\n var toggleFilterDialog = _a.toggleFilterDialog;\n var filterSetting = useFilterSetting();\n var lookupVaccine = useLookupVaccine()[0];\n var vaccineCptCodes = filterSetting.vaccineCptCodes;\n var selectingVaccineDiseaseName = (vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.length) && ((_c = (_b = lookupVaccine.data) === null || _b === void 0 ? void 0 : _b.find(function (i) { return i.cptCode === vaccineCptCodes[0]; })) === null || _c === void 0 ? void 0 : _c.vaccineDiseaseName);\n var allVaccinesInGroup = (_d = lookupVaccine.data) === null || _d === void 0 ? void 0 : _d.filter(function (i) { return i.vaccineDiseaseName === selectingVaccineDiseaseName; });\n var vaccineValue = (vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.length) === (allVaccinesInGroup === null || allVaccinesInGroup === void 0 ? void 0 : allVaccinesInGroup.length)\n ? selectingVaccineDiseaseName\n : (_e = lookupVaccine.data) === null || _e === void 0 ? void 0 : _e.filter(function (i) { return vaccineCptCodes === null || vaccineCptCodes === void 0 ? void 0 : vaccineCptCodes.some(function (v) { return v === i.cptCode; }); }).map(function (i) { return \"\" + i.cptCode + (i.vaccineBrandName ? \" - \" + i.vaccineBrandName : ''); }).join(', ');\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: FilterSidebarConst.Vaccine.tabId, toggleFilterDialog: toggleFilterDialog }, FilterSidebarConst.Vaccine.title),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, vaccineValue))));\n};\nvar InfluenzaVaccineFilterSidebar = function (_a) {\n var _b;\n var toggleFilterDialog = _a.toggleFilterDialog;\n var filterSetting = useFilterSetting();\n var lookupFluVaccine = useLookupFluVaccine()[0];\n var fluVaccineCptCodes = filterSetting.fluVaccineCptCodes;\n var vaccineValue = (_b = lookupFluVaccine.data) === null || _b === void 0 ? void 0 : _b.filter(function (vaccine) { return fluVaccineCptCodes === null || fluVaccineCptCodes === void 0 ? void 0 : fluVaccineCptCodes.includes(vaccine.hcpcsPctCodes); }).map(function (vaccine) { return vaccine.hcpcsDescription; }).join(', ');\n return (React.createElement(React.Fragment, null,\n React.createElement(FiltersHeader, { tabId: FilterSidebarConst.InfluenzaVaccine.tabId, toggleFilterDialog: toggleFilterDialog }, FilterSidebarConst.InfluenzaVaccine.title),\n React.createElement(FiltersValue, null,\n React.createElement(Result, null, vaccineValue))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { StyledPanel } from './styled';\nimport { useMapValue } from '../mapprovider';\nvar StyledTransparencyControl = styled(StyledPanel)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.75rem 0 0.125rem;\\n text-align: center;\\n min-width: 2.75rem;\\n\"], [\"\\n padding: 0.75rem 0 0.125rem;\\n text-align: center;\\n min-width: 2.75rem;\\n\"])));\nvar RangeInput = styled.input(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0; /* IE */\\n width: 100%;\\n cursor: pointer;\\n\\n &:hover,\\n &:focus {\\n &::-webkit-slider-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-moz-range-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-ms-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n }\\n\"], [\"\\n padding: 0; /* IE */\\n width: 100%;\\n cursor: pointer;\\n\\n &:hover,\\n &:focus {\\n &::-webkit-slider-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-moz-range-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n &::-ms-thumb {\\n box-shadow: 0 0 0 0.5rem rgba(122, 202, 255, 0.7);\\n border-radius: 50%;\\n }\\n }\\n\"])));\nvar LabelLeft = styled.label(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n float: left!important;\\n\"], [\"\\n float: left!important;\\n\"])));\nvar LabelRight = styled.label(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n float: right!important;\\n\"], [\"\\n float: right!important;\\n\"])));\nexport var TransparencyControl = function () {\n var _a = useMapValue('transparency'), transparency = _a[0], setTransparency = _a[1];\n var handleChange = useCallback(function (event) {\n setTransparency(event.currentTarget.value);\n }, [setTransparency]);\n return (React.createElement(StyledTransparencyControl, null,\n React.createElement(RangeInput, { type: \"range\", min: 0, max: 100, value: transparency, onChange: handleChange }),\n React.createElement(LabelLeft, null, \"Transparent\"),\n React.createElement(LabelRight, null, \"Opaque\")));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { StatisticTab } from '../filterdialog';\nimport { getStatisticOption } from '../lookupdata';\nimport { StyledPanel } from '../map/overlays/styled';\nimport { LegendByFilter } from '../map/patientchoroplethlayer/legend';\nimport { useFilterValue, useViewValue } from '../state';\nvar StyledLegendHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledToggleBtn = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-left: 1rem;\\n\"], [\"\\n padding-left: 1rem;\\n\"])));\nvar SelectedStatistic = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: fit-content;\\n line-height: initial;\\n cursor: pointer;\\n font-weight: 700;\\n\"], [\"\\n width: fit-content;\\n line-height: initial;\\n cursor: pointer;\\n font-weight: 700;\\n\"])));\nvar StatisticCategoryLabel = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar StatisticConfigLabel = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"], [\"\\n color: #6b778c;\\n padding-bottom: 1rem;\\n\"])));\nvar StyledButton = styled.button(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n border-radius: 0.75rem;\\n border: solid 0.125rem #212529;\\n color: #b95951;\\n height: 1.5rem;\\n position: relative;\\n width: 2rem;\\n transition: color 0.3s;\\n &:focus {\\n outline: 0;\\n }\\n \", \";\\n\"], [\"\\n border-radius: 0.75rem;\\n border: solid 0.125rem #212529;\\n color: #b95951;\\n height: 1.5rem;\\n position: relative;\\n width: 2rem;\\n transition: color 0.3s;\\n &:focus {\\n outline: 0;\\n }\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'background-color: #313130;' : 'background-color: transparent;'); });\nvar StyledNode = styled.span(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n position: absolute;\\n height: 1.25rem;\\n width: 1.25rem;\\n top: 0.0125rem;\\n border: solid 0.125rem #212529;\\n border-radius: 50%;\\n transition: left 0.3s;\\n background: #ffffff;\\n \", \";\\n\"], [\"\\n position: absolute;\\n height: 1.25rem;\\n width: 1.25rem;\\n top: 0.0125rem;\\n border: solid 0.125rem #212529;\\n border-radius: 50%;\\n transition: left 0.3s;\\n background: #ffffff;\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'left: 0.625rem;' : 'left: -0.125rem;'); });\nexport var ToggleButton = function (props) {\n return (React.createElement(StyledButton, { isActive: props.show, onClick: props.toggle },\n React.createElement(StyledNode, { isActive: props.show })));\n};\nexport var LegendSidebar = function (props) {\n var _a = useViewValue('mapView', 'showLegend'), show = _a[0], setShow = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticConfig = getStatisticOption(statistic);\n return (React.createElement(StyledPanel, null,\n React.createElement(StyledLegendHeader, null,\n React.createElement(SelectedStatistic, { onClick: function () { var _a; return props.toggleFilterDialog((_a = StatisticTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId); } },\n React.createElement(StatisticCategoryLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.group.label),\n React.createElement(StatisticConfigLabel, null, statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.label)),\n React.createElement(StyledToggleBtn, null,\n React.createElement(ToggleButton, { show: show, toggle: function () { return setShow(!show); } }))),\n React.createElement(LegendByFilter, null)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { TransparencyControl } from '../map/overlays';\nimport { useViewValue } from '../state';\nimport { LegendSidebar, ToggleButton } from './legendsidebar';\nvar StyledWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n margin: 0 -0.75rem;\\n\"], [\"\\n margin: 0 -0.75rem;\\n\"])));\nvar StyledTransparency = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.75rem;\\n\"], [\"\\n padding: 0.75rem;\\n\"])));\nvar StyledGeography = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 0.75rem;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n padding: 0.75rem;\\n\"])));\nvar Title = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n padding-bottop: 1rem;\\n font-weight: 700;\\n\"], [\"\\n padding-bottop: 1rem;\\n font-weight: 700;\\n\"])));\nexport var LegendTransparencyTab = function (props) {\n var _a = useViewValue('mapView', 'showGeographyHoverDisplay'), show = _a[0], setShow = _a[1];\n return (React.createElement(StyledWrapper, null,\n React.createElement(LegendSidebar, { toggleFilterDialog: props.toggleFilterDialog }),\n React.createElement(StyledGeography, null,\n React.createElement(Title, null, \"Geography Hover Display\"),\n React.createElement(ToggleButton, { show: show, toggle: function () { return setShow(!show); } })),\n React.createElement(StyledTransparency, null,\n React.createElement(Title, null, \"Transparency Settings\"),\n React.createElement(TransparencyControl, null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useState } from 'react';\nimport styled from 'styled-components';\nimport { ListGroup, ListGroupItem, TabContent, TabPane } from 'reactstrap';\nimport { useToggle } from '../hooks';\nimport { IconButton } from '../common';\nimport { FilterTab } from './filtertab';\nimport { LegendTransparencyTab } from './legendtransparencytab';\nvar StyledFilterSidebar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n z-index: 99;\\n height: 100%;\\n width: 0;\\n position: relative;\\n\"], [\"\\n z-index: 99;\\n height: 100%;\\n width: 0;\\n position: relative;\\n\"])));\nvar Sidebar = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-top: 0;\\n position: absolute;\\n left: 0;\\n transform: translateX(-20.5rem);\\n width: 20rem;\\n background-color: white;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33); \\n min-height: 100%;\\n max-height: 100%;\\n overflow: auto;\\n \", \"\\n\"], [\"\\n padding: 1rem;\\n padding-top: 0;\\n position: absolute;\\n left: 0;\\n transform: translateX(-20.5rem);\\n width: 20rem;\\n background-color: white;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33); \\n min-height: 100%;\\n max-height: 100%;\\n overflow: auto;\\n \", \"\\n\"])), function (props) { return (props.collapsed ? \"transform: translateX(0)\" : ''); });\nvar StyledButton = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: absolute;\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n top: 50%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 99;\\n \", \"\\n :focus, :active {\\n background-color: hsla(0, 0%, 0%, 0.3);\\n }\\n\"], [\"\\n position: absolute;\\n -ms-transform: translateY(-50%);\\n transform: translateY(-50%);\\n top: 50%;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n z-index: 99;\\n \", \"\\n :focus, :active {\\n background-color: hsla(0, 0%, 0%, 0.3);\\n }\\n\"])), function (props) { return (props.collapsed ? \"transform: translate(20rem, -50%);\" : ''); });\nvar PanelHeader = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.75rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.75rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"])));\nvar Title = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar StyledTabsContainer = styled(ListGroup)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"])));\nvar StyleTabSelector = styled(ListGroupItem)(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"], [\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"])));\nvar TabSelector = React.memo(function (props) {\n var setActiveTab = props.setActiveTab;\n var handleClick = useCallback(function () {\n setActiveTab(props.tabId);\n }, [props.tabId, setActiveTab]);\n return (React.createElement(StyleTabSelector, { action: true, disabled: props.disabled, active: props.activeTab === props.tabId, onClick: handleClick }, props.children));\n});\nexport var FilterSidebar = function (props) {\n var _a = useToggle(), collapsed = _a[0], toggleCollapsed = _a[1];\n var _b = useState('1'), activeTab = _b[0], setActiveTab = _b[1];\n return (React.createElement(StyledFilterSidebar, null,\n React.createElement(Sidebar, { collapsed: collapsed },\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Display Settings\")),\n React.createElement(StyledTabsContainer, { horizontal: true },\n React.createElement(TabSelector, { tabId: \"1\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Filters\"),\n React.createElement(TabSelector, { tabId: \"2\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Other Settings\")),\n React.createElement(TabContent, { activeTab: activeTab },\n React.createElement(TabPane, { tabId: \"1\" },\n React.createElement(FilterTab, { showVaccine: props.showVaccine, showFluVaccine: props.showFluVaccine, toggleFilterDialog: props.toggleFilterDialog })),\n React.createElement(TabPane, { tabId: \"2\" },\n React.createElement(LegendTransparencyTab, { toggleFilterDialog: props.toggleFilterDialog })))),\n React.createElement(StyledButton, { collapsed: collapsed },\n React.createElement(IconButton, { icon: collapsed ? 'caret-left' : 'caret-right', size: \"2x\", style: { padding: 0 }, onClick: toggleCollapsed, title: collapsed ? 'Hide Display Settings' : 'Show Display Settings', placement: \"right\" }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport { DropdownItem, DropdownItemCheck, DropdownToggleIcon } from '../common';\nimport { useAPI, useFilterSetting, useViewValue } from '../state';\nimport { ClinicalTrialOptionEnum } from '../enums';\nvar GET_AVAIABLE_MAP_LAYER_LIST_API = '/api/map-layer/get-all-that-belong-to-the-logged-user-index';\nvar StyledSubMenuItem = styled(UncontrolledDropdown)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nexport var useMapLayerListAPI = function () {\n return useAPI(GET_AVAIABLE_MAP_LAYER_LIST_API);\n};\nvar ImportingLocationSubType = function (props) {\n var _a = useViewValue('showMapLayerMenu'), setShowMapLayerMenu = _a[1];\n var _b = useViewValue('importingLocationTypes', \"\" + props.id), selectingType = _b[0], setSelectingType = _b[1];\n var checked = selectingType === props.value;\n var handleClick = function () {\n setSelectingType(checked ? undefined : props.value);\n setShowMapLayerMenu();\n };\n return React.createElement(DropdownItemCheck, { checked: checked, onChange: handleClick, value: props.value, label: props.label });\n};\nvar ImportingLocationItem = function (props) {\n var _a = useViewValue('importingLocationTypes', \"\" + props.payload.id), selectingType = _a[0], setSelectingType = _a[1];\n var checked = !!selectingType;\n var handleClick = function () {\n setSelectingType(checked ? undefined : ClinicalTrialOptionEnum.TrialsRelated);\n };\n return (React.createElement(DropdownItemCheck, { disabled: props.disabled, tag: StyledSubMenuItem, checked: checked, onChange: handleClick, value: props.payload.id, label: props.payload.name, icon: props.payload.displayIcon, direction: \"right\" },\n React.createElement(DropdownToggleIcon, { disabled: props.disabled, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0 ml-auto\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(ImportingLocationSubType, { id: props.payload.id, value: ClinicalTrialOptionEnum.TrialsRelated, label: \"Show trials related to currently selected conditions\" }),\n React.createElement(ImportingLocationSubType, { id: props.payload.id, value: ClinicalTrialOptionEnum.AllTrials, label: \"Show all trials\" }))));\n};\nvar ImportingLocationMenu = function () {\n var _a;\n var mapLayerData = useMapLayerListAPI()[0];\n var filterSetting = useFilterSetting();\n var disabled = !filterSetting.available;\n return (React.createElement(React.Fragment, null, (_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.map(function (ml) { return (React.createElement(ImportingLocationItem, { disabled: disabled, key: ml.id, payload: ml })); })));\n};\nexport var LocationMenu = function (props) {\n var _a;\n var mapLayerData = useMapLayerListAPI()[0];\n if (!props.children && !((_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.length))\n return null;\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Locations\"),\n props.children,\n React.createElement(ImportingLocationMenu, null)));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { DropdownMenu, UncontrolledDropdown } from 'reactstrap';\nimport { DropdownItem, DropdownItemCheck, DropdownItemCheckList, DropdownToggleIcon, Input, ThreeDotLoading } from '../common';\nimport { useMount, useToggle } from '../hooks';\nimport { useCachedData } from '../state';\nimport { useProviderSetting } from '../selectors';\nvar GET_SPECIALISTS_API_URL = '/api/provider/get-specialists';\nvar StyledSpecialists = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"], [\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"])));\nvar ProviderSelectItem = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: pointer;\\n\"], [\"\\n cursor: pointer;\\n\"])));\nvar StyledSubMenuItem = styled(UncontrolledDropdown)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nexport var ProviderMenu = function () {\n var _a, _b;\n var _c = useCachedData(GET_SPECIALISTS_API_URL), specialistsData = _c[0], fetchSpecialistsData = _c[1];\n var _d = useToggle(), doGetPrimaryCareProvider = _d[0], toggleDoGetPrimaryCareProvider = _d[1], setDoGetPrimaryCareProvider = _d[2];\n var _e = useToggle(), doGetHospitalProvider = _e[0], toggleDoGetHospitalProvider = _e[1], setDoGetHospitalProvider = _e[2];\n var _f = useState(), specialistProviders = _f[0], setSpecialistProviders = _f[1];\n var _g = useProviderSetting(), providerSetting = _g[0], setProviderSetting = _g[1];\n var disabled = providerSetting.disabled;\n var disabledSpecialistProvider = disabled || !specialistsData.data;\n var _h = useState(''), specialistsSearchText = _h[0], setSpecialistsSearchText = _h[1];\n var providerSettingRef = useRef();\n useMount(function () {\n fetchSpecialistsData();\n });\n useEffect(function () {\n providerSettingRef.current = {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n };\n }, [doGetPrimaryCareProvider, doGetHospitalProvider, specialistProviders]);\n useMount(function () { return function () {\n setProviderSetting(__assign(__assign({}, providerSetting), providerSettingRef.current));\n }; });\n useEffect(function () {\n setDoGetPrimaryCareProvider(!!(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider));\n setDoGetHospitalProvider(!!(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider));\n setSpecialistProviders(providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider, providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider, providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders]);\n var handleClickSpecialists = function () {\n var _a;\n setSpecialistProviders((specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length) ? [] : (_a = specialistsData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.code; }));\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItem, { header: true }, \"Providers\"),\n React.createElement(DropdownItemCheck, { tag: ProviderSelectItem, toggle: false, icon: \"clinic-medical\", label: \"Primary Care\", checked: doGetPrimaryCareProvider, onChange: toggleDoGetPrimaryCareProvider, disabled: disabled }),\n React.createElement(DropdownItemCheck, { disabled: disabledSpecialistProvider, toggle: false, icon: \"stethoscope\", tag: StyledSubMenuItem, direction: \"right\", checked: !!(specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length), onChange: handleClickSpecialists, partial: (specialistProviders === null || specialistProviders === void 0 ? void 0 : specialistProviders.length) !== ((_a = specialistsData.data) === null || _a === void 0 ? void 0 : _a.length) },\n React.createElement(\"span\", { className: \"flex-grow-1\" },\n \"Specialists \",\n React.createElement(ThreeDotLoading, { loading: specialistsData.requesting })),\n React.createElement(DropdownToggleIcon, { disabled: disabledSpecialistProvider, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(\"div\", { className: \"py-2 pr-4 pl-5\" },\n React.createElement(Input, { name: \"search\", placeholder: \"Search....\", value: specialistsSearchText, onChange: function (event) {\n setSpecialistsSearchText(event.target.value);\n event.stopPropagation();\n } })),\n React.createElement(StyledSpecialists, null, (_b = specialistsData.data) === null || _b === void 0 ? void 0 : _b.sort(function (a, b) { return a.name.toLowerCase().localeCompare(b.name.toLowerCase()); }).filter(function (i) { return !specialistsSearchText || i.name.toLowerCase().includes(specialistsSearchText.toLowerCase()); }).map(function (item) { return (React.createElement(DropdownItemCheckList, { values: specialistProviders, onChange: setSpecialistProviders, value: item.code, key: item.code, tag: ProviderSelectItem, toggle: false, label: item.name })); })))),\n React.createElement(DropdownItemCheck, { disabled: disabled, tag: ProviderSelectItem, toggle: false, icon: \"hospital-symbol\", label: \"Hospitals\", checked: doGetHospitalProvider, onChange: toggleDoGetHospitalProvider })));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledDropdown, DropdownMenu } from 'reactstrap';\nimport { ClinicalTrialOptionEnum, ClinicalTrialStatusEnum } from '../enums';\nimport { useFilterSetting, useViewValue } from '../state';\nimport { DropdownItemCheck, DropdownItemCheckList, DropdownToggleIcon } from '../common';\nimport { useMount } from '../hooks';\nvar CLINICALTRIALS_GOV_OPTIONS = [\n {\n value: ClinicalTrialOptionEnum.TrialsRelated,\n label: 'Show trials related to currently selected conditions',\n },\n {\n value: ClinicalTrialOptionEnum.AllTrials,\n label: 'Show all trials',\n },\n];\nvar CLINICAL_TRIAL_STATUS_DATA = [\n {\n value: ClinicalTrialStatusEnum.NotYetRecruiting,\n label: 'Not yet recruiting',\n },\n {\n value: ClinicalTrialStatusEnum.Recruiting,\n label: 'Recruiting',\n },\n {\n value: ClinicalTrialStatusEnum.EnrollingByInvitation,\n label: 'Enrolling by invitation',\n },\n {\n value: ClinicalTrialStatusEnum.ActiveNotRecruiting,\n label: 'Active not recruiting',\n },\n];\nvar ALL_CLINICAL_TRIAL_STATUS = CLINICAL_TRIAL_STATUS_DATA === null || CLINICAL_TRIAL_STATUS_DATA === void 0 ? void 0 : CLINICAL_TRIAL_STATUS_DATA.map(function (i) { return i.value; });\nvar StyledSubMenuClinicalTrialsItem = styled(UncontrolledDropdown)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n padding-right: 0;\\n align-items: center;\\n\"])));\nvar StyledSubMenuClinicalTrialsStatusItem = styled(UncontrolledDropdown)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\"], [\"\\n cursor: pointer;\\n display: flex;\\n align-items: center;\\n\"])));\nvar StyledClinicalTrialOption = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"], [\"\\n max-height: 15.75rem;\\n overflow: auto;\\n\"])));\nexport var ClinicalTrialMenu = function () {\n var _a = useViewValue('clinicalTrial', 'clinicalTrialOption'), clinicalTrialOption = _a[0], setClinicalTrialOption = _a[1];\n var _b = useViewValue('clinicalTrialStatus'), clinicalTrialStatus = _b[0], setClinicalTrialStatus = _b[1];\n var _c = useState(), filterRecruitmentStatuses = _c[0], setFilterRecruitmentStatuses = _c[1];\n var _d = useViewValue('showMapLayerMenu'), setShowMapLayerMenu = _d[1];\n var filterSetting = useFilterSetting();\n var disabled = !filterSetting.available;\n var clinicalTrialStatusRef = useRef();\n useEffect(function () {\n clinicalTrialStatusRef.current = {\n filterRecruitmentStatuses: filterRecruitmentStatuses,\n };\n }, [filterRecruitmentStatuses]);\n useMount(function () { return function () {\n setClinicalTrialStatus(__assign(__assign({}, clinicalTrialStatus), clinicalTrialStatusRef.current));\n }; });\n useEffect(function () {\n if (!clinicalTrialOption) {\n setFilterRecruitmentStatuses(ALL_CLINICAL_TRIAL_STATUS);\n }\n else {\n setFilterRecruitmentStatuses(clinicalTrialStatus === null || clinicalTrialStatus === void 0 ? void 0 : clinicalTrialStatus.filterRecruitmentStatuses);\n }\n }, [clinicalTrialOption, clinicalTrialStatus === null || clinicalTrialStatus === void 0 ? void 0 : clinicalTrialStatus.filterRecruitmentStatuses]);\n var handleClickClinicalTrialItem = function () {\n setClinicalTrialOption(!clinicalTrialOption ? ClinicalTrialOptionEnum.TrialsRelated : undefined);\n };\n var handleClickClinicalTrialStatus = function () {\n setFilterRecruitmentStatuses((filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length) ? [] : ALL_CLINICAL_TRIAL_STATUS);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(DropdownItemCheck, { disabled: disabled, icon: \"notes-medical\", tag: StyledSubMenuClinicalTrialsItem, direction: \"right\", checked: !!clinicalTrialOption, onChange: handleClickClinicalTrialItem },\n React.createElement(\"span\", { className: \"flex-grow-1\" }, \"ClinicalTrials.gov\"),\n React.createElement(DropdownToggleIcon, { disabled: disabled, onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(\"div\", null,\n React.createElement(DropdownItemCheck, { tag: StyledSubMenuClinicalTrialsItem, direction: \"right\", checked: !!(filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length), onChange: handleClickClinicalTrialStatus, partial: (filterRecruitmentStatuses === null || filterRecruitmentStatuses === void 0 ? void 0 : filterRecruitmentStatuses.length) !== (CLINICAL_TRIAL_STATUS_DATA === null || CLINICAL_TRIAL_STATUS_DATA === void 0 ? void 0 : CLINICAL_TRIAL_STATUS_DATA.length) },\n React.createElement(\"span\", { className: \"flex-grow-1\" }, \"Clinical Trial Status\"),\n React.createElement(DropdownToggleIcon, { onClick: function (event) { return event.stopPropagation(); }, caret: true, color: \"warning\", className: \"py-0\" }),\n React.createElement(DropdownMenu, { onClick: function (event) { return event.stopPropagation(); } },\n React.createElement(StyledClinicalTrialOption, null, CLINICAL_TRIAL_STATUS_DATA.map(function (item) { return (React.createElement(DropdownItemCheckList, { values: filterRecruitmentStatuses, onChange: setFilterRecruitmentStatuses, value: item.value, key: item.value, tag: StyledSubMenuClinicalTrialsStatusItem, direction: \"right\", toggle: false, label: item.label })); })))),\n CLINICALTRIALS_GOV_OPTIONS.map(function (item) {\n var checked = item.value === clinicalTrialOption;\n var handleChange = function (value) {\n setClinicalTrialOption(checked ? undefined : value);\n setShowMapLayerMenu();\n };\n return React.createElement(DropdownItemCheck, __assign({}, item, { key: item.value, checked: checked, onChange: handleChange }));\n }))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { DropdownMenu, Dropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { DropdownToggleIcon } from '../common';\nimport { ViewModeEnum } from '../enums';\nimport { useViewValue } from '../state/viewsetting';\nimport { LocationMenu, useMapLayerListAPI } from './locationmenu';\nvar DropdownMenuStyle = styled(DropdownMenu)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-height: 80vh;\\n overflow-y: auto;\\n\"], [\"\\n max-height: 80vh;\\n overflow-y: auto;\\n\"])));\nexport var MapLayerMenu = function (props) {\n var _a;\n var viewMode = useViewValue('viewMode')[0];\n var _b = useViewValue('showMapLayerMenu'), showMapLayerMenu = _b[0], setShowMapLayerMenu = _b[1];\n var _c = useMapLayerListAPI(), mapLayerData = _c[0], fetchMapLayerData = _c[1];\n var hasFixedChildren = React.Children.toArray(props.children).some(function (c) { var _a; return (c === null || c === void 0 ? void 0 : c.type) !== LocationMenu || ((_a = c === null || c === void 0 ? void 0 : c.props) === null || _a === void 0 ? void 0 : _a.children); });\n useEffect(function () {\n if (mapLayerData.requesting === undefined || (showMapLayerMenu && !mapLayerData.requesting)) {\n fetchMapLayerData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [showMapLayerMenu]);\n if (viewMode !== ViewModeEnum.Map || (!hasFixedChildren && !((_a = mapLayerData.data) === null || _a === void 0 ? void 0 : _a.length)))\n return null;\n return (React.createElement(Dropdown, { isOpen: showMapLayerMenu, toggle: function () { return setShowMapLayerMenu(!showMapLayerMenu); } },\n React.createElement(DropdownToggleIcon, { icon: \"layer-group\", size: \"2x\", title: \"Choose layers to display\", placement: \"top\" }),\n React.createElement(DropdownMenuStyle, { flip: false }, props.children)));\n};\nexport * from './providermenu';\nexport * from './locationmenu';\nexport * from './clinicaltrialmenu';\nexport * from './questdiagnosticsmenu';\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback } from 'react';\nimport styled from 'styled-components';\nimport { ResponsiveContainer, ComposedChart, CartesianGrid, XAxis, YAxis, Bar, Tooltip, } from 'recharts';\nimport { useTranslation } from 'react-i18next';\nimport { getDisplayText } from '../utils';\nvar BAR_COLOR = '#00008b';\nvar NoDataMessage = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n\"], [\"\\n position: absolute;\\n left: 50%;\\n top: 50%;\\n transform: translate(-50%, -50%);\\n padding: 0.25rem;\\n background-color: transparent;\\n max-width: 11.25rem;\\n\"])));\nvar ResponsiveContainerWrapper = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"], [\"\\n position: relative;\\n width: \", \";\\n height: \", \";\\n\"])), function (props) { return (typeof props.width === 'string' ? props.width : props.width ? props.width / 16 + \"rem\" : '100%'); }, function (props) { return (typeof props.height === 'string' ? props.height : props.height ? props.height / 16 + \"rem\" : '100%'); });\nexport var BarComponent = function (props) {\n var _a;\n var t = useTranslation().t;\n var meetMinimumThreshold = !!((_a = props.data) === null || _a === void 0 ? void 0 : _a.length);\n var tickFormatter = useCallback(function (value) { return (meetMinimumThreshold ? getDisplayText(value) : ''); }, [meetMinimumThreshold]);\n var labelFormatter = useCallback(function () { return ''; }, []);\n var tooltipFormatter = useCallback(function (value, name, entry) { return [getDisplayText(entry.payload.value, '', entry.payload.prefix), entry.payload.name]; }, []);\n return (React.createElement(React.Fragment, null,\n React.createElement(ResponsiveContainerWrapper, { width: props.width, height: props.height },\n React.createElement(ResponsiveContainer, { className: \"position-absolute\" },\n React.createElement(ComposedChart, { data: props.data },\n React.createElement(CartesianGrid, { vertical: false }),\n React.createElement(XAxis, { dataKey: \"name\", interval: 0, angle: -45, textAnchor: \"end\", height: 85 }),\n React.createElement(YAxis, { angle: -45, width: 85, tickLine: meetMinimumThreshold, tickFormatter: tickFormatter }),\n React.createElement(Bar, { dataKey: \"value\", isAnimationActive: false, fill: BAR_COLOR, maxBarSize: 20 }),\n meetMinimumThreshold && React.createElement(Tooltip, { isAnimationActive: false, labelFormatter: labelFormatter, formatter: tooltipFormatter })))),\n !meetMinimumThreshold && React.createElement(NoDataMessage, null, t('demographicchart.nomeetminimumthreshold.msg'))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect } from 'react';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faChartPie, faChartBar } from '@fortawesome/free-solid-svg-icons';\nimport { useTranslation } from 'react-i18next';\nimport { PieComponent } from './pie';\nimport { BarComponent } from './bar';\nimport { useChartData } from './usechartdata';\nimport { ViewModeEnum, ChartViewEnum, StatisticTypeEnum } from '../enums';\nimport { FallbackComponent } from '../common';\nimport { useViewValue, useFilterValue } from '../state';\nimport { DEMOGRAPHIC_CHART_OPTIONS } from '../configs';\nvar CHART_COMPONENT_BY_TYPE = {\n pie: PieComponent,\n bar: BarComponent,\n};\nvar StyledDemographicChart = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 1rem;\\n width: 100%;\\n\"], [\"\\n padding: 1rem;\\n width: 100%;\\n\"])));\nvar Title = styled.h4(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar Body = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n justify-content: center;\\n\"])));\nvar StyledChartContainer = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex-basis: 33%;\\n padding: 0.25rem;\\n\"], [\"\\n flex-basis: 33%;\\n padding: 0.25rem;\\n\"])));\nvar ChartContainerTitle = styled.h5(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n text-align: center;\\n\"], [\"\\n text-align: center;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n position: relative;\\n min-width: 18rem;\\n height: 18rem;\\n\"], [\"\\n position: relative;\\n min-width: 18rem;\\n height: 18rem;\\n\"])));\nvar ChartControl = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n padding-bottom: 0.5rem;\\n display: flex;\\n justify-content: center;\\n\"], [\"\\n padding-bottom: 0.5rem;\\n display: flex;\\n justify-content: center;\\n\"])));\nvar StyledSwitchTypeButton = styled.a(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n margin: 0 0.25rem;\\n cursor: pointer;\\n \", \"\\n &:hover {\\n opacity: 0.7;\\n }\\n\"], [\"\\n margin: 0 0.25rem;\\n cursor: pointer;\\n \", \"\\n &:hover {\\n opacity: 0.7;\\n }\\n\"])), function (props) { return (!props.active ? 'color: #c1c1c1 !important;' : ''); });\nvar ChartTypeButton = function (props) {\n var onClick = props.onClick, type = props.type;\n var handleClick = useCallback(function () {\n onClick(type);\n }, [onClick, type]);\n return (React.createElement(StyledSwitchTypeButton, { active: props.activeType === props.type, onClick: handleClick },\n React.createElement(FontAwesomeIcon, { icon: props.icon })));\n};\nvar ChartContainer = function (props) {\n var _a = useViewValue('chartView', props.type), chartType = _a[0], setChartType = _a[1];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var ChartComponent = CHART_COMPONENT_BY_TYPE[chartType];\n var _b = props.data || [], data = _b[0], retry = _b[1];\n return (React.createElement(StyledChartContainer, null,\n React.createElement(ChartContainerTitle, null, props.title),\n React.createElement(ChartControl, null,\n React.createElement(ChartTypeButton, { activeType: chartType, type: \"pie\", icon: faChartPie, onClick: setChartType }),\n React.createElement(ChartTypeButton, { activeType: chartType, type: \"bar\", icon: faChartBar, onClick: setChartType })),\n React.createElement(StyledChartComponent, null,\n React.createElement(FallbackComponent, { requesting: data === null || data === void 0 ? void 0 : data.requesting, error: data === null || data === void 0 ? void 0 : data.error, retry: retry },\n React.createElement(ChartComponent, { inline: true, type: props.type, data: data === null || data === void 0 ? void 0 : data.data, percentage: statistic === StatisticTypeEnum.Prevalence })))));\n};\nexport var DemographicChartComponent = function () {\n var t = useTranslation().t;\n var _a = useChartData(), chartData = _a[0], fetchChartData = _a[1];\n var viewMode = useViewValue('viewMode')[0];\n var chartType = useViewValue('chartView', 'type')[0];\n var demographics = useViewValue('chartView', 'demographics')[0];\n var isShow = viewMode === ViewModeEnum.Chart && chartType === ChartViewEnum.Demographic;\n useEffect(function () {\n fetchChartData();\n }, [fetchChartData]);\n if (!isShow)\n return null;\n return (React.createElement(StyledDemographicChart, null,\n React.createElement(Title, null, t('demographicchart.title')),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: chartData.requesting || chartData.requesting === undefined, error: chartData.error, retry: fetchChartData }, demographics === null || demographics === void 0 ? void 0 : demographics.map(function (type) {\n var _a, _b;\n return (React.createElement(ChartContainer, { key: type, type: type, title: ((_a = DEMOGRAPHIC_CHART_OPTIONS.find(function (option) { return option.value === type; })) === null || _a === void 0 ? void 0 : _a.label) || type, data: (_b = chartData.data) === null || _b === void 0 ? void 0 : _b[type] }));\n })))));\n};\nexport * from './usechartdata';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { DataSourceEnum } from '../enums';\nimport { useFilterSetting, useViewValue } from '../state';\nexport var useProviderSetting = function (edittingFilterSetting) {\n var _a, _b;\n var _c = useViewValue('provider'), providerSetting = _c[0], setProviderSetting = _c[1];\n var filterSetting = useFilterSetting();\n var checkingSetting = edittingFilterSetting || filterSetting;\n var disabled = !checkingSetting.available || checkingSetting.isAggregatedDataSource || ((_a = checkingSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource) === DataSourceEnum.Medicaid;\n var available = !disabled && ((providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetPrimaryCareProvider) || (providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.doGetHospitalProvider) || !!((_b = providerSetting === null || providerSetting === void 0 ? void 0 : providerSetting.specialistProviders) === null || _b === void 0 ? void 0 : _b.length));\n return [__assign(__assign({}, providerSetting), { disabled: disabled, available: available }), setProviderSetting];\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar LOCATOR_CLINICALTRIAL_API_URL = '/api/clinical-trials/get-clinical-trial-sites';\nvar clinicalTrialsSelector = function (state) { return state === null || state === void 0 ? void 0 : state.clinicalTrials; };\nvar clinicalTrialMapSelector = createSelector(clinicalTrialsSelector, function (clinicalTrials) {\n return _.keyBy(clinicalTrials, function (_a) {\n var nctId = _a.nctId, facilityName = _a.facilityName, zipcode = _a.zipcode;\n return nctId + \"-\" + facilityName + \"-\" + zipcode;\n });\n});\nvar createClinicalTrialSelector = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, nctId = _b.nctId, facilityName = _b.facilityName, zipcode = _b.zipcode;\n return createSelector(clinicalTrialMapSelector, function (map) { return map[nctId + \"-\" + facilityName + \"-\" + zipcode]; });\n};\nexport var useClinicalTrialGovApi = function () {\n return useAPI(LOCATOR_CLINICALTRIAL_API_URL, undefined, 'POST');\n};\nexport var useClinicalTrialDetail = function (id) {\n var clinicalTrialGovData = useClinicalTrialGovApi()[0];\n var clinicalTrialSelector = useMemo(function () { return createClinicalTrialSelector(id); }, [id]);\n return clinicalTrialSelector(clinicalTrialGovData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar LOCATOR_PROVIDER_API_URL = '/api/provider/get-demographic-patient-count-related-to-provider';\nvar providersSelector = function (state) { return state === null || state === void 0 ? void 0 : state.providers; };\nvar providerMapSelector = createSelector(providersSelector, function (providers) { return _.keyBy(providers, 'providerNpiNumber'); });\nvar createProviderDetailSelector = function (_a) {\n var providerNpiNumber = (_a === void 0 ? Object.assign({}) : _a).providerNpiNumber;\n return createSelector(providerMapSelector, function (map) { return map[\"\" + providerNpiNumber]; });\n};\nexport var useProviderData = function () {\n return useAPI(LOCATOR_PROVIDER_API_URL, undefined, 'POST');\n};\nexport var useProviderDetail = function (id) {\n var providerData = useProviderData()[0];\n var providerDetailSelector = useMemo(function () { return createProviderDetailSelector(id); }, [id]);\n return providerDetailSelector(providerData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from 'react';\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from '../state';\nvar MAP_LAYER_LOCATOR_API = '/api/map-layer/{id}';\nvar mapLayerLocationsSelector = function (state) { return state; };\nvar mapLayerLocationMapSelector = createSelector(mapLayerLocationsSelector, function (mapLayerLocations) { return _.keyBy(mapLayerLocations, 'id'); });\nvar createMapLayerLocationSelector = function (id) { return createSelector(mapLayerLocationMapSelector, function (map) { return map[\"\" + id]; }); };\nexport var useCustomMapLayerLocationData = function (mapLayerId) {\n return useAPI(MAP_LAYER_LOCATOR_API, { id: mapLayerId }, 'POST');\n};\nexport var useCustomMapLayerDetail = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, id = _b.id, mapLayerId = _b.mapLayerId;\n var customMapLayerLocationData = useCustomMapLayerLocationData(mapLayerId)[0];\n var providerDetailSelector = useMemo(function () { return createMapLayerLocationSelector(id); }, [id]);\n return providerDetailSelector(customMapLayerLocationData.data);\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMemo } from \"react\";\nimport _ from 'lodash';\nimport { createSelector } from 'reselect';\nimport { useAPI } from \"../state\";\nvar LOCATOR_QUEST_DIAGNOSTICS_API_URL = '/api/quest-diagnostics/get-quest-diagnostics-sites';\nvar questDiagnosticsSelector = function (state) { return state === null || state === void 0 ? void 0 : state.questDiagnosticsSites; };\nvar questDiagnosticsMapSelector = createSelector(questDiagnosticsSelector, function (questDiagnostics) {\n return _.keyBy(questDiagnostics, function (_a) {\n var id = _a.id, site_code = _a.site_code, zip_code = _a.zip_code;\n return id + \"-\" + site_code + \"-\" + zip_code;\n });\n});\nvar createQuestDiagnosticsSelector = function (_a) {\n var _b = _a === void 0 ? Object.assign({}) : _a, id = _b.id, site_code = _b.site_code, zip_code = _b.zip_code;\n return createSelector(questDiagnosticsMapSelector, function (map) { return map[id + \"-\" + site_code + \"-\" + zip_code]; });\n};\nexport var useQuestDiagnosticsApi = function () {\n return useAPI(LOCATOR_QUEST_DIAGNOSTICS_API_URL, undefined, 'POST');\n};\nexport var useQuestDiagnosticsDetail = function (id) {\n var questDiagnosticsData = useQuestDiagnosticsApi()[0];\n var questDiagnosticsSelector = useMemo(function () { return createQuestDiagnosticsSelector(id); }, [id]);\n return questDiagnosticsSelector(questDiagnosticsData.data);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport { useMemo, useCallback } from 'react';\nimport { StatisticTypeEnum, GeoLevelEnum, ViewModeEnum } from '../../enums';\nimport { cookLegendBreaks, getBreakIdx, roundNumber } from '../../utils';\nimport { useAPI } from '../../state';\nimport { useViewValue, useFilterSetting, exportFilterSettingPayload } from '../../state';\nimport { getStatisticOption, processStatisticValue, getStatisticPrecision } from '../../lookupdata';\nimport { extractHostname, useHostnameIndexInfo } from '../../hostnameindexinfo';\nvar API_URL_GET_AGGREGATED_DATA = '/api/data-file/get-aggregated-data-for-map';\nvar API_URL_CALCULATE_STATISTIC = '/api/stats/{hostname}/calculate-statistic-for-map';\nvar API_URL_CALCULATE_STATISTIC_PROXY = '/api/{hostname}/calculate-statistic-for-map';\nexport var extractGeneralFilterInfo = function (data, statistic) {\n var statisticConfig = getStatisticOption(statistic);\n var _a = (data || {}).percentage, percentage = _a === void 0 ? statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.percentage : _a;\n return {\n percentage: percentage,\n suffix: percentage ? '%' : '',\n prefix: statisticConfig === null || statisticConfig === void 0 ? void 0 : statisticConfig.preUnit,\n };\n};\nexport var useMapData = function () {\n var _a, _b;\n var indexConfig = useHostnameIndexInfo();\n var filterSetting = useFilterSetting();\n var apiUrl = useMemo(function () {\n if (filterSetting.isAggregatedDataSource)\n return API_URL_GET_AGGREGATED_DATA;\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname)\n return API_URL_CALCULATE_STATISTIC_PROXY;\n return API_URL_CALCULATE_STATISTIC;\n }, [filterSetting.isAggregatedDataSource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.calculateStatisticAttachHostname]);\n var _c = useAPI(apiUrl, { hostname: extractHostname() }, 'POST'), mapData = _c[0], fetchMapData = _c[1], resetState = _c[2];\n var geoLevel = useViewValue('geoType')[0];\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var percentage = extractGeneralFilterInfo((_b = mapData.data) === null || _b === void 0 ? void 0 : _b.mapStatisticResponsingData, statistic).percentage;\n var extractedData = useMemo(function () {\n var _a;\n return mapData.data && __assign(__assign({}, mapData.data.mapStatisticResponsingData), { breakLegendInfo: cookLegendBreaks((_a = mapData.data.mapStatisticResponsingData) === null || _a === void 0 ? void 0 : _a.breakLegendInfo, percentage, getStatisticPrecision(statistic)) });\n }, [mapData.data, percentage, statistic]);\n var fetchMapDataWrapped = useCallback(function () {\n if (filterSetting.forceUpdate) {\n var payload = exportFilterSettingPayload(filterSetting);\n fetchMapData(__assign(__assign({}, payload), { displayOption: { displayOptionType: ViewModeEnum.Map, mapView: { type: geoLevel } } }));\n }\n }, [fetchMapData, filterSetting, geoLevel]);\n return [__assign(__assign({}, mapData), { data: extractedData }), fetchMapDataWrapped, resetState];\n};\nexport var extractGeoData = function (id, filterSetting, geoLevel, data) {\n var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _s, _t, _u, _v, _w, _x, _y, _z, _0, _1, _2, _3, _4, _5, _6, _7, _8, _9, _10, _11, _12, _13, _14, _15;\n if (id === void 0) { id = ''; }\n var isAggregated = filterSetting.isAggregatedDataSource;\n var statistic = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption;\n var _16 = extractGeneralFilterInfo(data, statistic), percentage = _16.percentage, suffix = _16.suffix, prefix = _16.prefix;\n var value;\n var numerator, denominator, eventCount;\n var geographic, geographicNumerator, geographicDenominator, geographicEventCount;\n var nationalDemographic, nationalDemographicNumerator, nationalDemographicDenominator, nationalDemographicEventCount;\n var nationalAggregatedValue;\n var patientPopulation, nationalPatientPopulation;\n if (isAggregated) {\n var aggregatedId = geoLevel === GeoLevelEnum.Zip3 ? id.split('-')[1] : id;\n value = processStatisticValue((_b = data === null || data === void 0 ? void 0 : data.preAggregatedPopulationStatisticData) === null || _b === void 0 ? void 0 : _b[aggregatedId], percentage, statistic);\n geographic = value;\n nationalAggregatedValue = data === null || data === void 0 ? void 0 : data.nationalAggregatedValue;\n nationalDemographic = nationalAggregatedValue;\n }\n else {\n numerator = roundNumber(processStatisticValue(((_d = (_c = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _c === void 0 ? void 0 : _c.mapPatientCount) === null || _d === void 0 ? void 0 : _d[id]) || ((_f = (_e = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _e === void 0 ? void 0 : _e.mapTotalRateOfAcuteEventSelectedDemographic) === null || _f === void 0 ? void 0 : _f[id]) || ((_h = (_g = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _g === void 0 ? void 0 : _g.mapCostOfAcuteEventSelectedDemographic) === null || _h === void 0 ? void 0 : _h[id]), false, statistic));\n denominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_k = (_j = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _j === void 0 ? void 0 : _j.mapPatientPopulationCount) === null || _k === void 0 ? void 0 : _k[id]) || ((_m = (_l = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _l === void 0 ? void 0 : _l.mapPatientCountSelectedDemographic) === null || _m === void 0 ? void 0 : _m[id]) || ((_p = (_o = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _o === void 0 ? void 0 : _o.mapPatientCountSelectedDemographic) === null || _p === void 0 ? void 0 : _p[id]);\n value = processStatisticValue(numerator && denominator && numerator / denominator, percentage, statistic);\n patientPopulation = (_r = (_q = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _q === void 0 ? void 0 : _q.mapPatientPopulationCount) === null || _r === void 0 ? void 0 : _r[id];\n eventCount = (_t = (_s = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _s === void 0 ? void 0 : _s.mapCostOfAcuteEventHospitalizationVisit) === null || _t === void 0 ? void 0 : _t[id];\n geographicEventCount = (_v = (_u = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _u === void 0 ? void 0 : _u.mapCostOfAcuteEventHospitalizationVisitAllDemographic) === null || _v === void 0 ? void 0 : _v[id];\n geographicNumerator = roundNumber(processStatisticValue(((_x = (_w = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _w === void 0 ? void 0 : _w.mapPatientCount) === null || _x === void 0 ? void 0 : _x[id]) || ((_z = (_y = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _y === void 0 ? void 0 : _y.mapTotalRateOfAcuteEventAllDemographic) === null || _z === void 0 ? void 0 : _z[id]) || ((_1 = (_0 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _0 === void 0 ? void 0 : _0.mapCostOfAcuteEventAllDemographic) === null || _1 === void 0 ? void 0 : _1[id]), false, statistic));\n geographicDenominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_3 = (_2 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _2 === void 0 ? void 0 : _2.mapPatientPopulationCount) === null || _3 === void 0 ? void 0 : _3[id]) || ((_5 = (_4 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _4 === void 0 ? void 0 : _4.mapPatientCountAllDemographic) === null || _5 === void 0 ? void 0 : _5[id]) || ((_7 = (_6 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _6 === void 0 ? void 0 : _6.mapPatientCountAllDemographic) === null || _7 === void 0 ? void 0 : _7[id]);\n geographic = processStatisticValue(geographicNumerator && geographicDenominator && geographicNumerator / geographicDenominator, percentage, statistic);\n nationalDemographicEventCount = (_8 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _8 === void 0 ? void 0 : _8.nationalDemographicSumUpHospVisit;\n nationalDemographicNumerator = roundNumber(((_9 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _9 === void 0 ? void 0 : _9.nationalPatientCount) || ((_10 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _10 === void 0 ? void 0 : _10.nationalDemographicSumUpRateOfAcuteEvent) || ((_11 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _11 === void 0 ? void 0 : _11.nationalDemographicSumUpCostOfAcuteEvent));\n nationalDemographicDenominator =\n statistic === StatisticTypeEnum.TotalCount\n ? 1\n : ((_12 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _12 === void 0 ? void 0 : _12.nationalPopulationCount) || ((_13 = data === null || data === void 0 ? void 0 : data.rateOfAcuteEventsStatisticData) === null || _13 === void 0 ? void 0 : _13.nationalDemographicPatientCount) || ((_14 = data === null || data === void 0 ? void 0 : data.costOfAcuteEventsStatisticData) === null || _14 === void 0 ? void 0 : _14.nationalDemographicPatientCount);\n nationalDemographic = processStatisticValue(nationalDemographicNumerator && nationalDemographicDenominator && nationalDemographicNumerator / nationalDemographicDenominator, percentage, statistic);\n nationalPatientPopulation = (_15 = data === null || data === void 0 ? void 0 : data.populationStatisticData) === null || _15 === void 0 ? void 0 : _15.nationalPopulationCount;\n }\n return {\n isAggregated: isAggregated,\n suffix: suffix,\n prefix: prefix,\n breakIdx: getBreakIdx(data === null || data === void 0 ? void 0 : data.breakLegendInfo, value),\n value: value,\n numerator: numerator,\n denominator: denominator,\n eventCount: eventCount,\n patientPopulation: patientPopulation,\n geographic: geographic,\n geographicNumerator: geographicNumerator,\n geographicDenominator: geographicDenominator,\n geographicEventCount: geographicEventCount,\n national: nationalDemographic,\n nationalNumerator: nationalDemographicNumerator,\n nationalDenominator: nationalDemographicDenominator,\n nationalEventCount: nationalDemographicEventCount,\n nationalDemographic: nationalDemographic,\n nationalDemographicNumerator: nationalDemographicNumerator,\n nationalDemographicDenominator: nationalDemographicDenominator,\n nationalDemographicEventCount: nationalDemographicEventCount,\n nationalAggregatedValue: nationalAggregatedValue,\n nationalPatientPopulation: nationalPatientPopulation,\n };\n};\nexport var useExtractGeoData = function () {\n var filterSetting = useFilterSetting();\n var data = useMapData()[0].data;\n var geoLevel = useViewValue('geoType')[0];\n return useCallback(function (id) { return extractGeoData(id, filterSetting, geoLevel, data); }, [data, filterSetting, geoLevel]);\n};\n","/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport i18n from 'i18next';\nimport { initReactI18next } from 'react-i18next';\nimport LanguageDetector from 'i18next-browser-languagedetector';\nimport enUS from './messages.en-US.json';\nvar resources = {\n 'en-US': { translation: enUS },\n};\ni18n\n .use(LanguageDetector)\n .use(initReactI18next)\n .init({\n resources: resources,\n fallbackLng: 'en-US',\n debug: true,\n keySeparator: false,\n interpolation: {\n escapeValue: false,\n },\n});\nexport default i18n;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { library } from '@fortawesome/fontawesome-svg-core';\nimport { fas } from '@fortawesome/free-solid-svg-icons';\nlibrary.add(fas);\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { ListGroupItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useFilterEditingValue } from '../state/filterediting';\nvar StyledTab = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n\"])));\nvar Dot = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 1rem;\\n height: 1rem;\\n background-color: \", \";;\\n border-radius: 50%;\\n margin-left: 0.5rem;\\n\"], [\"\\n width: 1rem;\\n height: 1rem;\\n background-color: \", \";;\\n border-radius: 50%;\\n margin-left: 0.5rem;\\n\"])), function (props) { return (props.active ? '#ffffff' : '#007bff'); });\nexport var LeftTabSelectorItem = function (props) {\n var tabId = props.tabId, tabName = props.tabName, activeTab = props.activeTab, toggleTab = props.toggleTab, tabSelector = props.tabSelector, showRequiredDot = props.showRequiredDot, resprops = __rest(props, [\"tabId\", \"tabName\", \"activeTab\", \"toggleTab\", \"tabSelector\", \"showRequiredDot\"]);\n var handleClick = function () {\n toggleTab(tabId);\n };\n var Component = tabSelector || ListGroupItem;\n return (React.createElement(Component, __assign({}, resprops, { action: true, onClick: handleClick, active: activeTab === tabId }),\n React.createElement(StyledTab, null,\n tabName,\n showRequiredDot && React.createElement(Dot, { active: activeTab === tabId }))));\n};\nexport var CMSSourceTabSelector = function (props) {\n var _a = props.type, type = _a === void 0 ? 'hidden' : _a, resprops = __rest(props, [\"type\"]);\n var isAggregatedDataSource = useFilterEditingValue('isAggregatedDataSource')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { disabled: props.disabled || (isAggregatedDataSource && type === 'disabled'), hidden: isAggregatedDataSource && type === 'hidden' })));\n};\nexport var AggregatedSourceTabSelector = function (props) {\n var _a = props.type, type = _a === void 0 ? 'hidden' : _a, resprops = __rest(props, [\"type\"]);\n var isAggregatedDataSource = useFilterEditingValue('isAggregatedDataSource')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { disabled: props.disabled || (!isAggregatedDataSource && type === 'disabled'), hidden: !isAggregatedDataSource && type === 'hidden' })));\n};\nvar templateObject_1, templateObject_2;\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport { Select, FallbackComponent } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { ConditionType, LookupYearComponent, useMixedYear, useSynchronizedPrimaryCondition } from '../lookupdata';\nimport { AggregatedDataSourceComponent, useAggregatedDataSourceName } from './aggregateddatasource';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nexport var DataYearTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var agrregatedData = useAggregatedDataSourceName()[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource'), cmsDataSource = _a[0], setCmsDataSource = _a[1];\n var _b = useFilterEditingValue('dataYear'), year = _b[0], setStatisticYear = _b[1];\n var _c = useFilterEditingValue('year'), setAggregatedYear = _c[1];\n var _d = useFilterEditingValue('isAggregatedDataSource'), isAggregatedDataSource = _d[0], setIsAggregatedDataSource = _d[1];\n var _e = useFilterEditingValue('dataSourceName'), aggregatedDataSourceName = _e[0], setAggregatedDataSourceName = _e[1];\n var _f = useMixedYear(useFilterEditing()), yearData = _f[0], fetchYearData = _f[1];\n var _g = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryConditions = _g[0], setSelectingPrimaryConditions = _g[1];\n var doSynchronized = useSynchronizedPrimaryCondition([ConditionType.Other, ConditionType.Primary, ConditionType.Secondary])[0];\n useEffect(function () {\n var _a;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && !yearData.data.some(function (v) { return v === year; })) {\n handleChangeYear(yearData.data[yearData.data.length - 1]);\n }\n else {\n setAggregatedYear(year);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [yearData.data]);\n useEffect(function () {\n doSynchronized();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [year]);\n var handleChangeDataSource = function (value, name, option) {\n setIsAggregatedDataSource(!!option.isAggregatedDataSource);\n if (option.isAggregatedDataSource) {\n setAggregatedDataSourceName(value);\n }\n else {\n setCmsDataSource(value);\n }\n };\n var handleChangeYear = function (value) {\n var _a;\n setStatisticYear(value);\n setAggregatedYear(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setSelectingPrimaryConditions(selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n var allDataSourceOptions = useMemo(function () {\n var _a, _b;\n return __spreadArrays((((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources) === null || _a === void 0 ? void 0 : _a.map(function (v) { return DATA_SOURCES[v]; })) || []), (((_b = agrregatedData.data) === null || _b === void 0 ? void 0 : _b.map(function (value) { return ({ value: value, label: value, isAggregatedDataSource: true }); })) || []));\n }, [agrregatedData.data, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: allDataSourceOptions, noSort: true, value: isAggregatedDataSource ? aggregatedDataSourceName : cmsDataSource, onChange: handleChangeDataSource, isLoading: agrregatedData.requesting })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: yearData.requesting, error: yearData.error, retry: fetchYearData },\n React.createElement(Select, { name: \"dataYear\", options: yearData.data, noSort: true, value: year, onChange: handleChangeYear, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); }, maxMenuHeight: 200, menuPosition: \"fixed\" }))),\n React.createElement(LookupYearComponent, { dataSource: cmsDataSource }),\n React.createElement(AggregatedDataSourceComponent, null)));\n};\nDataYearTab.defaultProps = {\n tabId: 'DataYearTab',\n tabName: 'Data Set',\n};\n","var __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport { Select, FallbackComponent, DELIMITER_SEASON_YEAR } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { LookupYearComponent, useMixedYear } from '../lookupdata';\nimport { AggregatedDataSourceComponent, useAggregatedDataSourceName } from './aggregateddatasource';\nimport { DATA_SOURCES } from '../configs';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nimport { useMount } from '../hooks';\nexport var DataYearSeasonTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var agrregatedData = useAggregatedDataSourceName()[0];\n var _a = useFilterEditingValue('statistic', 'cmsDataSource'), cmsDataSource = _a[0], setCmsDataSource = _a[1];\n var _b = useFilterEditingValue('dataYearSeasonUi'), dataYearSeasonUi = _b[0], setDataYearSeasonUi = _b[1];\n var _c = useFilterEditingValue('dataYearSeason'), dataYearSeason = _c[0], setDataYearSeason = _c[1];\n var _d = useFilterEditingValue('yearSeason'), setAggregatedYearSeason = _d[1];\n var _e = useFilterEditingValue('isAggregatedDataSource'), isAggregatedDataSource = _e[0], setIsAggregatedDataSource = _e[1];\n var _f = useFilterEditingValue('dataSourceName'), aggregatedDataSourceName = _f[0], setAggregatedDataSourceName = _f[1];\n var _g = useFilterEditingValue('patientPopulationReferenceYear'), setPatientPopulationRefYear = _g[1];\n var _h = useFilterEditingValue('dataYear'), setDataYear = _h[1];\n var _j = useMixedYear(useFilterEditing()), yearData = _j[0], fetchYearData = _j[1];\n var _k = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryConditions = _k[0], setSelectingPrimaryConditions = _k[1];\n var patientPopulationRefYearFilter = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter.patientPopulationReferenceYear;\n var isYearSeasonReady = useMemo(function () {\n var _a;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && dataYearSeasonUi) {\n return yearData.data.map(function (y) { return String(y); }).includes(dataYearSeasonUi);\n }\n return false;\n }, [yearData.data, dataYearSeasonUi]);\n useMount(function () {\n setDataYear(undefined);\n });\n useEffect(function () {\n var _a = getYearsBySeason(dataYearSeasonUi), lateYear = _a[0], earlyYear = _a[1];\n var fullYearSeason = [Number(lateYear).valueOf(), Number(earlyYear).valueOf()];\n setDataYearSeason(fullYearSeason);\n setAggregatedYearSeason(fullYearSeason);\n }, [setAggregatedYearSeason, setDataYearSeason, dataYearSeasonUi]);\n useEffect(function () {\n setPatientPopulationRefYear(patientPopulationRefYearFilter);\n }, [patientPopulationRefYearFilter, setPatientPopulationRefYear]);\n useEffect(function () {\n var _a, _b;\n if (((_a = yearData.data) === null || _a === void 0 ? void 0 : _a.length) && (!dataYearSeasonUi || !isYearSeasonReady)) {\n var dataYearSeasonValueUi = String(yearData.data[yearData.data.length - 1]);\n if (Array.isArray(dataYearSeason) && dataYearSeason.length) {\n var yearSeasonInDataYear = (_b = yearData.data) === null || _b === void 0 ? void 0 : _b.find(function (year) { return String(year).includes(dataYearSeason.join(DELIMITER_SEASON_YEAR)); });\n dataYearSeasonValueUi = yearSeasonInDataYear ? String(yearSeasonInDataYear) : dataYearSeasonValueUi;\n }\n handleChangeYearSeason(dataYearSeasonValueUi);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [yearData.data, dataYearSeasonUi]);\n var handleChangeDataSource = function (value, name, option) {\n setIsAggregatedDataSource(!!option.isAggregatedDataSource);\n if (option.isAggregatedDataSource) {\n setAggregatedDataSourceName(value);\n }\n else {\n setCmsDataSource(value);\n }\n };\n var handleChangeYearSeason = function (value) {\n var _a;\n setDataYearSeasonUi(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setSelectingPrimaryConditions(selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n var allDataSourceOptions = useMemo(function () {\n var _a, _b;\n return __spreadArrays((((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources) === null || _a === void 0 ? void 0 : _a.map(function (v) { return DATA_SOURCES[v]; })) || []), (((_b = agrregatedData.data) === null || _b === void 0 ? void 0 : _b.map(function (value) { return ({ value: value, label: value, isAggregatedDataSource: true }); })) || []));\n }, [agrregatedData.data, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.dataSources]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: allDataSourceOptions, noSort: true, value: isAggregatedDataSource ? aggregatedDataSourceName : cmsDataSource, onChange: handleChangeDataSource, isLoading: agrregatedData.requesting })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: yearData.requesting, error: yearData.error, retry: fetchYearData },\n React.createElement(Select, { name: \"dataYear\", options: yearData.data, noSort: true, value: dataYearSeasonUi, onChange: handleChangeYearSeason, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); }, maxMenuHeight: 200, menuPosition: \"fixed\" }))),\n React.createElement(LookupYearComponent, { dataSource: cmsDataSource }),\n React.createElement(AggregatedDataSourceComponent, null)));\n};\nDataYearSeasonTab.defaultProps = {\n tabId: 'DataSeasonYearTab',\n tabName: 'Data Set',\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a;\nimport { useGeneralConfigByDataSource } from \"../hooks\";\nimport { useAPI } from \"../state\";\nimport { useMemo } from \"react\";\nexport var FilterCountTypeEnum;\n(function (FilterCountTypeEnum) {\n FilterCountTypeEnum[\"PRIMARY_CHRONIC_CONDITION\"] = \"PRIMARY_CHRONIC_CONDITION\";\n FilterCountTypeEnum[\"CHRONIC_CONDITION\"] = \"CHRONIC_CONDITION\";\n FilterCountTypeEnum[\"SEX_CODE\"] = \"SEX_CODE\";\n FilterCountTypeEnum[\"RACE_CODE\"] = \"RACE_CODE\";\n FilterCountTypeEnum[\"RTI_RACE_CODE\"] = \"RTI_RACE_CODE\";\n FilterCountTypeEnum[\"STATE_CODE\"] = \"STATE_CODE\";\n FilterCountTypeEnum[\"FLU_VACCINE_CODE\"] = \"FLU_VACCINE_CODE\";\n FilterCountTypeEnum[\"AGE_GROUP_CODE\"] = \"AGE_GROUP_CODE\";\n FilterCountTypeEnum[\"CONSUMPTION_GROUP\"] = \"CONSUMPTION_GROUP\";\n})(FilterCountTypeEnum || (FilterCountTypeEnum = {}));\nvar API_BASE_URL_FILTER_COUNT_FROM_STATS = '/api/stats/filter-count';\nvar API_BASE_URL_FILTER_COUNT_FROM_HOSTNAME_INDEX = '/api/{hostname}/filter-count';\nvar API_BASE_URL_FILTER_COUNT_FROM_GENERAL_INDEX = '/api/generalindex/filter-count/{hostname}';\nvar ConditionExclusionConfig = (_a = {},\n _a[FilterCountTypeEnum.PRIMARY_CHRONIC_CONDITION] = 'excludedCcFromFilterCount',\n _a[FilterCountTypeEnum.CHRONIC_CONDITION] = 'excludedCcFromFilterCount',\n _a);\nexport var useFilterCount = function (filterType, indexConfig) {\n var baseUrl = (function () {\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useGeneralFilterCount)\n return API_BASE_URL_FILTER_COUNT_FROM_GENERAL_INDEX;\n if (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCountAttachHostname)\n return API_BASE_URL_FILTER_COUNT_FROM_HOSTNAME_INDEX;\n return API_BASE_URL_FILTER_COUNT_FROM_STATS;\n })();\n var url = baseUrl + \"/\" + filterType;\n var filterCountApi = useAPI(url, { hostname: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname }, 'POST');\n var exclusionConfig = ConditionExclusionConfig[filterType];\n var excludedConditionByDatasource = useGeneralConfigByDataSource(exclusionConfig);\n var excludedConditions = useMemo(function () {\n return excludedConditionByDatasource || (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.excludedCcFromFilterCount) || [];\n }, [excludedConditionByDatasource, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.excludedCcFromFilterCount]);\n return useMemo(function () {\n var states = filterCountApi[0], request = filterCountApi[1], reset = filterCountApi[2];\n var requestStates = [\n states,\n function (body, force, timeout) {\n var finalBody = __assign({}, body);\n if (exclusionConfig) {\n finalBody.excludedConditions = excludedConditions;\n }\n return request(finalBody, force, timeout);\n },\n reset\n ];\n return requestStates;\n }, [filterCountApi, excludedConditions, exclusionConfig]);\n};\n","import React from 'react';\nimport { ThreeDotLoading } from \"../common\";\nimport { getDisplayText } from \"../utils\";\nexport var FilterCountLoading = function (_a) {\n var loading = _a.loading, value = _a.value;\n return (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(value)),\n ')'));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo, useCallback } from 'react';\nimport { TabPane, FormGroup, Label, Input } from 'reactstrap';\nimport styled from 'styled-components';\nimport { Select, FallbackComponent, CheckboxGroup, ThreeDotLoading, IconTooltip } from '../common';\nimport { getDisplayText } from '../utils';\nimport { useFilterEditingValue } from '../state/filterediting';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { useLookupCondition, CLAIM_NUMBERS, CLAIM_DAYS, ConditionType, useLookupConditionSortByType, useSynchronizedPrimaryCondition } from '../lookupdata';\nimport { useHostnameIndexInfo, useDefaultFilter } from '../hostnameindexinfo';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { useFilterCount } from './usefiltercount';\nimport { FilterCountLoading } from './filtercountloading';\nvar StyledPrimaryConditionSelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n max-width: 20rem;\\n\"], [\"\\n max-width: 20rem;\\n\"])));\nexport var StyledPrimaryConditionSection = styled(FormGroup)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin-left: 1rem;\\n\"], [\"\\n margin-left: 1rem;\\n\"])));\nvar StyledConditions = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\"])));\nvar StyledPrimaryCondition = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n\"], [\"\\n flex: 1;\\n\"])));\nvar Title = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"])));\nvar HelperText = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(Title, null, \"Why can\\u2019t I select \\u201Cnumber of claims\\u201D for the primary conditions?\"),\n \"Medicaid data does not support the ability to search by # of claims.\"));\n};\nexport var NotSupportClaimForMedicaidDialog = function () {\n return React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\" });\n};\nvar formatConditionLabel = function (params) {\n var label = params.label, count = params.count, loading = params.loading, showCount = params.showCount, showIndicator = params.showIndicator;\n return (React.createElement(React.Fragment, null,\n label,\n \"\\u00A0\",\n showCount && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(count)),\n ')')),\n showIndicator ? ' *' : ''));\n};\nexport var useConditionCount = function (params) {\n var indexConfig = useHostnameIndexInfo();\n var filterType = (params === null || params === void 0 ? void 0 : params.isPrimary) ? 'PRIMARY_CHRONIC_CONDITION' : 'CHRONIC_CONDITION';\n var _a = useFilterCount(filterType, indexConfig), countData = _a[0], rest = _a.slice(1);\n var isLoading = useMemo(function () { return countData.requesting === undefined ? true : countData.requesting; }, [countData.requesting]);\n var getLabelWithCount = useCallback(function (i) {\n var _a;\n return formatConditionLabel({\n label: i.label,\n count: (_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.value],\n loading: isLoading,\n showCount: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount,\n showIndicator: (params === null || params === void 0 ? void 0 : params.showCmsSourceIndicator) && Number(i.value) <= 64\n });\n }, [countData.data, isLoading, indexConfig, params]);\n return __spreadArrays([__assign(__assign({}, countData), { getLabelWithCount: getLabelWithCount })], rest);\n};\nexport var PrioritizedConditionSection = function (_a) {\n var _b, _c;\n var settings = _a.settings;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var primaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Primary];\n var keyConditions = (_c = lookupData.groupedCondition) === null || _c === void 0 ? void 0 : _c[ConditionType.Key];\n var _d = useFilterEditingValue('primaryCoMorbidities')[0], selectingPrimaryCondition = (_d === void 0 ? [] : _d)[0];\n var _e = useFilterEditingValue('comorbidities'), selectingConditions = _e[0], setSelectingConditions = _e[1];\n var indexConfig = useHostnameIndexInfo();\n var combinedKeyConditions = useMemo(function () {\n return Object.assign([]).concat((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useCheckboxesForPrimaryConditions) ? [] : (primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.filter(function (i) { return i.value !== selectingPrimaryCondition; })) || [], keyConditions || []);\n }, [primaryConditions, keyConditions, selectingPrimaryCondition, indexConfig]);\n if (!combinedKeyConditions.length)\n return null;\n return (React.createElement(StyledPrimaryConditionSection, { tag: \"fieldset\" },\n React.createElement(CheckboxGroup, { options: combinedKeyConditions, formatOptionLabel: countData.getLabelWithCount, input: textSearch, noAll: true, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue })));\n};\nexport var AdditionalConditionSection = function (_a) {\n var _b;\n var settings = _a.settings, isSingleSection = _a.isSingleSection, _c = _a.label, label = _c === void 0 ? 'Additional Condition Filters' : _c;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var additionalConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Other];\n var _d = useFilterEditingValue('comorbidities'), selectingConditions = _d[0], setSelectingConditions = _d[1];\n var _e = useFilterEditingValue('additionalConditions'), setSelectingAdditionalConditions = _e[1];\n var cmsDataSource = useFilterEditingValue('statistic', 'cmsDataSource')[0];\n var overrideCondition = useGeneralConfigByDataSource('overrideAdditionalConditionType');\n var onChange = function (value) {\n setSelectingAdditionalConditions(value);\n setSelectingConditions(value);\n };\n var optionConditions = useMemo(function () {\n var _a;\n var options = additionalConditions;\n if (typeof overrideCondition === 'number') {\n var extendConditions = ((_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[overrideCondition]) || additionalConditions;\n options = extendConditions;\n }\n return options;\n }, [additionalConditions, lookupData.groupedCondition, overrideCondition]);\n return (React.createElement(React.Fragment, null,\n isSingleSection || React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, label),\n React.createElement(\"div\", { className: isSingleSection ? 'ml-3' : '' },\n React.createElement(CheckboxGroup, { options: optionConditions, formatOptionLabel: countData.getLabelWithCount, input: textSearch, noAll: true, noSort: true, value: selectingConditions, onChange: onChange, sortValue: lookupData.sortValue })))));\n};\nexport var SecondaryConditionSection = function (_a) {\n var _b;\n var filterCountEffectDeps = _a.filterCountEffectDeps;\n var textSearch = useFilterEditingValue('textSearch')[0];\n var lookupData = useLookupConditionSortByType()[0];\n var secondaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Secondary];\n var _c = useFilterEditingValue('comorbidities'), selectingConditions = _c[0], setSelectingConditions = _c[1];\n var dataYearSeason = useFilterEditingValue('dataYearSeason')[0];\n var doSyncSecondary = useSynchronizedPrimaryCondition([ConditionType.Secondary])[0];\n var indexConfig = useHostnameIndexInfo();\n var _d = useFilterCount('CHRONIC_CONDITION', indexConfig), secondaryConditionCount = _d[0], fetchSecondaryConditionCount = _d[1];\n var filterCountLoading = secondaryConditionCount.requesting === undefined || secondaryConditionCount.requesting;\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(doSyncSecondary, [dataYearSeason]);\n useEffectFilterEditingCount(function (body) {\n fetchSecondaryConditionCount(__assign(__assign({}, body), { comorbidities: selectingConditions }));\n }, __spreadArrays([selectingConditions], (filterCountEffectDeps || [])), 'CONDITION');\n return (React.createElement(React.Fragment, null,\n React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Secondary Conditions\"),\n React.createElement(CheckboxGroup, { options: secondaryConditions, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(FilterCountLoading, { loading: filterCountLoading, value: getDisplayText((_a = secondaryConditionCount.data) === null || _a === void 0 ? void 0 : _a[i.value]) }))));\n }, input: textSearch, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue }))));\n};\nexport var PrimaryConditionSection = function (_a) {\n var _b;\n var settings = _a.settings, children = _a.children;\n var dataYear = useFilterEditingValue('dataYear')[0];\n var lookupData = useLookupConditionSortByType(undefined, dataYear)[0];\n var primaryConditionOptions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Primary];\n var countData = useConditionCount({ showCmsSourceIndicator: settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator })[0];\n var textSearch = useFilterEditingValue('textSearch')[0];\n var indexConfig = useHostnameIndexInfo();\n var _c = useFilterCount('PRIMARY_CHRONIC_CONDITION', indexConfig), primaryConditionCount = _c[0], fetchPrimaryConditionCount = _c[1];\n var _d = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryCoMorbidities = _d[0], setSelectingPrimaryCoMorbidities = _d[1];\n var _e = useFilterEditingValue('comorbidities'), selectingConditions = _e[0], setSelectingConditions = _e[1];\n var _f = useFilterEditingValue('primaryConditions'), selectingPrimaryCondition = _f[0], setSelectingPrimaryCondition = _f[1];\n useMount(function () {\n setSelectingPrimaryCoMorbidities(selectingPrimaryCondition || selectingPrimaryCoMorbidities);\n });\n useEffectFilterEditingCount(function (body) {\n if (primaryConditionOptions && primaryConditionOptions.length > 1) {\n fetchPrimaryConditionCount(__assign(__assign({}, body), { comorbidities: [], primaryCoMorbidities: primaryConditionOptions === null || primaryConditionOptions === void 0 ? void 0 : primaryConditionOptions.map(function (i) { return i.value; }) }));\n }\n }, [primaryConditionOptions], 'PRIMARY_CONDITION');\n var formatOptionLabel = useCallback(function (i) {\n var _a;\n return formatConditionLabel({\n label: i.label,\n count: (_a = primaryConditionCount.data) === null || _a === void 0 ? void 0 : _a[i.value],\n loading: primaryConditionCount.requesting,\n showCount: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount,\n showIndicator: (settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator) && Number(i.value) <= 64\n });\n }, [indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount, settings === null || settings === void 0 ? void 0 : settings.showCmsSourceIndicator, primaryConditionCount.data, primaryConditionCount.requesting]);\n var handleChange = function (value) {\n setSelectingPrimaryCoMorbidities([value]);\n setSelectingConditions(__spreadArrays([value], ((selectingConditions === null || selectingConditions === void 0 ? void 0 : selectingConditions.filter(function (cond, idx) { return idx && cond !== value; })) || [])));\n };\n var handleChangeCheckbox = function (value) {\n setSelectingPrimaryCondition(value);\n setSelectingPrimaryCoMorbidities(value);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(StyledConditions, null,\n React.createElement(StyledPrimaryCondition, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Primary Condition\")),\n children),\n React.createElement(\"div\", { className: \"ml-3\" }, !(primaryConditionOptions === null || primaryConditionOptions === void 0 ? void 0 : primaryConditionOptions.length) ? ('There is no primary condition associated with this Index.') : primaryConditionOptions.length === 1 ? (React.createElement(\"div\", { className: \"font-weight-bold\" }, countData.getLabelWithCount(primaryConditionOptions[0]))) : (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useCheckboxesForPrimaryConditions) ? (React.createElement(CheckboxGroup, { options: primaryConditionOptions, formatOptionLabel: formatOptionLabel, input: textSearch, noAll: true, noSort: true, value: selectingPrimaryCoMorbidities, onChange: handleChangeCheckbox, sortValue: lookupData.sortValue })) : (React.createElement(StyledPrimaryConditionSelect, { options: primaryConditionOptions, noSort: true, formatOptionLabel: formatOptionLabel, value: selectingPrimaryCoMorbidities === null || selectingPrimaryCoMorbidities === void 0 ? void 0 : selectingPrimaryCoMorbidities[0], name: \"primaryCondition\", onChange: handleChange }))))));\n};\nexport var ConditionTab = function (props) {\n var _a = useFilterEditingValue('textSearch'), textSearch = _a[0], setTextSearch = _a[1];\n var _b = useLookupCondition(), lookupConditionData = _b[0], fetchLookupCondition = _b[1];\n var _c = useConditionCount(), fetchConditionCountData = _c[1];\n var selectingPrimaryConditions = useFilterEditingValue('primaryCoMorbidities')[0];\n useMount(function () {\n fetchLookupCondition();\n });\n useEffectFilterEditingCount(function (body) {\n if (props.shouldCountOnConditionChange) {\n fetchConditionCountData(__assign(__assign({}, body), { comorbidities: selectingPrimaryConditions }));\n }\n }, __spreadArrays([selectingPrimaryConditions], (props.filterCountEffectDeps || [])), 'CONDITION');\n var handleSearchInputChange = function (event) {\n var value = event.target.value;\n setTextSearch(value);\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupConditionData.requesting, error: lookupConditionData.error, retry: fetchLookupCondition },\n React.createElement(Input, { className: \"flex-shrink-0 mb-2\", placeholder: \"Search...\", value: textSearch || '', onChange: handleSearchInputChange }),\n props.children)));\n};\nConditionTab.defaultProps = {\n tabId: 'ConditionTab',\n tabName: 'Conditions',\n tabSelector: function (props) { return React.createElement(CMSSourceTabSelector, __assign({}, props, { type: \"disabled\" })); },\n filterCountEffectDeps: [],\n shouldCountOnConditionChange: true,\n};\nexport var ClaimCondition = function () {\n var _a = useFilterEditingValue('claimNumber'), claimNumber = _a[0], setClaimNumber = _a[1];\n var _b = useFilterEditingValue('claimDay'), claimDay = _b[0], setClaimDay = _b[1];\n var defaultFilter = useDefaultFilter();\n var handleChangeClaimNumber = function (value) {\n setClaimNumber(value);\n if (value < 2) {\n setClaimDay();\n }\n else if (claimNumber && claimNumber < 2) {\n setClaimDay(defaultFilter.claimDay);\n }\n };\n return (React.createElement(StyledPrimaryConditionSection, null,\n \"Beneficiaries must have at least\",\n ' ',\n React.createElement(Select, { inline: true, width: \"4.5\", name: \"claimNumber\", options: CLAIM_NUMBERS, optionsTransform: function (cn) { return ({ value: cn, label: cn }); }, value: claimNumber, onChange: handleChangeClaimNumber }),\n ' ',\n \"claim(s)\",\n claimDay && (React.createElement(React.Fragment, null,\n ' ',\n React.createElement(Select, { inline: true, width: \"8.5\", name: \"claimDay\", options: CLAIM_DAYS, noSort: true, value: claimDay, onChange: setClaimDay }),\n \" days apart\")),\n React.createElement(React.Fragment, null, \" to be included in the index\")));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, FormGroup, Label } from 'reactstrap';\nimport { DATA_SOURCES } from '../configs';\nimport { RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { useAggregatedStatistic } from './aggregateddatasource';\nimport { getStatisticOption, GROUPED_STATISTIC_OPTIONS, getStatisticOptions } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks/useconfig';\nvar useStatisticEditing = function () {\n var _a = useFilterEditingValue('statistic', 'statisticOption'), statisticType = _a[0], setStatisticType = _a[1];\n var _b = useFilterEditingValue('statistic', 'statisticType'), setStatisticGroup = _b[1];\n var _c = useFilterEditingValue('statisticOptionType'), setStatisticTypeAggregated = _c[1];\n var _d = useFilterEditingValue('statisticType'), setStatisticGroupAggregated = _d[1];\n useEffect(function () {\n var _a;\n var staticsticGroup = (_a = getStatisticOption(statisticType)) === null || _a === void 0 ? void 0 : _a.group.value;\n setStatisticTypeAggregated(statisticType);\n setStatisticGroup(staticsticGroup);\n setStatisticGroupAggregated(staticsticGroup);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [statisticType]);\n return [statisticType, setStatisticType];\n};\nexport var StatisticTab = function (props) {\n var _a;\n var _b = useStatisticEditing(), statisticType = _b[0], setStatisticType = _b[1];\n var filterEditing = useFilterEditing();\n var aggregatedData = useAggregatedStatistic(filterEditing)[0];\n var availableStatisticsConfig = useGeneralConfigByDataSource('availableStatistic');\n var cmsDataSource = (_a = filterEditing.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n var availableStatistics = filterEditing.isAggregatedDataSource\n ? aggregatedData.data\n : cmsDataSource && (availableStatisticsConfig || DATA_SOURCES[cmsDataSource].availableStatistic);\n useEffect(function () {\n if ((availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.length) && !availableStatistics.some(function (v) { return v === statisticType; })) {\n var statisticOption = getStatisticOptions(availableStatistics)[0];\n setStatisticType(statisticOption.value);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [availableStatistics]);\n var isOptionDisabled = function (option) {\n return !!availableStatistics && !(availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.some(function (i) { return i === option.value; }));\n };\n return (React.createElement(TabPane, { tabId: props.tabId }, GROUPED_STATISTIC_OPTIONS.map(function (group) { return (React.createElement(FormGroup, { tag: \"fieldset\", key: group.value },\n React.createElement(Label, { className: \"font-weight-bold\" }, group.label),\n React.createElement(RadioGroup, { options: group.options, noSort: true, value: statisticType, onChange: setStatisticType, isOptionDisabled: isOptionDisabled }))); })));\n};\nStatisticTab.defaultProps = {\n tabId: 'StatisticTab',\n tabName: 'Statistics',\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { useFilterEditingValue } from '../state';\nimport { FallbackComponent, CheckboxGroup, ThreeDotLoading } from '../common';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { getDisplayText } from '../utils';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useLookupSexCode, LookupSexCodeComponent } from '../lookupdata';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useFilterCount } from './usefiltercount';\nexport var SexTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var _a = useLookupSexCode(), lookupSexCodeData = _a[0], fetchLookupSexCode = _a[1];\n var _b = useFilterCount('SEX_CODE', indexConfig), sexCodeCountData = _b[0], fetchSexCodeCount = _b[1];\n var _c = useFilterEditingValue('demographics', 'sexCodes'), sexCodes = _c[0], setSexCodes = _c[1];\n useEffectFilterEditingCount(function (body) {\n fetchSexCodeCount(body);\n }, props.filterCountEffectDeps, 'SEX');\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupSexCodeData.requesting, error: lookupSexCodeData.error, retry: fetchLookupSexCode },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Sex\"),\n React.createElement(CheckboxGroup, { options: lookupSexCodeData.data, noSort: true, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: sexCodeCountData.requesting }, getDisplayText((_a = sexCodeCountData.data) === null || _a === void 0 ? void 0 : _a[i.value])),\n ')'))));\n }, value: sexCodes, onChange: setSexCodes })),\n React.createElement(LookupSexCodeComponent, null)));\n};\nSexTab.defaultProps = {\n tabId: 'SexTab',\n tabName: 'Sex',\n tabSelector: CMSSourceTabSelector,\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useFilterEditingValue } from '../state';\nimport { FallbackComponent, CheckboxGroup, Select, ThreeDotLoading } from '../common';\nimport { getDisplayText } from '../utils';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { useEffectFilterEditingCount } from '../filterbar/useeffectfiltercount';\nimport { useLookupRaceCode, LookupRaceCodeComponent } from '../lookupdata';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { RaceMethodologyEnum, DataSourceEnum } from '../enums';\nimport { IconTooltip } from '../common/icontooltip';\nimport { useFilterCount } from './usefiltercount';\nvar METHODOLOGY_OPTIONS = [\n {\n value: RaceMethodologyEnum.Standard,\n label: 'Standard',\n },\n {\n value: RaceMethodologyEnum.RTI,\n label: 'RTI',\n },\n];\nvar StyledMethodologySelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 15rem;\\n\"], [\"\\n width: 15rem;\\n\"])));\nvar StyledHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledDiv = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\"], [\"\"])));\nvar Title = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n margin-bottom: 0.5rem;\\n\"])));\nvar BlueTitle = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 700;\\n color: #007bff;\\n margin-top: 0.5rem;\\n\"], [\"\\n font-weight: 700;\\n color: #007bff;\\n margin-top: 0.5rem;\\n\"])));\nexport var RaceTab = function (props) {\n var indexConfig = useHostnameIndexInfo();\n var cmsDataSource = useFilterEditingValue('statistic', 'cmsDataSource')[0];\n var _a = useFilterEditingValue('raceMethodology'), methodology = _a[0], setMethodology = _a[1];\n var _b = useLookupRaceCode(methodology), lookupRaceCodeData = _b[0], fetchLookupRaceCode = _b[1];\n var _c = useFilterCount('RACE_CODE', indexConfig), raceCodeCountData = _c[0], fetchRaceCodeCount = _c[1];\n var _d = useFilterCount('RTI_RACE_CODE', indexConfig), rtiRaceCodeCountData = _d[0], fetchRTIRaceCodeCount = _d[1];\n var _e = useFilterEditingValue('demographics', 'raceCodes'), raceCodes = _e[0], setRaceCodes = _e[1];\n var countData = methodology === RaceMethodologyEnum.Standard ? raceCodeCountData : rtiRaceCodeCountData;\n useEffectFilterEditingCount(function (body) {\n fetchRaceCodeCount(body);\n fetchRTIRaceCodeCount(body);\n }, props.filterCountEffectDeps, 'RACE');\n useEffect(function () {\n if (cmsDataSource === DataSourceEnum.Medicaid) {\n setMethodology(RaceMethodologyEnum.Standard);\n }\n }, [cmsDataSource, setMethodology]);\n useEffect(function () {\n if (lookupRaceCodeData.data) {\n // setRaceCodes(lookupRaceCodeData.data.map((i) => i.value));\n }\n }, [lookupRaceCodeData.data, setRaceCodes]);\n var HelperText = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(Title, null, \"What are the methodologies for selecting race?\"),\n \"There are two options for determining race / ethnicity populations in the Index.\",\n React.createElement(BlueTitle, null, \"Standard\"),\n \"Race/Ethnicity data as received from CMS. Race is self-reported and originates with the Social Security Administration. There is known underrepresentation in the Hispanic population since individuals may report their race in other population groups, such as Black or Caucasian.\",\n React.createElement(BlueTitle, null, \"RTI\"),\n \"Research Triangle Institute, a non-profit research organization, developed an algorithm for identifying Hispanic and Asian beneficiaries based on surname. The algorithm\\u00A0also\\u00A0incorporates CCW enhancements that reduce the number of beneficiaries with missing information.\\u00A0The result of applying this algorithm is the redistribution of the population demographics among the population groups reported to more accurately estimate the proportion of Hispanic beneficiaries.\"));\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n cmsDataSource !== DataSourceEnum.Medicaid && (React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(StyledHeader, null,\n React.createElement(StyledDiv, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Methodology\"),\n React.createElement(StyledMethodologySelect, { name: \"methodology\", options: METHODOLOGY_OPTIONS, noSort: true, value: methodology, onChange: setMethodology })),\n React.createElement(StyledDiv, null,\n React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\", maxWidth: \"min(80vw, 28rem)\", maxHeight: \"calc(90vh - 10rem)\", autohide: false }))))),\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Race\"),\n React.createElement(FallbackComponent, { requesting: lookupRaceCodeData.requesting, error: lookupRaceCodeData.error, retry: fetchLookupRaceCode },\n React.createElement(CheckboxGroup, { options: lookupRaceCodeData.data, noSort: true, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: countData.requesting }, getDisplayText((_a = countData.data) === null || _a === void 0 ? void 0 : _a[i.value])),\n ')'))));\n }, value: raceCodes, onChange: setRaceCodes })),\n React.createElement(LookupRaceCodeComponent, null)));\n};\nRaceTab.defaultProps = {\n tabId: 'RaceTab',\n tabName: 'Race/Ethnicity',\n tabSelector: CMSSourceTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { CheckboxGroup, Input, SimpleCheckbox, ThreeDotLoading } from '../common';\nimport { useFilterEditingValue } from '../state/filterediting';\nimport { CMSSourceTabSelector } from './tabselector';\nimport { AGE_OPTIONS } from '../lookupdata';\nimport { useEffectFilterEditingCount } from '../filterbar';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { getDisplayText } from '../utils';\nimport { useFilterCount } from './usefiltercount';\nvar MAX_AGE_RANGE = 999;\nvar StyledCustomAgeInput = styled(Input)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 5rem;\\n display: inline-block;\\n\\n @media only screen and (max-width: 420px) {\\n width: 3.5rem;\\n }\\n\"], [\"\\n width: 5rem;\\n display: inline-block;\\n\\n @media only screen and (max-width: 420px) {\\n width: 3.5rem;\\n }\\n\"])));\nexport var useAgeGroupCount = function (indexConfig) {\n return useFilterCount('AGE_GROUP_CODE', indexConfig);\n};\nvar AGE_GROUP_CODE = {\n \" - 18\": 0,\n \"19 - 49\": 1,\n \"50 - 64\": 2,\n \"65 - 74\": 3,\n \"75 - 80\": 4,\n \"81 - \": 5,\n};\nvar AgeCountComponent = function (_a) {\n var loading = _a.loading, value = _a.value;\n return (React.createElement(React.Fragment, null,\n '(',\n React.createElement(ThreeDotLoading, { loading: loading }, getDisplayText(value)),\n ')'));\n};\nexport var AgeTab = function (props) {\n var _a, _b, _c;\n var _d = useFilterEditingValue('demographics', 'ages'), ages = _d[0], setAges = _d[1];\n var indexConfig = useHostnameIndexInfo();\n var _e = useState(!!((_a = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _a === void 0 ? void 0 : _a.isCustom)), isCustomAge = _e[0], setIsCustomAge = _e[1];\n var _f = useAgeGroupCount(indexConfig), ageGroupCount = _f[0], fetchAgeGroupCount = _f[1];\n var filterCountEnabled = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && props.filterCountEnabled;\n var handleFetchAgeGroupCount = function (payload) {\n filterCountEnabled && fetchAgeGroupCount(payload);\n };\n useEffect(function () {\n if (isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages[0]) && !ages[0].isCustom) {\n setIsCustomAge(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ages]);\n useEffectFilterEditingCount(function (body) {\n if (filterCountEnabled) {\n handleFetchAgeGroupCount(body);\n }\n }, __spreadArrays((props.filterCountEffectDeps || []), [isCustomAge]));\n /**\n * Refetch when custom age range has changed\n */\n useEffectFilterEditingCount(function (body) {\n if (isCustomAge) {\n handleFetchAgeGroupCount(body);\n }\n }, __spreadArrays((props.filterCountEffectDeps || []), [ages]));\n var handleChangeCheckboxGroup = function (values) {\n var agesUniq = _.uniqWith(values, function (arr, other) { return arr.minAge === other.minAge && arr.maxAge === other.maxAge; });\n setAges(agesUniq);\n };\n var handleChangeCustomAgeCheckbox = function (event) {\n setIsCustomAge(event.target.checked);\n setAges(event.target.checked ? [{ isCustom: true }] : undefined);\n };\n var handleChangeCustomAgeInput = function (value, name) {\n var _a;\n var newValue = __assign(__assign({}, ages === null || ages === void 0 ? void 0 : ages[0]), (_a = { isCustom: true }, _a[name] = value, _a));\n if (value === undefined && (ages === null || ages === void 0 ? void 0 : ages[0]) && newValue.minAge === undefined && newValue.maxAge === undefined) {\n setAges();\n }\n else {\n setAges([newValue]);\n }\n };\n var getAgeGroupCode = function (_a) {\n var minAge = _a.minAge, maxAge = _a.maxAge;\n var ageGroup = (minAge || '') + \" - \" + (maxAge || '');\n return AGE_GROUP_CODE[ageGroup];\n };\n var renderAgeCount = function (value) {\n var _a;\n return filterCountEnabled && (React.createElement(AgeCountComponent, { loading: ageGroupCount.requesting, value: (_a = ageGroupCount.data) === null || _a === void 0 ? void 0 : _a[getAgeGroupCode(value)] }));\n };\n var renderCustomAgeGroupCount = function () { return filterCountEnabled && isCustomAge && (React.createElement(AgeCountComponent, { loading: ageGroupCount.requesting, value: (ageGroupCount === null || ageGroupCount === void 0 ? void 0 : ageGroupCount.data) ? Object.values(ageGroupCount === null || ageGroupCount === void 0 ? void 0 : ageGroupCount.data).reduce(function (acc, val) { return acc + val; }, 0) : null })); };\n var customMinAge = isCustomAge ? (_b = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _b === void 0 ? void 0 : _b.minAge : undefined;\n var customMaxAge = isCustomAge ? (_c = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _c === void 0 ? void 0 : _c.maxAge : undefined;\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Age\"),\n React.createElement(CheckboxGroup, { options: AGE_OPTIONS, noSort: true, value: ages, formatOptionLabel: function (i) { return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n renderAgeCount(i.value))); }, onChange: handleChangeCheckboxGroup, disabled: function (i) { return isCustomAge; } }),\n React.createElement(FormGroup, { check: true },\n React.createElement(SimpleCheckbox, { checked: isCustomAge, onChange: handleChangeCustomAgeCheckbox, disabled: !isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages.length), label: React.createElement(React.Fragment, null,\n ' ',\n \"Custom\",\n isCustomAge && React.createElement(\"span\", { className: \"text-danger\" }, \"*\"),\n \": From\") }),\n \"\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"minAge\", type: \"number\", disabled: !isCustomAge, min: 0, max: customMaxAge !== undefined ? customMaxAge : MAX_AGE_RANGE, value: customMinAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0To\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"maxAge\", type: \"number\", disabled: !isCustomAge, min: customMinAge || 0, max: MAX_AGE_RANGE, value: customMaxAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0\",\n renderCustomAgeGroupCount())));\n};\nAgeTab.defaultProps = {\n tabId: 'AgeTab',\n tabName: 'Age',\n tabSelector: CMSSourceTabSelector,\n filterCountEnabled: false\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar _a, _b, _c;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { TabPane, Label, FormGroup, Input } from 'reactstrap';\nimport { AggregatedSourceTabSelector } from './tabselector';\nimport { Button, RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { SexTab } from './sextab';\nimport { RaceTab } from './racetab';\nimport { AgeTab } from './agetab';\nimport { useAggregatedDemogaphic } from './aggregateddatasource';\nvar StyledClearButton = styled(Button)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0;\\n margin-left: 0.5rem;\\n pointer-events: auto;\\n text-decoration: underline;\\n\"], [\"\\n padding: 0;\\n margin-left: 0.5rem;\\n pointer-events: auto;\\n text-decoration: underline;\\n\"])));\nvar AggregatedCategoryTab = function (props) {\n var textSearch = useFilterEditingValue('textSearch')[0];\n var _a = useFilterEditingValue('filteringCategoryType'), categoryType = _a[0], setCategoryType = _a[1];\n var _b = useFilterEditingValue('filteringCategoryValue'), categoryValue = _b[0], setCategoryValue = _b[1];\n var _c = useFilterEditingValue('filteringCategoryUiName'), setCategoryUiName = _c[1];\n var filterEditing = useFilterEditing();\n var agrregatedData = useAggregatedDemogaphic(filterEditing, props.categoryType)[0];\n var selectingValue = categoryType === props.categoryType ? categoryValue : undefined;\n useEffect(function () {\n setCategoryType();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterEditing.dataSourceName]);\n var handleChange = function (value, payload) {\n setCategoryType(props.categoryType);\n setCategoryValue(value);\n setCategoryUiName(payload.label);\n };\n var clear = function () {\n setCategoryType();\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, props.title),\n React.createElement(RadioGroup, { input: textSearch, options: agrregatedData.data, optionsTransform: function (i) { return ({ value: i.name, label: i.uiName }); }, value: selectingValue, onChange: handleChange }),\n React.createElement(FormGroup, { check: true, className: \"mt-3\" },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", checked: selectingValue === undefined, onChange: clear }),\n \" Clear filter choice\"))));\n};\nexport var AggregatedSexTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Sex\", categoryType: \"SEX\" })); };\nexport var AggregatedRaceTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Race\", categoryType: \"RACE\" })); };\nexport var AggregatedAgeTab = function (props) { return React.createElement(AggregatedCategoryTab, __assign({}, props, { title: \"Age\", categoryType: \"AGE\" })); };\nexport var AggregatedDemographicTab = function () { return null; };\nvar AggregatedCategoryTabSelector = function (props) {\n var categoryType = props.categoryType, rest = __rest(props, [\"categoryType\"]);\n var filteringCategoryType = useFilterEditingValue('filteringCategoryType')[0];\n return (React.createElement(AggregatedSourceTabSelector, __assign({}, rest),\n React.createElement(FormGroup, { check: true },\n React.createElement(Label, { check: true },\n React.createElement(Input, { type: \"radio\", checked: categoryType === filteringCategoryType, onChange: function () { } }),\n \" \",\n props.children))));\n};\nvar AggregatedDemographicTabSelector = function (props) {\n var _a = useFilterEditingValue('filteringCategoryType'), setCategoryType = _a[1];\n var handleClear = function () {\n setCategoryType();\n };\n return (React.createElement(AggregatedSourceTabSelector, __assign({}, props, { disabled: true }),\n props.children,\n React.createElement(StyledClearButton, { color: \"link\", message: \"Clear\", onClick: handleClear })));\n};\nAggregatedSexTab.defaultProps = {\n tabId: 'AggregatedSexTab',\n tabName: (_a = SexTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"SEX\" })); },\n};\nAggregatedRaceTab.defaultProps = {\n tabId: 'AggregatedRaceTab',\n tabName: (_b = RaceTab.defaultProps) === null || _b === void 0 ? void 0 : _b.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"RACE\" })); },\n};\nAggregatedAgeTab.defaultProps = {\n tabId: 'AggregatedAgeTab',\n tabName: (_c = AgeTab.defaultProps) === null || _c === void 0 ? void 0 : _c.tabName,\n tabSelector: function (props) { return React.createElement(AggregatedCategoryTabSelector, __assign({}, props, { categoryType: \"AGE\" })); },\n};\nAggregatedDemographicTab.defaultProps = {\n tabId: 'AggregatedDemographicTab',\n tabName: 'Demographics',\n tabSelector: AggregatedDemographicTabSelector,\n};\nvar templateObject_1;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { RadioGroup } from '../common';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { GEO_LEVELS } from '../lookupdata';\nimport { useAggregatedGeoLevel } from './aggregateddatasource';\nimport { useGeneralConfigByDataSource } from '../hooks';\nexport var GeoLevelTab = function (props) {\n var _a = useFilterEditingValue('geoLevel'), geoLevel = _a[0], setGeoLevel = _a[1];\n var filterEdditing = useFilterEditing();\n var aggregatedGeoLevelData = useAggregatedGeoLevel(filterEdditing)[0];\n var availableGeography = useGeneralConfigByDataSource('availableGeography');\n useEffect(function () {\n var _a;\n if (filterEdditing.isAggregatedDataSource && ((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.length) && !aggregatedGeoLevelData.data.some(function (i) { return i === geoLevel; })) {\n setGeoLevel(aggregatedGeoLevelData.data[0]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [filterEdditing.isAggregatedDataSource, aggregatedGeoLevelData.data]);\n var isOptionDisabled = function (option) { var _a; return !!filterEdditing.isAggregatedDataSource && !((_a = aggregatedGeoLevelData.data) === null || _a === void 0 ? void 0 : _a.some(function (i) { return i === option.value; })); };\n var isOptionDisabledByGeneralConfig = function (option) { return Array.isArray(availableGeography) && !availableGeography.includes(option.value); };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Select a geographic level\"),\n React.createElement(RadioGroup, { options: GEO_LEVELS, noSort: true, value: geoLevel, onChange: setGeoLevel, isOptionDisabled: isOptionDisabledByGeneralConfig || isOptionDisabled })));\n};\nGeoLevelTab.defaultProps = {\n tabId: 'geoLevelTab',\n tabName: 'Geography',\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { CheckboxGroup } from '../common';\nimport { DATA_SOURCES } from '../configs';\nimport { useFilterEditingValue, useFilterEditing } from '../state/filterediting';\nimport { CONSUMPTION_GROUP_OPTIONS } from '../lookupdata';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { IconTooltip } from '../common/icontooltip';\nimport { useGeneralConfigByDataSource } from '../hooks/useconfig';\nimport { useFilterCount } from './usefiltercount';\nimport { useEffectFilterEditingCount } from '../filterbar';\nimport { FilterCountLoading } from './filtercountloading';\nvar StyledFormGroup = styled(FormGroup)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 100%;\\n\"], [\"\\n width: 100%;\\n\"])));\nvar StyledTabPane = styled(TabPane)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n &.active {\\n display: flex;\\n }\\n\"], [\"\\n &.active {\\n display: flex;\\n }\\n\"])));\nvar StyledHeader = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n justify-content: space-between;\\n\"])));\nvar StyledDiv = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nexport var useSupportConsumptionGroup = function (filterSetting) {\n var _a;\n var isAggregatedDataSource = filterSetting.isAggregatedDataSource;\n var cmsDataSource = (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource;\n return useMemo(function () {\n var _a;\n return isAggregatedDataSource || !cmsDataSource ? false : !!((_a = DATA_SOURCES[cmsDataSource]) === null || _a === void 0 ? void 0 : _a.supportConsumptionGroup);\n }, [isAggregatedDataSource, cmsDataSource]);\n};\nvar ConsumptionGroupTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSupportConsumptionGroup = useSupportConsumptionGroup(useFilterEditing());\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: !isSupportConsumptionGroup })));\n};\nexport var ConsumptionGroupTab = function (props) {\n var _a = useFilterEditingValue('consumptionGroupClasses'), consumptionGroups = _a[0], setConsumptionGroups = _a[1];\n var isSupportConsumptionGroup = useSupportConsumptionGroup(useFilterEditing());\n var defaultFilter = useDefaultFilter();\n var availableConsumption = useGeneralConfigByDataSource('availableConsumption');\n var indexConfig = useHostnameIndexInfo();\n var _b = useFilterCount('CONSUMPTION_GROUP', indexConfig), consumptionGroupCount = _b[0], fetchConsumptionGroupCount = _b[1];\n var filterCountEnabled = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.filterCount) && props.filterCountEnabled;\n useEffectFilterEditingCount(function (body) {\n if (filterCountEnabled) {\n fetchConsumptionGroupCount(body);\n }\n }, props.filterCountEffectDeps);\n useEffect(function () {\n if (isSupportConsumptionGroup) {\n var consumptionDefault = defaultFilter.consumptionGroupClasses;\n if (availableConsumption) {\n consumptionDefault = _.intersection(defaultFilter.consumptionGroupClasses, availableConsumption);\n }\n setConsumptionGroups(consumptionDefault);\n }\n else {\n setConsumptionGroups([]);\n }\n }, [availableConsumption, defaultFilter.consumptionGroupClasses, isSupportConsumptionGroup, setConsumptionGroups]);\n var HelperText = function () {\n return (React.createElement(React.Fragment, null, \"Consumption groups are based on total Medicare costs per beneficiary. Each group represents a segment of Medicare FFS beneficiaries whose expenditures for the selected year places them in the specified percentile range. This filter option is intended to reflect a distribution of Medicare utilization.\"));\n };\n var isDisabled = React.useCallback(function (_a) {\n var value = _a.value;\n if (!availableConsumption)\n return false;\n return !availableConsumption.includes(value);\n }, [availableConsumption]);\n if (!isSupportConsumptionGroup)\n return null;\n return (React.createElement(StyledTabPane, { tabId: props.tabId },\n React.createElement(StyledFormGroup, null,\n React.createElement(StyledHeader, null,\n React.createElement(StyledDiv, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Consumption Group Class\")),\n React.createElement(StyledDiv, null,\n React.createElement(IconTooltip, { title: React.createElement(HelperText, null), placement: \"bottom-end\", maxWidth: \"min(80vw, 28rem)\", maxHeight: \"calc(90vh - 10rem)\", autohide: false }))),\n React.createElement(CheckboxGroup, { options: CONSUMPTION_GROUP_OPTIONS, value: consumptionGroups, formatOptionLabel: function (i) {\n var _a;\n return (React.createElement(React.Fragment, null,\n i.label,\n \"\\u00A0\",\n filterCountEnabled && (React.createElement(FilterCountLoading, { loading: consumptionGroupCount.requesting, value: (_a = consumptionGroupCount.data) === null || _a === void 0 ? void 0 : _a[i.value] }))));\n }, disabled: isDisabled, onChange: setConsumptionGroups, noSort: true, allText: \"All consumption groups\" }))));\n};\nConsumptionGroupTab.defaultProps = {\n tabId: 'ConsumptionGroupTab',\n tabName: 'Consumption Group',\n tabSelector: ConsumptionGroupTabSelector,\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, Children, useEffect } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, TabContent, Card, ListGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport * as Yup from 'yup';\nimport { useResetFilterEditing, useFilterEditing } from '../state/filterediting';\nimport { exportFilterSettingPayload, useFilterSetting, useResetFilter } from '../state/filtersettings';\nimport { Button, AlertMessage, IconButton } from '../common';\nimport { LeftTabSelectorItem } from './tabselector';\nimport { useResetViewSetting, useViewValue } from '../state';\nimport { useDefaultFilter } from '../hostnameindexinfo';\nimport { getFlattenErrors, getValidationSchema, isEmpty } from '../utils';\nimport { useStoredUIValue } from '../storeduivalue';\nimport { useProviderSetting } from '../selectors';\nimport { RightPanelTypeEnum } from '../enums';\nimport { useToggle } from '../hooks';\nvar HAMBURGER_MEDIA_SCREEN = 995;\nvar StyledModal = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledRestoreDefaultButton = styled(Button)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n text-decoration: underline;\\n\"], [\"\\n text-decoration: underline;\\n\"])));\nvar StyledModalBody = styled(ModalBody)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"], [\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerGroup = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: none;\\n margin-bottom: -1rem;\\n padding: 0.5rem 0;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n display: none;\\n margin-bottom: -1rem;\\n padding: 0.5rem 0;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerButton = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(IconButton, __assign({}, props));\n})(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledTabSelectors = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(ListGroup, __assign({}, props));\n})(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 3rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"], [\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 3rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN, function (_a) {\n var show = _a.show;\n return (show ? 'display: block;' : '');\n});\nvar StyledTabContent = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"], [\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"])));\nvar validationAgeSchema = Yup.object().shape({\n demographics: Yup.object().shape({\n ages: Yup.array().of(Yup.object().shape({\n isCustom: Yup.boolean(),\n minAge: Yup.number().when('isCustom', {\n is: true,\n then: Yup.number().nullable().required('Custom Age: \"From\" is Required'),\n }),\n maxAge: Yup.number().when('isCustom', {\n is: true,\n then: Yup.number().nullable().required('Custom Age: \"To\" is Required'),\n }),\n })),\n }),\n});\nvar RestoreDefaultButton = function () {\n var defaultFilter = useDefaultFilter();\n var resetFilterEditing = useResetFilterEditing();\n var handleClick = function () {\n resetFilterEditing(defaultFilter);\n };\n return React.createElement(StyledRestoreDefaultButton, { color: \"link\", message: \"Restore defaults\", onClick: handleClick });\n};\nexport var FilterDialog = function (props) {\n var isOpen = props.isOpen, toggle = props.toggle;\n var _a = useState(props.defaultActiveTab), activeTab = _a[0], setActiveTab = _a[1];\n var _b = useViewValue('geoType'), geoLevel = _b[0], setGeoLevel = _b[1];\n var _c = useViewValue('selectedRegion'), setSelectedRegion = _c[1];\n var filterSetting = useFilterSetting();\n var resetFilterEditing = useResetFilterEditing();\n var editingFilter = useFilterEditing();\n var resetFilter = useResetFilter();\n var _d = useState(), error = _d[0], setError = _d[1];\n var defaultFilter = useDefaultFilter();\n var resetViewSetting = useResetViewSetting();\n var storedUIValueData = useStoredUIValue()[0];\n var _e = useProviderSetting(editingFilter), shouldDisabledProviderSelection = _e[0].disabled, setProviderSetting = _e[1];\n var validationSchemaProps = props.validationSchema ? validationAgeSchema.concat(getValidationSchema(props.validationSchema)) : validationAgeSchema;\n var _f = useToggle(), show = _f[0], toggleShow = _f[1], setShow = _f[2];\n useEffect(function () {\n var _a, _b;\n if (storedUIValueData.session) {\n var filterValue = __assign(__assign({}, defaultFilter), (_a = storedUIValueData.data) === null || _a === void 0 ? void 0 : _a.filterSetting);\n var selectedConditions = __spreadArrays((filterValue.primaryCoMorbidities || []), (filterValue.comorbidities || []));\n filterValue = __assign(__assign({}, filterValue), { primaryCoMorbidities: selectedConditions.filter(function (c) { var _a; return (_a = defaultFilter.indexPrimaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.includes(c); }), comorbidities: selectedConditions.filter(function (c) { var _a; return !((_a = defaultFilter.indexPrimaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.includes(c)); }) });\n var viewSetting = __assign({ geoType: filterValue.geoLevel }, (_b = storedUIValueData.data) === null || _b === void 0 ? void 0 : _b.viewSetting);\n var errors = filterValue.isAggregatedDataSource ? undefined : getFlattenErrors(validationSchemaProps, exportFilterSettingPayload(filterValue));\n resetFilter(__assign(__assign({}, filterValue), { available: isEmpty(errors) }));\n resetViewSetting(viewSetting);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [storedUIValueData.session]);\n useEffect(function () {\n setActiveTab(props.defaultActiveTab);\n }, [props.defaultActiveTab]);\n useEffect(function () {\n if (isOpen) {\n resetFilterEditing(__assign(__assign({}, filterSetting), { geoLevel: geoLevel }));\n setActiveTab(props.defaultActiveTab);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOpen]);\n var handleOK = function () {\n var errors;\n if (!editingFilter.isAggregatedDataSource) {\n errors = getFlattenErrors(validationSchemaProps, exportFilterSettingPayload(editingFilter));\n }\n setError(errors);\n if (!isEmpty(errors)) {\n return;\n }\n setGeoLevel(editingFilter.geoLevel);\n resetFilter(__assign(__assign({}, editingFilter), { available: true }));\n if (shouldDisabledProviderSelection) {\n setProviderSetting({});\n }\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n toggle();\n };\n var toggleTabSelector = function (tabId) {\n setActiveTab(tabId);\n setShow(false);\n };\n var tabSelectors = Children.map(props.children, function (child) {\n return (React.createElement(LeftTabSelectorItem, { activeTab: activeTab, toggleTab: toggleTabSelector, tabId: child.props.tabId, tabName: child.props.tabName, tabSelector: child.props.tabSelector }));\n });\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledModal, { size: \"lg\", unmountOnClose: false, isOpen: isOpen, toggle: toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: toggle },\n React.createElement(FontAwesomeIcon, { icon: \"filter\", size: \"lg\" }),\n React.createElement(\"span\", null, \" Filters \"),\n React.createElement(RestoreDefaultButton, null)),\n React.createElement(StyledModalBody, null,\n React.createElement(HamburgerGroup, null,\n React.createElement(HamburgerButton, { color: \"#000\", icon: show ? 'times' : 'bars', size: \"2x\", onClick: toggleShow }),\n React.createElement(\"h5\", { className: \"m-0\" }, React.Children.map(props.children, function (child) { return (child.props.tabId === activeTab ? child.props.tabName : null); }))),\n React.createElement(StyledTabSelectors, { show: show }, tabSelectors),\n React.createElement(StyledTabContent, null,\n React.createElement(Card, { body: true, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(TabContent, { activeTab: activeTab }, props.children)))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"secondary\", onClick: toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", onClick: handleOK }, \"Apply\"))),\n React.createElement(AlertMessage, { errors: error })));\n};\nexport * from './datayeartab';\nexport * from './datayearseasontab';\nexport * from './conditiontab';\nexport * from './statistictab';\nexport * from './sextab';\nexport * from './racetab';\nexport * from './agetab';\nexport * from './aggregateddemographictab';\nexport * from './geoleveltab';\nexport * from './tabselector';\nexport * from './consumptiongroup';\nexport * from './usefiltercount';\nexport * from './filtercountloading';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ReportTypeEnum;\n(function (ReportTypeEnum) {\n ReportTypeEnum[\"CongressionalDetailAnalysis\"] = \"CONGRESSIONAL_DETAIL_ANALYSIS\";\n ReportTypeEnum[\"ZipCodeDetailAnalysis\"] = \"ZIP_CODE_DETAIL_ANALYSIS\";\n})(ReportTypeEnum || (ReportTypeEnum = {}));\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\nimport { useCallback, useMemo } from 'react';\nimport { ChronicConditionSource, PrimaryConditionsSortTypeEnum, SecondaryConditionsSortTypeEnum, KeyCombineConditionSource, } from '../enums';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useCachedData, useFilterEditingValue } from '../state';\nimport _ from 'lodash';\nimport { useReportsDialogValue } from '../reportsdialogextension';\nvar LOOKUP_CONDITION_API = '/api/general/lookup/get-lookup-chronic-condition';\nexport var useLookupCondition = function (values) {\n var _a = useCachedData(LOOKUP_CONDITION_API), lookupConditionData = _a[0], res = _a.slice(1);\n var labeledValues = useMemo(function () {\n var _a;\n return ((values === null || values === void 0 ? void 0 : values.length) && ((_a = lookupConditionData.data) === null || _a === void 0 ? void 0 : _a.length)\n ? values === null || values === void 0 ? void 0 : values.map(function (value) { var _a; return (_a = lookupConditionData.data) === null || _a === void 0 ? void 0 : _a.find(function (option) { return option.chronicConditionCode === value; }); }).filter(function (option) { return !!option; }) : []);\n }, [values, lookupConditionData.data]);\n return __spreadArrays([__assign(__assign({}, lookupConditionData), { labeledValues: labeledValues })], res);\n};\nexport var LookupConditionComponent = function () {\n var _a = useLookupCondition(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\nexport var ConditionType;\n(function (ConditionType) {\n ConditionType[ConditionType[\"Primary\"] = 0] = \"Primary\";\n ConditionType[ConditionType[\"Key\"] = 1] = \"Key\";\n ConditionType[ConditionType[\"Other\"] = 2] = \"Other\";\n ConditionType[ConditionType[\"Secondary\"] = 3] = \"Secondary\";\n})(ConditionType || (ConditionType = {}));\nexport var getConditionsByDataSet = function (conditionByDataSet, cmsDataSource, dataYear, key) {\n if (key === void 0) { key = 'conditions'; }\n if (!conditionByDataSet)\n return undefined;\n var conditionByDataSource = cmsDataSource ? conditionByDataSet[cmsDataSource] : undefined;\n var conditionByDataSourceSetAllYear = conditionByDataSource === null || conditionByDataSource === void 0 ? void 0 : conditionByDataSource.find(function (conditions) { return conditions.dataYear === undefined; });\n var conditionByDataSourceAndDataYear = conditionByDataSource === null || conditionByDataSource === void 0 ? void 0 : conditionByDataSource.find(function (conditions) { return String(conditions.dataYear) === String(dataYear); });\n return _.get(conditionByDataSourceAndDataYear, key, undefined) || _.get(conditionByDataSourceSetAllYear, key, undefined);\n};\nvar compareCondition = function (a, b, indexConfig, cmsDataSource, dataYear, parameters) {\n var _a = (indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}, primaryConditions = _a.primaryConditions, primaryConditionsSortType = _a.primaryConditionsSortType, secondaryConditionsConfig = _a.secondaryConditions, secondaryConditionsSortType = _a.secondaryConditionsSortType, filtersConfigByDataSource = _a.filtersConfigByDataSource;\n var secondaryConditions = (parameters || {}).secondaryConditions;\n var primaryConditionByDataSourceAndYear = getConditionsByDataSet(filtersConfigByDataSource, cmsDataSource, dataYear);\n var primaryConditionWithoutClaims = getConditionsByDataSet(filtersConfigByDataSource, cmsDataSource, dataYear, 'primaryConditionWithoutClaims');\n var fullPrimaryCondition = primaryConditionWithoutClaims || primaryConditionByDataSourceAndYear || primaryConditions;\n var fullSecondaryConditions = secondaryConditions || secondaryConditionsConfig;\n return !a || !b\n ? 0\n : a.type - b.type\n ? a.type - b.type\n : b.type === ConditionType.Key\n ? parseInt(a.value, 10) - parseInt(b.value, 10)\n : b.type === ConditionType.Primary && fullPrimaryCondition && primaryConditionsSortType === PrimaryConditionsSortTypeEnum.Specifically\n ? fullPrimaryCondition.indexOf(a.value) - fullPrimaryCondition.indexOf(b.value)\n : b.type === ConditionType.Secondary && fullSecondaryConditions && secondaryConditionsSortType === SecondaryConditionsSortTypeEnum.Specifically\n ? fullSecondaryConditions.indexOf(a.value) - fullSecondaryConditions.indexOf(b.value)\n : a.label.toLocaleLowerCase().localeCompare(b.label.toLocaleLowerCase());\n};\nexport var useSynchronizedConditionReport = function (conditionType) {\n var _a, _b;\n if (conditionType === void 0) { conditionType = ConditionType.Primary; }\n var indexConfig = useHostnameIndexInfo();\n var _c = useReportsDialogValue('secondaryCormorbidities'), selectingSecondaryCormorbidities = _c[0], setSelectingSecondaryCormorbidities = _c[1];\n var lookupData = useLookupConditionSortByType()[0];\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[conditionType];\n var comorbiditiesDefaultFilter = useMemo(function () { var _a; return ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _a === void 0 ? void 0 : _a.comorbidities) || []; }, [(_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _b === void 0 ? void 0 : _b.comorbidities]);\n var doSynchronize = useCallback(function () {\n var conditionsValues = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n if (conditionType === ConditionType.Secondary) {\n var selectingComorbiditiesFilter = selectingSecondaryCormorbidities === null || selectingSecondaryCormorbidities === void 0 ? void 0 : selectingSecondaryCormorbidities.filter(function (condition) { return (conditionsValues === null || conditionsValues === void 0 ? void 0 : conditionsValues.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingSecondaryCormorbidities(selectingComorbiditiesFilter);\n }\n }, [\n conditionType,\n comorbiditiesDefaultFilter,\n primaryConditions,\n selectingSecondaryCormorbidities,\n setSelectingSecondaryCormorbidities,\n ]);\n return [doSynchronize];\n};\nexport var useSynchronizedPrimaryCondition = function (conditionTypes) {\n var _a;\n if (conditionTypes === void 0) { conditionTypes = [ConditionType.Primary]; }\n var _b = useFilterEditingValue('primaryConditions'), selectingPrimaryConditions = _b[0], setSelectingPrimaryConditions = _b[1];\n var _c = useFilterEditingValue('additionalConditions'), selectingAdditionalConditions = _c[0], setSelectingAdditionalConditions = _c[1];\n var _d = useFilterEditingValue('primaryCoMorbidities'), selectingPrimaryCoMorbidities = _d[0], setSelectingPrimaryCoMorbidities = _d[1];\n var _e = useFilterEditingValue('comorbidities'), selectingComorbidities = _e[0], setSelectingComorbidities = _e[1];\n var _f = useFilterEditingValue('primaryConditionWithClaimsOptionals'), selectingPrimaryConditionWithoutClaimsOptionals = _f[0], setSelectingPrimaryConditionWithoutClaimsOptionals = _f[1];\n var indexConfig = useHostnameIndexInfo();\n var useMBSFChronicCondition = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useMBSFChronicCondition;\n var lookupData = useLookupConditionSortByType()[0];\n var comorbiditiesDefaultFilter = useMemo(function () {\n var _a, _b, _c, _d;\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var primaryConditionsValues = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n if (!useMBSFChronicCondition)\n return ((_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _b === void 0 ? void 0 : _b.comorbidities) || [];\n return (_d = (_c = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _c === void 0 ? void 0 : _c.comorbidities) === null || _d === void 0 ? void 0 : _d.filter(function (condition) { return primaryConditionsValues === null || primaryConditionsValues === void 0 ? void 0 : primaryConditionsValues.includes(condition); });\n }, [\n (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.defaultFilter) === null || _a === void 0 ? void 0 : _a.comorbidities,\n useMBSFChronicCondition,\n lookupData.groupedCondition,\n ]);\n var doSynchronize = useCallback(function () {\n var _a, _b, _c;\n if (conditionTypes.includes(ConditionType.Primary)) {\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var primaryConditionsValues_1 = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n var selectingPrimaryConditionsFilter = selectingPrimaryConditions === null || selectingPrimaryConditions === void 0 ? void 0 : selectingPrimaryConditions.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingComorbiditiesFilter = selectingComorbidities === null || selectingComorbidities === void 0 ? void 0 : selectingComorbidities.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingPrimaryCoMorbiditiesFilter = selectingPrimaryCoMorbidities === null || selectingPrimaryCoMorbidities === void 0 ? void 0 : selectingPrimaryCoMorbidities.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n var selectingPrimaryConditionWithoutClaimsOptionalsFilter = selectingPrimaryConditionWithoutClaimsOptionals === null || selectingPrimaryConditionWithoutClaimsOptionals === void 0 ? void 0 : selectingPrimaryConditionWithoutClaimsOptionals.filter(function (condition) { return (primaryConditionsValues_1 === null || primaryConditionsValues_1 === void 0 ? void 0 : primaryConditionsValues_1.includes(condition)) || comorbiditiesDefaultFilter.includes(condition); });\n setSelectingPrimaryConditions(selectingPrimaryConditionsFilter);\n setSelectingPrimaryCoMorbidities((selectingPrimaryCoMorbiditiesFilter === null || selectingPrimaryCoMorbiditiesFilter === void 0 ? void 0 : selectingPrimaryCoMorbiditiesFilter.length) ? selectingPrimaryCoMorbiditiesFilter : comorbiditiesDefaultFilter.slice(0, 1) || []);\n setSelectingComorbidities(selectingComorbiditiesFilter);\n setSelectingPrimaryConditionWithoutClaimsOptionals(selectingPrimaryConditionWithoutClaimsOptionalsFilter);\n return;\n }\n if (conditionTypes.includes(ConditionType.Secondary)) {\n var primaryConditions = (_b = lookupData.groupedCondition) === null || _b === void 0 ? void 0 : _b[ConditionType.Secondary];\n var primaryConditionsValues_2 = primaryConditions === null || primaryConditions === void 0 ? void 0 : primaryConditions.map(function (condition) { return condition.value; });\n var selectingComorbiditiesFilter = selectingComorbidities === null || selectingComorbidities === void 0 ? void 0 : selectingComorbidities.filter(function (condition) { return (primaryConditionsValues_2 === null || primaryConditionsValues_2 === void 0 ? void 0 : primaryConditionsValues_2.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingComorbidities(selectingComorbiditiesFilter);\n }\n if (conditionTypes.includes(ConditionType.Other)) {\n var otherConditions = (_c = lookupData.groupedCondition) === null || _c === void 0 ? void 0 : _c[ConditionType.Other];\n var otherConditionsValues_1 = otherConditions === null || otherConditions === void 0 ? void 0 : otherConditions.map(function (condition) { return condition.value; });\n var selectingAdditionalConditionsFilter = selectingAdditionalConditions === null || selectingAdditionalConditions === void 0 ? void 0 : selectingAdditionalConditions.filter(function (condition) { return (otherConditionsValues_1 === null || otherConditionsValues_1 === void 0 ? void 0 : otherConditionsValues_1.includes(condition)) || (comorbiditiesDefaultFilter === null || comorbiditiesDefaultFilter === void 0 ? void 0 : comorbiditiesDefaultFilter.includes(condition)); });\n setSelectingAdditionalConditions(selectingAdditionalConditionsFilter);\n }\n }, [\n conditionTypes,\n comorbiditiesDefaultFilter,\n lookupData.groupedCondition,\n selectingPrimaryConditions,\n selectingPrimaryCoMorbidities,\n selectingComorbidities,\n selectingPrimaryConditionWithoutClaimsOptionals,\n selectingAdditionalConditions,\n setSelectingPrimaryConditions,\n setSelectingPrimaryCoMorbidities,\n setSelectingComorbidities,\n setSelectingPrimaryConditionWithoutClaimsOptionals,\n setSelectingAdditionalConditions,\n ]);\n return [doSynchronize];\n};\nvar ConditionCMSFilter = (_a = {},\n _a[KeyCombineConditionSource.lessThan2019] = [ChronicConditionSource.CMS_27, ChronicConditionSource.CMS_OTHER],\n _a[KeyCombineConditionSource.greaterOrEqual2019] = [ChronicConditionSource.CMS_30, ChronicConditionSource.CMS_OTHER],\n _a);\n/**\n * This is a Record variable, It'll save values to combine chronic condition source\n * With Greater value, We should order by DESC\n * Otherwise, We should order by ASC\n * Ex: Greater: 2016-; 2017-; 2018-;...\n * Smaller: -2015; -2014; -2013;...\n */\nvar ValueCombineCondition = {\n '2019-': KeyCombineConditionSource.greaterOrEqual2019,\n '-2018': KeyCombineConditionSource.lessThan2019,\n};\nvar getKeyCombine = function (year) {\n return ValueCombineCondition[Object.keys(ValueCombineCondition).find(function (k) {\n var splitKey = k.split('-');\n if (!Number(splitKey[0]) && Number(splitKey[1]) >= Number(year)) {\n return true;\n }\n if (!Number(splitKey[1]) && Number(splitKey[0]) <= Number(year)) {\n return true;\n }\n return false;\n }) || ''];\n};\nexport var useLookupConditionSortByType = function (indexConfig, dataYear, cmsDataSource, dataYearSeasonParam) {\n var _a = useLookupCondition(), lookupData = _a[0], rest = _a.slice(1);\n var hostednameIndexConfig = useHostnameIndexInfo();\n var dataYearFilterEditing = useFilterEditingValue('dataYear')[0];\n var dataYearSeasonEditing = useFilterEditingValue('dataYearSeason')[0];\n indexConfig = indexConfig || hostednameIndexConfig;\n var useMBSFChronicCondition = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.useMBSFChronicCondition;\n var dataYearSeason = useMemo(function () { return dataYearSeasonParam || dataYearSeasonEditing; }, [dataYearSeasonParam, dataYearSeasonEditing]);\n var primaryConditionByDataSourceAndYear = useGeneralConfigByDataSource('conditions');\n var primaryConditionWithoutClaims = useGeneralConfigByDataSource('primaryConditionWithoutClaims', cmsDataSource, dataYearSeason, dataYear);\n var secondaryConditionsConfig = useGeneralConfigByDataSource('secondaryConditions', cmsDataSource, dataYearSeason, dataYear);\n var primaryConditionsByChronicConditionSourceConfig = useGeneralConfigByDataSource('primaryConditionsByChronicConditionSource', cmsDataSource, dataYearSeason, dataYear);\n var allConditionDefault = useMemo(function () {\n var _a, _b;\n var ccBySource = (_b = (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.filter(function (condition) { return primaryConditionsByChronicConditionSourceConfig === null || primaryConditionsByChronicConditionSourceConfig === void 0 ? void 0 : primaryConditionsByChronicConditionSourceConfig.includes(condition.chronicConditionSource); })) === null || _b === void 0 ? void 0 : _b.map(function (condition) { return condition.chronicConditionCode; });\n return _.union(indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions, indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions, primaryConditionByDataSourceAndYear, primaryConditionWithoutClaims, secondaryConditionsConfig, ccBySource);\n }, [\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions,\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions,\n indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions,\n primaryConditionByDataSourceAndYear,\n primaryConditionWithoutClaims,\n secondaryConditionsConfig,\n primaryConditionsByChronicConditionSourceConfig,\n lookupData.data,\n ]);\n var combinedData = useMemo(function () {\n var _a;\n return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) {\n var _a, _b, _c;\n var isPrimaryByCCSource = primaryConditionsByChronicConditionSourceConfig === null || primaryConditionsByChronicConditionSourceConfig === void 0 ? void 0 : primaryConditionsByChronicConditionSourceConfig.some(function (template) { return i.chronicConditionSource === template; });\n var isPrimaryByPrimaryConditionWithoutClaims = primaryConditionWithoutClaims === null || primaryConditionWithoutClaims === void 0 ? void 0 : primaryConditionWithoutClaims.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimaryByPrimaryConditionByDataSourceAndYear = primaryConditionByDataSourceAndYear === null || primaryConditionByDataSourceAndYear === void 0 ? void 0 : primaryConditionByDataSourceAndYear.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimaryByPrimaryCondition = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.primaryConditions) === null || _a === void 0 ? void 0 : _a.some(function (v) { return v === i.chronicConditionCode; });\n var isPrimary = isPrimaryByCCSource || isPrimaryByPrimaryConditionWithoutClaims || isPrimaryByPrimaryConditionByDataSourceAndYear || isPrimaryByPrimaryCondition;\n var isSecondaryBySecondaryConditionsConfig = secondaryConditionsConfig === null || secondaryConditionsConfig === void 0 ? void 0 : secondaryConditionsConfig.some(function (v) { return v === i.chronicConditionCode; });\n var isSecondaryBySecondaryConditions = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.secondaryConditions) === null || _b === void 0 ? void 0 : _b.some(function (v) { return v === i.chronicConditionCode; });\n var isSecondary = isSecondaryBySecondaryConditionsConfig || isSecondaryBySecondaryConditions;\n var isKey = (_c = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.prioritizedConditions) === null || _c === void 0 ? void 0 : _c.some(function (v) {\n var _a = v.split('-'), from = _a[0], to = _a[1];\n return (v === i.chronicConditionCode ||\n (parseInt(i.chronicConditionCode, 10) >= parseInt(from, 10) && parseInt(i.chronicConditionCode, 10) <= parseInt(to || from, 10)));\n });\n return {\n value: i.chronicConditionCode,\n label: i.chronicConditionName,\n type: isPrimary\n ? ConditionType.Primary\n : isKey\n ? ConditionType.Key\n : isSecondary\n ? ConditionType.Secondary\n : ConditionType.Other,\n source: i.chronicConditionSource,\n };\n }).filter(function (i) {\n var _a, _b, _c;\n var isIgnoreConditions = ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditions) === null || _a === void 0 ? void 0 : _a.some(function (v) {\n var _a = v.split('-'), from = _a[0], to = _a[1];\n return (v === i.value ||\n (parseInt(i.value, 10) >= parseInt(from, 10) && parseInt(i.value, 10) <= parseInt(to || from, 10)));\n })) || ((_c = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _b === void 0 ? void 0 : _b[\"\" + dataYear]) === null || _c === void 0 ? void 0 : _c.includes(i.value));\n return i.type !== ConditionType.Other || !isIgnoreConditions;\n }).sort(function (a, b) { return compareCondition(a, b, indexConfig, cmsDataSource, dataYear, { secondaryConditions: secondaryConditionsConfig }); });\n }, [\n lookupData.data,\n indexConfig,\n dataYear,\n cmsDataSource,\n primaryConditionByDataSourceAndYear,\n primaryConditionWithoutClaims,\n secondaryConditionsConfig,\n primaryConditionsByChronicConditionSourceConfig,\n ]);\n var combinedDataWithinReferenceYear = useMemo(function () {\n var groupedDataByReferenceYear = Object.keys(ConditionCMSFilter).reduce(function (acc, cur) {\n acc[cur] = (combinedData === null || combinedData === void 0 ? void 0 : combinedData.filter(function (c) {\n return ConditionCMSFilter[cur].includes(c.source) ||\n (c.type === ConditionType.Primary && c.source === ChronicConditionSource.NMQF_CUSTOM) ||\n (!useMBSFChronicCondition && allConditionDefault.includes(c.value));\n })) || [];\n return acc;\n }, {});\n var dataYearToFilter = dataYear || 0;\n if (dataYearSeason === null || dataYearSeason === void 0 ? void 0 : dataYearSeason.length)\n dataYearToFilter = dataYearSeason[0];\n if (dataYearFilterEditing)\n dataYearToFilter = dataYearFilterEditing;\n return groupedDataByReferenceYear[getKeyCombine(dataYearToFilter)];\n }, [\n dataYear,\n dataYearSeason,\n dataYearFilterEditing,\n combinedData,\n useMBSFChronicCondition,\n allConditionDefault,\n ]);\n var _b = useMemo(function () {\n return (combinedDataWithinReferenceYear || []).reduce(function (acc, curr) {\n acc.mapByValue[curr.value] = curr;\n if (!acc.groupedCondition[curr.type]) {\n acc.groupedCondition[curr.type] = Object.assign([]);\n }\n acc.groupedCondition[curr.type].push(curr);\n return acc;\n }, Object.assign({ mapByValue: {}, groupedCondition: {} }));\n }, [combinedDataWithinReferenceYear]), mapByValue = _b.mapByValue, groupedCondition = _b.groupedCondition;\n var sortValue = useCallback(function (a, b) { return compareCondition(mapByValue[a], mapByValue[b], indexConfig); }, [indexConfig, mapByValue]);\n return __spreadArrays([__assign(__assign({}, lookupData), { groupedCondition: groupedCondition, sortValue: sortValue })], rest);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a, _b;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { StatisticGroupEnum, StatisticTypeEnum } from '../enums';\nimport { safeDivide } from '../utils';\nvar STATISTIC_GROUPS = (_a = {},\n _a[StatisticGroupEnum.Population] = {\n value: StatisticGroupEnum.Population,\n label: 'Population',\n },\n _a[StatisticGroupEnum.Rate] = {\n value: StatisticGroupEnum.Rate,\n label: 'Rate of Acute Events',\n },\n _a[StatisticGroupEnum.Cost] = {\n value: StatisticGroupEnum.Cost,\n label: 'Cost of Acute Events',\n },\n _a);\nvar DEFAULT_STATISTIC_PRECISION = 2;\nvar STATISTIC_OPTION_BY_TYPE = (_b = {},\n _b[StatisticTypeEnum.Prevalence] = {\n value: StatisticTypeEnum.Prevalence,\n label: 'Prevalence',\n shortTerm: 'Prevalence',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Population],\n percentage: true,\n },\n _b[StatisticTypeEnum.TotalCount] = {\n value: StatisticTypeEnum.TotalCount,\n label: 'Total Count of Patients',\n shortTerm: 'Total Count',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Population],\n precision: 0,\n },\n _b[StatisticTypeEnum.HospitalizationRate] = {\n value: StatisticTypeEnum.HospitalizationRate,\n label: 'Hospitalization Rate',\n shortTerm: 'Hospitalization Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.ERVisitsRate] = {\n value: StatisticTypeEnum.ERVisitsRate,\n label: 'ER Visits Rate',\n shortTerm: 'ER Visits Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.HospitalEncounterRate] = {\n value: StatisticTypeEnum.HospitalEncounterRate,\n label: 'Hospital Encounters Rate',\n shortTerm: 'Hospital Encounters Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n },\n _b[StatisticTypeEnum.DeathRate] = {\n value: StatisticTypeEnum.DeathRate,\n label: 'Death Rate',\n shortTerm: 'Death Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n precision: 4,\n },\n _b[StatisticTypeEnum.ReadmissionRate] = {\n value: StatisticTypeEnum.ReadmissionRate,\n label: 'Readmission Rate',\n shortTerm: 'Readmission Rate',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Rate],\n precision: 3,\n },\n _b[StatisticTypeEnum.HospitalizationCost] = {\n value: StatisticTypeEnum.HospitalizationCost,\n label: 'Total Annual Hospitalization Cost Per Patient',\n shortTerm: 'Hospitalization Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.ERCost] = {\n value: StatisticTypeEnum.ERCost,\n label: 'Total Annual ER Cost Per Patient',\n shortTerm: 'ER Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.OOPPartBDrugCost] = {\n value: StatisticTypeEnum.OOPPartBDrugCost,\n label: 'Total Annual Patient Out-of-pocket Part b Drug Cost Per Patient',\n shortTerm: 'Patient Out-of-pocket Part b Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.OOPPartDDrugCost] = {\n value: StatisticTypeEnum.OOPPartDDrugCost,\n label: 'Total Annual Patient Out-of-pocket Part d Drug Cost Per Patient',\n shortTerm: 'Patient Out-of-pocket Part d Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.MCRPartBDrugCost] = {\n value: StatisticTypeEnum.MCRPartBDrugCost,\n label: 'Total Annual MCR Part b Drug Payments Per Patient',\n shortTerm: 'Medicare Part b Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.MCRPartDDrugCost] = {\n value: StatisticTypeEnum.MCRPartDDrugCost,\n label: 'Total Annual MCR Part d Drug Payments Per Patient',\n shortTerm: 'Medicare Part d Drug Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b[StatisticTypeEnum.TotalCost] = {\n value: StatisticTypeEnum.TotalCost,\n label: 'Total Annual Cost Per Patient',\n shortTerm: 'Total Cost',\n group: STATISTIC_GROUPS[StatisticGroupEnum.Cost],\n preUnit: '$',\n },\n _b);\nexport var GROUPED_STATISTIC_OPTIONS = Object.values(STATISTIC_GROUPS).map(function (group) { return (__assign(__assign({}, group), { options: Object.values(STATISTIC_OPTION_BY_TYPE).filter(function (i) { return i.group.value === group.value; }) })); });\nexport var getStatisticOptions = function (statistics) {\n return !statistics\n ? Object.values(STATISTIC_OPTION_BY_TYPE)\n : Object.values(STATISTIC_OPTION_BY_TYPE).filter(function (option) { return statistics.some(function (statistic) { return statistic === option.value; }); });\n};\nexport var getStatisticOption = function (statistic) { return statistic && STATISTIC_OPTION_BY_TYPE[statistic]; };\nexport var getStatisticShortName = function (statistic) { var _a; return (_a = getStatisticOption(statistic)) === null || _a === void 0 ? void 0 : _a.shortTerm; };\nexport var getStatisticPrecision = function (statistic) {\n var statisticOption = getStatisticOption(statistic);\n return (statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.precision) === undefined ? DEFAULT_STATISTIC_PRECISION : statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.precision;\n};\nexport function processStatisticValue(value, percentage, statistic) {\n return safeDivide(value, 1, percentage, getStatisticPrecision(statistic));\n}\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useCallback } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_STATE_API = '/api/general/lookup/get-list-state';\nexport var useLookupState = function (valueIsAbb) {\n var _a;\n var _b = useCachedData(LOOKUP_STATE_API), lookupStateData = _b[0], res = _b.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.data.sort(function (a, b) { return a.stateName.toLowerCase().localeCompare(b.stateName.toLowerCase()); }).map(function (i) { return (__assign(__assign({}, i), { value: valueIsAbb ? i.stateAbbreviation : i.stateCode, label: i.stateName })); }); }, [(_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.data, valueIsAbb]);\n var getStateByStateCode = useCallback(function (stateCode) { return data === null || data === void 0 ? void 0 : data.find(function (i) { return parseInt(i.stateCode, 10) === parseInt(stateCode, 10); }); }, [data]);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var getNameByStateCode = useCallback(function (stateCode) { var _a; return ((_a = getStateByStateCode(stateCode)) === null || _a === void 0 ? void 0 : _a.stateName) || stateCode; }, [data]);\n var getNameByStateAbb = useCallback(function (stateAbb) { var _a; return ((_a = data === null || data === void 0 ? void 0 : data.find(function (i) { return i.stateAbbreviation === stateAbb; })) === null || _a === void 0 ? void 0 : _a.stateName) || stateAbb; }, [data]);\n return __spreadArrays([__assign(__assign({}, lookupStateData), { data: data, getStateByStateCode: getStateByStateCode, getNameByStateCode: getNameByStateCode, getNameByStateAbb: getNameByStateAbb })], res);\n};\nexport var LookupStateComponent = function () {\n var _a = useLookupState(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useCallback } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nimport { useLookupState } from './lookupstate';\nvar LOOKUP_ZIP_CODE_DISTRICT_API = '/api/general/lookup/get-data-for-drop-down-filtering-which-related-to-state';\nexport var useLookupZipCodeDistrict = function () {\n var _a;\n var _b = useCachedData(LOOKUP_ZIP_CODE_DISTRICT_API), data = _b[0], res = _b.slice(1);\n var lookupStateData = useLookupState()[0];\n var getStateCodeOfZipCode = useCallback(function (zipcode) {\n var _a;\n return zipcode && ((_a = data.data) === null || _a === void 0 ? void 0 : _a.data.stateByZipCode5[zipcode.padStart(5, '0')]);\n }, [data.data]);\n var getStateNameOfZipCode = useCallback(function (zipcode) {\n var stateCode = getStateCodeOfZipCode(zipcode);\n return stateCode && lookupStateData.getNameByStateCode(stateCode);\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [getStateCodeOfZipCode, lookupStateData.getNameByStateCode]);\n var getStateAbbOfZipCode = useCallback(function (zipcode) {\n var _a, _b;\n var stateCode = getStateCodeOfZipCode(zipcode);\n return stateCode ? (_b = (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.find(function (i) { return i.stateCode === stateCode; })) === null || _b === void 0 ? void 0 : _b.stateAbbreviation : 'N/A';\n }, [getStateCodeOfZipCode, lookupStateData]);\n return __spreadArrays([__assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.data, getStateCodeOfZipCode: getStateCodeOfZipCode, getStateNameOfZipCode: getStateNameOfZipCode, getStateAbbOfZipCode: getStateAbbOfZipCode })], res);\n};\nexport var LookupZipCodeDistrictComponent = function () {\n var _a = useLookupZipCodeDistrict(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_COUNTY_API = '/api/general/lookup/get-lookup-county';\nexport var useLookupCounty = function () {\n var _a = useCachedData(LOOKUP_COUNTY_API), data = _a[0], res = _a.slice(1);\n var countyByStateCode = useMemo(function () { var _a; return (_a = data.data) === null || _a === void 0 ? void 0 : _a.reduce(function (acc, curr) {\n if (!acc[curr.stateCode]) {\n acc[curr.stateCode] = [];\n }\n acc[curr.stateCode].push(curr);\n return acc;\n }, Object.assign({})); }, [data.data]);\n return __spreadArrays([__assign(__assign({}, data), { data: countyByStateCode })], res);\n};\nexport var LookupCountyComponent = function () {\n var _a = useLookupCounty(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar LOOKUP_MSA_API = '/api/general/lookup/get-lookup-msa';\nexport var useLookupMSA = function () {\n return useCachedData(LOOKUP_MSA_API);\n};\nexport var LookupMSAComponent = function () {\n var _a = useLookupMSA(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar API_URL_LOOKUP_SEX_CODE = '/api/general/lookup/get-lookup-sex-code';\nvar IGNORE_SEX_NAME = 'Unknown';\nexport var useLookupSexCode = function (values) {\n var _a = useCachedData(API_URL_LOOKUP_SEX_CODE), lookupData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.sexName.toLowerCase() !== IGNORE_SEX_NAME.toLowerCase(); }).sort(function (a, b) { return parseInt(a.sexCode, 10) - parseInt(b.sexCode, 10); }).map(function (i) { return (__assign(__assign({}, i), { value: i.sexCode, label: i.sexName })); }); }, [lookupData.data]);\n var mappedValues = useMemo(function () { return ((values === null || values === void 0 ? void 0 : values.length) ? data === null || data === void 0 ? void 0 : data.filter(function (i) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === i.value; }); }) : undefined); }, [data, values]);\n return __spreadArrays([__assign(__assign({}, lookupData), { data: data, mappedValues: mappedValues })], rest);\n};\nexport var LookupSexCodeComponent = function () {\n var _a = useLookupSexCode(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo } from 'react';\nimport { useCachedData } from '../state';\nimport { RaceMethodologyEnum } from '../enums';\nimport { useMount } from '../hooks';\nvar API_URL_LOOKUP_RACE_CODE = '/api/general/lookup/get-lookup-race-code';\nvar API_URL_LOOKUP_RTI_RACE_CODE = '/api/general/lookup/get-lookup-rti-race-code';\nexport var useLookupRaceCode = function (methodology, values) {\n if (methodology === void 0) { methodology = RaceMethodologyEnum.Standard; }\n var _a = useCachedData(methodology === RaceMethodologyEnum.Standard ? API_URL_LOOKUP_RACE_CODE : API_URL_LOOKUP_RTI_RACE_CODE), lookupData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = lookupData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return (__assign(__assign({}, i), { value: i.raceCode, label: i.raceName, shortName: i.raceName === 'North American Native' ? 'N.Amer Native' : i.raceName })); }).sort(function (a, b) { return parseInt(a.raceCode, 10) - parseInt(b.raceCode, 10); }); }, [lookupData.data]);\n var mappedValues = useMemo(function () { return ((values === null || values === void 0 ? void 0 : values.length) ? data === null || data === void 0 ? void 0 : data.filter(function (i) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === i.value; }); }) : undefined); }, [data, values]);\n return __spreadArrays([__assign(__assign({}, lookupData), { data: data, mappedValues: mappedValues })], rest);\n};\nexport var LookupRaceCodeComponent = function () {\n var _a = useLookupRaceCode(RaceMethodologyEnum.Standard), fetchRaceLookupStandard = _a[1];\n var _b = useLookupRaceCode(RaceMethodologyEnum.RTI), fetchRaceLookupRTI = _b[1];\n useMount(function () {\n fetchRaceLookupStandard();\n fetchRaceLookupRTI();\n });\n return null;\n};\n","export var stringifyAgeValue = function (_a) {\n var minAge = _a.minAge, maxAge = _a.maxAge;\n return (minAge !== null && minAge !== void 0 ? minAge : '') + \"-\" + (maxAge !== null && maxAge !== void 0 ? maxAge : '');\n};\nexport var getAgeLabel = function (_a) {\n var _b = _a === void 0 ? {} : _a, minAge = _b.minAge, maxAge = _b.maxAge;\n return minAge !== undefined && maxAge !== undefined\n ? minAge + \" to \" + maxAge\n : maxAge !== undefined\n ? \"Under \" + (maxAge + 1)\n : minAge !== undefined\n ? minAge ? \"Over \" + (minAge - 1) : minAge + \"+\"\n : 'N/A';\n};\nvar transformAgeOption = function (value) { return ({\n value: value,\n stringified: stringifyAgeValue(value),\n label: getAgeLabel(value),\n}); };\nexport var AGE_OPTIONS = [18, 49, 64, 74, 80, 81].map(function (age, idx, arr) {\n var minAge = !idx ? undefined : idx === arr.length - 1 ? age : arr[idx - 1] + 1;\n var maxAge = idx === arr.length - 1 ? undefined : age;\n var value = { maxAge: maxAge, minAge: minAge };\n return transformAgeOption(value);\n});\nexport var ALL_AGE_VALUES = AGE_OPTIONS.map(function (i) { return i.value; });\nexport var mapAgeValues = function (values) {\n return (values === null || values === void 0 ? void 0 : values.length) ? values[0].isCustom\n ? [transformAgeOption(values[0])]\n : AGE_OPTIONS.filter(function (i) { return values.some(function (v) { return stringifyAgeValue(v) === i.stringified; }); })\n : undefined;\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useEffect, useMemo } from 'react';\nimport { useCachedData } from '../state';\nimport { DataSourceEnum } from '../enums';\nimport { useAggregatedYear } from '../filterdialog/aggregateddatasource';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { getYearsBySeason } from '../utils';\nvar FETCH_DATA_YEAR_API_URL = '/api/general/get-list-data-year/{dataSource}/{indexName}';\nexport var useCMSDataYear = function (dataSource, onlyNumber) {\n if (dataSource === void 0) { dataSource = DataSourceEnum.MedicareFFS; }\n if (onlyNumber === void 0) { onlyNumber = false; }\n var indexName = useIndexName();\n var _a = useCachedData(FETCH_DATA_YEAR_API_URL, { dataSource: dataSource, indexName: indexName }), data = _a[0], res = _a.slice(1);\n var sortedYear = useMemo(function () { var _a; return (_a = data.data) === null || _a === void 0 ? void 0 : _a[dataSource].filter(function (y) { return (onlyNumber ? !isNaN(y) : true); }); }, [data.data, dataSource, onlyNumber]);\n return __spreadArrays([__assign(__assign({}, data), { data: sortedYear })], res);\n};\nexport var useCMSDataSeasonYear = function (filterSetting) {\n var _a;\n var indexConfiguration = useHostnameIndexInfo();\n var isSeasonStatistic = ((indexConfiguration === null || indexConfiguration === void 0 ? void 0 : indexConfiguration.generalInformation) || {}).isSeasonStatistic;\n var dataSource = ((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource) || DataSourceEnum.MedicareFFS;\n var indexName = useIndexName();\n var _b = useCachedData(FETCH_DATA_YEAR_API_URL, { dataSource: dataSource, indexName: indexName }), data = _b[0], res = _b.slice(1);\n var seasonYear = useMemo(function () {\n var _a;\n return !isSeasonStatistic ? [] : (_a = data.data) === null || _a === void 0 ? void 0 : _a[dataSource].map(function (item) {\n var rangeYear = getYearsBySeason(item);\n if (rangeYear.length < 2)\n return '';\n return rangeYear[0] + \" - \" + rangeYear[1];\n });\n }, [data.data, dataSource, isSeasonStatistic]);\n return __spreadArrays([__assign(__assign({}, data), { data: seasonYear })], res);\n};\nexport var useMixedYear = function (filterSetting, onlyNumber) {\n var _a;\n var cmsYearData = useCMSDataYear((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.cmsDataSource, onlyNumber);\n var aggregatedYearData = useAggregatedYear(filterSetting);\n return filterSetting.isAggregatedDataSource ? aggregatedYearData : cmsYearData;\n};\nexport var LookupYearComponent = function (props) {\n var _a = useCMSDataYear(props.dataSource), fetchData = _a[1];\n useEffect(function () {\n if (props.dataSource) {\n fetchData();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [props.dataSource]);\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nexport var CONSUMPTION_GROUP_OPTIONS = [\n {\n value: 1,\n label: (React.createElement(React.Fragment, null,\n \"Crisis - 99\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Crisis',\n },\n {\n value: 2,\n label: (React.createElement(React.Fragment, null,\n \"Heavy - 90 to 98\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Heavy',\n },\n {\n value: 3,\n label: (React.createElement(React.Fragment, null,\n \"Moderate - 75 to 89\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Moderate',\n },\n {\n value: 4,\n label: (React.createElement(React.Fragment, null,\n \"Light - 50 to 74\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Light',\n },\n {\n value: 5,\n label: (React.createElement(React.Fragment, null,\n \"Low - 1 to 49\",\n React.createElement(\"sup\", null, \"th\"),\n \" percentile\")),\n shortTerm: 'Low',\n },\n];\nexport var getConsumptionGroups = function (values) { return CONSUMPTION_GROUP_OPTIONS.filter(function (option) { return values === null || values === void 0 ? void 0 : values.some(function (v) { return v === option.value; }); }); };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { GeoLevelEnum } from '../enums';\nexport var GEO_LEVELS = [\n {\n value: GeoLevelEnum.Zip5,\n label: 'Zip Code',\n },\n {\n value: GeoLevelEnum.Zip3,\n label: '3 Digit zip code',\n },\n {\n value: GeoLevelEnum.State,\n label: 'State',\n },\n {\n value: GeoLevelEnum.County,\n label: 'County',\n },\n {\n value: GeoLevelEnum.MSA,\n label: 'MSA',\n },\n {\n value: GeoLevelEnum.Congressional,\n label: 'US Congressional District',\n },\n {\n value: GeoLevelEnum.StateUpper,\n label: 'State Upper House District',\n },\n {\n value: GeoLevelEnum.StateLower,\n label: 'State Lower House District',\n },\n];\nexport var getGeoLevelLabel = function (geoLevel) { var _a; return geoLevel && ((_a = GEO_LEVELS.find(function (option) { return option.value === geoLevel; })) === null || _a === void 0 ? void 0 : _a.label); };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var CLAIM_NUMBERS = [1, 2, 3, 4];\nexport var CLAIM_DAYS = [\n {\n value: '-29',\n label: 'under 30',\n },\n {\n value: '30-',\n label: '30 or more',\n },\n];\nexport var getClaimDayLabel = function (value) { var _a; return (_a = CLAIM_DAYS.find(function (option) { return option.value === value; })) === null || _a === void 0 ? void 0 : _a.label; };\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nimport { compareFunc } from '../utils';\nvar GET_VACCINE_CODE_LIST_API = '/api/general/lookup/get-list-vaccine';\nexport var useLookupVaccine = function () {\n var _a;\n var _b = useCachedData(GET_VACCINE_CODE_LIST_API), data = _b[0], res = _b.slice(1);\n return __spreadArrays([__assign(__assign({}, data), { data: (_a = data.data) === null || _a === void 0 ? void 0 : _a.data.sort(function (a, b) { return compareFunc(a.cptCode, b.cptCode); }) })], res);\n};\nexport var LookupVaccineComponent = function () {\n var _a = useLookupVaccine(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMount } from '../hooks';\nimport { useCachedData } from '../state';\nvar GET_FLU_VACCINE_CODE_LIST_API = '/api/fluvaccine/general/lookup/get-list-vaccine';\nexport var useLookupFluVaccine = function () {\n var _a, _b, _c;\n var _d = useCachedData(GET_FLU_VACCINE_CODE_LIST_API), data = _d[0], res = _d.slice(1);\n return __spreadArrays([__assign(__assign({}, data), { data: (_c = (_b = (_a = data.data) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.sort) === null || _c === void 0 ? void 0 : _c.call(_b, function (a, b) { return new Date(a.createDate).getTime() - new Date(b.createDate).getTime(); }) })], res);\n};\nexport var LookupFluVaccineComponent = function () {\n var _a = useLookupFluVaccine(), fetchLookup = _a[1];\n useMount(function () {\n fetchLookup();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useCallback, useMemo } from 'react';\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { SET_VIEW_VALUE, RESET_VIEW_SETTING } from './reducer';\nexport function useViewValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_VIEW_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.view.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetViewSetting = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_VIEW_SETTING, payload: value }); }, [dispatch]);\n};\nexport var useViewSetting = function () {\n var view = useMappedState(useCallback(function (state) { return state.view; }, []));\n return useMemo(function () { return view.toJSON(); }, [view]);\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar _a;\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useMemo, useCallback, useEffect, useState } from 'react';\nimport { Source, Layer } from 'react-map-gl';\nimport { useExtractGeoData, useMapData } from './patientchoroplethlayer/usemapdata';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../enums';\nimport { ENV_STATE_BORDER_COLOR } from '../env';\nimport { useGeoJson, useMount } from '../hooks';\nimport { useViewValue } from '../state/viewsetting';\nimport { MapFallback, useMapValue, useZoomToFeature } from './mapprovider';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupZipCodeDistrict } from '../lookupdata';\nimport { isFeatureInAState, isEmpty } from '../utils';\nexport var API_URL_STATE_GEO = '/assets/topojsons/cb_2021_us_state_500k_polyline_topo.json';\nexport var GEO_JSON_URL_BY_LEVEL = (_a = {},\n _a[GeoLevelEnum.Zip5] = '/assets/topojsons/tl_2021_us_zcta520_topo.json',\n _a[GeoLevelEnum.Zip3] = '/assets/topojsons/zip3_digit_topo.json',\n _a[GeoLevelEnum.State] = '/assets/topojsons/cb_2021_us_state_500k_topo.json',\n _a[GeoLevelEnum.MSA] = '/assets/topojsons/cb_2021_us_cbsa_500k_topo.json',\n _a[GeoLevelEnum.County] = '/assets/topojsons/cb_2021_us_county_500k_topo.json',\n _a[GeoLevelEnum.Congressional] = '/assets/topojsons/cb_2022_us_cd118_500k_topo.json',\n _a[GeoLevelEnum.StateUpper] = '/assets/topojsons/cb_2022_us_sldu_500k_topo.json',\n _a[GeoLevelEnum.StateLower] = '/assets/topojsons/cb_2022_us_sldl_500k_topo.json',\n _a);\nvar stateLayer = {\n id: 'statelayer',\n type: 'line',\n paint: {\n 'line-color': ENV_STATE_BORDER_COLOR,\n },\n};\nvar highlightLayer = {\n id: 'highlightlayer',\n type: 'line',\n paint: {\n 'line-color': '#666',\n 'line-width': 3,\n },\n};\nvar selectedLayer = {\n id: 'selectedlayer',\n type: 'line',\n paint: {\n 'line-color': '#027DFF',\n 'line-width': 4,\n },\n};\nexport var useSelectedGeoJson = function (option) {\n var _a = useViewValue('geoType')[0], geoLevel = _a === void 0 ? GeoLevelEnum.State : _a;\n return useGeoJson(GEO_JSON_URL_BY_LEVEL[geoLevel], option);\n};\nexport var SelectedGeographySource = function (props) {\n var _a;\n var _b = useMapData()[0], data = _b.data, mapDataRequesting = _b.requesting;\n var hoveringInfo = useMapValue('hoveringInfo')[0];\n var zoomToFeature = useZoomToFeature();\n var _c = useViewValue('selectedRegion'), selectedRegion = _c[0], setSelectedRegion = _c[1];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var _d = useViewValue('mapView', 'selectedGeoProperties'), setSelectedGeoProperties = _d[1];\n var _e = useViewValue('geoType')[0], geoLevel = _e === void 0 ? GeoLevelEnum.State : _e;\n var zipcodeData = useLookupZipCodeDistrict()[0];\n var indexConfig = useHostnameIndexInfo();\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var zoomId = useViewValue('mapView', 'zoomId')[0];\n var filterForState = useMemo(function () { return (!singleState ? undefined : function (properties) { return isFeatureInAState(singleState, properties, GeoLevelEnum.State); }); }, [singleState]);\n var _f = useGeoJson(API_URL_STATE_GEO, {\n filter: filterForState,\n }), stateGeoJsonData = _f[0], fetchStateGeoJson = _f[1];\n var filterForGeo = useMemo(function () {\n return !singleState\n ? undefined\n : function (properties) { var _a; return isFeatureInAState(singleState, properties, geoLevel, (_a = zipcodeData.data) === null || _a === void 0 ? void 0 : _a.stateByZipCode5); };\n }, [singleState, geoLevel, zipcodeData.data]);\n var extractGeoData = useExtractGeoData();\n var propertyMapping = useCallback(function (properties) {\n var breakIdx = extractGeoData(properties === null || properties === void 0 ? void 0 : properties.id).breakIdx;\n return __assign(__assign({}, properties), { breakIdx: breakIdx });\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [data]);\n var _g = useSelectedGeoJson({ filter: filterForGeo, propertyMapping: propertyMapping, forceClean: !data }), geoJsonData = _g[0], fetchGeoJson = _g[1];\n var _h = useState(true), isCookingGeoJson = _h[0], setIsCookingGeoJson = _h[1];\n useMount(function () {\n fetchStateGeoJson();\n });\n useEffect(function () {\n fetchGeoJson();\n }, [fetchGeoJson]);\n useEffect(function () {\n var _a;\n setIsCookingGeoJson(true);\n var delay = Math.round((((_a = geoJsonData.data) === null || _a === void 0 ? void 0 : _a.features.length) || 0) / 20);\n var handler = setTimeout(function () {\n setIsCookingGeoJson(!!geoJsonData.requesting || !!mapDataRequesting);\n }, delay);\n return function () {\n clearTimeout(handler);\n };\n }, [geoJsonData.data, geoJsonData.requesting, mapDataRequesting]);\n var selectedFeature = useMemo(function () { var _a, _b; return !selectedId ? undefined : selectedId.endsWith('-') ? (_a = stateGeoJsonData.mapFeature) === null || _a === void 0 ? void 0 : _a[selectedId.replace('-', '')] : (_b = geoJsonData.mapFeature) === null || _b === void 0 ? void 0 : _b[selectedId]; }, [selectedId, stateGeoJsonData.mapFeature, geoJsonData.mapFeature]);\n useEffect(function () {\n if (selectedFeature && zoomId === selectedId) {\n zoomToFeature(selectedFeature);\n }\n if (selectedFeature && selectedId && !selectedId.endsWith('-')) {\n setSelectedGeoProperties(selectedFeature.properties);\n }\n else {\n setSelectedGeoProperties();\n }\n if (selectedId &&\n !selectedFeature &&\n !isEmpty(stateGeoJsonData.mapFeature) &&\n !isEmpty(geoJsonData.mapFeature) &&\n (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail) {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [geoJsonData.mapFeature, selectedFeature, selectedId, selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type, stateGeoJsonData.mapFeature, zoomId]);\n var hoveringId = (_a = hoveringInfo === null || hoveringInfo === void 0 ? void 0 : hoveringInfo[0]) === null || _a === void 0 ? void 0 : _a.id;\n var highlightGeoJson = useMemo(function () {\n var _a;\n return ({\n type: 'FeatureCollection',\n features: (hoveringId && [(_a = geoJsonData.mapFeature) === null || _a === void 0 ? void 0 : _a[hoveringId]]) || [],\n });\n }, [geoJsonData.mapFeature, hoveringId]);\n return (React.createElement(React.Fragment, null,\n React.createElement(Source, { type: \"geojson\", data: geoJsonData.data, id: \"selectedgeographysource\" },\n props.children || React.createElement(React.Fragment, null),\n React.createElement(Layer, __assign({}, selectedLayer, { filter: ['==', 'id', selectedId || ''] }))),\n React.createElement(Source, { type: \"geojson\", data: highlightGeoJson },\n React.createElement(Layer, __assign({}, highlightLayer))),\n React.createElement(Source, { type: \"geojson\", data: stateGeoJsonData.data },\n React.createElement(Layer, __assign({}, stateLayer))),\n React.createElement(MapFallback, { requesting: isCookingGeoJson, error: geoJsonData.error, retry: fetchGeoJson })));\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React, { useState, useEffect } from 'react';\nimport styled from 'styled-components';\nimport Tooltip from '@material-ui/core/Tooltip';\nimport { makeStyles } from '@material-ui/core/styles';\nimport { useExtractGeoData } from './usemapdata';\nimport { useFilterValue } from '../../state/filtersettings';\nimport { useViewValue } from '../../state/viewsetting';\nimport { useMapValue } from '../mapprovider';\nimport { useLookupState, useLookupZipCodeDistrict, getStatisticOption } from '../../lookupdata';\nimport { getDataFieldsByMapViewLevel } from './dataforgeo';\nimport { useDebounce } from '../../hooks';\nimport { MemoMarker } from '../memo';\nimport { StatisticTypeEnum } from '../../enums';\nimport { getDisplayText } from '../../utils';\nvar DELAY_SHOW_POPUP_TIME = 500;\nvar useStyles = makeStyles({\n arrow: {\n color: '#fff',\n },\n tooltip: {\n color: '#000',\n backgroundColor: '#fff',\n padding: 0,\n minWidth: '20rem',\n maxWidth: '25rem',\n textAlign: 'left',\n fontSize: '1rem',\n boxShadow: '0 1px 2px rgb(0 0 0 / 10%)',\n },\n});\nvar Header = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.75rem;\\n background-color: rgba(0, 0, 0, 0.06);\\n font-weight: bolder;\\n border-top-right-radius: 0.25rem;\\n max-width: 18rem;\\n min-width: 100%;\\n\"], [\"\\n padding: 0.75rem;\\n background-color: rgba(0, 0, 0, 0.06);\\n font-weight: bolder;\\n border-top-right-radius: 0.25rem;\\n max-width: 18rem;\\n min-width: 100%;\\n\"])));\nvar Body = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n margin: 0 1.5rem;\\n\"], [\"\\n margin: 0 1.5rem;\\n\"])));\nvar StyledCard = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n padding: 0.75rem 0;\\n &:not(:last-child) {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n }\\n display: flex;\\n align-items: center;\\n\"], [\"\\n padding: 0.75rem 0;\\n &:not(:last-child) {\\n border-bottom: 1px solid rgba(0, 0, 0, 0.125);\\n }\\n display: flex;\\n align-items: center;\\n\"])));\nvar CardTitle = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n\"], [\"\\n flex: 1;\\n\"])));\nvar CardText = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: bolder;\\n padding-left: 0.5rem;\\n\"], [\"\\n font-weight: bolder;\\n padding-left: 0.5rem;\\n\"])));\nvar formatMetricValue = function (value, suffix, prefix) {\n var roundedValue = prefix === '$' && value ? Math.max(Math.round(value), 1) : value;\n return getDisplayText(roundedValue, suffix, prefix);\n};\nvar StatisticValue = function (props) {\n return React.createElement(React.Fragment, null, formatMetricValue(props.valueKey ? props[props.valueKey] : props.value, props.suffix, props.prefix));\n};\nvar Card = function (props) {\n var _a;\n return (React.createElement(StyledCard, null,\n React.createElement(CardTitle, null,\n React.createElement(\"div\", null, props.metricValue.title), (_a = props.secondaryValues) === null || _a === void 0 ? void 0 :\n _a.map(function (payload, idx) { return (React.createElement(\"div\", { key: idx, className: \"text-secondary\" },\n React.createElement(\"small\", null,\n payload.title,\n \": \",\n React.createElement(StatisticValue, __assign({}, payload, { valueKey: props.valueKey }))))); })),\n React.createElement(CardText, null,\n React.createElement(StatisticValue, __assign({}, props.metricValue, { valueKey: undefined })))));\n};\nvar GeoName = function (props) {\n var _a = getDataFieldsByMapViewLevel(props.geoLevel, props.geoProps, props.lookupStateData, props.lookupZipCode), secondLevel = _a[0], firstLevel = _a[1];\n return (React.createElement(React.Fragment, null, firstLevel ? (React.createElement(React.Fragment, null,\n React.createElement(\"strong\", null, firstLevel.value),\n \" \",\n secondLevel.value)) : (React.createElement(\"strong\", null, secondLevel.value))));\n};\nvar getMetricValues = function (geoData, geoName, region, regionData) {\n var metricValues = [];\n var isShowCohortValue = geoData.value !== geoData.geographic || geoData.numerator !== geoData.geographicNumerator || geoData.denominator !== geoData.geographicDenominator;\n if (isShowCohortValue) {\n metricValues.push({\n title: React.createElement(React.Fragment, null,\n geoName,\n \" (selected cohort)\"),\n valueKey: 'cohort',\n value: geoData.value,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n }\n metricValues.push({\n title: React.createElement(React.Fragment, null, geoName),\n valueKey: 'geo',\n value: geoData.geographic,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n if (region) {\n metricValues.push({\n title: React.createElement(\"strong\", null, region),\n valueKey: 'region',\n value: regionData === null || regionData === void 0 ? void 0 : regionData.value,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n metricValues.push({\n title: React.createElement(\"strong\", null, \"Illinois\"),\n valueKey: 'state',\n value: regionData === null || regionData === void 0 ? void 0 : regionData.stateValue,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n }\n metricValues.push({\n title: React.createElement(\"strong\", null, \"National\"),\n valueKey: 'national',\n value: geoData.national,\n suffix: geoData.suffix,\n prefix: geoData.prefix,\n });\n return metricValues;\n};\nvar getFirstSecondaryValueTitle = function (statistic) {\n switch (statistic) {\n case StatisticTypeEnum.Prevalence:\n return 'Patient Count';\n case StatisticTypeEnum.HospitalizationRate:\n case StatisticTypeEnum.HospitalizationCost:\n return 'Total Visits';\n case StatisticTypeEnum.ERVisitsRate:\n case StatisticTypeEnum.ERCost:\n return 'Total ER Visits';\n case StatisticTypeEnum.HospitalEncounterRate:\n return 'Total Encounters';\n case StatisticTypeEnum.DeathRate:\n return 'Total Deaths';\n case StatisticTypeEnum.ReadmissionRate:\n return 'Total Readmissions';\n case StatisticTypeEnum.OOPPartBDrugCost:\n case StatisticTypeEnum.OOPPartDDrugCost:\n case StatisticTypeEnum.MCRPartBDrugCost:\n case StatisticTypeEnum.MCRPartDDrugCost:\n case StatisticTypeEnum.TotalCost:\n return 'Total';\n }\n};\nvar getSecondaryValues = function (geoData, statistic, regionData) {\n var firstSecondaryValueTitle = getFirstSecondaryValueTitle(statistic);\n if (statistic === StatisticTypeEnum.TotalCount) {\n return [\n {\n title: 'Patient Population',\n cohort: geoData.patientPopulation,\n geo: geoData.patientPopulation,\n national: geoData.nationalPatientPopulation,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.patientPopulation,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.statePatientPopulation,\n },\n ];\n }\n var secondaryValues = [\n {\n title: firstSecondaryValueTitle,\n cohort: geoData.numerator,\n geo: geoData.geographicNumerator,\n national: geoData.nationalNumerator,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.numerator,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateNumerator,\n prefix: geoData.prefix,\n },\n {\n title: statistic === StatisticTypeEnum.Prevalence ? 'Patient Population' : 'Patient Count',\n cohort: geoData.denominator,\n geo: geoData.geographicDenominator,\n national: geoData.nationalDenominator,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.denominator,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateDenominator,\n },\n ];\n if (statistic === StatisticTypeEnum.HospitalizationCost || statistic === StatisticTypeEnum.ERCost) {\n secondaryValues[0] = {\n title: firstSecondaryValueTitle,\n cohort: geoData.eventCount,\n geo: geoData.geographicEventCount,\n national: geoData.nationalEventCount,\n region: regionData === null || regionData === void 0 ? void 0 : regionData.eventCount,\n state: regionData === null || regionData === void 0 ? void 0 : regionData.stateEventCount,\n };\n }\n return secondaryValues;\n};\nvar PopperProps = {\n modifiers: {\n preventOverflow: {\n boundariesElement: 'viewport',\n },\n },\n};\nexport var InfoPopup = function (props) {\n var lookupStateData = useLookupState()[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var hoveringInfo = useMapValue('hoveringInfo')[0];\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var geoLevel = useViewValue('geoType')[0];\n var showGeographyHoverDisplay = useViewValue('mapView', 'showGeographyHoverDisplay')[0];\n var extractGeoData = useExtractGeoData();\n var _a = useState(), show = _a[0], setShow = _a[1];\n var classes = useStyles();\n useEffect(function () {\n setShow(false);\n }, [hoveringInfo]);\n useDebounce(function () {\n setShow(true);\n }, [hoveringInfo], DELAY_SHOW_POPUP_TIME);\n if (!show || !showGeographyHoverDisplay || !(hoveringInfo === null || hoveringInfo === void 0 ? void 0 : hoveringInfo.length) || !hoveringInfo[0] || !statistic || !geoLevel)\n return null;\n var statisticOption = getStatisticOption(statistic);\n var geoName = React.createElement(GeoName, { geoLevel: geoLevel, geoProps: hoveringInfo[0], lookupStateData: lookupStateData, lookupZipCode: lookupZipCode });\n var geoData = extractGeoData(hoveringInfo[0].id);\n var metricValues = getMetricValues(geoData, geoName, props.region, props.regionData);\n var secondaryValues = getSecondaryValues(geoData, statistic, props.regionData);\n return (React.createElement(MemoMarker, { longitude: hoveringInfo[1], latitude: hoveringInfo[2], offsetTop: 0, offsetLeft: 0 },\n React.createElement(Tooltip, { open: true, placement: \"right\", classes: classes, disableFocusListener: true, disableHoverListener: true, disableTouchListener: true, PopperProps: PopperProps, title: React.createElement(React.Fragment, null,\n React.createElement(Header, null, statisticOption === null || statisticOption === void 0 ? void 0 : statisticOption.label),\n React.createElement(Body, null, metricValues.map(function (card) { return (React.createElement(Card, { key: card.valueKey, valueKey: card.valueKey, metricValue: card, secondaryValues: secondaryValues })); }))) },\n React.createElement(\"div\", null))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nimport React, { useEffect, useMemo } from 'react';\nimport { point } from '@turf/helpers';\nimport styled from 'styled-components';\nimport _ from 'lodash';\nimport { useViewValue } from '../state';\nimport { ClusterPin, Pin } from '../common/pin';\nimport { MapFallback, useViewport } from '.';\nimport { useCluster } from './usecluster';\nimport { Popup } from './popup';\nimport { useMount } from '../hooks';\nimport { MemoMarker, PIN_SIZE } from './memo';\nvar StyledMultiplePinMenu = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: auto;\\n max-height: 30rem;\\n padding: 0.625rem;\\n margin: -0.625rem -0.625rem -0.9375rem;\\n border-radius: 3px;\\n max-width: 20rem;\\n\"], [\"\\n overflow: auto;\\n max-height: 30rem;\\n padding: 0.625rem;\\n margin: -0.625rem -0.625rem -0.9375rem;\\n border-radius: 3px;\\n max-width: 20rem;\\n\"])));\nvar StyledMultiplePinMenuItem = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding: 0.25rem;\\n margin-bottom: 0.5rem;\\n cursor: pointer;\\n \", \";\\n\"], [\"\\n padding: 0.25rem;\\n margin-bottom: 0.5rem;\\n cursor: pointer;\\n \", \";\\n\"])), function (props) { return (props.selected ? 'background-color: #deebff;' : ''); });\nvar MultiplePinMenuItem = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type && props.idFields.every(function (f) { var _a; return props.location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); });\n var handleClick = function () {\n setSelectedRegion({\n type: props.type,\n id: _.pick(props.location, props.idFields),\n longitude: props.longitude,\n latitude: props.latitude,\n });\n };\n return React.createElement(StyledMultiplePinMenuItem, __assign({}, props, { selected: selected, onClick: handleClick }));\n};\nexport var MultiplePinMenu = React.memo(function (props) {\n var _a = useViewValue('selectedMultiplePin'), selectedMultiplePin = _a[0], setSelectedMultiplePin = _a[1];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var show = props.type === (selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.type);\n var longitude = selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.geometry.coordinates[0];\n var latitude = selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.geometry.coordinates[1];\n useEffect(function () {\n if (selectedRegion) {\n setSelectedMultiplePin();\n }\n }, [selectedRegion, setSelectedMultiplePin]);\n return (React.createElement(Popup, { show: show, onClose: setSelectedMultiplePin, offsetTop: -(PIN_SIZE + 3), offsetLeft: 0, captureScroll: true, sortByDepth: true, closeButton: false, longitude: longitude, latitude: latitude },\n React.createElement(StyledMultiplePinMenu, null, selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point.properties.locations.sort(function (a, b) { return (props.compareFn ? props.compareFn(a, b) : 0); }).map(function (location, idx) { return (React.createElement(MultiplePinMenuItem, { key: idx, type: props.type, location: location, idFields: props.idFields, longitude: longitude, latitude: latitude }, props.menuItemComponent && React.createElement(props.menuItemComponent, { location: location }))); }))));\n});\nvar SinglePinMarker = React.memo(function (props) {\n var _a;\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var location = props.point.properties.location;\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type && props.idFields.every(function (f) { var _a; return location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); });\n var longitude = props.point.geometry.coordinates[0];\n var latitude = props.point.geometry.coordinates[1];\n return (React.createElement(MemoMarker, { longitude: longitude, latitude: latitude },\n React.createElement(Pin, __assign({}, props, { selected: selected, onClick: setSelectedRegion, payload: { type: props.type, id: _.pick(location, props.idFields), longitude: longitude, latitude: latitude }, icon: props.icon || ((_a = props.getIcon) === null || _a === void 0 ? void 0 : _a.call(props, location)) }))));\n});\nvar MultiplePinMarker = React.memo(function (props) {\n var selectedRegion = useViewValue('selectedRegion')[0];\n var _a = useViewValue('selectedMultiplePin'), selectedMultiplePin = _a[0], setSelectedMultiplePin = _a[1];\n var pinPayload = useMemo(function () { return ((selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point) === props.point ? undefined : { type: props.type, point: props.point }); }, [\n props.point,\n props.type,\n selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.point,\n ]);\n var selected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.type &&\n props.point.properties.locations.some(function (location) { return props.idFields.every(function (f) { var _a; return location[f] === ((_a = selectedRegion.id) === null || _a === void 0 ? void 0 : _a[f]); }); });\n return (React.createElement(MemoMarker, { longitude: props.point.geometry.coordinates[0], latitude: props.point.geometry.coordinates[1] },\n React.createElement(Pin, __assign({}, props, { icon: undefined, selected: selected, text: props.point.properties.point_count_abbreviated, payload: pinPayload, onClick: setSelectedMultiplePin }))));\n});\nvar ClusterPinMarker = React.memo(function (props) {\n var _a = useViewport(), updateViewPort = _a[1];\n var handleClick = function () {\n var _a;\n var zoom = (_a = props.getClusterExpansionZoom) === null || _a === void 0 ? void 0 : _a.call(props, props.point.properties.cluster_id);\n var _b = props.point.geometry.coordinates, longitude = _b[0], latitude = _b[1];\n updateViewPort({ zoom: zoom, longitude: longitude, latitude: latitude });\n };\n return (React.createElement(MemoMarker, { longitude: props.point.geometry.coordinates[0], latitude: props.point.geometry.coordinates[1] },\n React.createElement(ClusterPin, __assign({}, props, { text: props.point.properties.point_count_abbreviated, onClick: handleClick }))));\n});\nvar SimpleLocationLayer = React.memo(function (props) {\n var locations = props.locations, id = props.id, rest = __rest(props, [\"locations\", \"id\"]);\n return (React.createElement(React.Fragment, null, locations.map(function (location, idx) { return (React.createElement(SinglePinMarker, __assign({ key: idx }, rest, { type: id, point: point(location.lnglat || [location.lng, location.lat], { location: location }) }))); })));\n});\nvar ClusterLocationLayer = React.memo(function (props) {\n var locations = props.locations, id = props.id, clusterColor = props.clusterColor, rest = __rest(props, [\"locations\", \"id\", \"clusterColor\"]);\n var _a = useCluster(props.locations), clusters = _a[0], getClusterExpansionZoom = _a[1];\n var _b = useViewValue('selectedMultiplePin'), selectedMultiplePin = _b[0], setSelectedMultiplePin = _b[1];\n useEffect(function () {\n if ((selectedMultiplePin === null || selectedMultiplePin === void 0 ? void 0 : selectedMultiplePin.type) === id) {\n setSelectedMultiplePin();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [clusters]);\n return (React.createElement(React.Fragment, null,\n clusters.map(function (c, idx) { return (React.createElement(React.Fragment, { key: idx }, !c.properties.cluster ? (React.createElement(SinglePinMarker, __assign({}, rest, { type: id, point: c }))) : c.properties.isSameLocation ? (React.createElement(MultiplePinMarker, __assign({}, rest, { type: id, point: c }))) : (React.createElement(ClusterPinMarker, __assign({}, rest, { getClusterExpansionZoom: getClusterExpansionZoom, type: id, color: clusterColor || props.color, point: c }))))); }),\n React.createElement(MultiplePinMenu, { type: props.id, compareFn: props.compareFn, menuItemComponent: props.menuItemComponent, idFields: props.idFields })));\n});\nvar LayerCount = function (props) {\n var _a = useViewValue('mapLayerCountNotifications', props.id), setMapLayerCountNotification = _a[1];\n useEffect(function () {\n setMapLayerCountNotification(null);\n if (props.show && props.displayingCount !== undefined && props.totalCount !== undefined) {\n setMapLayerCountNotification({ displayingCount: props.displayingCount, totalCount: props.totalCount, name: props.name });\n }\n return function () { return setMapLayerCountNotification(null); };\n }, [props.displayingCount, props.name, props.show, props.totalCount, setMapLayerCountNotification]);\n return null;\n};\nvar LocationDetailComponent = function (props) {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var isSelected = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === props.id;\n var id = isSelected ? selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.id : undefined;\n useMount(function () { return function () {\n if (isSelected) {\n setSelectedRegion();\n }\n }; });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n var locationMap = useMemo(function () { return _.keyBy(props.locations, function (l) { return props.idFields.map(function (f) { return l[f]; }).join('-'); }); }, [props.locations]);\n var detailInfo = id && locationMap[props.idFields.map(function (f) { return id[f]; }).join('-')];\n useEffect(function () {\n if (props.requesting === false && id && !detailInfo) {\n setSelectedRegion();\n }\n }, [detailInfo, id, props.requesting, setSelectedRegion]);\n return null;\n};\nexport var LocationLayer = React.memo(function (props) {\n var show = props.show, _a = props.cluster, cluster = _a === void 0 ? true : _a, rest = __rest(props, [\"show\", \"cluster\"]);\n return (React.createElement(React.Fragment, null,\n props.show && (React.createElement(React.Fragment, null,\n cluster ? React.createElement(ClusterLocationLayer, __assign({}, rest)) : React.createElement(SimpleLocationLayer, __assign({}, rest)),\n React.createElement(MapFallback, { requesting: props.requesting, error: props.error, retry: props.retry }),\n React.createElement(LocationDetailComponent, __assign({}, props)))),\n React.createElement(LayerCount, { show: props.show, id: props.id, name: props.name, displayingCount: props.locations.length, totalCount: props.totalCount })));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo, useRef } from 'react';\nimport styled from 'styled-components';\nimport { useFilterSetting, exportFilterSettingPayload, useViewValue } from '../../state';\nimport { useMapRef, useViewport } from '../mapprovider';\nimport { useDebounce, useDebounceValue } from '../../hooks';\nimport { LocationLayer } from '../locationlayer';\nimport { useProviderSetting, useProviderData } from '../../selectors';\nimport { RightPanelTypeEnum } from '../../enums';\nvar VIEW_PORT_DEBOUNCE_TIME = 500;\nvar Row = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar RowLocationName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-size: 0.75rem;\\n\"], [\"\\n font-size: 0.75rem;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Row, null,\n props.location.providerFirstName || '',\n \" \",\n props.location.providerLastName || '',\n \" \",\n props.location.providerCredentialText || ''),\n React.createElement(RowLocationName, null, props.location.name || '')));\n};\nexport var ProviderLayer = React.memo(function () {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var _c = useProviderData(), providerLocatorData = _c[0], fetchProviderLocatorData = _c[1], clearData = _c[2];\n var viewport = useViewport()[0];\n var mapRef = useMapRef();\n var map = (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap();\n var providerSetting = useProviderSetting()[0];\n var selectedRegion = useViewValue('selectedRegion')[0];\n var loadedUserActionsHistoryRef = useRef(false);\n var _d = providerSetting || {}, doGetPrimaryCareProvider = _d.doGetPrimaryCareProvider, doGetHospitalProvider = _d.doGetHospitalProvider, specialistProviders = _d.specialistProviders, available = _d.available;\n var show = available;\n var lngLatBounds = useDebounceValue(function () { return map === null || map === void 0 ? void 0 : map.getBounds().toArray(); }, [viewport.zoom, viewport.longitude, viewport.latitude], VIEW_PORT_DEBOUNCE_TIME);\n var locations = useMemo(function () { return (providerLocatorData.data ? Object.values(providerLocatorData.data.providers) : Object.assign([])); }, [\n providerLocatorData.data,\n ]);\n var fetchDataWrapped = function () {\n var payload = exportFilterSettingPayload(filterSetting);\n var userActionsHistory = !loadedUserActionsHistoryRef.current && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ProviderDetail\n ? {\n provider: selectedRegion.id,\n }\n : undefined;\n fetchProviderLocatorData(__assign(__assign({}, payload), { providerParam: {\n doGetPrimaryCareProvider: doGetPrimaryCareProvider,\n doGetHospitalProvider: doGetHospitalProvider,\n specialistProviders: specialistProviders,\n bottomLeftAndTopRightLngLatBound: lngLatBounds,\n }, userActionsHistory: userActionsHistory }));\n loadedUserActionsHistoryRef.current = true;\n };\n useDebounce(function () {\n if (filterSetting.forceUpdate && show) {\n fetchDataWrapped();\n }\n return clearData;\n }, [filterSetting.forceUpdate, lngLatBounds, doGetPrimaryCareProvider, doGetHospitalProvider, specialistProviders]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.ProviderDetail, locations: locations, show: show, color: \"#D00\", clusterColor: \"#be0712\", stroke: \"#000\", getIcon: function (provider) {\n return provider.providerBroadSpecialty === '1' ? 'clinic-medical' : provider.providerBroadSpecialty === '5' ? 'hospital-symbol' : 'stethoscope';\n }, requesting: providerLocatorData.requesting, error: providerLocatorData.error, retry: fetchDataWrapped, totalCount: (_b = providerLocatorData.data) === null || _b === void 0 ? void 0 : _b.total, compareFn: function (a, b) { var _a, _b; return ((_a = a.providerLastName) === null || _a === void 0 ? void 0 : _a.localeCompare(b.providerLastName || '')) || ((_b = a.providerFirstName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.providerFirstName || '')) || 0; }, menuItemComponent: MenuItem, name: \"providers\", idFields: ['providerNpiNumber'] }));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useMemo } from 'react';\nimport styled from 'styled-components';\nimport { Collapse } from 'reactstrap';\nimport { useToggle } from '../hooks';\nimport { useViewSetting } from '../state';\nvar Wrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n top: 4.875rem;\\n font-weight: 500;\\n left: 2rem;\\n width: max-content;\\n padding: 0.2rem;\\n background-color: rgba(255, 255, 255, 0.8);\\n z-index: 2;\\n\"], [\"\\n position: absolute;\\n top: 4.875rem;\\n font-weight: 500;\\n left: 2rem;\\n width: max-content;\\n padding: 0.2rem;\\n background-color: rgba(255, 255, 255, 0.8);\\n z-index: 2;\\n\"])));\nvar ToggleButton = styled.button(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n border: none;\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n font-size: 0.75rem;\\n padding: 0;\\n outline: none !important;\\n\"], [\"\\n border: none;\\n color: #007bff;\\n text-decoration: none;\\n background-color: transparent;\\n font-size: 0.75rem;\\n padding: 0;\\n outline: none !important;\\n\"])));\nvar StyledAndText = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #6c757d;\\n margin-left: 1rem;\\n\"], [\"\\n color: #6c757d;\\n margin-left: 1rem;\\n\"])));\nvar getCountDisplay = function (layerItem) {\n var _a, _b, _c;\n if (!layerItem.totalCount) {\n return 'no';\n }\n if (layerItem.displayingCount === layerItem.totalCount) {\n return \"all \" + ((_a = layerItem.totalCount) === null || _a === void 0 ? void 0 : _a.toLocaleString());\n }\n return ((_b = layerItem.displayingCount) === null || _b === void 0 ? void 0 : _b.toLocaleString()) + \" of \" + ((_c = layerItem.totalCount) === null || _c === void 0 ? void 0 : _c.toLocaleString());\n};\nexport var CountNotification = function () {\n var _a = useToggle(), open = _a[0], toggle = _a[1];\n var mapLayerCountNotifications = useViewSetting().mapLayerCountNotifications;\n var _b = useMemo(function () { return Object.entries(mapLayerCountNotifications || {}).filter(function (_a) {\n var item = _a[1];\n return item;\n }); }, [mapLayerCountNotifications]), _c = _b[0], _d = _c === void 0 ? [] : _c, firstItem = _d[1], otherItems = _b.slice(1);\n if (!firstItem)\n return null;\n return (React.createElement(Wrapper, null,\n React.createElement(\"div\", null,\n \"Displaying\",\n React.createElement(\"b\", null,\n \" \",\n getCountDisplay(firstItem)),\n \" \",\n firstItem.name,\n otherItems.length ? React.createElement(ToggleButton, { onClick: toggle },\n \"\\u00A0(\",\n open ? 'less' : 'more',\n \")\") : null),\n React.createElement(Collapse, { isOpen: open }, otherItems.map(function (_a) {\n var key = _a[0], item = _a[1];\n return item && (React.createElement(\"div\", { key: key },\n React.createElement(StyledAndText, null, \"and\"),\n React.createElement(\"b\", null,\n \" \",\n getCountDisplay(item),\n \" \"),\n item.name));\n }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useRef, useState } from 'react';\nimport { Editor, DrawPolygonMode, EditingMode, RENDER_STATE } from 'react-map-gl-draw';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faQuestion, faTrash, faVectorSquare } from '@fortawesome/free-solid-svg-icons';\nimport { Button, Modal, ModalBody, ModalFooter, ModalHeader } from 'reactstrap';\nimport styled from 'styled-components';\nimport { useToggle } from '../hooks';\nimport { useMapValue } from './mapprovider';\nvar getEditHandleStyle = function (_a) {\n var feature = _a.feature, state = _a.state;\n switch (state) {\n case RENDER_STATE.SELECTED:\n case RENDER_STATE.HOVERED:\n case RENDER_STATE.UNCOMMITTED:\n return {\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 1,\n stroke: 'rgb(255, 255, 255)',\n strokeWidth: 2,\n r: 7,\n };\n default:\n return {\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 1,\n stroke: 'rgb(255, 255, 255)',\n strokeWidth: 2,\n r: 5,\n };\n }\n};\nvar getFeatureStyle = function (_a) {\n var feature = _a.feature, index = _a.index, state = _a.state;\n switch (state) {\n case RENDER_STATE.SELECTED:\n case RENDER_STATE.HOVERED:\n case RENDER_STATE.UNCOMMITTED:\n case RENDER_STATE.CLOSING:\n return {\n stroke: 'rgb(60, 71, 208)',\n strokeWidth: 2,\n fill: 'rgb(60, 71, 208)',\n fillOpacity: 0.3,\n strokeDasharray: '4,2',\n };\n default:\n return {\n stroke: 'rgb(0, 123, 255)',\n strokeWidth: 2,\n fill: 'rgb(0, 123, 255)',\n fillOpacity: 0.1,\n };\n }\n};\nvar StyledButton = styled.button(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n \", \";\\n\"], [\"\\n \", \";\\n\"])), function (props) { return (props.isActive ? 'background-color: #007bff !important; color: #ffffff;' : ''); });\nvar StyledWrapperTool = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nvar DrawControl = function (props) {\n var _a = useToggle(), isOpenHelpDialog = _a[0], toggleHelpDialog = _a[1];\n return (React.createElement(StyledWrapperTool, null,\n React.createElement(\"div\", { className: \"mapboxgl-ctrl-top-right\" },\n React.createElement(\"div\", { className: \"mapboxgl-ctrl-group mapboxgl-ctrl\" },\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Polygon tool\", isActive: props.isOnDrawMode, onClick: props.toggleDrawMode },\n React.createElement(FontAwesomeIcon, { icon: faVectorSquare })),\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Delete\", onClick: props.onDelete },\n React.createElement(FontAwesomeIcon, { icon: faTrash })),\n React.createElement(StyledButton, { className: \"mapbox-gl-draw_ctrl-draw-btn\", title: \"Help\", onClick: toggleHelpDialog },\n React.createElement(FontAwesomeIcon, { icon: faQuestion })))),\n React.createElement(HelpDialog, { isOpen: isOpenHelpDialog, toggle: toggleHelpDialog })));\n};\nvar HelpDialog = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(Modal, { size: \"lg\", isOpen: props.isOpen, toggle: props.toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: props.toggle }, \"Using the Polygon Selection Tool\"),\n React.createElement(ModalBody, null,\n React.createElement(\"video\", { width: \"100%\", height: \"auto\", controls: true },\n React.createElement(\"source\", { src: \"/assets/videos/polygon_selection_video.mp4\", type: \"video/mp4\" })),\n React.createElement(\"br\", null),\n React.createElement(\"p\", null, \"The polygon selection tool is used to highlight an area and select, for example, a group of providers or clinicals for export.\"),\n React.createElement(\"ol\", null,\n React.createElement(\"li\", null, \"Turn on the drawing tool by clicking the square icons\"),\n React.createElement(\"li\", null, \"Click on the map where you want to start the polygon\"),\n React.createElement(\"li\", null, \"Draw the polygon by clicking on each point of the shape\"),\n React.createElement(\"li\", null, \"When you reach the last point, double-click to complete the shape\"),\n React.createElement(\"li\", null, \"From the export menu choose the data you woold like to save\"),\n React.createElement(\"li\", null, \"Click the trash can icon the remove the selection\"))),\n React.createElement(ModalFooter, null,\n React.createElement(Button, { color: \"primary\", onClick: props.toggle }, \"Close\")))));\n};\nexport var useDrawPolygon = function () {\n var _a = useState(null), mode = _a[0], setMode = _a[1];\n var _b = useToggle(), isOnDrawMode = _b[0], toggleDrawMode = _b[1], setDrawMode = _b[2];\n var editorRef = useRef(null);\n var _c = useMapValue('editorRef'), setEditorRef = _c[1];\n useEffect(function () {\n var _a;\n if (isOnDrawMode && !((_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures().length)) {\n setMode(new DrawPolygonMode());\n }\n }, [isOnDrawMode]);\n useEffect(function () {\n setEditorRef(isOnDrawMode ? editorRef : undefined);\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [isOnDrawMode]);\n var onDelete = function () {\n var _a, _b;\n var features = (_a = editorRef.current) === null || _a === void 0 ? void 0 : _a.getFeatures();\n if (features.length) {\n (_b = editorRef.current) === null || _b === void 0 ? void 0 : _b.deleteFeatures(0);\n setDrawMode(false);\n }\n };\n var onUpdate = function (_a) {\n var editType = _a.editType;\n if (editType === 'addFeature') {\n setMode(new EditingMode());\n }\n };\n return {\n editor: (React.createElement(\"div\", { hidden: !isOnDrawMode, className: \"w-100 h-100\" },\n React.createElement(Editor, { ref: editorRef, style: { width: '100%', height: '100%' }, clickRadius: 12, mode: mode, onUpdate: onUpdate, editHandleShape: 'circle', featureStyle: getFeatureStyle, editHandleStyle: getEditHandleStyle }))),\n drawControl: React.createElement(DrawControl, { isOnDrawMode: isOnDrawMode, toggleDrawMode: toggleDrawMode, onDelete: onDelete }),\n };\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nexport var StyledMapSidebar = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 25rem;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33);\\n padding: 1rem;\\n padding-top: 0;\\n z-index: 3;\\n background-color: #fff;\\n min-height: calc(100%);\\n max-height: calc(100%);\\n overflow: auto;\\n max-width: 100vw;\\n\"], [\"\\n width: 25rem;\\n box-shadow: 0 0 2rem rgba(16, 14, 23, 0.33);\\n padding: 1rem;\\n padding-top: 0;\\n z-index: 3;\\n background-color: #fff;\\n min-height: calc(100%);\\n max-height: calc(100%);\\n overflow: auto;\\n max-width: 100vw;\\n\"])));\nexport var MapSidebar = function (props) {\n return React.createElement(React.Fragment, null, props.children);\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport moment from 'moment';\nimport { useViewValue } from '../../state';\nimport { IconButton } from '../../common';\nimport { StyledMapSidebar } from '../sidebar';\nimport { RightPanelTypeEnum } from '../../enums';\nimport { useCustomMapLayerDetail } from '../../selectors';\nvar StyledLocationDetailPanel = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n margin-right: auto;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n margin-right: auto;\\n\"])));\nexport var ImportingLocationDetail = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type.startsWith(RightPanelTypeEnum.CustomMapLayer)) ? selectedRegion.id : undefined;\n var maplayerLocationDetail = useCustomMapLayerDetail(id);\n var clearSelectedClinicalTrialInfo = function () {\n setSelectedRegion();\n };\n if (!maplayerLocationDetail)\n return null;\n return (React.createElement(StyledLocationDetailPanel, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Location Information\"),\n React.createElement(IconButton, { onClick: clearSelectedClinicalTrialInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(\"div\", null,\n React.createElement(\"div\", { className: \"mb-3 font-weight-bold\" }, maplayerLocationDetail.trialName),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, maplayerLocationDetail.locationName),\n React.createElement(\"address\", null,\n maplayerLocationDetail.address1 && (React.createElement(React.Fragment, null,\n maplayerLocationDetail.address1,\n React.createElement(\"br\", null))),\n maplayerLocationDetail.address2 && (React.createElement(React.Fragment, null,\n maplayerLocationDetail.address2,\n React.createElement(\"br\", null))),\n maplayerLocationDetail.city && React.createElement(React.Fragment, null,\n maplayerLocationDetail.city,\n \", \"),\n maplayerLocationDetail.stateAbv,\n \" \",\n maplayerLocationDetail.zip)),\n React.createElement(\"div\", { className: \"mb-3\" },\n maplayerLocationDetail.recruitmentStatus && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Recruitment Status:\"),\n \" \",\n maplayerLocationDetail.recruitmentStatus)),\n maplayerLocationDetail.startDate && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Start Date:\"),\n \" \",\n moment(maplayerLocationDetail.startDate).format('LL'))),\n maplayerLocationDetail.estimatedCompletionDate && (React.createElement(\"div\", null,\n React.createElement(\"strong\", null, \"Estimated Completion Date:\"),\n \" \",\n moment(maplayerLocationDetail.estimatedCompletionDate).format('LL')))),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Contact Info\"),\n React.createElement(\"div\", { className: \"mb-2\" },\n React.createElement(\"div\", null, maplayerLocationDetail.contactName1),\n React.createElement(\"div\", null, maplayerLocationDetail.contactPhone1),\n React.createElement(\"a\", { href: \"mailto:\" + maplayerLocationDetail.contactEmail1 }, maplayerLocationDetail.contactEmail1))),\n React.createElement(\"div\", { className: \"mb-3\" },\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Investigator Info\"),\n React.createElement(\"div\", { className: \"mb-2\" },\n React.createElement(\"div\", null,\n maplayerLocationDetail.investigatorName1,\n \" \",\n maplayerLocationDetail.investigatorCredentials1),\n React.createElement(\"div\", null, maplayerLocationDetail.investigatorOrganization1))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport styled from 'styled-components';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { exportFilterSettingPayload, useAPI, useFilterSetting, useViewValue } from '../../state';\nimport { ClinicalTrialOptionEnum, RightPanelTypeEnum } from '../../enums';\nimport { LocationLayer } from '../locationlayer';\nimport { useCustomMapLayerLocationData } from '../../selectors';\nvar GET_AVAIABLE_MAP_LAYER_LIST_API = '/api/map-layer/get-all-that-belong-to-the-logged-user-index';\nvar StyledBriefTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"])));\nvar StyledFacilityName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledBriefTitle, { id: \"manage-map-layer-location-\" + props.location.id }, props.location.trialName),\n React.createElement(UncontrolledTooltip, { placement: \"top\", target: \"manage-map-layer-location-\" + props.location.id }, props.location.trialName),\n React.createElement(StyledFacilityName, null, props.location.locationName)));\n};\nvar SingleImportingLocationLayer = function (props) {\n var _a;\n var _b = useCustomMapLayerLocationData(props.mapLayer.id), mapLayerLocationData = _b[0], fetchMapLayerLocationData = _b[1], clearData = _b[2];\n var selectingType = useViewValue('importingLocationTypes', \"\" + props.mapLayer.id)[0];\n var show = !!selectingType;\n var filterSetting = useFilterSetting();\n useEffect(function () {\n if (show) {\n var payload = exportFilterSettingPayload(filterSetting);\n fetchMapLayerLocationData({\n comorbidities: selectingType === ClinicalTrialOptionEnum.TrialsRelated ? payload.comorbidities : undefined,\n });\n }\n return clearData;\n }, [clearData, fetchMapLayerLocationData, filterSetting, selectingType, show]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.CustomMapLayer + \"-\" + props.mapLayer.id, locations: mapLayerLocationData.data || [], show: show, color: props.mapLayer.displayColor, icon: props.mapLayer.displayIcon, requesting: mapLayerLocationData.requesting, error: mapLayerLocationData.error, retry: fetchMapLayerLocationData, totalCount: (_a = mapLayerLocationData.data) === null || _a === void 0 ? void 0 : _a.length, compareFn: function (a, b) { var _a, _b; return ((_a = a.trialName) === null || _a === void 0 ? void 0 : _a.localeCompare(b.trialName || '')) || ((_b = a.locationName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.locationName || '')) || 0; }, menuItemComponent: MenuItem, name: props.mapLayer.name, idFields: ['id', 'mapLayerId'] }));\n};\nexport var ImportingLocationLayers = React.memo(function () {\n var _a;\n var allMapLayers = useAPI(GET_AVAIABLE_MAP_LAYER_LIST_API)[0];\n return (React.createElement(React.Fragment, null, (_a = allMapLayers.data) === null || _a === void 0 ? void 0 : _a.map(function (ml) { return (React.createElement(SingleImportingLocationLayer, { key: ml.id, mapLayer: ml })); })));\n});\nexport * from './detail';\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { PieComponent } from '../../demographicchart/pie';\nimport { useFilterSetting } from '../../state';\nimport { useLookupSexCode, useLookupRaceCode, mapAgeValues, AGE_OPTIONS } from '../../lookupdata';\nimport { getDisplayText } from '../../utils';\nvar ChartContainer = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar ChartContainerTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n // height: 8.5rem;\\n\"], [\"\\n // height: 8.5rem;\\n\"])));\nvar StyledLegendFormatter = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n\"])));\nvar legendFormatter = function (value, entry) {\n return (React.createElement(StyledLegendFormatter, null,\n React.createElement(\"div\", null, value),\n React.createElement(\"div\", { className: \"pl-1 ml-auto\" }, (entry === null || entry === void 0 ? void 0 : entry.dataValue) && getDisplayText(entry.dataValue))));\n};\nvar ProviderPieComponent = function (props) {\n return (React.createElement(StyledChartComponent, null,\n React.createElement(PieComponent, { type: props.type, data: props.data, className: \"flex-row\", width: 160, height: \"8.5rem\", legendFormatter: legendFormatter })));\n};\nexport var SexChart = function (props) {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var lookupSexData = useLookupSexCode((_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.sexCodes)[0];\n var data = (_b = (lookupSexData.mappedValues || lookupSexData.data)) === null || _b === void 0 ? void 0 : _b.map(function (i) { return ({\n id: i.value,\n name: i.label,\n value: props.data[i.value],\n }); }).filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Sex\"),\n React.createElement(ProviderPieComponent, { type: \"sex\", data: data })));\n};\nexport var RaceChart = function (props) {\n var _a, _b;\n var filterSetting = useFilterSetting();\n var lookupRaceData = useLookupRaceCode(filterSetting.raceMethodology, (_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.raceCodes)[0];\n var data = (_b = (lookupRaceData.mappedValues || lookupRaceData.data)) === null || _b === void 0 ? void 0 : _b.map(function (i) { return ({\n id: i.value,\n name: i.shortName,\n value: props.data[i.value],\n }); }).filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Race/Ethnicity\"),\n React.createElement(ProviderPieComponent, { type: \"race\", data: data })));\n};\nexport var AgeChart = function (props) {\n var _a;\n var filterSetting = useFilterSetting();\n var ageOptions = mapAgeValues((_a = filterSetting.demographics) === null || _a === void 0 ? void 0 : _a.ages) || AGE_OPTIONS;\n var data = ageOptions\n .map(function (i) { return ({\n id: i.stringified,\n name: i.label,\n value: props.data[i.stringified],\n }); })\n .filter(function (i) { return !!i.value; });\n return (React.createElement(ChartContainer, null,\n React.createElement(ChartContainerTitle, null, \"Age\"),\n React.createElement(ProviderPieComponent, { type: \"age\", data: data })));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { useViewValue } from '../../state';\nimport { IconButton } from '../../common';\nimport { SexChart, RaceChart, AgeChart } from './demographicchart';\nimport { StyledMapSidebar } from '../sidebar';\nimport { RightPanelTypeEnum } from '../../enums';\nimport { useProviderDetail } from '../../selectors';\nvar StyledProviderDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar ProviderName = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.125rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.125rem;\\n\"])));\nvar ProviderInfo = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar ProviderAddress = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n color: #6c757d;\\n\"], [\"\\n color: #6c757d;\\n\"])));\nvar PatientDemographics = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\"], [\"\"])));\nexport var ProviderDetail = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ProviderDetail ? selectedRegion.id : undefined;\n var selectedProviderInfo = useProviderDetail(id);\n var clearSelectedProviderInfo = function () {\n setSelectedRegion();\n };\n if (!selectedProviderInfo)\n return null;\n return (React.createElement(StyledProviderDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Provider Information\"),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: clearSelectedProviderInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(ProviderInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" },\n selectedProviderInfo.providerFirstName,\n \" \",\n selectedProviderInfo.providerLastName,\n \" \",\n selectedProviderInfo.providerCredentialText),\n React.createElement(ProviderName, null, selectedProviderInfo.name),\n React.createElement(ProviderAddress, null,\n selectedProviderInfo.address1,\n selectedProviderInfo.address2 && (React.createElement(React.Fragment, null,\n React.createElement(\"br\", null),\n selectedProviderInfo.address2)),\n React.createElement(\"br\", null),\n selectedProviderInfo.city,\n \", \",\n selectedProviderInfo.state,\n \" \",\n selectedProviderInfo.zip)),\n React.createElement(PatientDemographics, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Patient Demographics\"),\n selectedProviderInfo.sex && React.createElement(SexChart, { data: selectedProviderInfo.sex }),\n selectedProviderInfo.age && React.createElement(AgeChart, { data: selectedProviderInfo.age }),\n selectedProviderInfo.race && React.createElement(RaceChart, { data: selectedProviderInfo.race }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { getDisplayText } from '../../../utils';\nimport styled from 'styled-components';\nvar CardWrapper = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n\"])));\nvar CardValue = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\"], [\"\"])));\nexport var DataRowForCard = function (props) { return (React.createElement(CardWrapper, null,\n React.createElement(CardValue, null,\n props.label,\n \":\"),\n React.createElement(CardValue, null, getDisplayText(props.value, props.suffix, props.prefix)))); };\nexport var StatisticDataForCard = function (props) {\n var geoId = props.geoId, geoValue = props.geoValue;\n return React.createElement(DataRowForCard, __assign({}, props, { value: geoId && !geoId.endsWith('-') ? geoValue : '-' }));\n};\nexport var StatisticDataForNational = function (props) {\n var nationalValue = props.nationalValue;\n return React.createElement(DataRowForCard, __assign({}, props, { value: nationalValue }));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PrevalenceDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Prevalence\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.national, nationalValue: props.data.national, suffix: \"%\" })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Prevalence\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.national, nationalValue: props.data.national, suffix: \"%\" }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nexport var AggregatedDataBannerDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: props.statisticName, geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalAggregatedValue, nationalValue: props.data.nationalAggregatedValue, suffix: props.data.suffix, prefix: props.data.prefix })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: props.statisticName, geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalAggregatedValue, nationalValue: props.data.nationalAggregatedValue, suffix: props.data.suffix, prefix: props.data.prefix }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nexport var TotalCountDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalNumerator, nationalValue: props.data.nationalNumerator }))));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospitalizationRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ERVisitRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Visits\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospEncounterRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: \"Encounters\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: \"Beneficiaries\", geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: \"Encounters\", geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: \"Rate\", geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var DeathRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Deaths', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Deaths', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ReadmissionRateDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Readmissions', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForCard, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Readmissions', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator }),\n React.createElement(StatisticDataForNational, { label: 'Rate', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var HospitalCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var ERVisitCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Visits', geoId: props.geoId, geoValue: props.data.eventCount, nationalDemographicValue: props.data.nationalDemographicEventCount, nationalValue: props.data.nationalEventCount }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PatientOutOfPocketPartBDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var PatientOutOfPocketPartDDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var MedicarePartBDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var MedicarePartDDrugCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { StatisticDataForCard, StatisticDataForNational } from './statisticdataforcard';\nimport styled from 'styled-components';\nimport { Card, NationalCard } from '.';\nvar CardInfo = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"], [\"\\n display: flex;\\n flex-wrap: wrap;\\n padding: 0 0.5rem;\\n align-items: flex-end;\\n\"])));\nvar Space = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nexport var TotalCostDashBoard = function (props) {\n return (React.createElement(CardInfo, null,\n React.createElement(Card, { viewSetting: props.viewSetting, backgroundColor: props.backgroundColor },\n React.createElement(StatisticDataForCard, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForCard, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForCard, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' })),\n React.createElement(NationalCard, { viewSetting: props.viewSetting },\n React.createElement(StatisticDataForNational, { label: 'Beneficiaries', geoId: props.geoId, geoValue: props.data.denominator, nationalDemographicValue: props.data.nationalDemographicDenominator, nationalValue: props.data.nationalDenominator }),\n React.createElement(Space, null),\n React.createElement(StatisticDataForNational, { label: 'Total', geoId: props.geoId, geoValue: props.data.numerator, nationalDemographicValue: props.data.nationalDemographicNumerator, nationalValue: props.data.nationalNumerator, prefix: '$' }),\n React.createElement(StatisticDataForNational, { label: 'Cost per patient', geoId: props.geoId, geoValue: props.data.value, nationalDemographicValue: props.data.nationalDemographic, nationalValue: props.data.national, prefix: '$' }))));\n};\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useSelectedGeoIdInfo } from '../../geoselectedinfo';\nimport { getStatisticShortName } from '../../../lookupdata';\nimport { extractGeoData } from '../..';\nimport { StatisticTypeEnum } from '../../../enums';\nimport { PrevalenceDashBoard } from './prevalencedashboard';\nimport { AggregatedDataBannerDashBoard } from './aggregateddatabannerdashboard';\nimport { TotalCountDashBoard } from './totalcountdashboard';\nimport { HospitalizationRateDashBoard } from './hospitalizationratedashboard';\nimport { ERVisitRateDashBoard } from './ervisitratedashboard';\nimport { HospEncounterRateDashBoard } from './hospencounterratedashboard';\nimport { DeathRateDashBoard } from './deathratedashboard';\nimport { ReadmissionRateDashBoard } from './readmissionratedashboard';\nimport { HospitalCostDashBoard } from './hospitalcostdashboard';\nimport { ERVisitCostDashBoard } from './ervisitcostdashboard';\nimport { PatientOutOfPocketPartBDrugCostDashBoard } from './patientoutofpocketpartbdrugcostdashboard';\nimport { PatientOutOfPocketPartDDrugCostDashBoard } from './patientoutofpocketpartddrugcostdashboard';\nimport { MedicarePartBDrugCostDashBoard } from './medicarepartbdrugcostdashboard';\nimport { MedicarePartDDrugCostDashBoard } from './medicarepartddrugcostdashboard';\nimport { TotalCostDashBoard } from './totalcostdashboard';\nimport { ENV_LEGEND_COLORS } from '../../../env';\nimport { useFilterSetting, useViewSetting } from '../../../state';\nimport { useMapData } from '../../patientchoroplethlayer/usemapdata';\nvar CardTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.5rem 0;\\n font-weight: 500;\\n\"], [\"\\n padding: 0.5rem 0;\\n font-weight: 500;\\n\"])));\nvar CardContent = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 100%;\\n padding: 0.75rem;\\n vertical-align: middle;\\n position: relative;\\n\"], [\"\\n width: 100%;\\n padding: 0.75rem;\\n vertical-align: middle;\\n position: relative;\\n\"])));\nvar CardColor = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n background-color: \", \";\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n opacity: 0.7;\\n\"], [\"\\n background-color: \", \";\\n position: absolute;\\n left: 0;\\n top: 0;\\n right: 0;\\n bottom: 0;\\n opacity: 0.7;\\n\"])), function (props) { return props.backgroundColor; });\nvar Text = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n position: relative;\\n\"], [\"\\n position: relative;\\n\"])));\nexport var Card = function (props) {\n var _a;\n var _b = useSelectedGeoIdInfo(props.viewSetting), firstLevel = _b[1], secondLevel = _b[2];\n var makeSelection = !((_a = props.viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties);\n return (React.createElement(React.Fragment, null,\n React.createElement(CardTitle, null, makeSelection ? ('Make Selection') : (React.createElement(React.Fragment, null,\n firstLevel,\n \" \",\n secondLevel))),\n React.createElement(CardContent, null,\n React.createElement(CardColor, { backgroundColor: props.backgroundColor }),\n React.createElement(Text, null, props.children))));\n};\nexport var NationalCard = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(CardTitle, null, \"National\"),\n React.createElement(CardContent, null,\n React.createElement(CardColor, { backgroundColor: \"#ccc\" }),\n React.createElement(Text, null, props.children))));\n};\nexport var StatisticCard = function () {\n var _a, _b, _c;\n var filterSetting = useFilterSetting();\n var viewSetting = useViewSetting();\n var mapData = useMapData()[0].data;\n var geoLevel = viewSetting.geoType;\n var selectedId = (_b = (_a = viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties) === null || _b === void 0 ? void 0 : _b.id;\n var statistic = (_c = filterSetting.statistic) === null || _c === void 0 ? void 0 : _c.statisticOption;\n var statisticName = getStatisticShortName(statistic);\n var extractedGeoData = extractGeoData(selectedId, filterSetting, geoLevel, mapData);\n var getStatisticComponent = function () {\n if (filterSetting.isAggregatedDataSource) {\n return AggregatedDataBannerDashBoard;\n }\n switch (statistic) {\n case StatisticTypeEnum.Prevalence:\n return PrevalenceDashBoard;\n case StatisticTypeEnum.TotalCount:\n return TotalCountDashBoard;\n case StatisticTypeEnum.HospitalizationRate:\n return HospitalizationRateDashBoard;\n case StatisticTypeEnum.ERVisitsRate:\n return ERVisitRateDashBoard;\n case StatisticTypeEnum.HospitalEncounterRate:\n return HospEncounterRateDashBoard;\n case StatisticTypeEnum.DeathRate:\n return DeathRateDashBoard;\n case StatisticTypeEnum.ReadmissionRate:\n return ReadmissionRateDashBoard;\n case StatisticTypeEnum.HospitalizationCost:\n return HospitalCostDashBoard;\n case StatisticTypeEnum.ERCost:\n return ERVisitCostDashBoard;\n case StatisticTypeEnum.OOPPartBDrugCost:\n return PatientOutOfPocketPartBDrugCostDashBoard;\n case StatisticTypeEnum.OOPPartDDrugCost:\n return PatientOutOfPocketPartDDrugCostDashBoard;\n case StatisticTypeEnum.MCRPartBDrugCost:\n return MedicarePartBDrugCostDashBoard;\n case StatisticTypeEnum.MCRPartDDrugCost:\n return MedicarePartDDrugCostDashBoard;\n case StatisticTypeEnum.TotalCost:\n return TotalCostDashBoard;\n default:\n return null;\n }\n };\n var StatisticComponent = getStatisticComponent();\n return (React.createElement(React.Fragment, null, StatisticComponent && (React.createElement(StatisticComponent, { backgroundColor: ENV_LEGEND_COLORS[extractedGeoData.breakIdx], viewSetting: viewSetting, data: extractedGeoData, geoId: selectedId, statisticName: statisticName }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { DropdownMenu, DropdownToggle, UncontrolledDropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, Select } from '../../common';\nimport { useMixedYear } from '../../lookupdata';\nimport { useFilterSetting, useViewValue } from '../../state';\nimport { TrendLineContainer } from '../../trendline';\nimport { useTrendLineData } from '../../trendline/usetrendlinedata';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"])));\nvar Header = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"])));\nvar StyledDropdownToggle = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar Title = styled.b(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledTitle = styled.b(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"], [\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"])));\nvar StyledDropdownMenu = styled(DropdownMenu)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar StyledSelectYearItem = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"], [\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"])));\nexport var TrendLine = function () {\n var _a = useViewValue('chartView', 'startingYear'), fromYear = _a[0], setFromYear = _a[1];\n var _b = useViewValue('chartView', 'endingYear'), toYear = _b[0], setToYear = _b[1];\n var _c = useTrendLineData(), trendlineData = _c[0], fetchTrendlineData = _c[1];\n var filterSettings = useFilterSetting();\n var lookupYearData = useMixedYear(filterSettings, true)[0];\n var selectYearItem = (React.createElement(React.Fragment, null,\n React.createElement(StyledTitle, null, \"From\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromYear, onChange: setFromYear, isOptionDisabled: function (option) { return !!toYear && option.value > toYear; }, isLoading: lookupYearData.requesting }),\n ' ',\n React.createElement(StyledTitle, null, \"to\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toYear, onChange: setToYear, isOptionDisabled: function (option) { return !!fromYear && option.value < fromYear; }, isLoading: lookupYearData.requesting })));\n return (React.createElement(StyledTrendLineComponent, null,\n React.createElement(Header, null,\n React.createElement(Title, null, \"National Trend\"),\n React.createElement(UncontrolledDropdown, null,\n React.createElement(StyledDropdownToggle, { size: \"2x\", caret: true },\n React.createElement(StyledTitle, null,\n fromYear,\n \" to \",\n toYear)),\n React.createElement(StyledDropdownMenu, { right: true },\n React.createElement(StyledSelectYearItem, null, selectYearItem)))),\n React.createElement(FallbackComponent, { requesting: trendlineData.requesting || lookupYearData.requesting, error: trendlineData.error, retry: fetchTrendlineData },\n React.createElement(TrendLineContainer, { data: trendlineData.data }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport React from 'react';\nimport { DropdownMenu, DropdownToggle, UncontrolledDropdown } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, Select } from '../../common';\nimport { useCMSDataSeasonYear } from '../../lookupdata';\nimport { useFilterSetting, useViewValue } from '../../state';\nimport { TrendLineContainer } from '../../trendline';\nimport { useTrendLineDataForSeason } from '../../trendline/usetrendlinedata';\nimport { getYearsBySeason } from '../../utils';\nvar StyledTrendLineComponent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"], [\"\\n flex: 1;\\n display: flex;\\n flex-direction: column;\\n position: relative;\\n min-height: 15rem;\\n\"])));\nvar Header = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"], [\"\\n display: flex;\\n justify-content: space-between;\\n padding-bottom: 0.5rem;\\n align-items: center;\\n\"])));\nvar StyledDropdownToggle = styled(DropdownToggle)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"], [\"\\n color: #212529 !important;\\n border: none;\\n background: transparent !important;\\n &:hover {\\n background: transparent;\\n opacity: 0.8;\\n }\\n &:focus {\\n background: transparent !important;\\n box-shadow: none !important;\\n }\\n &::after {\\n font-size: 1rem;\\n }\\n\"])));\nvar Title = styled.b(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n\"], [\"\\n font-weight: 500;\\n\"])));\nvar StyledTitle = styled.b(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"], [\"\\n font-weight: 500;\\n padding-right: 0.25rem;\\n\"])));\nvar StyledDropdownMenu = styled(DropdownMenu)(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n box-shadow: 0 5px 10px -5px;\\n\"], [\"\\n box-shadow: 0 5px 10px -5px;\\n\"])));\nvar StyledSelectYearItem = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"], [\"\\n width: 18rem;\\n padding: 0.5rem 0 0.5rem 1rem;\\n\"])));\nexport var TrendLineSeason = function () {\n var _a = useViewValue('chartView', 'startingSeasonYear'), fromSeasonYear = _a[0], setFromYear = _a[1];\n var _b = useViewValue('chartView', 'endingSeasonYear'), toSeasonYear = _b[0], setToYear = _b[1];\n var _c = useTrendLineDataForSeason(), trendlineData = _c[0], fetchTrendlineData = _c[1];\n var filterSettings = useFilterSetting();\n var lookupSeasonYearData = useCMSDataSeasonYear(filterSettings)[0];\n var selectYearItem = (React.createElement(React.Fragment, null,\n React.createElement(StyledTitle, null, \"From\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"from\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: fromSeasonYear, onChange: setFromYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(item.value)[0];\n var firstTo = getYearsBySeason(toSeasonYear)[0];\n return !!toSeasonYear && firstFrom > firstTo;\n }, isLoading: lookupSeasonYearData.requesting }),\n ' ',\n React.createElement(StyledTitle, null, \"to\"),\n React.createElement(Select, { inline: true, width: \"6\", name: \"to\", placeholder: \"\", options: lookupSeasonYearData.data, optionsTransform: function (value) { return ({ value: value, label: \"\" + value }); }, value: toSeasonYear, onChange: setToYear, isOptionDisabled: function (item) {\n var firstFrom = getYearsBySeason(fromSeasonYear)[0];\n var firstTo = getYearsBySeason(item.value)[0];\n return !!fromSeasonYear && firstFrom > firstTo;\n }, isLoading: lookupSeasonYearData.requesting })));\n return (React.createElement(StyledTrendLineComponent, null,\n React.createElement(Header, null,\n React.createElement(Title, null, \"National Trend\"),\n React.createElement(UncontrolledDropdown, null,\n React.createElement(StyledDropdownToggle, { size: \"2x\", caret: true },\n React.createElement(StyledTitle, null,\n fromSeasonYear,\n \" to \",\n toSeasonYear)),\n React.createElement(StyledDropdownMenu, { right: true },\n React.createElement(StyledSelectYearItem, null, selectYearItem)))),\n React.createElement(FallbackComponent, { requesting: trendlineData.requesting || lookupSeasonYearData.requesting, error: trendlineData.error, retry: fetchTrendlineData },\n React.createElement(TrendLineContainer, { data: trendlineData.data, keyValue: \"seasonYear\" }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { useChartData } from '../../demographicchart/usechartdata';\nimport { FallbackComponent } from '../../common';\nimport { useFilterValue } from '../../state';\nimport { PieComponent } from '../../demographicchart/pie';\nimport { DemographicTypeEnum, StatisticTypeEnum } from '../../enums';\nvar StyledDemographicChart = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar Title = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 700;\\n\"], [\"\\n font-weight: 700;\\n\"])));\nvar StyledNational = styled.span(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: normal;\\n\"], [\"\\n font-weight: normal;\\n\"])));\nvar Body = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledChartContainer = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\"], [\"\"])));\nvar ChartContainerTitle = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"], [\"\\n font-weight: 500;\\n margin: 0.25rem 0;\\n\"])));\nvar StyledChartComponent = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n // height: 8.5rem;\\n\"], [\"\\n // height: 8.5rem;\\n\"])));\nvar ChartContainer = function (props) {\n var _a;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var _b = props.data || [], data = _b[0], retry = _b[1];\n if (!((_a = data === null || data === void 0 ? void 0 : data.data) === null || _a === void 0 ? void 0 : _a.length))\n return null;\n return (React.createElement(StyledChartContainer, null,\n React.createElement(ChartContainerTitle, null, props.title),\n React.createElement(StyledChartComponent, null,\n React.createElement(FallbackComponent, { requesting: data === null || data === void 0 ? void 0 : data.requesting, error: data === null || data === void 0 ? void 0 : data.error, retry: retry },\n React.createElement(PieComponent, { type: props.type, data: data === null || data === void 0 ? void 0 : data.data, percentage: statistic === StatisticTypeEnum.Prevalence, className: \"flex-row\", width: \"45%\", height: \"8.5rem\" })))));\n};\nexport var DemographicChart = function () {\n var _a, _b, _c;\n var _d = useChartData(), chartData = _d[0], fetchChartData = _d[1];\n return (React.createElement(StyledDemographicChart, null,\n React.createElement(Title, null,\n \"Demographics - \",\n React.createElement(StyledNational, null, \"National\")),\n React.createElement(Body, null,\n React.createElement(FallbackComponent, { requesting: chartData.requesting !== false, error: chartData.error, retry: fetchChartData },\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Sex, title: \"Sex\", data: (_a = chartData.data) === null || _a === void 0 ? void 0 : _a.sex }),\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Age, title: \"Age\", data: (_b = chartData.data) === null || _b === void 0 ? void 0 : _b.age }),\n React.createElement(ChartContainer, { type: DemographicTypeEnum.Race, title: \"Race/Ethnicity\", data: (_c = chartData.data) === null || _c === void 0 ? void 0 : _c.race })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { StatisticCard } from './statisticcard';\nimport { TrendLine } from './trendline';\nimport { TrendLineSeason } from './trendlineseason';\nimport { DemographicChart } from './demographicchart';\nimport { useHostnameIndexInfo } from '../../hostnameindexinfo';\nvar Space = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-bottom: 0.75rem;\\n\"], [\"\\n padding-bottom: 0.75rem;\\n\"])));\nvar TrendLineStatisticDetail = function () {\n var indexConfiguration = useHostnameIndexInfo();\n var isSeasonStatistic = ((indexConfiguration === null || indexConfiguration === void 0 ? void 0 : indexConfiguration.generalInformation) || {}).isSeasonStatistic;\n return isSeasonStatistic ? React.createElement(TrendLineSeason, null) : React.createElement(TrendLine, null);\n};\nexport var StatisticDetail = function () {\n return (React.createElement(React.Fragment, null,\n React.createElement(StatisticCard, null),\n React.createElement(Space, null),\n React.createElement(TrendLineStatisticDetail, null),\n React.createElement(Space, null),\n React.createElement(DemographicChart, null)));\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { prependingHttpToUrlIfMissing } from '../../../utils';\nvar DataBody = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n flex-direction: row;\\n word-break: break-word;\\n\"], [\"\\n display: flex;\\n flex-direction: row;\\n word-break: break-word;\\n\"])));\nvar RepresentativePhoto = styled.img(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n width: 6.5rem;\\n height: 8rem;\\n object-fit: cover;\\n margin-right: 0.5rem;\\n\"], [\"\\n width: 6.5rem;\\n height: 8rem;\\n object-fit: cover;\\n margin-right: 0.5rem;\\n\"])));\nvar RepresentativeInfo = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n // width: calc(100% - 7rem);\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n\"], [\"\\n // width: calc(100% - 7rem);\\n display: flex;\\n flex-direction: column;\\n justify-content: space-between;\\n\"])));\nvar DataRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\"], [\"\"])));\nvar DataRowAddress = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-size: 0.875rem;\\n\"], [\"\\n font-size: 0.875rem;\\n\"])));\nvar DataRowPhone = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: 550;\\n\"], [\"\\n font-weight: 550;\\n\"])));\nexport var FederalRepresentativeDetail = function (props) {\n var onErrorFunc = function (e) {\n e.target.onError = null;\n e.target.style.display = 'none';\n };\n if (!props.data)\n return null;\n return (React.createElement(DataBody, null,\n props.data.frPhotoLink && React.createElement(RepresentativePhoto, { src: prependingHttpToUrlIfMissing(props.data.frPhotoLink), onError: function (e) { return onErrorFunc(e); }, alt: \"\" }),\n React.createElement(RepresentativeInfo, null,\n props.data.frAddress && React.createElement(DataRowAddress, { className: \"mb-3\" }, props.data.frAddress.replace('Building', 'Bldg')),\n props.data.frPhoneNumber && React.createElement(DataRowPhone, { className: \"mb-3\" }, props.data.frPhoneNumber),\n React.createElement(DataRow, null,\n React.createElement(\"a\", { href: props.data.frWebSite, target: \"_blank\", rel: \"noopener noreferrer\" },\n \"Website\\u00A0\",\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt }))))));\n};\nexport var StateRepresentativeDetail = function (props) {\n var onErrorFunc = function (e) {\n e.target.onError = null;\n e.target.style.display = 'none';\n };\n if (!props.data)\n return null;\n return (React.createElement(DataBody, null,\n props.data.srPhotoLink && React.createElement(RepresentativePhoto, { src: prependingHttpToUrlIfMissing(props.data.srPhotoLink), onError: function (e) { return onErrorFunc(e); }, alt: \"\" }),\n React.createElement(RepresentativeInfo, null,\n props.data.srAddress && React.createElement(DataRowAddress, { className: \"mb-3\" }, props.data.srAddress.replace('Building', 'Bldg').replaceAll(';', ' ')),\n props.data.srPhoneNumber && React.createElement(DataRowPhone, { className: \"mb-3\" }, props.data.srPhoneNumber),\n React.createElement(DataRow, null,\n React.createElement(\"a\", { href: props.data.srWebSite, target: \"_blank\", rel: \"noopener noreferrer\" },\n \"Website\\u00A0\",\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt }))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport styled from 'styled-components';\nimport { FederalRepresentativeDetail, StateRepresentativeDetail } from './representativedetail';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../../enums';\nimport { getDisplayUserName, separateGeoLevelId } from '../../../utils';\nimport { useLookupState, useLookupZipCodeDistrict } from '../../../lookupdata';\nimport { useCachedData, useViewValue } from '../../../state';\nimport { FallbackComponent } from '../../../common';\nimport { useToggle } from '../../../hooks';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faDemocrat, faRepublican, faFlagUsa } from '@fortawesome/free-solid-svg-icons';\nvar GET_FEDERAL_REPRESENTATIVES_API = '/api/general/representative/get-federal-representatives';\nvar GET_STATE_REPRESENTATIVES_UPPER_API = '/api/general/representative/get-state-representatives/UPPER';\nvar GET_STATE_REPRESENTATIVES_LOWER_API = '/api/general/representative/get-state-representatives/LOWER';\nvar StyledGroup = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding: 0.25rem 0;\\n\"], [\"\\n padding: 0.25rem 0;\\n\"])));\nvar GroupTitle = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: bold;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: bold;\\n font-size: 1.25rem;\\n\"])));\nvar GroupContent = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledRow = styled.div(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n \", \";\\n padding: 0.5rem 1rem;\\n cursor: pointer;\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n \", \";\\n padding: 0.5rem 1rem;\\n cursor: pointer;\\n display: flex;\\n justify-content: space-between;\\n margin-bottom: 0.5rem;\\n\"])), function (props) { return (props.expanded ? 'background-color: #007bff; color: white;' : 'background-color: #ededed'); });\nvar StyledRowExpanded = styled.div(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding: 0.5rem 0.5rem 0.5rem 1rem;\\n background-color: white;\\n\"], [\"\\n padding: 0.5rem 0.5rem 0.5rem 1rem;\\n background-color: white;\\n\"])));\nvar StyledFullName = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n font-weight: bold;\\n\"], [\"\\n font-weight: bold;\\n\"])));\nvar StyledIcon = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n color: \", \";\\n\"], [\"\\n color: \", \";\\n\"])), function (props) { return (props.expanded ? 'white' : props.isRepublican ? 'red' : 'blue'); });\nvar FederalRepresentativeItem = function (props) {\n var _a;\n var _b = useToggle(), expandedFederal = _b[0], toggleExpandFederal = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledRow, { onClick: toggleExpandFederal, expanded: expandedFederal },\n React.createElement(\"div\", null,\n React.createElement(StyledFullName, null,\n getDisplayUserName(props.data.frFirstName, props.data.frLastName, props.data.frMiddleName),\n \"\\u00A0 (\",\n props.data.frParty.charAt(0).toUpperCase(),\n \")\"),\n React.createElement(\"div\", null,\n props.data.frDistrict ? 'Representative' : 'Senator',\n \"\\u00A0\",\n props.data.frDistrict ? \"(\" + props.data.frStateAbbreviation + \" \" + ((_a = props.data.frDistrict) === null || _a === void 0 ? void 0 : _a.padStart(2, '0')) + \")\" : \"(\" + props.data.frStateAbbreviation + \")\")),\n React.createElement(StyledIcon, { expanded: expandedFederal, isRepublican: props.data.frParty.charAt(0).toUpperCase() === 'R' },\n React.createElement(FontAwesomeIcon, { size: \"3x\", icon: props.data.frParty.charAt(0).toUpperCase() === 'D' ? faDemocrat : props.data.frParty.charAt(0).toUpperCase() === 'R' ? faRepublican : faFlagUsa }))),\n React.createElement(StyledRowExpanded, { hidden: !expandedFederal },\n React.createElement(FederalRepresentativeDetail, { data: props.data }))));\n};\nvar StateRepresentativeItem = function (props) {\n var _a;\n var _b = useToggle(), expandedState = _b[0], toggleExpandState = _b[1];\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledRow, { onClick: toggleExpandState, expanded: expandedState },\n React.createElement(\"div\", null,\n React.createElement(StyledFullName, null,\n getDisplayUserName(props.data.srFirstName, props.data.srLastName, props.data.srMiddleName),\n \"\\u00A0 (\",\n props.data.srParty.charAt(0).toUpperCase(),\n \")\"),\n React.createElement(\"div\", null,\n props.data.srChamber === 'upper' ? 'State Senator' : 'State Representative',\n \"\\u00A0\",\n React.createElement(\"span\", null, props.data.srDistrict ? \"(\" + props.data.stState + \" \" + ((_a = props.data.srDistrict) === null || _a === void 0 ? void 0 : _a.padStart(2, '0')) + \")\" : \"(\" + props.data.stState + \")\"))),\n React.createElement(StyledIcon, { expanded: expandedState, isRepublican: props.data.srParty.charAt(0).toUpperCase() === 'R' },\n React.createElement(FontAwesomeIcon, { size: \"3x\", icon: props.data.srParty.charAt(0).toUpperCase() === 'D' ? faDemocrat : props.data.srParty.charAt(0).toUpperCase() === 'R' ? faRepublican : faFlagUsa }))),\n React.createElement(StyledRowExpanded, { hidden: !expandedState },\n React.createElement(StateRepresentativeDetail, { data: props.data }))));\n};\nvar DataGroup = function (props) {\n var _a;\n return (React.createElement(StyledGroup, null,\n React.createElement(GroupTitle, null, props.title),\n React.createElement(GroupContent, null, (_a = props.data) === null || _a === void 0 ? void 0 : _a.map(function (rep) { return (React.createElement(props.itemComponent, { key: rep.id, data: rep })); }))));\n};\nvar useRepresentativePanel = function (apiUrl) {\n var lookupState = useLookupState()[0].data;\n var selectedRegion = useViewValue('selectedRegion')[0];\n var selectedId = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail ? selectedRegion.id : undefined;\n var geoLevel = useViewValue('geoType')[0];\n var lookupZipCode = useLookupZipCodeDistrict()[0];\n var _a = useCachedData(apiUrl), _b = _a[0], requesting = _b.requesting, apiRes = _b.data, error = _b.error, fetchData = _a[1];\n useEffect(function () {\n fetchData();\n }, [fetchData]);\n var _c = useMemo(function () {\n var _a;\n var _b = separateGeoLevelId(selectedId), stateCode = _b[0], district = _b[1];\n if (geoLevel !== GeoLevelEnum.Zip5 || (selectedId === null || selectedId === void 0 ? void 0 : selectedId.endsWith('-'))) {\n return [(stateCode && ((_a = lookupState === null || lookupState === void 0 ? void 0 : lookupState.find(function (lookup) { return lookup.stateCode === stateCode.padStart(2, '0'); })) === null || _a === void 0 ? void 0 : _a.stateAbbreviation)) || '', district];\n }\n else {\n return [lookupZipCode.getStateAbbOfZipCode(selectedId) || '', district];\n }\n }, [selectedId, geoLevel, lookupZipCode, lookupState]), stateAbb = _c[0], district = _c[1];\n return {\n stateAbb: stateAbb,\n district: district,\n requesting: requesting,\n apiData: apiRes === null || apiRes === void 0 ? void 0 : apiRes.data,\n error: error,\n fetchData: fetchData,\n };\n};\nexport var LegislatorsComponent = function (props) {\n var _a, _b;\n var data = useRepresentativePanel(GET_FEDERAL_REPRESENTATIVES_API);\n return (React.createElement(FallbackComponent, { requesting: data.requesting, error: data.error, retry: data.fetchData },\n React.createElement(DataGroup, { title: \"U.S. Senators\", data: (_a = data.apiData) === null || _a === void 0 ? void 0 : _a.senators[data.stateAbb], itemComponent: FederalRepresentativeItem }),\n props.type === GeoLevelEnum.Congressional && (React.createElement(DataGroup, { title: \"U.S. Representative\", data: (_b = data.apiData) === null || _b === void 0 ? void 0 : _b.representatives[data.stateAbb + \"-\" + data.district], itemComponent: FederalRepresentativeItem }))));\n};\nexport var StateDelegatesComponent = function (props) {\n var _a, _b, _c, _d;\n var apiUrl = '';\n if (props.type === GeoLevelEnum.StateUpper) {\n apiUrl = GET_STATE_REPRESENTATIVES_UPPER_API;\n }\n else if (props.type === GeoLevelEnum.StateLower) {\n apiUrl = GET_STATE_REPRESENTATIVES_LOWER_API;\n }\n var data = useRepresentativePanel(apiUrl);\n if (props.type !== GeoLevelEnum.StateUpper && props.type !== GeoLevelEnum.StateLower)\n return null;\n return (React.createElement(FallbackComponent, { requesting: data.requesting, error: data.error, retry: data.fetchData },\n props.type === GeoLevelEnum.StateUpper && ((_a = data.apiData) === null || _a === void 0 ? void 0 : _a[data.stateAbb + \"-\" + data.district]) && (React.createElement(DataGroup, { title: \"State Senator\", data: (_b = data.apiData) === null || _b === void 0 ? void 0 : _b[data.stateAbb + \"-\" + data.district], itemComponent: StateRepresentativeItem })),\n props.type === GeoLevelEnum.StateLower && ((_c = data.apiData) === null || _c === void 0 ? void 0 : _c[data.stateAbb + \"-\" + data.district]) && (React.createElement(DataGroup, { title: \"State Representative\", data: (_d = data.apiData) === null || _d === void 0 ? void 0 : _d[data.stateAbb + \"-\" + data.district], itemComponent: StateRepresentativeItem }))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect, useState } from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { ListGroup, ListGroupItem, TabContent, TabPane } from 'reactstrap';\nimport { IconButton } from '../../common';\nimport { useFilterValue, useViewSetting, useViewValue } from '../../state';\nimport { StyledMapSidebar } from '../sidebar';\nimport { getStatisticShortName } from '../../lookupdata';\nimport { GeoLevelEnum, RightPanelTypeEnum } from '../../enums';\nimport { useSelectedGeoIdInfo } from '../geoselectedinfo';\nimport { StatisticDetail } from './statisticdetail';\nimport { LegislatorsComponent, StateDelegatesComponent } from './representatives';\nimport { useMount } from '../../hooks';\nimport { deviceType } from '../../utils';\nvar PanelHeader = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.5rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin: 0 -1rem;\\n padding: 0.5rem 1rem;\\n padding-right: 0;\\n background-color: #cacaca;\\n\"])));\nvar Title = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar StyledTabsContainer = styled(ListGroup)(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n margin: 0 -1rem;\\n border-radius: 0;\\n > li {\\n display: flex;\\n align-items: center;\\n }\\n\"])));\nvar StyleTabSelector = styled(ListGroupItem)(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"], [\"\\n flex: 1;\\n cursor: pointer;\\n border: 0;\\n border-radius: 0 !important;\\n :not(.active):not(:hover) {\\n background-color: #ededed;\\n }\\n\"])));\nvar TabSelector = React.memo(function (props) {\n var setActiveTab = props.setActiveTab;\n var handleClick = useCallback(function () {\n setActiveTab(props.tabId);\n }, [props.tabId, setActiveTab]);\n return (React.createElement(StyleTabSelector, { action: true, disabled: props.disabled, active: props.activeTab === props.tabId, onClick: handleClick }, props.children));\n});\nexport var RegionDetail = React.memo(function () {\n var _a;\n var statistic = useFilterValue('statistic', 'statisticOption')[0];\n var statisticName = getStatisticShortName(statistic);\n var _b = useViewValue('selectedRegion'), selectedRegion = _b[0], setSelectedRegion = _b[1];\n var _c = useState('1'), activeTab = _c[0], setActiveTab = _c[1];\n var viewSetting = useViewSetting();\n var _d = useSelectedGeoIdInfo(viewSetting), firstLevelLabel = _d[1], secondLevelLabel = _d[2];\n var makeSelection = !((_a = viewSetting.mapView) === null || _a === void 0 ? void 0 : _a.selectedGeoProperties);\n var isDisabledRepresentativesTab = makeSelection || viewSetting.geoType === GeoLevelEnum.MSA;\n useMount(function () {\n if (!(selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) && deviceType() !== 'mobile') {\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail });\n }\n else if (deviceType() === 'mobile' && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.RegionDetail && !selectedRegion.id) {\n setSelectedRegion();\n }\n });\n useEffect(function () {\n if (isDisabledRepresentativesTab) {\n setActiveTab('1');\n }\n }, [isDisabledRepresentativesTab]);\n var closePanel = useCallback(function () {\n setSelectedRegion();\n }, [setSelectedRegion]);\n if ((selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) !== RightPanelTypeEnum.RegionDetail)\n return null;\n return (React.createElement(StyledMapSidebar, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, makeSelection ? ('United States') : (React.createElement(React.Fragment, null,\n React.createElement(\"span\", { className: secondLevelLabel ? 'font-weight-bold' : '' }, firstLevelLabel),\n \" \",\n secondLevelLabel))),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: closePanel, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(StyledTabsContainer, { horizontal: true },\n React.createElement(TabSelector, { tabId: \"1\", activeTab: activeTab, setActiveTab: setActiveTab }, statisticName),\n React.createElement(TabSelector, { disabled: isDisabledRepresentativesTab, tabId: \"2\", activeTab: activeTab, setActiveTab: setActiveTab }, \"Representatives\")),\n React.createElement(TabContent, { activeTab: activeTab },\n React.createElement(TabPane, { tabId: \"1\" },\n React.createElement(StatisticDetail, null)),\n React.createElement(TabPane, { tabId: \"2\" },\n React.createElement(LegislatorsComponent, { type: viewSetting.geoType }),\n React.createElement(StateDelegatesComponent, { type: viewSetting.geoType })))));\n});\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useCallback, useEffect } from 'react';\nimport { TabPane, TabContent } from 'reactstrap';\nimport ReactMapGL, { NavigationControl } from 'react-map-gl';\nimport styled from 'styled-components';\nimport { FallbackComponent } from '../common';\nimport { useMapData } from './patientchoroplethlayer/usemapdata';\nimport { useViewValue } from '../state/viewsetting';\nimport { useViewport, useMapValue, useMapRef, useMapFallback } from './mapprovider';\nimport { LegendOverlay } from './patientchoroplethlayer/legend';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { RightPanelTypeEnum, ViewModeEnum } from '../enums';\nimport { CountNotification } from './countnotification';\nimport { MapSidebar } from './sidebar';\nimport { ImportingLocationDetail } from './importinglocationlayer';\nimport { ProviderDetail } from './providerdetail';\nimport { RegionDetail } from './regiondetail';\nimport { useDrawPolygon } from './drawpolygon';\nimport { isTouchEnabled } from '../utils';\nvar StyledMapContent = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n\"], [\"\\n position: absolute;\\n left: 0;\\n right: 0;\\n top: 0;\\n bottom: 0;\\n\"])));\nvar StyledNavigationControl = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n bottom: 2.5rem;\\n left: 0.5rem;\\n .disabled-zoom-out .mapboxgl-ctrl-zoom-out {\\n &:focus,\\n &:active {\\n box-shadow: none;\\n }\\n cursor: default !important;\\n span {\\n background-color: #f4f4f4;\\n background-image: url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23bbb'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\") !important;\\n }\\n }\\n\"], [\"\\n position: absolute;\\n bottom: 2.5rem;\\n left: 0.5rem;\\n .disabled-zoom-out .mapboxgl-ctrl-zoom-out {\\n &:focus,\\n &:active {\\n box-shadow: none;\\n }\\n cursor: default !important;\\n span {\\n background-color: #f4f4f4;\\n background-image: url(\\\"data:image/svg+xml;charset=utf-8,%3Csvg width='29' height='29' viewBox='0 0 29 29' xmlns='http://www.w3.org/2000/svg' fill='%23bbb'%3E%3Cpath d='M10 13c-.75 0-1.5.75-1.5 1.5S9.25 16 10 16h9c.75 0 1.5-.75 1.5-1.5S19.75 13 19 13h-9z'/%3E%3C/svg%3E\\\") !important;\\n }\\n }\\n\"])));\nvar StyledRightOverlay = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n position: absolute;\\n display: flex;\\n flex-direction: row-reverse;\\n align-items: flex-end;\\n right: 0;\\n top: 3.875rem;\\n bottom: 0;\\n\"], [\"\\n position: absolute;\\n display: flex;\\n flex-direction: row-reverse;\\n align-items: flex-end;\\n right: 0;\\n top: 3.875rem;\\n bottom: 0;\\n\"])));\nexport var MapComponent = function (props) {\n var _a = useMapData(), mapData = _a[0], fetchMapData = _a[1], resetMapData = _a[2];\n var _b = useViewport(), viewport = _b[0], setViewport = _b[1];\n var _c = useMapValue('hoveringInfo'), setHoveringInfo = _c[1];\n var indexConfig = useHostnameIndexInfo();\n var mapRef = useMapRef();\n var viewMode = useViewValue('viewMode')[0];\n var show = viewMode === ViewModeEnum.Map;\n var _d = useMapFallback(), fallbackData = _d[0], setFallbackData = _d[1];\n var _e = useViewValue('selectedRegion'), setSelectedRegion = _e[1];\n var _f = useViewValue('mapView', 'zoomId'), setZoomId = _f[1];\n var _g = useDrawPolygon(), editor = _g.editor, drawControl = _g.drawControl;\n useEffect(function () {\n resetMapData();\n fetchMapData();\n }, [fetchMapData, resetMapData]);\n useEffect(function () {\n setFallbackData({ requesting: mapData.requesting, error: mapData.error, retry: fetchMapData });\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [mapData.requesting, mapData.error]);\n var updateViewport = useCallback(function (newViewport) {\n var zoom = newViewport.zoom;\n var minZoom = viewport.minZoom, maxZoom = viewport.maxZoom;\n if (minZoom && zoom < minZoom) {\n zoom = minZoom;\n }\n if (maxZoom && zoom > maxZoom) {\n zoom = maxZoom;\n }\n setViewport(__assign(__assign({}, newViewport), { minZoom: minZoom, maxZoom: maxZoom, zoom: zoom }));\n }, \n // eslint-disable-next-line react-hooks/exhaustive-deps\n [viewport.minZoom, viewport.maxZoom]);\n var handleHover = useCallback(function (event) {\n var properties = null;\n var lngLat = [0, 0];\n var feature = (event.features || [])[0];\n if (!isTouchEnabled() && feature && event.target.className === 'overlays') {\n (lngLat = event.lngLat);\n (properties = feature.properties);\n setHoveringInfo(__spreadArrays([properties], lngLat));\n }\n else {\n setHoveringInfo();\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var handleMouseOut = useCallback(function () {\n setHoveringInfo();\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var hanldeClick = useCallback(function (event) {\n var feature = (event.features || [])[0];\n if (feature && event.target.className === 'overlays') {\n setZoomId(feature.properties.id);\n setHoveringInfo();\n setSelectedRegion({ type: RightPanelTypeEnum.RegionDetail, id: feature.properties.id });\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, []);\n var mapEvents = {};\n if (show) {\n mapEvents = {\n onHover: handleHover,\n onMouseOut: handleMouseOut,\n onClick: hanldeClick,\n };\n }\n return (React.createElement(TabContent, { activeTab: viewMode },\n React.createElement(TabPane, { tabId: ViewModeEnum.Map },\n React.createElement(FallbackComponent, { requesting: fallbackData.requesting, error: fallbackData.error, retry: fallbackData.retry, overlay: true },\n React.createElement(StyledMapContent, null,\n React.createElement(ReactMapGL, __assign({ ref: mapRef, mapboxApiAccessToken: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.mapboxToken, mapStyle: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.mapboxStyle }, viewport, { width: \"100%\", height: \"100%\", onViewportChange: updateViewport, interactiveLayerIds: ['patientchoroplethlayer'] }, mapEvents, { doubleClickZoom: false }),\n React.createElement(StyledNavigationControl, null,\n React.createElement(NavigationControl, { className: \"\" + (viewport.minZoom >= viewport.zoom ? 'disabled-zoom-out' : ''), showCompass: false })),\n React.Children.map(props.children, function (child) { return ((child === null || child === void 0 ? void 0 : child.type) !== MapSidebar ? child : null); }),\n editor,\n React.createElement(CountNotification, null)),\n React.createElement(StyledRightOverlay, null,\n React.createElement(MapSidebar, null,\n React.createElement(RegionDetail, null),\n React.createElement(ProviderDetail, null),\n React.createElement(ImportingLocationDetail, null),\n React.Children.map(props.children, function (child) { return ((child === null || child === void 0 ? void 0 : child.type) === MapSidebar ? child : null); })),\n React.createElement(\"div\", { className: \"position-relative h-100\" },\n drawControl,\n React.createElement(LegendOverlay, null))))))));\n};\nvar templateObject_1, templateObject_2, templateObject_3;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useRef } from 'react';\nimport styled from 'styled-components';\nimport moment from 'moment';\nimport { UncontrolledTooltip } from 'reactstrap';\nimport { exportFilterSettingPayload, useFilterSetting, useViewValue } from '../../state';\nimport { useMapRef, useViewport } from '../mapprovider';\nimport { useDebounce, useDebounceValue } from '../../hooks';\nimport { ClinicalTrialOptionEnum, RightPanelTypeEnum } from '../../enums';\nimport { LocationLayer } from '../locationlayer';\nimport { useClinicalTrialGovApi } from '../../selectors';\nvar VIEW_PORT_DEBOUNCE_TIME = 500;\nvar StyledBriefTitle = styled.div(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"], [\"\\n overflow: hidden;\\n display: -webkit-box;\\n -webkit-line-clamp: 2;\\n -webkit-box-orient: vertical;\\n\"])));\nvar StyledFacilityName = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n font-weight: 550 !important;\\n\"], [\"\\n font-weight: 550 !important;\\n\"])));\nvar MenuItem = function (props) {\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledBriefTitle, { key: props.location.nctId, id: props.location.nctId }, props.location.briefTitle || ''),\n React.createElement(UncontrolledTooltip, { placement: \"top\", target: props.location.nctId }, props.location.briefTitle),\n React.createElement(StyledFacilityName, null, props.location.facilityName || '')));\n};\nexport var ClinicalTrialLayer = React.memo(function () {\n var _a, _b, _c;\n var filterSetting = useFilterSetting();\n var _d = useClinicalTrialGovApi(), clinicalTrialLocatorData = _d[0], fetchClinicalTrialLocatorData = _d[1], clearData = _d[2];\n var clinicalTrialOption = useViewValue('clinicalTrial', 'clinicalTrialOption')[0];\n var filterRecruitmentStatuses = useViewValue('clinicalTrialStatus', 'filterRecruitmentStatuses')[0];\n var viewport = useViewport()[0];\n var mapRef = useMapRef();\n var map = (_a = mapRef === null || mapRef === void 0 ? void 0 : mapRef.current) === null || _a === void 0 ? void 0 : _a.getMap();\n var show = !!clinicalTrialOption;\n var lngLatBounds = useDebounceValue(function () { return map === null || map === void 0 ? void 0 : map.getBounds().toArray(); }, [viewport.zoom, viewport.longitude, viewport.latitude], VIEW_PORT_DEBOUNCE_TIME);\n var selectedRegion = useViewValue('selectedRegion')[0];\n var loadedUserActionsHistoryRef = useRef(false);\n var fetchDataWrapped = function () {\n var payload = exportFilterSettingPayload(filterSetting);\n var userActionsHistory = !loadedUserActionsHistoryRef.current && (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ClinicalTrialDetail\n ? {\n clinicalTrial: selectedRegion.id,\n }\n : undefined;\n fetchClinicalTrialLocatorData(__assign(__assign({}, payload), { primaryCoMorbidities: clinicalTrialOption === ClinicalTrialOptionEnum.AllTrials ? undefined : filterSetting.primaryCoMorbidities, currentDate: {\n date: moment().format('D'),\n month: moment().format('M'),\n year: moment().format('YYYY'),\n }, bottomLeftAndTopRightLngLatBound: lngLatBounds, userActionsHistory: userActionsHistory,\n filterRecruitmentStatuses: filterRecruitmentStatuses }));\n loadedUserActionsHistoryRef.current = true;\n };\n useDebounce(function () {\n if (filterSetting.forceUpdate && show) {\n fetchDataWrapped();\n }\n return clearData;\n }, [filterSetting.forceUpdate, show, lngLatBounds, clinicalTrialOption, filterRecruitmentStatuses]);\n return (React.createElement(LocationLayer, { id: RightPanelTypeEnum.ClinicalTrialDetail, locations: ((_b = clinicalTrialLocatorData.data) === null || _b === void 0 ? void 0 : _b.clinicalTrials) || [], show: show, color: \"#4472C5\", icon: \"notes-medical\", requesting: clinicalTrialLocatorData.requesting, error: clinicalTrialLocatorData.error, retry: fetchDataWrapped, totalCount: (_c = clinicalTrialLocatorData.data) === null || _c === void 0 ? void 0 : _c.totalCount, compareFn: function (a, b) { var _a, _b; return ((_a = a.briefTitle) === null || _a === void 0 ? void 0 : _a.localeCompare(b.briefTitle || '')) || ((_b = a.facilityName) === null || _b === void 0 ? void 0 : _b.localeCompare(b.facilityName || '')) || 0; }, menuItemComponent: MenuItem, name: \"clinical trial sites\", idFields: ['nctId', 'facilityName', 'zipcode'] }));\n});\nvar templateObject_1, templateObject_2;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport styled from 'styled-components';\nimport { faTimesCircle } from '@fortawesome/free-regular-svg-icons';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faCloudDownloadAlt, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport moment from 'moment';\nimport { useAuth } from '../authentication';\nimport { useViewValue } from '../state';\nimport { IconButton } from '../common';\nimport { StyledMapSidebar } from './sidebar';\nimport { RightPanelTypeEnum } from '../enums';\nimport { useClinicalTrialDetail } from '../selectors';\nvar EXPORT_CSV_API = '/api/clinical-trials/export-to-excel-file';\nvar StyledClinicalTrialDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"], [\"\\n display: flex;\\n align-items: center;\\n margin-right: -1rem;\\n margin-bottom: 0.5rem;\\n\"])));\nvar Title = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"], [\"\\n font-weight: 500;\\n font-size: 1.25rem;\\n\"])));\nvar ClinicalTrialLink = styled.a(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"], [\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"])));\nvar ClinicalTrialText = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n\"], [\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n\"])));\nvar ClinicalTrialInfo = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n margin-bottom: 1rem;\\n\"], [\"\\n margin-bottom: 1rem;\\n\"])));\nvar ClinicalTrialLocation = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n padding-top: 1rem;\\n\"], [\"\\n padding-top: 1rem;\\n\"])));\nvar ClinicalTrialDate = styled.div(templateObject_8 || (templateObject_8 = __makeTemplateObject([\"\\n padding-top: 1rem;\\n\"], [\"\\n padding-top: 1rem;\\n\"])));\nvar ClinicalTrialDateText = styled.span(templateObject_9 || (templateObject_9 = __makeTemplateObject([\"\\n padding-left: 0.25rem;\\n\"], [\"\\n padding-left: 0.25rem;\\n\"])));\nvar ClinicalTrialContactInfo = styled.div(templateObject_10 || (templateObject_10 = __makeTemplateObject([\"\\n padding-top: 2rem;\\n\"], [\"\\n padding-top: 2rem;\\n\"])));\nvar ClinicalTrialInvestigatorInfo = styled.div(templateObject_11 || (templateObject_11 = __makeTemplateObject([\"\\n padding-top: 2rem;\\n\"], [\"\\n padding-top: 2rem;\\n\"])));\nvar StyledDiv = styled.div(templateObject_12 || (templateObject_12 = __makeTemplateObject([\"\"], [\"\"])));\nvar Location = styled.div(templateObject_13 || (templateObject_13 = __makeTemplateObject([\"\"], [\"\"])));\nvar StyledEmail = styled.a(templateObject_14 || (templateObject_14 = __makeTemplateObject([\"\"], [\"\"])));\nexport var ClinicalTrialDetail = function () {\n var _a, _b, _c;\n var auth = useAuth();\n var _d = useViewValue('selectedRegion'), selectedRegion = _d[0], setSelectedRegion = _d[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.type) === RightPanelTypeEnum.ClinicalTrialDetail ? selectedRegion.id : undefined;\n var selectedClinicalTrialSite = useClinicalTrialDetail(id);\n var clearSelectedClinicalTrialInfo = function () {\n setSelectedRegion();\n };\n var onDownloadClinicalTrial = function () {\n var form = document.createElement('form');\n form.action = EXPORT_CSV_API;\n form.method = 'post';\n var params = {\n token: auth.jwt,\n filtering: JSON.stringify({\n clinicalTrialSites: [selectedClinicalTrialSite],\n dateTimeStringForExportingCsv: moment().format('YYYYMMDD HHmmss'),\n }),\n };\n Object.keys(params).forEach(function (key) {\n var input = document.createElement('input');\n input.name = key;\n input.value = params[key] || '';\n form.appendChild(input);\n });\n window.document.body.appendChild(form);\n form.submit();\n window.document.body.removeChild(form);\n };\n if (!selectedClinicalTrialSite)\n return null;\n return (React.createElement(StyledClinicalTrialDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(Title, null, \"Clinical Trial Information\"),\n React.createElement(IconButton, { className: \"ml-auto\", onClick: onDownloadClinicalTrial, icon: faCloudDownloadAlt, color: \"warning\", size: \"2x\" }),\n React.createElement(IconButton, { onClick: clearSelectedClinicalTrialInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(ClinicalTrialInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedClinicalTrialSite.briefTitle),\n React.createElement(ClinicalTrialLink, { href: \"https://clinicaltrials.gov/ct2/show/\" + selectedClinicalTrialSite.nctId, target: \"_blank\" },\n React.createElement(ClinicalTrialText, null, \"View in ClinicalTrials.gov\"),\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt })),\n React.createElement(ClinicalTrialLocation, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedClinicalTrialSite.facilityName),\n React.createElement(Location, null,\n selectedClinicalTrialSite.city,\n \", \",\n selectedClinicalTrialSite.stateAbv,\n \" \",\n selectedClinicalTrialSite.zipcode)),\n React.createElement(ClinicalTrialDate, null,\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Recruitment Status:\"),\n React.createElement(ClinicalTrialDateText, null, (_a = selectedClinicalTrialSite.recruimentStatuses) === null || _a === void 0 ? void 0 : _a.join(', ')),\n React.createElement(\"br\", null),\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Start Date:\"),\n React.createElement(ClinicalTrialDateText, null, moment(selectedClinicalTrialSite.startDate).format('LL')),\n React.createElement(\"br\", null),\n React.createElement(\"span\", { className: \"font-weight-bold\" }, \"Estimated Completion Date:\"),\n React.createElement(ClinicalTrialDateText, null, moment(selectedClinicalTrialSite.completionDate).format('LL')),\n React.createElement(\"br\", null)),\n React.createElement(ClinicalTrialContactInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Contact Info\"), (_b = selectedClinicalTrialSite.contacts) === null || _b === void 0 ? void 0 :\n _b.map(function (item, idx) { return (React.createElement(\"div\", { key: idx, className: \"mb-2\" },\n React.createElement(StyledDiv, null, item.contactName),\n React.createElement(StyledDiv, null, item.contactPhone),\n React.createElement(StyledEmail, { href: \"mailto:\" + item.contactEmail }, item.contactEmail))); })),\n React.createElement(ClinicalTrialInvestigatorInfo, null,\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Investigator Info\"), (_c = selectedClinicalTrialSite.investigators) === null || _c === void 0 ? void 0 :\n _c.map(function (item, idx) { return (React.createElement(\"div\", { key: idx, className: \"mb-2\" },\n React.createElement(StyledDiv, null, item.investigatorName),\n React.createElement(StyledDiv, null, item.investigatorAffiliation))); })))));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7, templateObject_8, templateObject_9, templateObject_10, templateObject_11, templateObject_12, templateObject_13, templateObject_14;\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nimport React from 'react';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport { faTimesCircle, faExternalLinkAlt } from '@fortawesome/free-solid-svg-icons';\nimport { StyledMapSidebar } from './sidebar';\nimport { useViewValue } from '../state';\nimport { useQuestDiagnosticsDetail } from '../selectors';\nimport { IconButton } from '../common';\nvar StyledQuestDiagnosticsDetail = styled(StyledMapSidebar)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\"], [\"\"])));\nvar PanelHeader = styled.div(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n position: absolute;\\n right: 0;\\n top: 0.5rem;\\n\"], [\"\\n position: absolute;\\n right: 0;\\n top: 0.5rem;\\n\"])));\nvar LogoHeader = styled.img(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n width: 100%\\n\"], [\"\\n width: 100%\\n\"])));\nvar QuestDiagnosticsLink = styled.a(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"], [\"\\n font-weight: 500;\\n padding-top: 1rem;\\n padding-bottom: 1rem;\\n\"])));\nvar QuestDiagnosticsText = styled.span(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n font-size: 10pt;\\n\"], [\"\\n font-weight: normal;\\n padding-top: 1rem;\\n padding-right: 0.5rem;\\n text-decoration: underline;\\n font-size: 10pt;\\n\"])));\nvar CountyText = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n color: #7F7F7F;\\n\"], [\"\\n color: #7F7F7F;\\n\"])));\nvar EmptyText = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n height: 2rem;\\n\"], [\"\\n height: 2rem;\\n\"])));\nexport var QuestDiagnosticsSitesDetails = function () {\n var _a = useViewValue('selectedRegion'), selectedRegion = _a[0], setSelectedRegion = _a[1];\n var id = (selectedRegion === null || selectedRegion === void 0 ? void 0 : selectedRegion.id) || undefined;\n var selectedQuestDiagnosticsSites = useQuestDiagnosticsDetail(id);\n var clearSelectedQuestDiagnosticsSitesInfo = function () {\n setSelectedRegion();\n };\n if (!selectedQuestDiagnosticsSites)\n return null;\n return (React.createElement(StyledQuestDiagnosticsDetail, null,\n React.createElement(PanelHeader, null,\n React.createElement(IconButton, { onClick: clearSelectedQuestDiagnosticsSitesInfo, icon: faTimesCircle, color: \"warning\", size: \"2x\" })),\n React.createElement(LogoHeader, { src: '/assets/images/logos/quest-diagnostics-sites-logo.png', alt: '' }),\n React.createElement(\"div\", { className: \"font-weight-bold\" }, selectedQuestDiagnosticsSites.site_name),\n React.createElement(CountyText, null, selectedQuestDiagnosticsSites.county),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", null, selectedQuestDiagnosticsSites.address_1),\n React.createElement(\"div\", null, selectedQuestDiagnosticsSites.address_2),\n React.createElement(\"div\", null,\n selectedQuestDiagnosticsSites.city,\n \", \",\n selectedQuestDiagnosticsSites.state_abbreviation,\n \", \",\n selectedQuestDiagnosticsSites.zip_code),\n React.createElement(QuestDiagnosticsLink, { href: \"https://www.google.com/maps/search/?api=1&query=\" + selectedQuestDiagnosticsSites.lat + \",\" + selectedQuestDiagnosticsSites.lng, target: \"_blank\" },\n React.createElement(QuestDiagnosticsText, null, \"Directions\"),\n React.createElement(FontAwesomeIcon, { icon: faExternalLinkAlt })),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", null,\n \"Phone 1: \",\n selectedQuestDiagnosticsSites.phone_1),\n React.createElement(\"div\", null,\n \"Phone 2: \",\n selectedQuestDiagnosticsSites.phone_2),\n React.createElement(\"div\", null,\n \"Tax: \",\n selectedQuestDiagnosticsSites.fax),\n React.createElement(EmptyText, null),\n React.createElement(\"div\", { className: \"font-weight-bold\" }, \"Hours Of Operation: \"),\n React.createElement(\"span\", null, selectedQuestDiagnosticsSites.operation_hours_desc)));\n};\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { Marker } from 'react-map-gl';\nexport var PIN_SIZE = 35;\nexport var MemoMarker = React.memo(function (props) {\n return React.createElement(Marker, __assign({ offsetLeft: -PIN_SIZE / 2, offsetTop: -PIN_SIZE }, props));\n});\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * *\n * * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n *\n */\nimport React from 'react';\nimport { Layer } from 'react-map-gl';\nimport { ENV_LEGEND_COLORS } from '../../env';\nimport { useMapValue } from '../mapprovider';\nvar patientChoroplethLayer = function (transparency) {\n if (transparency === void 0) { transparency = 70; }\n return ({\n id: 'patientchoroplethlayer',\n type: 'fill',\n paint: {\n 'fill-color': ['to-color', ['at', ['get', 'breakIdx'], ['array', ['literal', ENV_LEGEND_COLORS]]]],\n 'fill-opacity': transparency / 100,\n },\n });\n};\nexport var PatientChoroplethLayer = function () {\n var transparency = useMapValue('transparency')[0];\n return React.createElement(Layer, __assign({ source: \"selectedgeographysource\" }, patientChoroplethLayer(transparency)));\n};\nexport * from './infopopup';\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useCallback, useEffect, useRef, useState } from 'react';\nimport Supercluster from 'supercluster';\nimport { point } from '@turf/helpers';\nimport { useMapRef } from './mapprovider';\nimport { groupBy } from '../utils';\nvar CLUSTER_OPTIONS = {\n radius: 35,\n};\nvar getClusterOptions = function () { return (__assign(__assign({}, CLUSTER_OPTIONS), { map: function (props) { return ({ locations: [props.location], isSameLocation: false }); }, reduce: function (acc, props) {\n acc.locations = __spreadArrays(acc.locations, props.locations);\n } })); };\nexport var useCluster = function (data, options) {\n var _a, _b;\n var map = (_b = (_a = useMapRef()) === null || _a === void 0 ? void 0 : _a.current) === null || _b === void 0 ? void 0 : _b.getMap();\n var indexRef = useRef();\n var _c = useState([]), cookedclusters = _c[0], setCookedClusters = _c[1];\n var recalculateClusters = useCallback(function () {\n var index = indexRef.current;\n if (map && index) {\n var zoom = map.getZoom();\n var bounds = map.getBounds().toArray();\n var bbox = __spreadArrays(bounds[0], bounds[1]);\n var clusters = index.getClusters(bbox, Math.floor(zoom)).map(function (i) {\n if (!i.properties.cluster) {\n return i;\n }\n var _a = i.properties.locations, point = _a[0], points = _a.slice(1);\n i.properties.isSameLocation = points.every(function (p) { return p.lng === point.lng && p.lat === point.lat; });\n return i;\n });\n var groupByLngLat = groupBy(clusters, function (i) { return JSON.stringify(i.geometry.coordinates); });\n clusters = Object.values(groupByLngLat).map(function (points, idx) {\n if (points.length === 1) {\n return points[0];\n }\n return point(points[0].geometry.coordinates, {\n point_count: points.length,\n point_count_abbreviated: points.length,\n locations: points.map(function (p) { return p.properties.location; }),\n isSameLocation: true,\n cluster: true,\n cluster_id: idx,\n });\n });\n setCookedClusters(clusters);\n }\n }, [map]);\n useEffect(function () {\n map === null || map === void 0 ? void 0 : map.on('moveend', recalculateClusters);\n return function () {\n map === null || map === void 0 ? void 0 : map.off('moveend', recalculateClusters);\n };\n }, [map, recalculateClusters]);\n useEffect(function () {\n var index = new Supercluster(getClusterOptions());\n indexRef.current = index;\n index.load((data || []).map(function (payload) { return point([payload.lng, payload.lat], { location: payload }); }));\n recalculateClusters();\n }, [data, recalculateClusters]);\n var getClusterExpansionZoom = useCallback(function (clusterId) { return indexRef.current && indexRef.current.getClusterExpansionZoom(clusterId) + 2; }, []);\n return [cookedclusters, getClusterExpansionZoom];\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { Popup as MapboxPopup } from 'react-map-gl';\nexport var Popup = function (props) {\n var show = props.show, onClose = props.onClose, resprops = __rest(props, [\"show\", \"onClose\"]);\n useEffect(function () {\n if (show && onClose) {\n var handleKeyDown_1 = function (event) {\n var key = event.key || event.keyCode;\n if (key === 'Escape' || key === 'Esc' || key === 27) {\n onClose();\n }\n };\n document.addEventListener('keydown', handleKeyDown_1);\n return function () {\n document.removeEventListener('keydown', handleKeyDown_1);\n };\n }\n }, [onClose, show]);\n if (!show)\n return null;\n return React.createElement(MapboxPopup, __assign({}, resprops));\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport { useDispatch, useMappedState } from 'redux-react-hook';\nimport { useCallback, useMemo } from 'react';\nimport { RESET_FILTERS, SET_FILTER_VALUE } from './reducer';\nimport { ALL_AGE_VALUES } from '../../lookupdata';\nexport function useFilterValue() {\n var keyPath = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n keyPath[_i] = arguments[_i];\n }\n var dispatch = useDispatch();\n var stringifiedPath = JSON.stringify(keyPath);\n var setter = useCallback(function (value) { return dispatch({ type: SET_FILTER_VALUE, payload: { keyPath: JSON.parse(stringifiedPath), value: value } }); }, [\n dispatch,\n stringifiedPath,\n ]);\n var getter = useCallback(function (state) { return state.filter.getIn(JSON.parse(stringifiedPath)); }, [stringifiedPath]);\n return [useMappedState(getter), setter];\n}\nexport var useResetFilter = function () {\n var dispatch = useDispatch();\n return useCallback(function (value) { return dispatch({ type: RESET_FILTERS, payload: value }); }, [dispatch]);\n};\nexport var useFilterSetting = function () {\n var filter = useMappedState(useCallback(function (state) { return state.filter; }, []));\n return useMemo(function () { return filter.toJSON(); }, [filter]);\n};\nexport var exportFilterSettingPayload = function (values) {\n var _a, _b, _c, _d, _e;\n if (values.isAggregatedDataSource) {\n return {\n statisticType: values.statisticType,\n statisticOptionType: values.statisticOptionType,\n dataSourceName: values.dataSourceName,\n year: values.year,\n filteringCategoryType: values.filteringCategoryType,\n filteringCategoryValue: values.filteringCategoryValue,\n };\n }\n return {\n consumptionGroupClasses: values.consumptionGroupClasses,\n additionalConditions: values.additionalConditions,\n primaryConditions: values.primaryConditions,\n primaryCoMorbidities: (_a = values.primaryCoMorbidities) === null || _a === void 0 ? void 0 : _a.slice(0, 1),\n comorbidities: Array.from(new Set(__spreadArrays((values.primaryCoMorbidities || []), (values.comorbidities || [])))).sort(),\n demographics: __assign(__assign({}, values.demographics), { ages: ((_c = (_b = values.demographics) === null || _b === void 0 ? void 0 : _b.ages) === null || _c === void 0 ? void 0 : _c.length) ? (_d = values.demographics) === null || _d === void 0 ? void 0 : _d.ages : ALL_AGE_VALUES }),\n raceMethodology: values.raceMethodology,\n dataYear: isNaN(values.dataYear || 0) ? 9999 : values.dataYear,\n dataYearSeason: values.dataYearSeason,\n statistic: values.statistic,\n claimNumber: values.claimNumber,\n claimDay: values.claimDay,\n singleStateCode: values.singleStateCode,\n singleStateAbb: values.singleStateAbb,\n vaccineCptCodes: values.vaccineCptCodes,\n fluVaccineCptCodes: values.fluVaccineCptCodes,\n primaryConditionWithClaims: (_e = values.primaryCoMorbidities) === null || _e === void 0 ? void 0 : _e.map(function (condition) {\n var _a;\n return ({\n chronicCode: Number(condition),\n minClaimNumber: (_a = values.primaryConditionWithClaims) === null || _a === void 0 ? void 0 : _a[condition],\n });\n }).filter(function (i) { return i.minClaimNumber && i.chronicCode; }),\n primaryConditionWithClaimsOptionals: values.primaryConditionWithClaimsOptionals,\n patientPopulationReferenceYear: values.patientPopulationReferenceYear,\n useMBSFChronicCondition: values.useMBSFChronicCondition,\n };\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nimport { useMemo, useEffect, useState } from 'react';\nimport { useMount } from '../hooks';\nimport { useIndexName } from '../hostnameindexinfo';\nimport { useAPI } from '../state';\nvar FETCH_AGGREGATED_DATA_SOURCES_API_URL = '/api/data-file/get-data-source-names-for-an-index/{indexName}';\nexport var useAggregatedDataSource = function () {\n var indexName = useIndexName();\n var _a = useAPI(FETCH_AGGREGATED_DATA_SOURCES_API_URL, { indexName: indexName }), agrregatedData = _a[0], rest = _a.slice(1);\n var data = useMemo(function () { var _a; return (_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceGeos.some(function (geo) { return geo.geoLevelLookup.geoName !== 'NATIONAL'; }); }); }, [\n agrregatedData.data,\n ]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], rest);\n};\nexport var useAggregatedDataSourceName = function () {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n // transform & remove duplicated & sort\n var data = useMemo(function () { var _a; return (_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.map(function (i) { return i.dataSourceName; }).filter(function (name, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === name; }); }).sort(function (a, b) { return a.toLowerCase().localeCompare(b.toLowerCase()); }); }, [agrregatedData.data]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// year by source name\nexport var useAggregatedYear = function (filterSetting) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n // search & transform & remove duplicated & sort\n var data = useMemo(function () {\n var _a;\n return filterSetting.isAggregatedDataSource\n ? (_a = agrregatedData === null || agrregatedData === void 0 ? void 0 : agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName; }).map(function (i) { return i.year; }).filter(function (year, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === year; }); }).sort() : undefined;\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// statistic by source name + year\nexport var useAggregatedStatistic = function (filterSetting) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n var _b = useState(), data = _b[0], setData = _b[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year; }).map(function (i) { return i.dataTypeName; }).filter(function (i, idx, arr) { return idx === arr.findIndex(function (curr) { return curr === i; }); }));\n }\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName, filterSetting.year]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// demographic by source name + year\nexport var useAggregatedDemogaphic = function (filterSetting, demographic) {\n var _a = useAggregatedDataSource(), agrregatedData = _a[0], res = _a.slice(1);\n var _b = useState(), data = _b[0], setData = _b[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year; }).flatMap(function (i) { return i.dataSourceColumnDefinitions.filter(function (cd) { return cd.category === demographic; }); }).filter(function (i, idx, arr) { return (idx === arr.findIndex(function (curr) { return curr.name === i.name; })); }));\n }\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.dataSourceName, filterSetting.year, demographic]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\n// geo level by source name + year + statistic\nexport var useAggregatedGeoLevel = function (filterSetting) {\n var _a;\n var _b = useAggregatedDataSource(), agrregatedData = _b[0], res = _b.slice(1);\n var _c = useState(), data = _c[0], setData = _c[1];\n // search & transform & remove duplicated\n useEffect(function () {\n var _a;\n if (filterSetting.isAggregatedDataSource) {\n setData((_a = agrregatedData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { var _a; return i.dataSourceName === filterSetting.dataSourceName && i.year === filterSetting.year && i.dataTypeName === ((_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption); }).flatMap(function (i) { return i.dataSourceGeos; }).map(function (i) { return i.geoLevelLookup.geoName; }).filter(function (i, idx, arr) { return i !== 'NATIONAL' && idx === arr.findIndex(function (curr) { return curr === i; }); }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [agrregatedData.data, filterSetting.isAggregatedDataSource, filterSetting.year, (_a = filterSetting.statistic) === null || _a === void 0 ? void 0 : _a.statisticOption]);\n return __spreadArrays([__assign(__assign({}, agrregatedData), { data: data })], res);\n};\nexport var AggregatedDataSourceComponent = function () {\n var _a = useAggregatedDataSource(), fetchAggregatedData = _a[1];\n useMount(function () {\n fetchAggregatedData();\n });\n return null;\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nexport var ENV_MIN_PATIENT_BUSINESS_RULE = parseInt(process.env.REACT_APP_MIN_PATIENT_BUSINESS_RULE || '11', 10);\nexport var ENV_LEGEND_COLORS = (process.env.REACT_APP_LEGEND_COLORS || '#ccc,#ffff00,#ffd226,#ffa143,#f27151,#d9434c,#b71933,#8b0000').split(',');\nexport var ENV_STATE_BORDER_COLOR = process.env.REACT_APP_STATE_BORDER_COLOR || '#A9A9A9';\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nvar _a;\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nexport var REPORT_TYPE_OPTIONS = (_a = {},\n _a[ReportTypeEnum.CongressionalDetailAnalysis] = {\n value: ReportTypeEnum.CongressionalDetailAnalysis,\n label: 'Congressional Detail Analysis',\n },\n _a[ReportTypeEnum.ZipCodeDetailAnalysis] = {\n value: ReportTypeEnum.ZipCodeDetailAnalysis,\n label: 'Zip Code Detail Analysis',\n },\n _a);\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label, FormGroup, Col } from 'reactstrap';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { Select } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nimport { REPORT_TYPE_OPTIONS } from '../configs/reportoptions';\nexport var ReportsTab = function (props) {\n var _a;\n var indexConfig = useHostnameIndexInfo();\n var _b = useReportsDialogValue('reportType'), reportType = _b[0], setReportType = _b[1];\n var allReportTypeOptions = React.useMemo(function () {\n var _a, _b, _c;\n if (!((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _a === void 0 ? void 0 : _a.reportTypes))\n return [REPORT_TYPE_OPTIONS[ReportTypeEnum.CongressionalDetailAnalysis]];\n return (_c = (_b = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _b === void 0 ? void 0 : _b.reportTypes) === null || _c === void 0 ? void 0 : _c.map(function (reportType) { return REPORT_TYPE_OPTIONS[reportType]; });\n }, [(_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _a === void 0 ? void 0 : _a.reportTypes]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Select Report Type\"),\n React.createElement(FormGroup, { row: true },\n React.createElement(Col, { sm: 10 },\n React.createElement(Select, { placeholder: \"Select report type\", options: allReportTypeOptions, name: \"reportType\", value: reportType, onChange: setReportType, isClearable: false })))));\n};\nReportsTab.defaultProps = {\n tabId: 'ReportsTab',\n tabName: 'Reports',\n tabField: ['reportType'],\n};\n","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup, ListGroupItem } from 'reactstrap';\nimport { Select, FallbackComponent } from '../common';\nimport { LookupYearComponent, useCMSDataYear } from '../lookupdata';\nimport { DATA_SOURCES } from '../configs';\nimport { REPORT_DATA_SOURCES, useReportsDialogValue } from './reportsdialogprovider';\nimport { useDefaultFilter, useHostnameIndexInfo } from '../hostnameindexinfo';\nimport _ from 'lodash';\nvar DataYearReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var isSeasonStatistic = useReportsDialogValue('isSeasonStatistic')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: isSeasonStatistic })));\n};\nexport var DataYearReportsDialogTab = function (props) {\n var _a;\n var _b = useReportsDialogValue('dataSourceType'), dataSourceType = _b[0], setDataSourceType = _b[1];\n var _c = useReportsDialogValue('dataYear'), dataYear = _c[0], setDataYear = _c[1];\n var listYearData = useCMSDataYear(dataSourceType)[0];\n var _d = useReportsDialogValue('conditions'), conditions = _d[0], setConditions = _d[1];\n var indexConfig = useHostnameIndexInfo();\n var defaultFilter = useDefaultFilter();\n useEffect(function () {\n var _a;\n if (((_a = listYearData.data) === null || _a === void 0 ? void 0 : _a.length) && !listYearData.data.includes(dataYear)) {\n var yearDataLatest = listYearData.data[listYearData.data.length - 1];\n if (!_.isNaN(Number(yearDataLatest)))\n setDataYear(yearDataLatest);\n }\n }, [dataYear, listYearData.data, setDataYear]);\n var handleChangeDataSource = function (value, name, option) {\n setDataSourceType(value);\n };\n var handleChangeYear = function (value) {\n var _a;\n setDataYear(value);\n if ((_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) {\n setConditions(conditions === null || conditions === void 0 ? void 0 : conditions.filter(function (cc) { var _a, _b; return !((_b = (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation.ignoreConditionsByYear) === null || _a === void 0 ? void 0 : _a[\"\" + value]) === null || _b === void 0 ? void 0 : _b.includes(cc)); }));\n }\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Source\"),\n React.createElement(Select, { name: \"dataSource\", options: ((_a = defaultFilter.report) === null || _a === void 0 ? void 0 : _a.cmsDataSource) || REPORT_DATA_SOURCES, optionsTransform: function (v) { return DATA_SOURCES[v]; }, noSort: true, value: dataSourceType, onChange: handleChangeDataSource })),\n React.createElement(FormGroup, null,\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Data Year\"),\n React.createElement(FallbackComponent, { spinnerSize: 50, requesting: listYearData.requesting, error: listYearData.error },\n React.createElement(Select, { name: \"dataYear\", options: listYearData.data, noSort: true, value: dataYear, onChange: handleChangeYear, optionsTransform: function (year) { return ({ value: year, label: \"\" + year }); } }))),\n React.createElement(LookupYearComponent, { dataSource: dataSourceType })));\n};\nDataYearReportsDialogTab.defaultProps = {\n tabId: 'DataYearTab',\n tabName: 'Data Set',\n tabField: ['dataSourceType', 'dataYear'],\n tabSelector: DataYearReportsTabSelector,\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, FormGroup, Label } from 'reactstrap';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { CheckboxGroup } from '../common';\nimport { ConditionType, useLookupConditionSortByType, useSynchronizedConditionReport } from '../lookupdata';\nimport { useGeneralConfigByDataSource } from '../hooks';\nexport var ConditionReportsDialogTab = function (props) {\n var _a, _b;\n var dataYear = useReportsDialogValue('dataYear')[0];\n var cmsDataSource = useReportsDialogValue('dataSourceType')[0];\n var lookupData = useLookupConditionSortByType(undefined, dataYear, cmsDataSource)[0];\n var primaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Primary];\n var _c = useReportsDialogValue('conditions'), conditions = _c[0], setConditions = _c[1];\n var _d = useReportsDialogValue('conditionClaimOptionals'), conditionsClaimOption = _d[0], setConditionsClaimOption = _d[1];\n var primaryConditionWithoutClaims = useGeneralConfigByDataSource('primaryConditionWithoutClaims', cmsDataSource, undefined, dataYear);\n useEffect(function () {\n if (props.condition) {\n setConditions([props.condition]);\n }\n }, [props.condition, setConditions]);\n var isExistedPrimaryConditionWithoutClaims = useMemo(function () { return Array.isArray(primaryConditionWithoutClaims) && primaryConditionWithoutClaims.length; }, [primaryConditionWithoutClaims]);\n useEffect(function () {\n if (isExistedPrimaryConditionWithoutClaims && conditions.length) {\n setConditions([]);\n }\n else if (!isExistedPrimaryConditionWithoutClaims && (conditionsClaimOption === null || conditionsClaimOption === void 0 ? void 0 : conditionsClaimOption.length)) {\n setConditionsClaimOption([]);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [dataYear, cmsDataSource]);\n var conditionSelected = useMemo(function () {\n if (isExistedPrimaryConditionWithoutClaims) {\n return conditionsClaimOption || [];\n }\n return conditions || [];\n }, [conditions, conditionsClaimOption, isExistedPrimaryConditionWithoutClaims]);\n var conditionOption = (_b = lookupData.data) === null || _b === void 0 ? void 0 : _b.filter(function (s) { return s.chronicConditionCode === props.condition; }).map(function (i) { return ({\n value: i.chronicConditionCode,\n label: i.chronicConditionName,\n }); });\n var onChange = function (values) {\n if (isExistedPrimaryConditionWithoutClaims) {\n setConditionsClaimOption(values);\n }\n else {\n setConditions(values);\n }\n };\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Primary Conditions\"),\n React.createElement(CheckboxGroup, { options: primaryConditions || conditionOption, noAll: true, noSort: true, value: conditionSelected, onChange: onChange, sortValue: lookupData.sortValue })),\n props.hasSecondaryCondition && React.createElement(SecondaryCondition, null)));\n};\nvar SecondaryCondition = function () {\n var _a;\n var dataYear = useReportsDialogValue('dataYear')[0];\n var dataYearSeason = useReportsDialogValue('dataYearSeason')[0];\n var cmsDataSource = useReportsDialogValue('dataSourceType')[0];\n var lookupData = useLookupConditionSortByType(undefined, dataYear, cmsDataSource, dataYearSeason)[0];\n var secondaryConditions = (_a = lookupData.groupedCondition) === null || _a === void 0 ? void 0 : _a[ConditionType.Secondary];\n var _b = useReportsDialogValue('secondaryCormorbidities'), selectingConditions = _b[0], setSelectingConditions = _b[1];\n var doSyncSecondary = useSynchronizedConditionReport(ConditionType.Secondary)[0];\n // eslint-disable-next-line react-hooks/exhaustive-deps\n useEffect(doSyncSecondary, [dataYearSeason]);\n return (React.createElement(React.Fragment, null,\n React.createElement(\"hr\", null),\n React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Secondary Conditions\"),\n React.createElement(CheckboxGroup, { options: secondaryConditions, noSort: true, value: selectingConditions, onChange: setSelectingConditions, sortValue: lookupData.sortValue }))));\n};\nConditionReportsDialogTab.defaultProps = {\n tabId: 'ConditionTab',\n tabName: 'Conditions',\n tabField: ['conditions'],\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, FormGroup, Label } from 'reactstrap';\nimport { CheckboxGroup } from '../common';\nimport { GROUPED_STATISTIC_OPTIONS } from '../lookupdata';\nimport { useReportSetting, useReportsDialogValue } from './reportsdialogprovider';\nimport { useGeneralConfigByDataSource, useMount } from '../hooks';\nimport { DATA_SOURCES } from '../configs';\nexport var StatisticReportsDialogTab = function (props) {\n var filterReports = useReportSetting()[0];\n var _a = useReportsDialogValue('statistics'), statistics = _a[0], setStatistics = _a[1];\n var cmsDataSource = filterReports.dataSourceType;\n var availableStatisticsConfig = useGeneralConfigByDataSource('availableStatistic');\n var availableStatistics = availableStatisticsConfig || DATA_SOURCES[cmsDataSource].availableStatistic;\n var isOptionDisabled = function (option) {\n return !!availableStatistics && !(availableStatistics === null || availableStatistics === void 0 ? void 0 : availableStatistics.some(function (i) { return i === option.value; }));\n };\n // Filter statistics which not available\n useMount(function () {\n if (Array.isArray(availableStatistics) && availableStatistics.length) {\n var statisticFilterAvalable = statistics.filter(function (s) { return availableStatistics.includes(s); });\n setStatistics(statisticFilterAvalable);\n }\n });\n return (React.createElement(TabPane, { tabId: props.tabId }, GROUPED_STATISTIC_OPTIONS.map(function (group) { return (React.createElement(FormGroup, { tag: \"fieldset\", key: group.value },\n React.createElement(Label, { className: \"font-weight-bold\" }, group.label),\n React.createElement(CheckboxGroup, { options: group.options, noSort: true, noAll: true, value: statistics, onChange: setStatistics, disabled: isOptionDisabled }))); })));\n};\nStatisticReportsDialogTab.defaultProps = {\n tabId: 'StatisticTab',\n tabName: 'Statistics',\n tabField: ['statistics'],\n};\n","/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React from 'react';\nimport { TabPane, Label } from 'reactstrap';\nimport { FallbackComponent, CheckboxGroup } from '../common';\nimport { useLookupSexCode, LookupSexCodeComponent } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nexport var SexReportsDialogTab = function (props) {\n var _a = useLookupSexCode(), lookupSexCodeData = _a[0], fetchLookupSexCode = _a[1];\n var _b = useReportsDialogValue('sexCodes'), sexCodes = _b[0], setSexCodes = _b[1];\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FallbackComponent, { requesting: lookupSexCodeData.requesting, error: lookupSexCodeData.error, retry: fetchLookupSexCode },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Sex\"),\n React.createElement(CheckboxGroup, { options: lookupSexCodeData.data, noSort: true, value: sexCodes, onChange: setSexCodes })),\n React.createElement(LookupSexCodeComponent, null)));\n};\nSexReportsDialogTab.defaultProps = {\n tabId: 'SexTab',\n tabName: 'Sex',\n tabField: ['sexCodes'],\n};\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FallbackComponent, CheckboxGroup, Select } from '../common';\nimport { useLookupRaceCode, LookupRaceCodeComponent } from '../lookupdata';\nimport { RaceMethodologyEnum, DataSourceEnum } from '../enums';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nvar METHODOLOGY_OPTIONS = [\n {\n value: RaceMethodologyEnum.Standard,\n label: 'Standard',\n },\n {\n value: RaceMethodologyEnum.RTI,\n label: 'RTI',\n },\n];\nvar StyledMethodologySelect = styled(Select)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 15rem;\\n\"], [\"\\n width: 15rem;\\n\"])));\nexport var RaceReportsDialogTab = function (props) {\n var dataSourceType = useReportsDialogValue('dataSourceType')[0];\n var _a = useReportsDialogValue('raceMethodology'), methodology = _a[0], setMethodology = _a[1];\n var _b = useReportsDialogValue('raceCodes'), raceCodes = _b[0], setRaceCodes = _b[1];\n var _c = useLookupRaceCode(methodology), lookupRaceCodeData = _c[0], fetchLookupRaceCode = _c[1];\n useEffect(function () {\n if (dataSourceType === DataSourceEnum.Medicaid) {\n setMethodology(RaceMethodologyEnum.Standard);\n }\n }, [dataSourceType, setMethodology]);\n useEffect(function () {\n if (lookupRaceCodeData.data && !(raceCodes === null || raceCodes === void 0 ? void 0 : raceCodes.length)) {\n setRaceCodes(lookupRaceCodeData.data.map(function (i) { return i.value; }));\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [lookupRaceCodeData.data]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n dataSourceType !== DataSourceEnum.Medicaid && (React.createElement(FormGroup, { tag: \"fieldset\" },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Methodology\"),\n React.createElement(StyledMethodologySelect, { name: \"methodology\", options: METHODOLOGY_OPTIONS, noSort: true, value: methodology, onChange: setMethodology }))),\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Race\"),\n React.createElement(FallbackComponent, { requesting: lookupRaceCodeData.requesting, error: lookupRaceCodeData.error, retry: fetchLookupRaceCode },\n React.createElement(CheckboxGroup, { options: lookupRaceCodeData.data, noSort: true, value: raceCodes, onChange: setRaceCodes })),\n React.createElement(LookupRaceCodeComponent, null)));\n};\nRaceReportsDialogTab.defaultProps = {\n tabId: 'RaceTab',\n tabName: 'Race/Ethnicity',\n tabField: ['raceCodes'],\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, useEffect } from 'react';\nimport { TabPane, Label, FormGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { CheckboxGroup, Input, SimpleCheckbox } from '../common';\nimport { AGE_OPTIONS } from '../lookupdata';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nvar MAX_AGE_RANGE = 999;\nvar StyledCustomAgeInput = styled(Input)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n width: 5rem;\\n display: inline-block;\\n\"], [\"\\n width: 5rem;\\n display: inline-block;\\n\"])));\nexport var AgeReportsDialogTab = function (props) {\n var _a, _b;\n var _c = useReportsDialogValue('ages'), ages = _c[0], setAges = _c[1];\n var _d = useState(false), isCustomAge = _d[0], setIsCustomAge = _d[1];\n useEffect(function () {\n if (isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages[0]) && !ages[0].isCustom) {\n setIsCustomAge(false);\n }\n // eslint-disable-next-line react-hooks/exhaustive-deps\n }, [ages]);\n var handleChangeCustomAgeCheckbox = function (event) {\n setIsCustomAge(event.target.checked);\n setAges();\n };\n var handleChangeCustomAgeInput = function (value, name) {\n var _a;\n var newValue = __assign(__assign({}, ages === null || ages === void 0 ? void 0 : ages[0]), (_a = { isCustom: true }, _a[name] = value, _a));\n if (value === undefined && (ages === null || ages === void 0 ? void 0 : ages[0]) && newValue.minAge === undefined && newValue.maxAge === undefined) {\n setAges();\n }\n else {\n setAges([newValue]);\n }\n };\n var customMinAge = isCustomAge ? (_a = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _a === void 0 ? void 0 : _a.minAge : undefined;\n var customMaxAge = isCustomAge ? (_b = ages === null || ages === void 0 ? void 0 : ages[0]) === null || _b === void 0 ? void 0 : _b.maxAge : undefined;\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(Label, { className: \"font-weight-bold\" }, \"Age\"),\n React.createElement(CheckboxGroup, { options: AGE_OPTIONS, noSort: true, value: ages, onChange: setAges, disabled: function (i) { return isCustomAge; } }),\n React.createElement(FormGroup, { check: true },\n React.createElement(SimpleCheckbox, { checked: isCustomAge, onChange: handleChangeCustomAgeCheckbox, disabled: !isCustomAge && !!(ages === null || ages === void 0 ? void 0 : ages.length), label: ' Custom: From ' }),\n \"\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"minAge\", type: \"number\", disabled: !isCustomAge, min: 0, max: customMaxAge !== undefined ? customMaxAge : MAX_AGE_RANGE, value: customMinAge, setFieldValue: handleChangeCustomAgeInput }),\n \"\\u00A0\\u00A0To\\u00A0\\u00A0\",\n React.createElement(StyledCustomAgeInput, { name: \"maxAge\", type: \"number\", disabled: !isCustomAge, min: customMinAge || 0, max: MAX_AGE_RANGE, value: customMaxAge, setFieldValue: handleChangeCustomAgeInput }))));\n};\nAgeReportsDialogTab.defaultProps = {\n tabId: 'AgeTab',\n tabName: 'Age',\n tabField: ['ages'],\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useEffect, useMemo } from 'react';\nimport { TabPane, Label, FormGroup, Col, ListGroupItem } from 'reactstrap';\nimport { useReportsDialogValue } from './reportsdialogprovider';\nimport { Select } from '../common';\nimport { useHostnameIndexInfo } from '../hostnameindexinfo';\nimport { useLookupState, useLookupZipCodeDistrict } from '../lookupdata';\nimport styled from 'styled-components';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nvar StlyledLabel = styled(Label)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n margin-left: 1rem;\\n font-size: inherit;\\n line-height: 1.5;\\n\"], [\"\\n padding-top: calc(0.375rem + 1px);\\n padding-bottom: calc(0.375rem + 1px);\\n margin-bottom: 0;\\n margin-left: 1rem;\\n font-size: inherit;\\n line-height: 1.5;\\n\"])));\nvar ShowByReportsTabSelector = function (props) {\n var resprops = __rest(props, []);\n var reportType = useReportsDialogValue('reportType')[0];\n return (React.createElement(ListGroupItem, __assign({}, resprops, { hidden: reportType !== ReportTypeEnum.CongressionalDetailAnalysis })));\n};\nexport var ShowByReportsDialogTab = function (props) {\n var _a;\n var lookupStateData = useLookupState()[0];\n var districtByStateData = useLookupZipCodeDistrict()[0];\n var indexConfig = useHostnameIndexInfo();\n var _b = useReportsDialogValue('firstLevel'), firstLevel = _b[0], setFirstLevel = _b[1];\n var _c = useReportsDialogValue('secondLevel'), secondLevel = _c[0], setSecondLevel = _c[1];\n var singleState = ((indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) || {}).singleState;\n var secondLevelOptions = useMemo(function () {\n var _a, _b;\n return firstLevel\n ? (_b = (_a = districtByStateData.data) === null || _a === void 0 ? void 0 : _a.congressionalDistrictByState[firstLevel]) === null || _b === void 0 ? void 0 : _b.sort(function (a, b) { return (\"\" + a).padStart(5, '0').localeCompare((\"\" + b).padStart(5, '0')); }) : undefined;\n }, [firstLevel, districtByStateData.data]);\n useEffect(function () {\n if ((secondLevelOptions === null || secondLevelOptions === void 0 ? void 0 : secondLevelOptions.length) && (!secondLevel || !secondLevelOptions.includes(secondLevel))) {\n setSecondLevel(secondLevelOptions[0]);\n }\n }, [secondLevel, secondLevelOptions, setSecondLevel]);\n return (React.createElement(TabPane, { tabId: props.tabId },\n React.createElement(FormGroup, { row: true },\n React.createElement(StlyledLabel, { className: \"font-weight-bold\" }, \"State\"),\n React.createElement(Col, { sm: 5 },\n React.createElement(Select, { options: (_a = lookupStateData.data) === null || _a === void 0 ? void 0 : _a.filter(function (i) { return !singleState || parseInt(i.stateCode, 10) === singleState.stateCode; }), name: \"firstLevel\", value: firstLevel, onChange: setFirstLevel, isLoading: lookupStateData.requesting })),\n React.createElement(StlyledLabel, { className: \"font-weight-bold\" }, \"District\"),\n React.createElement(Col, { sm: 3 },\n React.createElement(Select, { width: \"6\", options: secondLevelOptions, optionsTransform: function (value) { return ({ value: value, label: value }); }, noSort: true, name: \"secondLevel\", value: secondLevel, onChange: setSecondLevel, isLoading: !!firstLevel && districtByStateData.requesting })))));\n};\nShowByReportsDialogTab.defaultProps = {\n tabId: 'geoLevelTab',\n tabName: 'Show by',\n tabField: ['firstLevel', 'secondLevel'],\n tabSelector: ShowByReportsTabSelector,\n};\nvar templateObject_1;\n","var __makeTemplateObject = (this && this.__makeTemplateObject) || function (cooked, raw) {\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\n return cooked;\n};\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nvar __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\n return new (P || (P = Promise))(function (resolve, reject) {\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\n step((generator = generator.apply(thisArg, _arguments || [])).next());\n });\n};\nvar __generator = (this && this.__generator) || function (thisArg, body) {\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\n function verb(n) { return function (v) { return step([n, v]); }; }\n function step(op) {\n if (f) throw new TypeError(\"Generator is already executing.\");\n while (_) try {\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\n if (y = 0, t) op = [op[0] & 2, t.value];\n switch (op[0]) {\n case 0: case 1: t = op; break;\n case 4: _.label++; return { value: op[1], done: false };\n case 5: _.label++; y = op[1]; op = [0]; continue;\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\n default:\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\n if (t[2]) _.ops.pop();\n _.trys.pop(); continue;\n }\n op = body.call(thisArg, _);\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\n }\n};\nvar __rest = (this && this.__rest) || function (s, e) {\n var t = {};\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\n t[p] = s[p];\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\n t[p[i]] = s[p[i]];\n }\n return t;\n};\nvar __spreadArrays = (this && this.__spreadArrays) || function () {\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\n r[k] = a[j];\n return r;\n};\nvar _a;\n/*\n * Copyright (C) 2022 SHC Holdings LLC. All Rights Reserved.\n */\nimport React, { useState, Children, useEffect, useRef } from 'react';\nimport { Modal, ModalHeader, ModalBody, ModalFooter, TabContent, Card, ListGroup } from 'reactstrap';\nimport styled from 'styled-components';\nimport { FontAwesomeIcon } from '@fortawesome/react-fontawesome';\nimport * as Yup from 'yup';\nimport qs from 'qs';\nimport { Button, AlertMessage, SimpleCheckbox, IconButton } from '../common';\nimport { getErrors, getFlattenErrors, isEmpty } from '../utils';\nimport { LeftTabSelectorItem } from '../filterdialog';\nimport { useReportsDialogValue, useReportSetting } from './reportsdialogprovider';\nimport { useHostnameIndexInfo, useIndexName } from '../hostnameindexinfo';\nimport { GeoLevelEnum } from '../enums';\nimport { useLookupState } from '../lookupdata';\nimport { useAuth } from '../authentication';\nimport { ReportsTab } from './reportstab';\nimport { useAPI } from '../state';\nimport { useMount, useToggle } from '../hooks';\nimport { ReportTypeEnum } from '../enums/reporttypeenum';\nexport var REPORT_SETTING_API = '/api/general/report-setting';\nvar HAMBURGER_MEDIA_SCREEN = 995;\nvar StyledModal = styled(Modal)(templateObject_1 || (templateObject_1 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n min-height: calc(100vh - 3.5rem);\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledModalBody = styled(ModalBody)(templateObject_2 || (templateObject_2 = __makeTemplateObject([\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"], [\"\\n display: flex;\\n padding: 0;\\n @media only screen and (max-width: \", \"px) {\\n flex-direction: column;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerGroup = styled.div(templateObject_3 || (templateObject_3 = __makeTemplateObject([\"\\n display: none;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"], [\"\\n display: none;\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n align-items: center;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar HamburgerButton = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(IconButton, __assign({}, props));\n})(templateObject_4 || (templateObject_4 = __makeTemplateObject([\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"], [\"\\n @media only screen and (max-width: \", \"px) {\\n display: flex;\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN);\nvar StyledTabSelectors = styled(function (_a) {\n var show = _a.show, props = __rest(_a, [\"show\"]);\n return React.createElement(ListGroup, __assign({}, props));\n})(templateObject_5 || (templateObject_5 = __makeTemplateObject([\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n min-width: fit-content;\\n\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 2rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"], [\"\\n padding: 1rem;\\n padding-right: 0;\\n flex: 1 0 2rem;\\n overflow: auto;\\n .list-group-item:not(.disabled) {\\n cursor: pointer;\\n }\\n min-width: fit-content;\\n\\n @media only screen and (max-width: \", \"px) {\\n display: none;\\n position: absolute;\\n left: 0;\\n top: 2rem;\\n padding: 1rem;\\n width: 100%;\\n z-index: 99;\\n background-color: hsla(0, 0%, 0%, 0.3);\\n \", \"\\n }\\n\"])), HAMBURGER_MEDIA_SCREEN, function (_a) {\n var show = _a.show;\n return (show ? 'display: block;' : '');\n});\nvar StyledTabContent = styled.div(templateObject_6 || (templateObject_6 = __makeTemplateObject([\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"], [\"\\n flex: 3;\\n padding: 1rem;\\n display: flex;\\n flex-direction: column;\\n\"])));\nvar StyledSimpleCheckbox = styled.div(templateObject_7 || (templateObject_7 = __makeTemplateObject([\"\\n flex: 1;\\n margin-left: 1.5rem;\\n\"], [\"\\n flex: 1;\\n margin-left: 1.5rem;\\n\"])));\nvar validationSchema = Yup.object().shape({\n isSeasonStatistic: Yup.bool().nullable(),\n reportType: Yup.string().nullable().required('Report Type is required'),\n firstLevel: Yup.string().nullable().when('reportType', {\n is: ReportTypeEnum.CongressionalDetailAnalysis,\n then: Yup.string().nullable().required('State is required'),\n }),\n secondLevel: Yup.string().nullable().when('reportType', {\n is: ReportTypeEnum.CongressionalDetailAnalysis,\n then: Yup.string().nullable().required('District is required'),\n }),\n zipCodes: Yup.object().when('reportType', {\n is: ReportTypeEnum.ZipCodeDetailAnalysis,\n then: Yup.object().shape({\n zipCode: Yup.array().nullable().when(['startWith', 'allInState'], {\n is: function (startWith, allInState) { return (startWith === null || startWith === void 0 ? void 0 : startWith.length) === 0 && (allInState === null || allInState === void 0 ? void 0 : allInState.length) === 0; },\n then: Yup.array().nullable().required('Please select at least one zip code'),\n }),\n startWith: Yup.array().when(['zipCode', 'allInState'], {\n is: function (zipCode, allInState) { return (zipCode === null || zipCode === void 0 ? void 0 : zipCode.length) === 0 && (allInState === null || allInState === void 0 ? void 0 : allInState.length) === 0; },\n then: Yup.array().nullable().required('Please select at least one zip code'),\n }),\n allInState: Yup.array().when(['zipCode', 'startWith'], {\n is: function (zipCode, startWith) { return (zipCode === null || zipCode === void 0 ? void 0 : zipCode.length) === 0 && (startWith === null || startWith === void 0 ? void 0 : startWith.length) === 0; },\n then: Yup.array().nullable().required('Please select at least one zip code'),\n }),\n }, [['startWith', 'allInState'], ['zipCode', 'allInState'], ['zipCode', 'startWith']])\n }),\n dataSourceType: Yup.string().nullable().required('Data Source is required'),\n dataYear: Yup.number().nullable().when('isSeasonStatistic', {\n is: false,\n then: Yup.number().nullable().required('Data Year is required'),\n }),\n dataYearSeason: Yup.array().nullable().when('isSeasonStatistic', {\n is: true,\n then: Yup.array().nullable().required('Data Year is required').min(1, 'Data Year is required'),\n }),\n fluVaccineCptCodes: Yup.array().nullable().when('isSeasonStatistic', {\n is: true,\n then: Yup.array().nullable().required('Please select at least one of the Vaccines').min(1, 'Please select at least one of the Vaccines'),\n }),\n statistics: Yup.array().nullable().required('Statistic is required').min(1, 'Please select at least one of the Statistic'),\n conditions: Yup.array().when(['isSeasonStatistic', 'conditionClaimOptionals'], {\n is: function (isSeasonStatistic, conditionClaimOptionals) {\n if (!!isSeasonStatistic)\n return false;\n return conditionClaimOptionals === undefined || (conditionClaimOptionals === null || conditionClaimOptionals === void 0 ? void 0 : conditionClaimOptionals.length) === 0;\n },\n then: Yup.array().nullable().required('Condition is Required'),\n }),\n conditionClaimOptionals: Yup.array().when(['isSeasonStatistic', 'conditions'], {\n is: function (isSeasonStatistic, conditions) {\n if (!!isSeasonStatistic)\n return false;\n return conditions === undefined || (conditions === null || conditions === void 0 ? void 0 : conditions.length) === 0;\n },\n then: Yup.array().nullable().required('Condition is Required'),\n }),\n ages: Yup.array().nullable().required('Age is required'),\n sexCodes: Yup.array().nullable().required('Sex is required'),\n raceCodes: Yup.array().nullable().required('Race is required'),\n}, [['conditions', 'conditionClaimOptionals']]);\nvar PRIVATE_REPORT_EXTENSION = (_a = {},\n _a[ReportTypeEnum.CongressionalDetailAnalysis] = { pathname: 'privatecongressionalreportextension', geolevel: GeoLevelEnum.Congressional },\n _a[ReportTypeEnum.ZipCodeDetailAnalysis] = { pathname: 'privatezipcodeanalysisreport', geolevel: GeoLevelEnum.Zip5 },\n _a);\nexport var ReportsDialogExtension = function (props) {\n var isOpen = props.isOpen, toggle = props.toggle;\n var _a = useState(), activeTab = _a[0], setActiveTab = _a[1];\n var _b = useState(), error = _b[0], setError = _b[1];\n var _c = useReportSetting(), reportSetting = _c[0], setReportSetting = _c[1];\n var indexName = useIndexName();\n var indexConfig = useHostnameIndexInfo();\n var lookupStateData = useLookupState()[0];\n var auth = useAuth();\n var isUnMount = useRef(false);\n var _d = useState(false), requesting = _d[0], setRequesting = _d[1];\n var _e = useReportsDialogValue('isRememberSettings'), isRememberSettings = _e[0], setIsRememberSettings = _e[1];\n var _f = useAPI(REPORT_SETTING_API), rememberSettingData = _f[0], fetchRememberSettingData = _f[1];\n var _g = useAPI(REPORT_SETTING_API, undefined, 'POST'), fetchRememberSettings = _g[1];\n var _h = useToggle(), show = _h[0], toggleShow = _h[1];\n useEffect(function () {\n if (isOpen) {\n fetchRememberSettingData();\n }\n }, [fetchRememberSettingData, isOpen]);\n useEffect(function () {\n var _a;\n if ((_a = rememberSettingData.data) === null || _a === void 0 ? void 0 : _a.isRememberSettings) {\n setReportSetting(rememberSettingData.data);\n }\n }, [rememberSettingData.data, setReportSetting]);\n var requiredField;\n if (reportSetting) {\n requiredField = Object.keys(getErrors(validationSchema, reportSetting));\n }\n useMount(function () { return function () {\n isUnMount.current = true;\n }; });\n useEffect(function () {\n var _a;\n if (isOpen) {\n setActiveTab((_a = ReportsTab.defaultProps) === null || _a === void 0 ? void 0 : _a.tabId);\n }\n }, [isOpen]);\n var handleOK = function () { return __awaiter(void 0, void 0, void 0, function () {\n var errors, fileNameStateName, filename, search, shortToken, url;\n var _a;\n return __generator(this, function (_b) {\n switch (_b.label) {\n case 0:\n if (reportSetting) {\n errors = getFlattenErrors(validationSchema, reportSetting);\n }\n setError(errors);\n if (!isEmpty(errors)) {\n return [2 /*return*/];\n }\n fileNameStateName = reportSetting.reportType === ReportTypeEnum.CongressionalDetailAnalysis ?\n [reportSetting.firstLevel && lookupStateData.getNameByStateCode(reportSetting.firstLevel), (\"\" + (reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.secondLevel)).padStart(2, '0')] :\n ['zip5'];\n filename = __spreadArrays([\n indexName,\n 'CDA'\n ], fileNameStateName, [\n new Date().toISOString().slice(0, 10).replace(/-/g, ''),\n ]).join(' ');\n search = qs.stringify((__assign(__assign({}, reportSetting), { primaryCormorbidities: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.conditions, primaryConditions: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.conditions, geolevel: PRIVATE_REPORT_EXTENSION[reportSetting.reportType].geolevel, filename: filename, demographics: {\n ages: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.ages,\n sexCodes: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.sexCodes,\n raceCodes: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.raceCodes,\n }, raceMethodology: reportSetting === null || reportSetting === void 0 ? void 0 : reportSetting.raceMethodology, reporting: (_a = indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.generalInformation) === null || _a === void 0 ? void 0 : _a.reporting, hostname: indexConfig === null || indexConfig === void 0 ? void 0 : indexConfig.hostname })));\n setRequesting(true);\n return [4 /*yield*/, auth.exportToken()];\n case 1:\n shortToken = _b.sent();\n if (!shortToken) return [3 /*break*/, 3];\n url = \"/api/pdf/statistics/private/\" + shortToken + \"/\" + PRIVATE_REPORT_EXTENSION[reportSetting.reportType].pathname;\n return [4 /*yield*/, fetch(url, {\n method: 'POST',\n headers: {\n 'Accept': 'application/json',\n 'Content-Type': 'application/json'\n },\n body: JSON.stringify({ query: search })\n })\n .then(function (response) { return response.blob(); })\n .then(function (blob) {\n var link = document.createElement('a');\n link.href = window.URL.createObjectURL(blob);\n link.download = filename;\n link.click();\n })];\n case 2:\n _b.sent();\n _b.label = 3;\n case 3:\n if (isRememberSettings) {\n fetchRememberSettings(reportSetting);\n }\n else {\n fetchRememberSettings();\n }\n toggle();\n if (!isUnMount.current) {\n setRequesting(false);\n }\n return [2 /*return*/];\n }\n });\n }); };\n var toggleTabSelector = function (tabId) {\n setActiveTab(tabId);\n toggleShow();\n };\n var tabSelectors = Children.map(props.children, function (child) {\n return (React.createElement(LeftTabSelectorItem, { activeTab: activeTab, toggleTab: toggleTabSelector, tabId: child.props.tabId, tabName: child.props.tabName, tabSelector: child.props.tabSelector, showRequiredDot: child.props.tabField.some(function (v) { return requiredField.includes(v); }) }));\n });\n var handleCheckRememberSettings = function (event) {\n setIsRememberSettings(event.target.checked);\n };\n return (React.createElement(React.Fragment, null,\n React.createElement(StyledModal, { size: \"lg\", unmountOnClose: false, isOpen: isOpen, toggle: toggle, scrollable: true },\n React.createElement(ModalHeader, { toggle: toggle },\n React.createElement(FontAwesomeIcon, { icon: \"file-alt\", size: \"lg\" }),\n React.createElement(\"span\", null, \" Reports \")),\n React.createElement(StyledModalBody, null,\n React.createElement(HamburgerGroup, null,\n React.createElement(HamburgerButton, { color: \"#000\", icon: show ? 'times' : 'bars', size: \"2x\", onClick: toggleShow }),\n React.createElement(\"h5\", { className: \"m-0\" }, React.Children.map(props.children, function (child) { return (child.props.tabId === activeTab ? child.props.tabName : null); }))),\n React.createElement(StyledTabSelectors, { show: show }, tabSelectors),\n React.createElement(StyledTabContent, null,\n React.createElement(Card, { body: true, className: \"flex-grow-1 overflow-auto\" },\n React.createElement(TabContent, { activeTab: activeTab }, props.children)))),\n React.createElement(ModalFooter, null,\n React.createElement(StyledSimpleCheckbox, null,\n React.createElement(SimpleCheckbox, { checked: isRememberSettings, onChange: handleCheckRememberSettings, label: \"Remember Settings\" })),\n React.createElement(Button, { color: \"secondary\", disabled: requesting, onClick: toggle }, \"Cancel\"),\n ' ',\n React.createElement(Button, { color: \"primary\", loading: requesting, onClick: handleOK }, \"Show Report\"))),\n React.createElement(AlertMessage, { errors: error })));\n};\nexport * from './datayeartab';\nexport * from './conditiontab';\nexport * from './statistictab';\nexport * from './sextab';\nexport * from './racetab';\nexport * from './agetab';\nexport * from './showbytab';\nexport * from './reportstab';\nexport * from './reportsdialogprovider';\nvar templateObject_1, templateObject_2, templateObject_3, templateObject_4, templateObject_5, templateObject_6, templateObject_7;\n"],"sourceRoot":""}