{"version":3,"sources":["../node_modules/@aws-amplify/ui-react/node_modules/@aws-amplify/ui-components/dist/esm-es5 lazy /^/.//.*/.entry/.js$/ include: //.entry/.js$/ exclude: //.system/.entry/.js$/ groupOptions: {} namespace object","aws-exports.js","utils/lang/CustomTranslations.ts","components/Error/ErrorMessage.tsx","components/Error/ErrorBoundaries.tsx","utils/lang/CustomTexts.ts","components/Theme/CustomColors.ts","routes/routes.tsx","components/Link/CustomLink.tsx","components/Title/CustomTitle.tsx","services/base.ts","services/common.ts","services/api/default-api.ts","utils/lang/AmplifyTranslations.ts","context/Snackbar.tsx","services/models/charging-station-group.ts","services/models/charging-station-group-list.ts","services/models/create-operating-data.ts","services/models/location-usage.ts","services/models/report.ts","services/models/report-list-item.ts","services/models/report-locations.ts","services/models/report-site.ts","services/models/site.ts","components/Card/ColoredCard.tsx","utils/labelHelper.ts","components/Button/CustomButton.tsx","hooks/RouteHooks.ts","pages/Dashboard/ReportCard.tsx","components/Loader/LoadingAnimation.tsx","assets/images/icons/LocationIcon.svg","assets/images/icons/DownloadIcon.svg","assets/images/icons/SavingsIcon.svg","components/Button/InfoCollapseButton.tsx","pages/Dashboard/Workflow.tsx","assets/images/logos/BMVI.svg","assets/images/logos/Leitstelle.svg","assets/images/logos/NOW.svg","assets/images/logos/obelis-commercial.svg","assets/images/logos/KFW.svg","assets/images/logos/PtJ-Logo_2016_Schutzzone.svg","pages/LogoGrid.tsx","pages/Dashboard/Dashboard.tsx","utils/lang/ValidationTranslation.ts","context/User.tsx","hooks/AuthHooks.ts","components/Tooltip/CustomTooltip.tsx","components/Accordion/CustomAccordion.tsx","components/Input/FormikTextField.tsx","components/Auth/ChangeEmail.tsx","components/Auth/ChangePwd.tsx","pages/Profile.tsx","components/Button/BackButton.tsx","utils/locationPath.ts","components/Auth/SignoutButton.tsx","components/Avatar/UserAvatar.tsx","components/Navigation/Sidebar.tsx","pages/Report/Form/CreateReportForm.tsx","components/List/CheckList.tsx","pages/Report/CreateReport.tsx","pages/Report/Location/LocationActions.tsx","assets/images/icons/CopyLink.svg","pages/Report/ReportingIdCard.tsx","pages/Report/Location/LocationDetail.tsx","pages/Report/Location/LocationList.tsx","context/Stepper.tsx","components/Button/NextButtonStepper.tsx","components/Input/FormikRadioGroup.tsx","components/Input/FormikMultiSelect.tsx","pages/Report/Form/UsageForm.tsx","pages/Report/Location/Stepper/Usage.tsx","components/Button/BackButtonStepper.tsx","components/Input/FormikCheckbox.tsx","components/Input/FormikNumberField.tsx","pages/Report/Form/SiteForm.tsx","pages/Report/Form/PtjSiteForm.tsx","pages/Report/Location/Stepper/Site.tsx","components/Input/FormikDatepicker.tsx","components/Input/FormikAutcomplete.tsx","components/Input/FormikSelect.tsx","context/ChargingStations.tsx","pages/Report/Form/ChargingStationsForm.tsx","assets/images/icons/ChargingStationsIcon.svg","assets/images/icons/ChargingStationIcon.svg","components/Card/InfoCard.tsx","components/Dialog/CustomDialog.tsx","pages/Report/Location/Stepper/Components/ChargingStationsDialog.tsx","pages/Report/Location/Stepper/Components/ChargingStationCards.tsx","pages/Report/Location/Stepper/ChargingStations.tsx","hooks/Autocomplete.ts","pages/Report/Location/Stepper/Components/Row.tsx","pages/Report/Location/Stepper/Components/SummaryCard.tsx","pages/Report/Location/Stepper/Overview.tsx","pages/Report/Location/Stepper/LocationStepper.tsx","pages/ReportingIdList.tsx","pages/ChargingUpload.tsx","pages/ChargingOperationalData.tsx","pages/Admin.tsx","utils/authHelper.ts","pages/FaqDownload.tsx","routes/NowRouter.tsx","components/Auth/AmplifyAuth.tsx","App.tsx","reportWebVitals.ts","assets/fonts/1475998/ccd9698a-60c5-48f7-acbe-5352b4aa81d4.woff","assets/fonts/1475998/58c01d2a-ce4a-4360-a61f-761e91aa67c0.woff2","assets/fonts/1476004/7ce02c2c-45d4-4dee-90f2-f8034e29ac24.woff","assets/fonts/1476004/bf8f8741-5f64-4db9-a877-a44624092e68.woff2","assets/fonts/CustomFonts.ts","components/Theme/NowTheme.tsx","openapi/axios-config.ts","index.tsx"],"names":["map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","all","slice","keys","Object","module","exports","awsmobile","CustomTranslations","SIGN_UP_LABEL","SIGN_IN_LABEL","CHANGE_EMAIL","NEW_EMAIL_LABEL","EMAIL_SAVED","EMAIL_VERIFIED","VERIFY_EMAIL","NEW_EMAIL_PLACEHOLDER","REPEAT_PASSWORD_LABEL","REPEAT_PASSWORD_PLACEHOLDER","PASSWORD_SCHEMA_INVALID","PASSWORD_MIN_LENGTH","PASSWORD_NO_MATCH","PASSWORD_SAVED","ERROR_404","ERROR_MISSING_DATA","UNKNOWN","UNKNOWN_ERROR","PROFIL_SETTINGS","BACK","ONE_STEP_BACK","YOUR","LOCATION","INVESTMENT_LOCATION","INVESTMENT_LOCATION_NOT_FOUND","INVESTMENT_LOCATIONS","CHANGE_DATA","CHANGE_FORM_DETAILS","CHANGE_DETAILS","START_DATA_ENTRY","SELECT","CONTINUE","EDIT","REPORTING_ID","REPORT","POSTCODE_ERROR","KFW_REFERENCE_ID","KFW_REFERENCE_ID_FUNDING","PTJ_REFERENCE_ID","LOCATIONS","REPORTING_IDS","KFW_ERROR","SEND_REPORT","CREATE_REPORT_LABEL","CREATE_REPORT_SUCCESS","SAVE_SUCCESS","DELETE_SUCCESS","AMOUNT_LABEL","COSTS_LABEL","LOCATIONS_LABEL","SAVE","SAVE_CREATE","COPY_REPORTINGID","COPY_REPORTINGID_SUCCESS","COPY_REPORTINGID_ERROR","INVALID_DATE","INVALID_DATE_FUTURE","INVALID_MAX_DATE","INVALID_MIN_DATE","REQUIRED_MULTISELECT","YES","NO","DOWNLOAD_SUCCESS","CANCEL","SEND","EMAIL_SEND_SUCCESS","FILTER_SUCCESS","INVALID_FIELDS","_ref","msg","_jsxs","Box","p","textAlign","children","_jsx","Typography","variant","ErrorBoundary","React","Component","constructor","props","super","this","state","hasError","error","getDerivedStateFromError","toString","componentDidCatch","errorInfo","setState","concat","render","_Fragment","ErrorMessage","CustomTexts","sidebar","title","description","support","txt","faqs","emailTxt","email","impressum","link","dataProtection","dashboard","subtitle","menu","profile","reportingList","faq","logout","reportingIdList","buttonText","locationHeading","reportingIdHeading","newReport","postcodeLabel","tooltipReferenceId","tooltipPostcode","reportStateTitle","locationDetail","startReportTitle","inputCard","disabled","uploadCard","completeReportTitle","startDataEntry","missingReportingId","missingReportingIdCommune","copyReportingId","form","allFieldsRequired","maxFullElectricVehicles","maxtotalCompanyVehicles","motivation","motivationTitle","motivationType","acquireVehicles","commercialUse","accordionTitle","hasCommercialUse","site","electricVehiclesTitle","existingVehicles","vehicleType","locationRelatedVehicles","chargingLocations","totalCompanyVehiclesTitle","totalCompanyVehicles","fullElectricCompanyVehicles","thereOfPkw","vehiclesN1","vehiclesN2","vehiclesN3","vehiclesNotKnown","fullElectricUnknown","employeeVehicles","networkOperatorTitle","registeredAtNetOperator","suppliesPerChargingStation","supplyCostsPerLocation","supplyCostsPreliminary","chargingStationGroup","amount","amountTitle","generalInformationTitle","launchDate","manufacturer","model","location","locationLabel","chargingPointsTitle","chargingPoints","nLPkl11","nLPgrgl11klgl22","sLPgr22kl50","sLPgrgl50kl100","sLPgrgl100kl150","sLPgrgl150kl300","sLPgrgl300","electricityType","hardwareTitle","hardwareCosts","hardwareCostsPreliminary","complete","questionnaire","dataCorrectness","summary","usage","supplyCostState","employeeVehiclesPkw","employeeVehiclesN1","employeeVehiclesN2","employeeVehiclesN3","employeeVehiclesNotKnown","fullElectricCompanyPkw","fullElectricClassCompanyN1","fullElectricClassCompanyN2","fullElectricClassCompanyN3","fullElectricCompanyNotKnown","chargingStations","sum","sumChargingPoints","titleGroup","titleSingle","headings","checkboxes","survey","confirmation","kfwChargingPoints","checklist","list","howToCard","titleOne","contentOne","titleTwo","contentTwo","copyStationsDesc","copySingleStationDesc","deleteStationsDesc","deleteStationDesc","groupCards","totalGroupAmount","createdStationGroup","createdStation","totalStationsAmount","groupStationBtnText","singleStationBtnText","dialog","copyTextSubmit","copyTextCancel","deleteTextSubmit","cancel","stepper","titles","backBtnTitles","nextBtnTitles","nextBtnDefaultTitle","backBtnDefaultTitle","usageTitle","siteTitle","lockReportTitle","workflow","steps","substring","csvUpload","card","checkBoxLabel","button","success","warning","tooltips","upload","validation","maxChargingStations","minChargingStations","chargingOperational","unknownCheckbox","referencePeriodTitle","beginLabel","endLabel","energyAmountTitle","sumLabel","recordingMethodTitle","recordingMethodLabel","adminPanel","filterText","label","placeholder","customFilter","subject","message","emailTitle","recipientAmount","submitFilter","primaryPetrol","primaryPetrol50","primaryPetrolSoft","primaryWhite","secondaryBlackBlue","secondaryGrasGreen","secondarySensitiveGreen","secondaryPaleOrange","secondaryLightBlue","lightGrey","accordionBg","fontWhite","ROOT_PATH","_document$getElements","document","getElementsByTagName","_document$getElements2","getAttribute","DASHBOARD","NEW_REPORT","REPORT_DATA","PROFILE","ID_LIST","FAQ","UPLOAD_CHARGING_DATA","CHARGED_ENGERY","CustomLink","styled","Link","textDecoration","color","CustomTitle","mt","mb","BASE_PATH","replace","BaseAPI","configuration","basePath","arguments","length","undefined","axios","globalAxios","RequiredError","field","name","DUMMY_BASE_URL","assertParamExists","functionName","paramName","paramValue","setApiKeyToObject","async","object","keyParamName","apiKey","localVarApiKeyValue","setSearchParams","url","searchParams","URLSearchParams","search","_len","objects","Array","_key","key","isArray","delete","item","append","set","serializeDataIfNeeded","value","requestOptions","nonString","isJsonMime","headers","JSON","stringify","toPathString","pathname","hash","createRequestFunction","axiosArgs","axiosRequestArgs","_objectSpread","options","request","DefaultApiFp","localVarAxiosParamCreator","faqGet","localVarUrlObj","URL","baseOptions","localVarRequestOptions","method","localVarHeaderParameter","query","headersFromBaseOptions","faqOptions","reportChargingStationModelsGet","filter","localVarQueryParameter","reportChargingStationModelsOptions","reportOptions","reportPut","createReport","data","reportReportIdGet","reportId","localVarPath","encodeURIComponent","String","reportReportIdLocationLocationIdChargingDataOptions","locationId","reportReportIdLocationLocationIdChargingDataPost","createChargingData","reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete","groupId","reportReportIdLocationLocationIdChargingStationGroupGroupIdGet","reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions","reportReportIdLocationLocationIdChargingStationGroupGroupIdPut","reportReportIdLocationLocationIdChargingStationGroupOptions","reportReportIdLocationLocationIdChargingStationGroupPost","createChargingStationGroup","reportReportIdLocationLocationIdChargingStationGroupsGet","reportReportIdLocationLocationIdChargingStationGroupsOptions","reportReportIdLocationLocationIdCompleteOptions","reportReportIdLocationLocationIdCompletePut","completeLocation","reportReportIdLocationLocationIdOperatingDataOptions","reportReportIdLocationLocationIdOperatingDataPost","createOperatingData","reportReportIdLocationLocationIdOptions","reportReportIdLocationLocationIdSiteGet","reportReportIdLocationLocationIdSiteOptions","reportReportIdLocationLocationIdSitePut","reportReportIdLocationLocationIdUsageGet","reportReportIdLocationLocationIdUsageOptions","reportReportIdLocationLocationIdUsagePut","locationUsage","reportReportIdLocationOptions","reportReportIdOptions","reportsGet","reportsOptions","reportsReferenceIdListCsvGet","reportsReferenceIdListCsvOptions","reportsReferenceIdListGet","reportsReferenceIdListOptions","restrictedOptions","restrictedUserEmailsFilterGet","restrictedUserEmailsFilterOptions","restrictedUserEmailsOptions","restrictedUserEmailsPost","userMails","restrictedUserEmailsQueryOptions","restrictedUserEmailsQueryPost","eMailQuery","DefaultApiAxiosParamCreator","localVarAxiosArgs","DefaultApi","CognitoTranslations","AmplifyTranslations","Translations","SIGN_IN_HEADER_TEXT","SIGN_IN_ACTION","BACK_TO_SIGN_IN","CHANGE_PASSWORD_ACTION","CHANGE_PASSWORD","CODE_LABEL","CODE_PLACEHOLDER","CONFIRM_SIGN_UP_CODE_LABEL","CONFIRM_SIGN_UP_CODE_PLACEHOLDER","CONFIRM_SIGN_UP_HEADER_TEXT","CONFIRM_SIGN_UP_LOST_CODE","CONFIRM_SIGN_UP_RESEND_CODE","CONFIRM_SIGN_UP_SUBMIT_BUTTON_TEXT","CONFIRM_SMS_CODE","CONFIRM_TOTP_CODE","CONFIRM","CREATE_ACCOUNT_TEXT","EMAIL_LABEL","EMAIL_PLACEHOLDER","FORGOT_PASSWORD_TEXT","LESS_THAN_TWO_MFA_VALUES_MESSAGE","NEW_PASSWORD_LABEL","NEW_PASSWORD_PLACEHOLDER","NO_ACCOUNT_TEXT","USERNAME_REMOVE_WHITESPACE","PASSWORD_REMOVE_WHITESPACE","PASSWORD_LABEL","PASSWORD_PLACEHOLDER","PHONE_LABEL","PHONE_PLACEHOLDER","QR_CODE_ALT","RESET_PASSWORD_TEXT","RESET_YOUR_PASSWORD","SELECT_MFA_TYPE_HEADER_TEXT","SELECT_MFA_TYPE_SUBMIT_BUTTON_TEXT","SEND_CODE","SUBMIT","SETUP_TOTP_REQUIRED","SIGN_IN_TEXT","SIGN_IN_WITH_AMAZON","SIGN_IN_WITH_AUTH0","SIGN_IN_WITH_AWS","SIGN_IN_WITH_FACEBOOK","SIGN_IN_WITH_GOOGLE","SIGN_OUT","SIGN_UP_EMAIL_PLACEHOLDER","SIGN_UP_HAVE_ACCOUNT_TEXT","SIGN_UP_HEADER_TEXT","SIGN_UP_PASSWORD_PLACEHOLDER","SIGN_UP_SUBMIT_BUTTON_TEXT","SIGN_UP_USERNAME_PLACEHOLDER","SUCCESS_MFA_TYPE","TOTP_HEADER_TEXT","TOTP_LABEL","TOTP_ISSUER","TOTP_SETUP_FAILURE","TOTP_SUBMIT_BUTTON_TEXT","TOTP_SUCCESS_MESSAGE","UNABLE_TO_SETUP_MFA_AT_THIS_TIME","USERNAME_LABEL","USERNAME_PLACEHOLDER","VERIFY_CONTACT_EMAIL_LABEL","VERIFY_CONTACT_HEADER_TEXT","VERIFY_CONTACT_PHONE_LABEL","VERIFY_CONTACT_SUBMIT_LABEL","VERIFY_CONTACT_VERIFY_LABEL","ADDRESS_LABEL","ADDRESS_PLACEHOLDER","NICKNAME_LABEL","NICKNAME_PLACEHOLDER","BIRTHDATE_LABEL","BIRTHDATE_PLACEHOLDER","PICTURE_LABEL","PICTURE_PLACEHOLDER","FAMILY_NAME_LABEL","FAMILY_NAME_PLACEHOLDER","PREFERRED_USERNAME_LABEL","PREFERRED_USERNAME_PLACEHOLDER","GENDER_LABEL","GENDER_PLACEHOLDER","PROFILE_LABEL","PROFILE_PLACEHOLDER","GIVEN_NAME_LABEL","GIVEN_NAME_PLACEHOLDER","ZONEINFO_LABEL","ZONEINFO_PLACEHOLDER","LOCALE_LABEL","LOCALE_PLACEHOLDER","UPDATED_AT_LABEL","UPDATED_AT_PLACEHOLDER","MIDDLE_NAME_LABEL","MIDDLE_NAME_PLACEHOLDER","WEBSITE_LABEL","WEBSITE_PLACEHOLDER","NAME_LABEL","NAME_PLACEHOLDER","PICKER_TEXT","CONFIRM_SIGN_UP_FAILED","SIGN_UP_FAILED","DEFAULT_MSG","EMPTY_EMAIL","EMPTY_PHONE","EMPTY_USERNAME","INVALID_USERNAME","EMPTY_PASSWORD","EMPTY_CODE","SIGN_UP_ERROR","NO_MFA","INVALID_MFA","EMPTY_CHALLENGE","NO_USER_SESSION","NETWORK_ERROR","DEVICE_CONFIG","SnackbarContext","createContext","SnackbarProvider","open","setOpen","useState","text","setText","severity","setSeverity","triggerSnackbar","m","s","closeSnackbar","Provider","openSnackbar","setTimeout","openSnackbarError","response","status","Snackbar","anchorOrigin","vertical","horizontal","autoHideDuration","onClose","MuiAlert","elevation","ChargingStationGroupElectricityTypeEnum","ChargingStationGroupHardwareCostsStateEnum","ChargingStationGroupLocationEnum","ChargingStationGroupListReportTypeEnum","CreateOperatingDataMethodOfRecordingEnum","LocationUsageCommercialUseEnum","LocationUsageMotivationTypeEnum","LocationUsageReportTypeEnum","ReportReportTypeEnum","ReportListItemReportTypeEnum","ReportListItemStateEnum","ReportLocationsStateEnum","ReportSiteVehicleTypeEnum","SiteVehicleTypeEnum","SiteReportTypeEnum","SiteExistingVehiclesEnum","SiteChargingLocationsEnum","SiteRegisteredAtNetOperatorEnum","SiteSupplyCostsStateEnum","useStyles","makeStyles","createStyles","root","backgroundColor","backgroundcolor","padding","borderRadius","height","minHeight","ColoredCard","classes","Card","className","stateLabel","Complete","Cancelled","Incomplete","Step1Complete","Step2Complete","Step3Complete","stateReportButtonLabel","usageMotivationTypeLabel","CompanyImage","CostSaving","EmissionReduction","EmployeeSatisfaction","RenewableEnergy","SustainableMobility","Others","usageCommercialUseLabel","Yes","No","Unknown","existingVehiclesLabel","Planned","networkOperatorRegisteredLabel","supplyCostsStateLabel","Invoice","Preliminary","companyFleet","employeeFleet","vehicleTypeLabel","Both","CompanyFleet","Employee","chargingLocationsLabel","OtherCompanySites","PrivateSites","PublicSites","ThisSite","chargingStationGroupLocationLabel","electricityTypeLabel","Ac","Dc","hardwareCostStateLabel","reportTitleLabel","theme","palette","primary","main","fontcolor","transition","opacity","CustomButton","rest","_objectWithoutProperties","_excluded","Button","size","navigateLocationByType","navigate","isCompany","ReportCard","_location$address","_location$address2","_location$address3","report","isLocationListCard","kfwReferenceId","kfwReportId","locations","reportType","useNavigate","isCompleted","Company","style","marginBottom","Ptj","address","street","postalCode","city","_item$address","_item$address2","_item$address3","marginTop","gutterBottom","fullWidth","onClick","LoadingAnimation","CircularProgress","announceIcon","boxSizing","position","zIndex","anchor","iconHeight","InfoCollapseButton","belowIcon","nextToIcon","textcolor","collapsed","setCollapsed","paddingTop","paddingLeft","ErrorIcon","oldState","Fade","in","contentBox","display","flexDirection","justifyContent","breakpoints","down","workflowGrid","alignItems","imageBox","caption","whiteSpace","Workflow","useTheme","isSmallScreenWidth","useMediaQuery","workflowImages","src","LocationIcon","alt","DownloadIcon","SavingsIcon","align","Grid","container","spacing","img","index","step","xs","sm","md","useStyle","imageContainer","maxWidth","wrapper","flexWrap","LogoWithHeading","heading","fontSize","LogoGrid","isAuth","showKfWLogo","showPtjLogo","logosWithHeading","BmviLogo","LeitstelleLogo","NowLogo","KfwLogo","width","PtjLogo","logoMapper","ObelisLogo","logoWithHeading","i","lastItem","costumMargin","mr","useLogoGridStyles","reportWrapper","Dashboard","defaultApi","useContext","loading","setLoading","reports","setReports","useEffect","res","catch","lg","px","to","yup","mixed","required","string","number","min","UserContext","user","updateUser","useAuthenticatedUser","authUser","setAuthUser","Auth","currentAuthenticatedUser","err","icon","_props$margin","margin","CustomTooltip","Tooltip","arrow","InfoIcon","renderFormTooltip","tooltip","Accordion","withStyles","border","boxShadow","borderBottom","expanded","MuiAccordion","AccordionSummary","content","transform","MuiAccordionSummary","AccordionDetails","MuiAccordionDetails","AccordionDetailsTitle","CustomAccordion","defaultExpanded","isExpanded","tooltipTitle","setExpanded","square","onChange","handleChange","KeyboardArrowRightIcon","useStylesFilter","maxwidth","borderColor","right","paddingRight","FormikTextField","lightTheme","typoVariant","Field","component","TextField","validationSchema","Yup","shape","newEmail","ChangeEmail","currentUser","verifyEmail","setVerifyEmail","Formik","enableReinitialize","initialValues","verificationCode","onSubmit","values","resetForm","handleVerification","reset","verifyCurrentUserAttributeSubmit","emailVerified","updateUserAttributes","handleUpdate","_ref2","submitForm","isValid","Form","InputLabelProps","shrink","InputProps","autoComplete","type","my","oldPwd","newPwd","matches","confirmPwd","oneOf","ref","ChangePassword","renderPasswordField","changePassword","hidden","Profile","BackButton","startIcon","ChevronLeftIcon","matchReportDataPath","includes","handleLogout","signOut","global","window","SignoutButton","avatar","marginRight","dropdown","responsive","UserAvatar","isAdmin","useLocation","isRootPath","anchorRef","useRef","handleClose","event","current","contains","target","prevOpen","focus","handleToggle","Avatar","charAt","toUpperCase","Popper","anchorEl","role","disablePortal","TransitionProps","placement","Grow","transformOrigin","Paper","ClickAwayListener","onClickAway","MenuList","autoFocusItem","MenuItem","lineHeight","logo","Sidebar","matchPath","Hidden","only","pt","obelisLogo","bottom","href","marginLeft","float","inputForm","Input","test","val","reporterPostalCode","CreateReportForm","setSubmitting","handleCreate","_res$data$locations","finally","isSubmitting","dangerouslySetInnerHTML","__html","listWrapper","CheckList","overflowWrap","CreateReport","pr","inputCardTranslation","uploadCardTranslation","actionButton","actionTitle","boxHeight","up","overlay","LocationActions","useParams","renderCompleteBox","desc","isUpload","renderActions","descActive","descDisabled","ReportingIdCard","reportingId","CopyLinkIcon","copyToClipboard","navigator","clipboard","writeText","Commune","LocationDetail","setLocation","setReport","showNotification","isStale","currLocation","find","_item$id","LocationList","setLocations","StepperContext","activeStep","setActiveStep","NextButtonStepper","handleNext","prevActiveStep","getStepButtonText","booleanRadioType","formLabel","formControl","radioGroup","radioGroupRow","FormikRadioGroup","FormControl","FormLabel","RadioGroup","row","option","FormControlLabel","control","Radio","MenuProps","PaperProps","maxHeight","ITEM_HEIGHT","getContentAnchorEl","FormikMultiSelect","defaultValue","setFieldValue","errorMsg","setValue","InputLabel","Select","labelId","inputProps","multiple","Checkbox","checked","indexOf","ListItemText","FormHelperText","UsageForm","_usage$acquireVehicle","_usage$motivationType","isCommune","validationSchemaCommune","array","validationSchemaDefault","_values$commercialUse","handleSubmit","dirty","errors","validateForm","touched","Boolean","renderValue","selected","join","Divider","Usage","setUsage","BackButtonStepper","assign","_objectDestructuringEmpty","handleBack","FormikCheckbox","CheckboxWithLabel","Label","FormikNumberField","onKeyDown","evt","preventDefault","SiteForm","_site$existingVehicle","_site$vehicleType","_site$locationRelated","_site$chargingLocatio","_site$totalCompanyVeh","_site$fullElectricUnk","_site$fullElectricCom","_site$employeeVehicle","_site$suppliesPerChar","_site$supplyCostsPerL","_site$supplyCostsStat","_site$registeredAtNet","existingVehiclesText","employeeVehiclesText","fullElectricUnknownText","existingVehiclesBoolValid","boolean","when","is","otherwise","notRequired","nullable","max","supplyCostsState","_values$chargingLocat","isSiteExistingVehicle","PtjSiteForm","_site$fullElectricCla","_site$fullElectricCla2","_site$fullElectricCla3","_site$fullElectricCom2","_site$employeeVehicle2","_site$employeeVehicle3","_site$employeeVehicle4","_site$employeeVehicle5","_site$employeeVehicle6","ptjEmployeeVehiclesNotKnownValid","context","_context$parent$emplo","_context$parent$emplo2","_context$parent$emplo3","_context$parent$emplo4","_context$parent$emplo5","parent","ptjFullElectricCompanyNotKnownValid","_context$parent$fullE","_context$parent$fullE2","_context$parent$fullE3","_context$parent$fullE4","_context$parent$total","_values$fullElectricC","Site","setSite","FormikDatepicker","disableFuture","minDate","KeyboardDatePicker","format","inputVariant","invalidDateMessage","maxDateMessage","minDateMessage","disableToolbar","cancelLabel","FormikAutocomplete","onOpen","renderOption","getOptionLabel","getOptionSelected","Autocomplete","autoHighlight","renderInput","params","FormikSelect","ChargingStationsContext","setChargingStations","selectedChargingStation","setSelectedChargingStation","START_DATE","Date","ChargingStationForm","_chargingStation$loca","_chargingStation$elec","_chargingStation$hard","_chargingStation$amou","_chargingStation$nLPk","_chargingStation$nLPg","_chargingStation$sLPg","_chargingStation$sLPg2","_chargingStation$sLPg3","_chargingStation$sLPg4","_chargingStation$sLPg5","_chargingStation$hard2","_chargingStation$laun","chargingStation","manufacturerList","manufacturerModelList","setIsSingleStation","isPtj","hardwareCostsState","date","v","now","isChargingStation","MuiPickersUtilsProvider","utils","DateFnsUtils","locale","deLocale","_values$sLPgrgl100kl","_values$sLPgrgl150kl","_values$sLPgrgl","_values$model","_values$manufacturer","_values$nLPkl","_values$nLPgrgl11klgl","_values$sLPgr22kl","_values$sLPgrgl100kl2","_values$sLPgrgl50kl","_chargingStation$grou","ptjValues","defaultValues","payload","mappedChargingStation","_values$manufacturer2","_values$model2","setFieldTouched","bgColor","titleColor","InfoCard","isActive","isLatest","py","pb","CustomDialog","Dialog","DialogTitle","disableTypography","ChargingStationsDialog","handleCancel","btnTextCancel","btnTextSubmit","mx","activeButton","wordBreak","cursor","ChargingStationCards","isSingleStation","deleteStation","setDeleteStation","show","totalStations","isPtJ","forEach","station","closeDeleteModal","labelHelper","_Date$toLocaleDateStr","toLocaleDateString","DeleteForever","entries","entry","deleteChargingStation","_deleteStation$groupI","filteredChargingStations","body","hideXs","LocationChargingStations","setManufacturer","result","useManufacturerList","setList","useManufacturerModelList","showModal","setShowModal","setReportType","_res$data$entities","entities","reverse","closeModal","openModal","addNewChargingStationGroup","pl","ChargingStationsIcon","ChargingStationIcon","overflow","answer","Row","question","formattedAnswer","summaryBox","SummaryCard","args","translatedReport","checkboxContainer","UsageCard","usageReport","usageQuestionTranslation","usageReportTranslated","push","SiteCard","_siteReport$fullElect","siteReport","siteQuestionTranslation","locationReportTranslated","translatedLowerCase","toLocaleString","minimumFractionDigits","ChargingGroupsSummary","reduce","accumulator","headingSums","headingSum","ChargingStationCard","amountQuestion","launchDateQuestion","manufcatureQuestion","modelQuestion","locationQuestion","electricityTypeQuestion","harddwareCostsQuestion","isGroup","hardWareState","hardwareCostWithState","reportTranslated","dateStyle","unshift","OverviewLoaded","chargingReports","lock","subscribeSurvey","setSubscribeSurvey","confirmed","setConfirmed","confirmChargingPoints","setConfirmChargingPoints","headingTranslations","sumOfChargingPoints","ChargingGroup","headingsElements","headingElement","Fragment","Overview","_response$data$locati","locationReport","_location$id","paddingBottom","instructions","LocationStepper","setLock","isLoading","Stepper","Step","StepLabel","ChargingStations","getStepContent","table","minWidth","headCell","cell","HeadingCell","TableCell","BodyCell","ReportingIdList","setReportingList","handleBtnClicked","blob","Blob","createObjectURL","createElement","download","appendChild","click","remove","Table","TableHead","TableRow","TableBody","_report$kfwReferenceI","_report$kfwReportId","cardTitle","collapseButton","checkBoxWithLabel","ChargingUpload","cardTrans","inputRef","htmlFor","accept","_event$target$files","file","files","base64data","reject","reader","FileReader","onload","onerror","readAsDataURL","getBase64","fileName","base64File","divider","datePicker","disabledTitle","dateBox","YupDate","referencePeriodStartDate","energyAmountUnknown","referencePeriodEndDate","energyAmount","methodOfRecording","ChargingOperationalForm","renderQuestionTitle","questionTitle","actions","ElectricityMeterDiff","Estimation","ItBackend","Kilometers","ChargingOperationalData","Admin","setOptions","emails","setEmails","base64Query","mailList","mailBody","mailSubject","multiline","minRows","base64","btoa","handleFilter","FAQDownload","responseType","NowRouter","isRestrictedAdmin","userGroups","Routes","Route","path","element","AmplifyAuth","authState","cognitoUser","setCognitoUser","AuthState","VerifyContact","_host$0$shadowRoot","host","innerHTML","shadowRoot","AmplifyAuthenticator","usernameAlias","initialAuthState","SignIn","AmplifySignUp","headerText","slot","formFields","AmplifySignIn","AmplifyVerifyContact","Amplify","configure","config","I18n","setLanguage","putVocabulariesForLanguage","App","setAuthState","setUser","onAuthUIStateChange","nextAuthState","authData","_userData$signInUserS","userData","userObj","signInUserSession","idToken","SignedIn","currentUserInfo","attributes","email_verified","flexGrow","u","BrowserRouter","reportWebVitals","onPerfEntry","Function","getCLS","getFID","getFCP","getLCP","getTTFB","fontFamily","UniversLightWoff","UniversLightWoff2","UniversLightCondensedWoff","UniversLightCondensedWoff2","createTheme","typography","htmlFontSize","h1","letterSpacing","h2","h3","h4","body1","body2","textTransform","overline","light","dark","contrastText","secondary","shadows","fill","overrides","MuiCssBaseline","CustomFonts","MuiButton","MuiDivider","MuiTooltip","NowTheme","ThemeProvider","CssBaseline","customCredentialsProvider","getCredentials","credentials","currentCredentials","essentialCredentials","axiosAWS4Interceptor","aws4Interceptor","region","service","interceptors","use","token","currentSession","getAccessToken","getJwtToken","getIdToken","AxiosInterceptor","ReactDOM","StrictMode","getElementById"],"mappings":"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","file":"static/js/main.bfba80bd.chunk.js","sourcesContent":["var map = {\n\t\"./amplify-amazon-button_5.entry.js\": [\n\t\t726,\n\t\t9\n\t],\n\t\"./amplify-auth-container.entry.js\": [\n\t\t727,\n\t\t26\n\t],\n\t\"./amplify-auth-fields_9.entry.js\": [\n\t\t728,\n\t\t15\n\t],\n\t\"./amplify-authenticator.entry.js\": [\n\t\t729,\n\t\t6\n\t],\n\t\"./amplify-button_3.entry.js\": [\n\t\t730,\n\t\t27\n\t],\n\t\"./amplify-chatbot.entry.js\": [\n\t\t753,\n\t\t5\n\t],\n\t\"./amplify-checkbox.entry.js\": [\n\t\t731,\n\t\t28\n\t],\n\t\"./amplify-confirm-sign-in_7.entry.js\": [\n\t\t732,\n\t\t7\n\t],\n\t\"./amplify-container.entry.js\": [\n\t\t733,\n\t\t29\n\t],\n\t\"./amplify-federated-buttons_2.entry.js\": [\n\t\t734,\n\t\t10\n\t],\n\t\"./amplify-federated-sign-in.entry.js\": [\n\t\t735,\n\t\t16\n\t],\n\t\"./amplify-form-field_4.entry.js\": [\n\t\t736,\n\t\t11\n\t],\n\t\"./amplify-greetings.entry.js\": [\n\t\t737,\n\t\t12\n\t],\n\t\"./amplify-icon-button.entry.js\": [\n\t\t738,\n\t\t30\n\t],\n\t\"./amplify-icon.entry.js\": [\n\t\t739,\n\t\t23\n\t],\n\t\"./amplify-link.entry.js\": [\n\t\t740,\n\t\t31\n\t],\n\t\"./amplify-nav_2.entry.js\": [\n\t\t741,\n\t\t13\n\t],\n\t\"./amplify-photo-picker.entry.js\": [\n\t\t742,\n\t\t17\n\t],\n\t\"./amplify-picker.entry.js\": [\n\t\t743,\n\t\t18\n\t],\n\t\"./amplify-radio-button_3.entry.js\": [\n\t\t744,\n\t\t8\n\t],\n\t\"./amplify-s3-album.entry.js\": [\n\t\t745,\n\t\t0,\n\t\t19\n\t],\n\t\"./amplify-s3-image-picker.entry.js\": [\n\t\t746,\n\t\t0,\n\t\t20\n\t],\n\t\"./amplify-s3-image.entry.js\": [\n\t\t747,\n\t\t0,\n\t\t32\n\t],\n\t\"./amplify-s3-text-picker.entry.js\": [\n\t\t748,\n\t\t0,\n\t\t21\n\t],\n\t\"./amplify-s3-text.entry.js\": [\n\t\t749,\n\t\t0,\n\t\t22\n\t],\n\t\"./amplify-select-mfa-type.entry.js\": [\n\t\t750,\n\t\t14\n\t],\n\t\"./amplify-sign-in-button.entry.js\": [\n\t\t751,\n\t\t24\n\t],\n\t\"./amplify-tooltip.entry.js\": [\n\t\t752,\n\t\t33\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(function() {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn Promise.all(ids.slice(1).map(__webpack_require__.e)).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 579;\nmodule.exports = webpackAsyncContext;","/* eslint-disable */\n// WARNING: DO NOT EDIT. This file is automatically generated by AWS Amplify. It will be overwritten.\n\nconst awsmobile = {\n \"aws_project_region\": \"eu-central-1\",\n \"aws_cognito_identity_pool_id\": \"eu-central-1:5833ec94-e8b3-4ecf-b353-b0814f1de904\",\n \"aws_cognito_region\": \"eu-central-1\",\n \"aws_user_pools_id\": \"eu-central-1_qyBzU0A6E\",\n \"aws_user_pools_web_client_id\": \"f17b63jklfmsgnrl6bofr8pmt\",\n \"oauth\": {}\n};\n\n\nexport default awsmobile;\n","const CustomTranslations = {\n SIGN_UP_LABEL: 'Registrierung',\n SIGN_IN_LABEL: 'Anmeldung',\n CHANGE_EMAIL: 'E-Mail-Adresse ändern',\n NEW_EMAIL_LABEL: 'Neue E-Mail-Adresse',\n EMAIL_SAVED: 'E-Mail-Adresse gespeichert',\n EMAIL_VERIFIED: 'Email-Adresse verifiziert',\n VERIFY_EMAIL: 'Email verifizieren',\n NEW_EMAIL_PLACEHOLDER: 'Neue E-Mail-Adresse eingeben',\n REPEAT_PASSWORD_LABEL: 'Passwort wiederholen',\n REPEAT_PASSWORD_PLACEHOLDER: 'Neues Passwort wiederholen',\n PASSWORD_SCHEMA_INVALID:\n 'Das Passwort muss Groß- und Kleinbuchstaben und Zahlen enthalten',\n PASSWORD_MIN_LENGTH:\n 'Das Passwort ist zu kurz - die Mindestlänge beträgt 8 Zeichen',\n PASSWORD_NO_MATCH: 'Passwörter stimmen nicht überein',\n PASSWORD_SAVED: 'Passwort gespeichert',\n ERROR_404: '404 Fehler',\n ERROR_MISSING_DATA: 'Unvollständig: Bitte tragen Sie alle Werte ein',\n UNKNOWN: 'Unbekannt',\n UNKNOWN_ERROR: 'Unbekannter Fehler: Bitte kontaktieren Sie den Administrator',\n PROFIL_SETTINGS: 'Profil Einstellungen',\n BACK: 'zurück',\n ONE_STEP_BACK: 'Ein Schritt zurück',\n YOUR: 'Ihre',\n LOCATION: 'Standort',\n INVESTMENT_LOCATION: 'Investitionsstandort',\n INVESTMENT_LOCATION_NOT_FOUND: 'Es wurde kein Investitionsstandort gefunden',\n INVESTMENT_LOCATIONS: 'Investitionsstandorte',\n CHANGE_DATA: 'Ändern oder Zusatzangaben eingeben',\n CHANGE_FORM_DETAILS: 'Formularangaben ändern',\n CHANGE_DETAILS: 'Angaben ändern',\n START_DATA_ENTRY: 'Dateneingabe starten',\n SELECT: 'Auswählen',\n CONTINUE: 'Fortsetzen',\n EDIT: 'Bearbeiten',\n REPORTING_ID: 'Reporting-ID',\n REPORT: 'Bericht',\n POSTCODE_ERROR: 'Muss aus 5 Ziffern bestehen',\n KFW_REFERENCE_ID: 'Zuschussreferenznummer',\n KFW_REFERENCE_ID_FUNDING: 'Zuschussreferenznummer / Förderkennzeichen',\n PTJ_REFERENCE_ID: 'Förderkennzeichen',\n LOCATIONS: 'Investitionsstandorte',\n REPORTING_IDS: 'Reporting-IDs',\n KFW_ERROR: 'Darf maximal 15 Ziffern lang sein',\n SEND_REPORT: 'Bestätigen',\n CREATE_REPORT_LABEL: '+ Investitionsstandort in Betrieb melden',\n CREATE_REPORT_SUCCESS: 'Investitionsstandort erfolgreich in Betrieb gemeldet',\n SAVE_SUCCESS: 'Ihre Angaben wurden gespeichert',\n DELETE_SUCCESS: 'Erfolgreich gelöscht',\n AMOUNT_LABEL: 'Anzahl',\n COSTS_LABEL: 'Kosten',\n LOCATIONS_LABEL: 'Standorte',\n SAVE: 'Speichern',\n SAVE_CREATE: 'Speichern und anlegen',\n COPY_REPORTINGID: 'Reporting-ID kopieren',\n COPY_REPORTINGID_SUCCESS: 'Reporting-ID erfolgreich kopiert',\n COPY_REPORTINGID_ERROR: 'Reporting-ID konnten nicht kopiert werden',\n INVALID_DATE: 'Ungültiges Datum',\n INVALID_DATE_FUTURE:\n 'Das Datum darf nicht vor Beginn des Förderprogramms und nicht in der Zukunft liegen',\n INVALID_MAX_DATE: 'Das Datum darf nicht in der Zukunft liegen',\n INVALID_MIN_DATE:\n 'Das Datum darf nicht vor Beginn des Förderprogramms liegen',\n REQUIRED_MULTISELECT: 'Wählen Sie mindestens eine Option aus',\n YES: 'Ja',\n NO: 'Nein',\n DOWNLOAD_SUCCESS: 'Erfolgreich runtergeladen',\n CANCEL: 'Abbrechen',\n SEND: 'Senden',\n EMAIL_SEND_SUCCESS: 'Emails erfolgreich versendet',\n FILTER_SUCCESS: 'Filter erfolgreich angewendet',\n INVALID_FIELDS:\n 'Bitte prüfen Sie alle Formularfelder, auch in eingeklappten Bereichen',\n}\n\nexport default CustomTranslations\n","import React, { FC } from 'react'\nimport { Box, Typography } from '@material-ui/core'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\n\nconst Error: FC<{ msg?: string }> = ({ msg }) => (\n \n {CustomTranslations.ERROR_404}\n {msg}\n \n)\n\nexport default Error\n","import { Typography } from '@material-ui/core'\nimport React from 'react'\nimport ErrorMessage from './ErrorMessage'\n\ninterface ErrorBoundaryState {\n hasError: boolean\n error: string\n}\n\ninterface Error {\n stack?: string\n}\n\nexport default class ErrorBoundary extends React.Component<\n Record,\n ErrorBoundaryState\n> {\n constructor(props: Record) {\n super(props)\n this.state = { hasError: false, error: '' }\n }\n\n static getDerivedStateFromError(error: Error): ErrorBoundaryState {\n // Update state so the next render will show the fallback UI.\n return { hasError: true, error: error.toString() }\n }\n\n componentDidCatch(error: Error, errorInfo: React.ErrorInfo): void {\n // You can also log the error to an error reporting service\n this.setState({ hasError: true, error: `${error} - ${errorInfo}` })\n }\n\n render(): React.ReactNode {\n const { hasError, error } = this.state\n const { children } = this.props\n\n if (hasError) {\n return (\n <>\n \n {error}\n \n )\n }\n\n return children\n }\n}\n","const CustomTexts = {\n sidebar: [\n {\n title: 'Was ist OBELISgewerblich?',\n description:\n 'OBELISgewerblich ist die Online-Plattform für die Berichterstattung zu geförderten, gewerblich genutzten Ladesäulen. Hier melden Sie Ihre Investitionsstandorte in Betrieb unter Angabe der Stammdaten Ihrer geförderten Ladesäulen. Sobald Ihre Angaben vollständig sind, wird Ihnen die Reporting-ID angezeigt, mit der Sie bei Ihrem Projektträger die Auszahlung der Fördermittel veranlassen können.',\n },\n {\n title: 'Erfassung der geladenen Energiemenge',\n description:\n 'Die wiederkehrende Angabe Ihrer geladenen Energiemenge am Investitionsstandort ist optional und kann zu jeder Zeit erfolgen. Diese Angabe ist für wissenschaftliche Auswertungen im Bereich Nutzung von nicht öffentlicher Ladeinfrastruktur sehr wertvoll, ist jedoch keine Förderbedingung.',\n },\n ],\n support: {\n txt: 'Benötigen Sie Hilfe?',\n faqs: 'FAQs',\n emailTxt: 'oder E-Mail an:',\n email: 'obelis@now-gmbh.de',\n },\n impressum: { title: 'Impressum', link: 'https://www.now-gmbh.de/impressum/' },\n dataProtection: {\n title: 'Datenschutz',\n link: 'https://www.now-gmbh.de/datenschutzerklaerung/',\n },\n dashboard: {\n title: 'Ihr persönliches Dashboard',\n subtitle: 'Ihre Investitionsstandorte:',\n },\n menu: {\n profile: 'E-Mail und Passwort ändern',\n reportingList: 'Ihre Reporting IDs',\n faq: 'Hilfe',\n logout: 'Abmelden',\n },\n reportingIdList: {\n title: 'Liste Ihrer Reporting-IDs',\n buttonText: 'Reporting IDs herunterladen',\n locationHeading: 'Investitionstandort',\n reportingIdHeading: 'Reporting-ID',\n },\n faq: {\n title: 'Hilfe',\n buttonText: 'Hilfe herunterladen',\n },\n newReport: {\n title:\n 'Angabe Ihrer Zuschussreferenznummer\\nbeziehungsweise Ihres Förderkennzeichens',\n description:\n 'Hier melden Sie die Ladesäulen an Ihrem Investitionsstandort in Betrieb und geben die Stammdaten dazu an.',\n postcodeLabel: 'PLZ des Antragstellenden',\n tooltipReferenceId:\n 'Unternehmen: Ihre Zuschussreferenznummer besteht aus max. 15 Ziffern und wurde Ihnen von der KfW im Zuschussportal und per E-Mail mitgeteilt.

Kommunen: Ihre Zuschussnummer besteht aus max. 8 Ziffern und wurde Ihnen von der KfW per Zusageschreiben mitgeteilt.

Projektträger Jülich: Ihr Förderkennzeichen ist 10-stellig (Zahlen und Großbuchstaben) und wurde Ihnen von PtJ bei der Förderzusage mitgeteilt.',\n tooltipPostcode:\n 'Bitte geben Sie hier die Postleitzahl Ihrer Adresse an (Unternehmenssitz oder Verwaltungssitz), die Sie auch bei der Antragstellung bei Ihrem Projektträger angegeben haben.',\n },\n reportStateTitle: 'Reporting',\n locationDetail: {\n startReportTitle: 'Starten Sie Ihre Berichterstattung über Ihre Ladesäulen',\n inputCard: {\n disabled:\n 'Die Dateneingabe zur geladenen Energiemenge wird erst nach Vervollständigung der Stammdaten freigegeben.',\n title: 'Dateneingabe geladene Energiemenge',\n description: 'Hier können Sie die geladene Energiemenge eintragen.',\n },\n uploadCard: {\n disabled:\n 'Der Upload der erfolgten Ladevorgänge wird erst nach Vervollständigung der Stammdaten freigegeben.',\n title: 'Upload erfolgter Ladevorgänge',\n description: 'Hier können Sie die erfolgten Ladevorgängen hochladen.',\n },\n completeReportTitle: 'Berichterstattung über Ihre Ladesäulen abgeschlossen',\n startDataEntry: 'Dateneingabe starten',\n missingReportingId:\n 'Reporting-ID erscheint nach Abschluss der Meldung am Investitionsstandort',\n missingReportingIdCommune:\n 'Reporting-ID erscheint nach vollständigem Reporting an allen Investitionsstandorten',\n copyReportingId: 'Reporting-ID kopieren',\n },\n form: {\n allFieldsRequired: 'Alle Angaben sind Pflichtfelder',\n maxFullElectricVehicles: 'Darf nicht größer als die Gesamtanzahl sein',\n maxtotalCompanyVehicles:\n 'Die Summer aller Fahrzeugklassen darf nicht größer als die Gesamtanzahl sein',\n motivation: {\n motivationTitle: 'Motivation Ihrer Investition',\n motivationType: 'Warum haben Sie sich für die Investition entschieden?',\n acquireVehicles:\n 'Haben Sie sich aufgrund der Fördermöglichkeit Ihrer eigenen Ladesäule in diesem Förderprogramm dazu entschieden, mindestens ein zusätzliches E-Fahrzeug für Ihr Unternehmen/ Ihre Kommune zu erwerben?',\n commercialUse: {\n accordionTitle: 'Gewerblicher Mobilitätsbezug',\n hasCommercialUse:\n 'Hat Ihr Unternehmen einen gewerblichen Mobilitätsbezug?',\n },\n },\n site: {\n electricVehiclesTitle: 'E-Fahrzeuge an diesem Standort',\n existingVehicles:\n 'Hat Ihr Unternehmen/ Ihre Kommune an diesem Standort bereits ein E-Fahrzeug?',\n vehicleType: 'Welche E-Fahrzeuge werden an diesem Standort laden?',\n locationRelatedVehicles:\n 'Sind bzw. wären Ihre unternehmenseigenen/ kommuneneigenen E-Fahrzeuge eindeutig diesem Standort zuordenbar?',\n chargingLocations:\n 'Wo laden Ihre unternehmenseigenen/ kommuneneigenen E-Fahrzeuge?',\n totalCompanyVehiclesTitle:\n 'Wie viele unternehmenseigene/ kommuneneigene E-Fahrzeuge sollen regulär an diesem Standort laden?',\n totalCompanyVehicles: 'Gesamtanzahl',\n fullElectricCompanyVehicles:\n 'Davon vollelektrisch (keine Plug-in-Hybride)',\n\n thereOfPkw: 'Davon Pkw',\n vehiclesN1: 'Davon Kraftfahrzeug-Klasse N1',\n vehiclesN2: 'Davon Kraftfahrzeug-Klasse N2',\n vehiclesN3: 'Davon Kraftfahrzeug-Klasse N3',\n vehiclesNotKnown: 'Weiß nicht',\n fullElectricUnknown: ' Anzahl vollelektrisch unbekannt',\n employeeVehicles:\n 'Wie viele E-Fahrzeuge von Mitarbeitenden sollen regulär an diesem Standort laden?',\n networkOperatorTitle: 'Informationen zum Netzbetreiber',\n registeredAtNetOperator:\n 'Haben Sie Ihre Ladesäulen beim Netzbetreiber angemeldet?',\n suppliesPerChargingStation:\n 'Wie viele Netzanschlüsse gibt es an diesem Standort für Ihre geförderten Ladesäulen?',\n supplyCostsPerLocation:\n 'Gesamtkosten Netzanschlüsse an diesem Standort in € (netto und auf volle Euros gerundet)?',\n supplyCostsPreliminary: '',\n },\n chargingStationGroup: {\n amount: 'Geben Sie die Anzahl der Ladesäulen mit gleichen Merkmalen ein:',\n amountTitle: 'Anzahl an Ladesäulen mit gleichen Merkmalen',\n generalInformationTitle: 'Allgemeine Informationen',\n launchDate: 'Inbetriebnahmedatum',\n manufacturer: 'Hersteller',\n model: 'Modell',\n location:\n 'Hat Ihre Ladesäule ein IT-Backend, über das die einzelnen Ladevorgänge erfasst werden?',\n locationLabel: 'IT-Backend',\n chargingPointsTitle: 'Informationen zu den Ladepunkten',\n chargingPoints:\n 'Wie viele Ladepunkte befinden sich an einer einzelnen Ladesäule? Bitte geben Sie die Anzahl der Ladepunkte je Ladeleistungs-Kategorie an. Falls Sie keine Ladepunkte in einer Kategorie haben sollten, tragen Sie bitte eine Null ein.',\n nLPkl11: 'Ladepunkte unter 11 kW',\n nLPgrgl11klgl22: 'Ladepunkte ab 11 kW bis 22 kW ',\n sLPgr22kl50: 'Ladepunkte über 22 kW unter 50 kW ',\n sLPgrgl50kl100: 'Ladepunkte ab 50 kW unter 100 kW',\n sLPgrgl100kl150: 'Schnellladepunkte von 100kW bis 149kW',\n sLPgrgl150kl300: 'Schnellladepunkte von 150kW bis 299kW',\n sLPgrgl300: 'Schnellladepunkte ab 300kW',\n electricityType: 'Welche Stromart nutzen Ihre Ladepunkte?',\n hardwareTitle: 'Kosten der Ladesäule',\n hardwareCosts:\n 'Wie hoch sind die Hardware-Kosten einer Ladesäule in € (netto und auf volle Euros gerundet)?',\n hardwareCostsPreliminary: '',\n },\n complete: {\n questionnaire:\n 'Sind Sie damit einverstanden für wissenschaftliche Zwecke an einer Umfrage teilzunehmen?',\n dataCorrectness:\n 'Hiermit bestätige ich, dass die gemachten Angaben zu meinen Ladesäulen wahrheitsgemäß und vollständig sind.',\n },\n },\n summary: {\n usage: {\n motivation: 'Motivation Ihrer Investition',\n acquireVehicles:\n 'Anschaffung E-Fahrzeug aufgrund der geförderten Ladesäulen in diesem Förderprogramm',\n commercialUse: 'Gewerblicher Bezug zur Elektromobilität',\n },\n site: {\n existingVehicles: 'Eigene E-Fahrzeuge am Standort',\n vehicleType: 'Nutzung der Ladesäule',\n locationRelatedVehicles: 'Eigene E-Fahrzeuge dem Standort zuordenbar',\n chargingLocations: 'Ladestandorte der eigenen E-Fahrzeuge',\n totalCompanyVehicles: 'Anzahl eigener E-Fahrzeuge am Standort',\n fullElectricCompanyVehicles:\n 'Davon vollelektrisch (keine Plug-in-Hybride)',\n employeeVehicles:\n 'Anzahl E-Fahrzeuge der Mitarbeitenden an diesem Standort',\n registeredAtNetOperator: 'Ladesäulen beim Netzbetreiber angemeldet',\n suppliesPerChargingStation: 'Anzahl Netzanschlüsse an diesem Standort',\n supplyCostState:\n 'Gesamtkosten der Netzanschlüsse an diesem Standort in €',\n employeeVehiclesPkw: 'Davon Pkw',\n employeeVehiclesN1: 'Davon Kraftfahrzeug-Klasse N1',\n employeeVehiclesN2: 'Davon Kraftfahrzeug-Klasse N2',\n employeeVehiclesN3: 'Davon Kraftfahrzeug-Klasse N3',\n employeeVehiclesNotKnown: 'Weiß nicht',\n fullElectricCompanyPkw: 'Davon Pkw',\n fullElectricClassCompanyN1: 'Davon Kraftfahrzeug-Klasse N1',\n fullElectricClassCompanyN2: 'Davon Kraftfahrzeug-Klasse N2',\n fullElectricClassCompanyN3: 'Davon Kraftfahrzeug-Klasse N3',\n fullElectricCompanyNotKnown: 'Weiß nicht',\n },\n chargingStations: {\n sum: 'Gesamtzahl an gemeldeten Ladesäulen',\n sumChargingPoints: 'Gesamtzahl an gemeldeten Ladepunkten',\n titleGroup: 'Ladesäulengruppe',\n titleSingle: 'Ladesäule',\n amount: 'Anzahl an Ladesäulen',\n launchDate: 'Inbetriebnahmedatum',\n manufacturer: 'Hersteller',\n model: 'Modell',\n location: 'IT-Backend',\n electricityType: 'Stromart',\n hardwareCosts: 'Hardware-Kosten',\n nLPkl11: 'Ladepunkte unter 11 kW',\n nLPgrgl11klgl22: 'Ladepunkte ab 11 kW bis 22 kW ',\n sLPgr22kl50: 'Ladepunkte über 22 kW unter 50 kW ',\n sLPgrgl50kl100: 'Ladepunkte ab 50 kW unter 100 kW',\n sLPgrgl100kl150: 'Schnellladepunkte von 100kW bis 149kW',\n sLPgrgl150kl300: 'Schnellladepunkte von 150kW bis 299kW',\n sLPgrgl300: 'Schnellladepunkte ab 300kW',\n },\n headings: {\n usage: '1. Motivation',\n site: '2. Standort',\n chargingStations: '3. Ladesäulen',\n },\n checkboxes: {\n survey:\n 'Sind Sie damit einverstanden für wissenschaftliche Zwecke an einer Umfrage teilzunehmen?',\n confirmation:\n 'Hiermit bestätige ich, dass die gemachten Angaben zu meinen Ladesäulen wahrheitsgemäß und vollständig sind.',\n sumChargingPoints: 'Die Anzahl Ihrer in Betrieb gemeldeten Ladepunkte',\n kfwChargingPoints:\n 'ist niedriger als die Anzahl Ihrer beantragten Ladepunkte. Hiermit bestätige ich, dass weniger Ladepunkte aufgebaut wurden als beantragt.',\n },\n },\n checklist: {\n title: 'Halten Sie folgende Informationen bereit:',\n list: [\n 'Rechnung Ihrer Ladesäulen',\n 'Inbetriebnahmeprotokoll Ihrer Ladesäulen',\n ],\n },\n chargingStations: {\n title: 'Angaben zu Ihren Ladesäulen',\n subtitle: 'Hier werden spezifische Merkmale zu Ihren Ladesäulen abgefragt.',\n howToCard: {\n titleOne: 'Haben Sie Ladesäulen mit gleichen Merkmalen?',\n contentOne:\n 'Legen Sie diese in einer Ladesäulengruppe an. Es können mehrere Ladesäulengruppen nacheinander angelegt werden.',\n titleTwo:\n 'Haben Sie Sie einzelne Ladesäulen mit jeweils unterschiedlichen Merkmalen?',\n contentTwo:\n 'Es können mehrere einzelne Ladesäulen nacheinander angelegt werden.',\n },\n copyStationsDesc:\n 'Möchten Sie die letzten eingetragenen Daten auf eine einzelne Ladesäulengruppe übertragen?',\n copySingleStationDesc:\n 'Möchten Sie die letzten eingetragenen Daten auf eine einzelne Ladesäule übertragen?',\n deleteStationsDesc: 'Möchten Sie diese Ladesäulengruppe löschen?',\n deleteStationDesc: 'Möchten Sie diese Ladesäule löschen?',\n groupCards: {\n totalGroupAmount: 'Insgesamt am Standort gemeldete Ladesäulen: ',\n createdStationGroup: 'Ladesäulengruppe ',\n createdStation: 'Ladesäule',\n totalStationsAmount: 'Anzahl an Ladesäulen: ',\n manufacturer: 'Hersteller: ',\n model: 'Modell: ',\n },\n groupStationBtnText: '+ Ladesäulengruppe anlegen',\n singleStationBtnText: '+ Einzelne Ladesäule anlegen',\n },\n dialog: {\n copyTextSubmit: 'Ja, übernehmen',\n copyTextCancel: 'Nein, nicht übernehmen',\n deleteTextSubmit: 'Ja, Löschen',\n cancel: 'Nein, Abbrechen',\n },\n stepper: {\n titles: ['Motivation', 'Standort', 'Ladesäulen', 'Abschluss'],\n backBtnTitles: [\n 'Zurück',\n 'Zurück zu Motivation',\n 'Zurück zu Standort',\n 'Zurück und Angaben ändern',\n ],\n nextBtnTitles: [\n 'Speichern und weiter',\n 'Speichern und weiter',\n 'Weiter zum Abschluss',\n 'Bestätigen und abschließen',\n ],\n nextBtnDefaultTitle: 'Weiter',\n backBtnDefaultTitle: 'Zurück',\n usageTitle: 'Fragen zur Motivation',\n siteTitle: 'Fragen zum Standort Ihrer Ladesäule',\n completeReportTitle: 'Bitte überprüfen Sie Ihre Angaben',\n lockReportTitle: 'Übersicht Ihrer Angaben',\n },\n workflow: {\n title: 'In 3 Schritten Reporting abschließen',\n\n steps: [\n [\n {\n substring: '1. Investitionsstandort in\\nBetrieb melden',\n },\n ],\n [\n {\n substring: '2. Nach Angabe der Stammdaten\\nReporting-ID erhalten',\n },\n ],\n [\n {\n substring: '3. Bei Ihrem Projektträger\\nFörderung auszahlen lassen',\n },\n ],\n ],\n },\n csvUpload: {\n title: 'Upload erfolgter Ladevorgänge',\n card: {\n title: 'Laden Sie hier Ihre Datei hoch (Excel oder CSV, max. 1 MB)',\n checkBoxLabel:\n 'Mit Hochladen der Daten stimmen Sie der \\nDatennutzung zu',\n button: 'Durchsuchen und hochladen',\n },\n success: 'Datei erfolgreich hochgeladen',\n warning: 'Datei ist zu groß. Datei darf maximal 1 MB groß sein.',\n },\n tooltips: {\n commercialUse:\n 'Ihr Unternehmen hat einen gewerblichen Bezug zur Elektromobilität, wenn Ihre Unternehmenstätigkeit mit Elektromobilität im weitesten Sinne im Zusammenhang steht. Beispiel: Sie betreiben eine Kfz-Werkstatt, in der auch E-Fahrzeuge repariert werden. ',\n locationRelatedVehicles:\n 'Sollten Ihre unternehmenseigenen E-Fahrzeuge in ihrer Nutzung zwischen verschiedenen Unternehmensstandorten rotieren und somit diesem Standort nicht eindeutig zuordenbar sein, geben Sie hier bitte \"Nein\" an. Andernfalls geben Sie bitte \"Ja\" an.',\n totalCompanyVehicles:\n 'Bitte geben Sie hier die Gesamtanzahl an unternehmenseigenen E-Fahrzeugen an, die Sie perspektivisch an diesem Standort an Ihren geförderten Ladesäulen laden werden.',\n employeeVehicles:\n 'Bitte geben Sie hier die Gesamtanzahl an E-Fahrzeugen Ihrer Mitarbeitenden an, die perspektivisch an diesem Standort an Ihren geförderten Ladesäulen laden werden.',\n supplyCostsPerLocation:\n 'Bitte geben Sie hier die Gesamtkosten Ihrer Netzanschlüsse an, die Sie für die Stromversorgung Ihrer geförderten Ladesäulen nutzen. Falls Sie den vorhandenen Netzanschluss direkt nutzen konnten, geben Sie bitte hier nur die Kosten für das Anschließen der Ladesäulen an. Dazu gehören angefallene Kosten der damit verbundenen Baumaßnahmen. Sollten Ihnen hier keine Kosten entstanden sein, tragen Sie bitte eine Null ein.',\n amount:\n 'Folgende Merkmale der Ladesäulen müssen gleich sein, um sie als eine Ladesäulengruppe anzulegen: Inbetriebnahmedatum, Hersteller, Modell, Hardware-Kosten, Vorhandensein eines IT-Backends, Anzahl Ladepunkte. Sollte sich mind. ein Merkmal unterscheiden, müssen die Ladesäulen einzeln angelegt werden. Sie können dabei die Angaben der zuletzt angelegten Ladesäule oder Ladesäulengruppe übernehmen und dann einzelne Angaben anpassen.',\n manufacturer:\n 'Bitte wählen Sie hier den Hersteller Ihrer Ladesäule aus. Sollte der Hersteller Ihrer Ladesäule nicht in der Liste aufgeführt sein, schicken Sie bitte eine E-Mail mit den Namen des Herstellers und Modells Ihrer Ladesäule an den OBELIS-Support.',\n model:\n 'Bitte wählen Sie hier das Modell Ihrer Ladesäule aus. Sollte das Modell Ihrer Ladesäule nicht in der Liste aufgeführt sein, schicken Sie bitte eine E-Mail mit dem Namen des Herstellers und Modells Ihrer Ladesäule an den OBELIS-Support.',\n hardwareCosts:\n 'Bitte geben Sie hier die Kosten einer einzelnen Ladesäule an und berücksichtigen Sie dabei nur die Anschaffungskosten des Ladesäulenmodells (Hardware).',\n upload:\n 'Die Datei erhalten Sie von dem Anbieter des IT-Backends Ihrer Ladesäule. Jede Zeile der Datei entspricht einem Ladevorgang.',\n },\n validation: {\n maxChargingStations:\n 'Die Anzahl der Ladesäulen darf die Zahl 100 nicht überschreiten',\n minChargingStations:\n 'Die Anzahl der Ladesäulen darf die Zahl 1 nicht unterschreiten',\n },\n chargingOperational: {\n title: 'Dateneingabe geladene Energiemenge',\n unknownCheckbox: 'Geladene Energiemenge kann nicht angegeben werden',\n referencePeriodTitle: 'Bezugszeitraum',\n beginLabel: 'Beginn',\n endLabel: 'Ende',\n energyAmountTitle: 'Geladene Energiemenge an diesem Standort in kWh',\n sumLabel: 'Summe',\n recordingMethodTitle: 'Wie wurde die geladene Energiemenge ermittelt?',\n recordingMethodLabel: 'Ermittlungsart',\n },\n adminPanel: {\n title: 'Admin-Bereich - Support von Nutzern',\n filterText: {\n title: 'Filter',\n label: 'Filter',\n placeholder: 'Filterauswahl',\n },\n customFilter: {\n title: 'Eigene Filter',\n label: 'Datenbank Query für Filter',\n placeholder: 'SELECT * FROM mytable WHERE status = example',\n },\n subject: 'Betreff',\n message: 'Nachricht schreiben',\n emailTitle: 'Email schreiben',\n recipientAmount: 'Anzahl der Empfänger',\n submitFilter: 'Filter anwenden',\n },\n}\n\nexport default CustomTexts\n","// brand primary colors\nexport const primaryPetrol = '#3F6558'\nexport const primaryPetrol50 = '#F5FAF8'\nexport const primaryPetrolLight = '#8AB1A3'\nexport const primaryPetrolSoft = '#AFCDC1'\nexport const primaryPetroWhite = '#EAF5F1'\n\nexport const primaryBlack = '#000000'\nexport const primaryWhite = '#FFFFFF'\n\nexport const successGreen = '#40B630'\nexport const warningYellow = '#FACA00'\nexport const errorRed = '#FF151F'\n\n// brand secondary colors\nexport const secondaryBlackBlue = '#002B45'\n\nexport const secondaryFrogGreen = '#4A9134'\nexport const secondaryGrasGreen = '#69BE28'\nexport const secondaryLightGreen = '#A3D899'\nexport const secondarySensitiveGreen = '#D1EBCC'\n\nexport const secondaryOrange = '#FFB200'\nexport const secondaryLightOrange = '#FFE389'\nexport const secondaryPaleOrange = '#FFEFB8'\n\nexport const secondaryMarineBlue = '#165788'\nexport const secondaryWaterBlue = '#739ABC'\nexport const secondaryLightBlue = '#C3D3DF'\nexport const secondarySoftBlue = '#F0F4F7'\n\nexport const deepGrey = '#696A6F'\nexport const middleGrey = '#94969A'\nexport const borderGrey = '#C4C4C4'\nexport const lightGrey = '#E9EAE8'\n\n// background colors\nexport const sidebarBg = 'rgba(233,234,232, 0.54)'\nexport const overlayBg = 'rgba(233, 234, 232, 0.75)'\nexport const accordionBg = primaryPetrol50\nexport const activeCardBg = secondarySoftBlue\nexport const inputLightGreenBg = '#E2EDE9'\n\nexport const fontWhite = primaryWhite\nexport const fontBlack = primaryBlack\n","const basePath =\n document.getElementsByTagName('base')?.[0]?.getAttribute('href') || '/'\nexport const ROOT_PATH = basePath\nexport const DASHBOARD = `${ROOT_PATH}dashboard`\nexport const NEW_REPORT = `${ROOT_PATH}neuer-bericht`\nexport const REPORT = `${ROOT_PATH}bericht`\nexport const REPORT_DATA = `stammdaten`\nexport const PROFILE = `${ROOT_PATH}profil`\nexport const ID_LIST = `${ROOT_PATH}reporting-ids`\nexport const FAQ = `${ROOT_PATH}faq`\nexport const UPLOAD_CHARGING_DATA = `ladevorgaenge-hochladen`\nexport const CHARGED_ENGERY = `energiemenge`\n","import { styled } from '@material-ui/core/styles'\nimport { Link } from 'react-router-dom'\n\nconst CustomLink = styled(Link)({\n textDecoration: 'none',\n color: 'inherit',\n})\n\nexport default CustomLink\n","import { Box, Typography } from '@material-ui/core'\n\ninterface TitleProps {\n title: string\n subtitle?: string\n}\n\nconst CustomTitle = ({ title, subtitle }: TitleProps): JSX.Element => {\n return (\n \n {title}\n {subtitle && (\n \n {subtitle}\n \n )}\n \n )\n}\n\nexport default CustomTitle\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { Configuration } from \"./configuration\";\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\n\nexport const BASE_PATH = \"https://5rncfjsocd.execute-api.eu-central-1.amazonaws.com/v1\".replace(/\\/+$/, \"\");\n\n/**\n *\n * @export\n */\nexport const COLLECTION_FORMATS = {\n csv: \",\",\n ssv: \" \",\n tsv: \"\\t\",\n pipes: \"|\",\n};\n\n/**\n *\n * @export\n * @interface RequestArgs\n */\nexport interface RequestArgs {\n url: string;\n options: any;\n}\n\n/**\n *\n * @export\n * @class BaseAPI\n */\nexport class BaseAPI {\n protected configuration: Configuration | undefined;\n\n constructor(configuration?: Configuration, protected basePath: string = BASE_PATH, protected axios: AxiosInstance = globalAxios) {\n if (configuration) {\n this.configuration = configuration;\n this.basePath = configuration.basePath || this.basePath;\n }\n }\n};\n\n/**\n *\n * @export\n * @class RequiredError\n * @extends {Error}\n */\nexport class RequiredError extends Error {\n name: \"RequiredError\" = \"RequiredError\";\n constructor(public field: string, msg?: string) {\n super(msg);\n }\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { Configuration } from \"./configuration\";\nimport { RequiredError, RequestArgs } from \"./base\";\nimport { AxiosInstance } from 'axios';\n\n/**\n *\n * @export\n */\nexport const DUMMY_BASE_URL = 'https://example.com'\n\n/**\n *\n * @throws {RequiredError}\n * @export\n */\nexport const assertParamExists = function (functionName: string, paramName: string, paramValue: unknown) {\n if (paramValue === null || paramValue === undefined) {\n throw new RequiredError(paramName, `Required parameter ${paramName} was null or undefined when calling ${functionName}.`);\n }\n}\n\n/**\n *\n * @export\n */\nexport const setApiKeyToObject = async function (object: any, keyParamName: string, configuration?: Configuration) {\n if (configuration && configuration.apiKey) {\n const localVarApiKeyValue = typeof configuration.apiKey === 'function'\n ? await configuration.apiKey(keyParamName)\n : await configuration.apiKey;\n object[keyParamName] = localVarApiKeyValue;\n }\n}\n\n/**\n *\n * @export\n */\nexport const setBasicAuthToObject = function (object: any, configuration?: Configuration) {\n if (configuration && (configuration.username || configuration.password)) {\n object[\"auth\"] = { username: configuration.username, password: configuration.password };\n }\n}\n\n/**\n *\n * @export\n */\nexport const setBearerAuthToObject = async function (object: any, configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const accessToken = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken()\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + accessToken;\n }\n}\n\n/**\n *\n * @export\n */\nexport const setOAuthToObject = async function (object: any, name: string, scopes: string[], configuration?: Configuration) {\n if (configuration && configuration.accessToken) {\n const localVarAccessTokenValue = typeof configuration.accessToken === 'function'\n ? await configuration.accessToken(name, scopes)\n : await configuration.accessToken;\n object[\"Authorization\"] = \"Bearer \" + localVarAccessTokenValue;\n }\n}\n\n/**\n *\n * @export\n */\nexport const setSearchParams = function (url: URL, ...objects: any[]) {\n const searchParams = new URLSearchParams(url.search);\n for (const object of objects) {\n for (const key in object) {\n if (Array.isArray(object[key])) {\n searchParams.delete(key);\n for (const item of object[key]) {\n searchParams.append(key, item);\n }\n } else {\n searchParams.set(key, object[key]);\n }\n }\n }\n url.search = searchParams.toString();\n}\n\n/**\n *\n * @export\n */\nexport const serializeDataIfNeeded = function (value: any, requestOptions: any, configuration?: Configuration) {\n const nonString = typeof value !== 'string';\n const needsSerialization = nonString && configuration && configuration.isJsonMime\n ? configuration.isJsonMime(requestOptions.headers['Content-Type'])\n : nonString;\n return needsSerialization\n ? JSON.stringify(value !== undefined ? value : {})\n : (value || \"\");\n}\n\n/**\n *\n * @export\n */\nexport const toPathString = function (url: URL) {\n return url.pathname + url.search + url.hash\n}\n\n/**\n *\n * @export\n */\nexport const createRequestFunction = function (axiosArgs: RequestArgs, globalAxios: AxiosInstance, BASE_PATH: string, configuration?: Configuration) {\n return (axios: AxiosInstance = globalAxios, basePath: string = BASE_PATH) => {\n const axiosRequestArgs = {...axiosArgs.options, url: (configuration?.basePath || basePath) + axiosArgs.url};\n return axios.request(axiosRequestArgs);\n };\n}\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport globalAxios, { AxiosPromise, AxiosInstance } from 'axios';\nimport { Configuration } from '../configuration';\n// Some imports not used depending on template conditions\n// @ts-ignore\nimport { DUMMY_BASE_URL, assertParamExists, setApiKeyToObject, setBasicAuthToObject, setBearerAuthToObject, setOAuthToObject, setSearchParams, serializeDataIfNeeded, toPathString, createRequestFunction } from '../common';\n// @ts-ignore\nimport { BASE_PATH, COLLECTION_FORMATS, RequestArgs, BaseAPI, RequiredError } from '../base';\n// @ts-ignore\nimport { ChargingStationGroup } from '../models';\n// @ts-ignore\nimport { ChargingStationGroupList } from '../models';\n// @ts-ignore\nimport { ChargingStationModelListItem } from '../models';\n// @ts-ignore\nimport { CompleteLocation } from '../models';\n// @ts-ignore\nimport { CreateChargingData } from '../models';\n// @ts-ignore\nimport { CreateChargingStationGroup } from '../models';\n// @ts-ignore\nimport { CreateOperatingData } from '../models';\n// @ts-ignore\nimport { CreateReport } from '../models';\n// @ts-ignore\nimport { EMailQuery } from '../models';\n// @ts-ignore\nimport { LocationUsage } from '../models';\n// @ts-ignore\nimport { ReferenceIdListItem } from '../models';\n// @ts-ignore\nimport { Report } from '../models';\n// @ts-ignore\nimport { ReportListItem } from '../models';\n// @ts-ignore\nimport { Site } from '../models';\n// @ts-ignore\nimport { UserEmailFilterListItem } from '../models';\n// @ts-ignore\nimport { UserMails } from '../models';\n/**\n * DefaultApi - axios parameter creator\n * @export\n */\nexport const DefaultApiAxiosParamCreator = function (configuration?: Configuration) {\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n faqGet: async (options: any = {}): Promise => {\n const localVarPath = `/faq`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n faqOptions: async (options: any = {}): Promise => {\n const localVarPath = `/faq`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportChargingStationModelsGet: async (filter?: string, options: any = {}): Promise => {\n const localVarPath = `/report/charging-station-models`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n if (filter !== undefined) {\n localVarQueryParameter['filter'] = filter;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportChargingStationModelsOptions: async (filter?: string, options: any = {}): Promise => {\n const localVarPath = `/report/charging-station-models`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n if (filter !== undefined) {\n localVarQueryParameter['filter'] = filter;\n }\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportOptions: async (options: any = {}): Promise => {\n const localVarPath = `/report`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {CreateReport} createReport \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportPut: async (createReport: CreateReport, options: any = {}): Promise => {\n // verify required parameter 'createReport' is not null or undefined\n assertParamExists('reportPut', 'createReport', createReport)\n const localVarPath = `/report`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createReport, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdGet: async (reportId: string, options: any = {}): Promise => {\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdGet', 'reportId', reportId)\n const localVarPath = `/report/{reportId}`\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingDataOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingDataOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingDataOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-data`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingData} createChargingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingDataPost: async (locationId: string, reportId: string, createChargingData: CreateChargingData, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingDataPost', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingDataPost', 'reportId', reportId)\n // verify required parameter 'createChargingData' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingDataPost', 'createChargingData', createChargingData)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-data`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createChargingData, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete: async (locationId: string, reportId: string, groupId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete', 'reportId', reportId)\n // verify required parameter 'groupId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete', 'groupId', groupId)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-group/{groupId}`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)))\n .replace(`{${\"groupId\"}}`, encodeURIComponent(String(groupId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'DELETE', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdGet: async (locationId: string, reportId: string, groupId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdGet', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdGet', 'reportId', reportId)\n // verify required parameter 'groupId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdGet', 'groupId', groupId)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-group/{groupId}`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)))\n .replace(`{${\"groupId\"}}`, encodeURIComponent(String(groupId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions: async (locationId: string, reportId: string, groupId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions', 'reportId', reportId)\n // verify required parameter 'groupId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions', 'groupId', groupId)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-group/{groupId}`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)))\n .replace(`{${\"groupId\"}}`, encodeURIComponent(String(groupId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {ChargingStationGroup} chargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdPut: async (locationId: string, reportId: string, groupId: string, chargingStationGroup: ChargingStationGroup, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdPut', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdPut', 'reportId', reportId)\n // verify required parameter 'groupId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdPut', 'groupId', groupId)\n // verify required parameter 'chargingStationGroup' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupGroupIdPut', 'chargingStationGroup', chargingStationGroup)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-group/{groupId}`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)))\n .replace(`{${\"groupId\"}}`, encodeURIComponent(String(groupId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(chargingStationGroup, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-group`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingStationGroup} createChargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupPost: async (locationId: string, reportId: string, createChargingStationGroup: CreateChargingStationGroup, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupPost', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupPost', 'reportId', reportId)\n // verify required parameter 'createChargingStationGroup' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupPost', 'createChargingStationGroup', createChargingStationGroup)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-group`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createChargingStationGroup, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupsGet: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupsGet', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupsGet', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-groups`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupsOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupsOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdChargingStationGroupsOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/charging-station-groups`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdCompleteOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdCompleteOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdCompleteOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/complete`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CompleteLocation} completeLocation \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdCompletePut: async (locationId: string, reportId: string, completeLocation: CompleteLocation, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdCompletePut', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdCompletePut', 'reportId', reportId)\n // verify required parameter 'completeLocation' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdCompletePut', 'completeLocation', completeLocation)\n const localVarPath = `/report/{reportId}/location/{locationId}/complete`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(completeLocation, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdOperatingDataOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdOperatingDataOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdOperatingDataOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/operating-data`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateOperatingData} createOperatingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdOperatingDataPost: async (locationId: string, reportId: string, createOperatingData: CreateOperatingData, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdOperatingDataPost', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdOperatingDataPost', 'reportId', reportId)\n // verify required parameter 'createOperatingData' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdOperatingDataPost', 'createOperatingData', createOperatingData)\n const localVarPath = `/report/{reportId}/location/{locationId}/operating-data`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(createOperatingData, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdSiteGet: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdSiteGet', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdSiteGet', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/site`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdSiteOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdSiteOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdSiteOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/site`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {Site} site \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdSitePut: async (locationId: string, reportId: string, site: Site, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdSitePut', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdSitePut', 'reportId', reportId)\n // verify required parameter 'site' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdSitePut', 'site', site)\n const localVarPath = `/report/{reportId}/location/{locationId}/site`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(site, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdUsageGet: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdUsageGet', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdUsageGet', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/usage`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdUsageOptions: async (locationId: string, reportId: string, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdUsageOptions', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdUsageOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location/{locationId}/usage`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {LocationUsage} locationUsage \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdUsagePut: async (locationId: string, reportId: string, locationUsage: LocationUsage, options: any = {}): Promise => {\n // verify required parameter 'locationId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdUsagePut', 'locationId', locationId)\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdUsagePut', 'reportId', reportId)\n // verify required parameter 'locationUsage' is not null or undefined\n assertParamExists('reportReportIdLocationLocationIdUsagePut', 'locationUsage', locationUsage)\n const localVarPath = `/report/{reportId}/location/{locationId}/usage`\n .replace(`{${\"locationId\"}}`, encodeURIComponent(String(locationId)))\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'PUT', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(locationUsage, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationOptions: async (reportId: string, options: any = {}): Promise => {\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdLocationOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}/location`\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdOptions: async (reportId: string, options: any = {}): Promise => {\n // verify required parameter 'reportId' is not null or undefined\n assertParamExists('reportReportIdOptions', 'reportId', reportId)\n const localVarPath = `/report/{reportId}`\n .replace(`{${\"reportId\"}}`, encodeURIComponent(String(reportId)));\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsGet: async (options: any = {}): Promise => {\n const localVarPath = `/reports`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsOptions: async (options: any = {}): Promise => {\n const localVarPath = `/reports`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListCsvGet: async (options: any = {}): Promise => {\n const localVarPath = `/reports/reference-id-list/csv`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListCsvOptions: async (options: any = {}): Promise => {\n const localVarPath = `/reports/reference-id-list/csv`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListGet: async (options: any = {}): Promise => {\n const localVarPath = `/reports/reference-id-list`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListOptions: async (options: any = {}): Promise => {\n const localVarPath = `/reports/reference-id-list`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedOptions: async (options: any = {}): Promise => {\n const localVarPath = `/restricted`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsFilterGet: async (options: any = {}): Promise => {\n const localVarPath = `/restricted/user-emails/filter`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'GET', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsFilterOptions: async (options: any = {}): Promise => {\n const localVarPath = `/restricted/user-emails/filter`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsOptions: async (options: any = {}): Promise => {\n const localVarPath = `/restricted/user-emails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {UserMails} userMails \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsPost: async (userMails: UserMails, options: any = {}): Promise => {\n // verify required parameter 'userMails' is not null or undefined\n assertParamExists('restrictedUserEmailsPost', 'userMails', userMails)\n const localVarPath = `/restricted/user-emails`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(userMails, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsQueryOptions: async (options: any = {}): Promise => {\n const localVarPath = `/restricted/user-emails/query`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'OPTIONS', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n\n \n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n /**\n * \n * @param {EMailQuery} eMailQuery \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsQueryPost: async (eMailQuery: EMailQuery, options: any = {}): Promise => {\n // verify required parameter 'eMailQuery' is not null or undefined\n assertParamExists('restrictedUserEmailsQueryPost', 'eMailQuery', eMailQuery)\n const localVarPath = `/restricted/user-emails/query`;\n // use dummy base URL string because the URL constructor only accepts absolute URLs.\n const localVarUrlObj = new URL(localVarPath, DUMMY_BASE_URL);\n let baseOptions;\n if (configuration) {\n baseOptions = configuration.baseOptions;\n }\n\n const localVarRequestOptions = { method: 'POST', ...baseOptions, ...options};\n const localVarHeaderParameter = {} as any;\n const localVarQueryParameter = {} as any;\n\n // authentication sigv4 required\n await setApiKeyToObject(localVarHeaderParameter, \"Authorization\", configuration)\n\n\n \n localVarHeaderParameter['Content-Type'] = 'application/json';\n\n setSearchParams(localVarUrlObj, localVarQueryParameter, options.query);\n let headersFromBaseOptions = baseOptions && baseOptions.headers ? baseOptions.headers : {};\n localVarRequestOptions.headers = {...localVarHeaderParameter, ...headersFromBaseOptions, ...options.headers};\n localVarRequestOptions.data = serializeDataIfNeeded(eMailQuery, localVarRequestOptions, configuration)\n\n return {\n url: toPathString(localVarUrlObj),\n options: localVarRequestOptions,\n };\n },\n }\n};\n\n/**\n * DefaultApi - functional programming interface\n * @export\n */\nexport const DefaultApiFp = function(configuration?: Configuration) {\n const localVarAxiosParamCreator = DefaultApiAxiosParamCreator(configuration)\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async faqGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.faqGet(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async faqOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.faqOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportChargingStationModelsGet(filter?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportChargingStationModelsGet(filter, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportChargingStationModelsOptions(filter?: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportChargingStationModelsOptions(filter, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {CreateReport} createReport \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportPut(createReport: CreateReport, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportPut(createReport, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdGet(reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdGet(reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingDataOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingDataOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingData} createChargingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingDataPost(locationId: string, reportId: string, createChargingData: CreateChargingData, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingDataPost(locationId, reportId, createChargingData, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete(locationId: string, reportId: string, groupId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete(locationId, reportId, groupId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupGroupIdGet(locationId: string, reportId: string, groupId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupGroupIdGet(locationId, reportId, groupId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions(locationId: string, reportId: string, groupId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions(locationId, reportId, groupId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {ChargingStationGroup} chargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupGroupIdPut(locationId: string, reportId: string, groupId: string, chargingStationGroup: ChargingStationGroup, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupGroupIdPut(locationId, reportId, groupId, chargingStationGroup, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingStationGroup} createChargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupPost(locationId: string, reportId: string, createChargingStationGroup: CreateChargingStationGroup, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupPost(locationId, reportId, createChargingStationGroup, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupsGet(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupsGet(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdChargingStationGroupsOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdChargingStationGroupsOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdCompleteOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdCompleteOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CompleteLocation} completeLocation \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdCompletePut(locationId: string, reportId: string, completeLocation: CompleteLocation, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdCompletePut(locationId, reportId, completeLocation, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdOperatingDataOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdOperatingDataOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateOperatingData} createOperatingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdOperatingDataPost(locationId: string, reportId: string, createOperatingData: CreateOperatingData, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdOperatingDataPost(locationId, reportId, createOperatingData, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdSiteGet(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdSiteGet(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdSiteOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdSiteOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {Site} site \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdSitePut(locationId: string, reportId: string, site: Site, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdSitePut(locationId, reportId, site, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdUsageGet(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdUsageGet(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdUsageOptions(locationId: string, reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdUsageOptions(locationId, reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {LocationUsage} locationUsage \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationLocationIdUsagePut(locationId: string, reportId: string, locationUsage: LocationUsage, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationLocationIdUsagePut(locationId, reportId, locationUsage, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdLocationOptions(reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdLocationOptions(reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportReportIdOptions(reportId: string, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportReportIdOptions(reportId, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportsGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportsGet(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportsOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportsOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportsReferenceIdListCsvGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportsReferenceIdListCsvGet(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportsReferenceIdListCsvOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportsReferenceIdListCsvOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportsReferenceIdListGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportsReferenceIdListGet(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async reportsReferenceIdListOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.reportsReferenceIdListOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restrictedOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restrictedOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restrictedUserEmailsFilterGet(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restrictedUserEmailsFilterGet(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restrictedUserEmailsFilterOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restrictedUserEmailsFilterOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restrictedUserEmailsOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restrictedUserEmailsOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {UserMails} userMails \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restrictedUserEmailsPost(userMails: UserMails, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restrictedUserEmailsPost(userMails, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restrictedUserEmailsQueryOptions(options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restrictedUserEmailsQueryOptions(options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n /**\n * \n * @param {EMailQuery} eMailQuery \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n async restrictedUserEmailsQueryPost(eMailQuery: EMailQuery, options?: any): Promise<(axios?: AxiosInstance, basePath?: string) => AxiosPromise>> {\n const localVarAxiosArgs = await localVarAxiosParamCreator.restrictedUserEmailsQueryPost(eMailQuery, options);\n return createRequestFunction(localVarAxiosArgs, globalAxios, BASE_PATH, configuration);\n },\n }\n};\n\n/**\n * DefaultApi - factory interface\n * @export\n */\nexport const DefaultApiFactory = function (configuration?: Configuration, basePath?: string, axios?: AxiosInstance) {\n const localVarFp = DefaultApiFp(configuration)\n return {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n faqGet(options?: any): AxiosPromise {\n return localVarFp.faqGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n faqOptions(options?: any): AxiosPromise {\n return localVarFp.faqOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportChargingStationModelsGet(filter?: string, options?: any): AxiosPromise> {\n return localVarFp.reportChargingStationModelsGet(filter, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportChargingStationModelsOptions(filter?: string, options?: any): AxiosPromise {\n return localVarFp.reportChargingStationModelsOptions(filter, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportOptions(options?: any): AxiosPromise {\n return localVarFp.reportOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {CreateReport} createReport \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportPut(createReport: CreateReport, options?: any): AxiosPromise {\n return localVarFp.reportPut(createReport, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdGet(reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdGet(reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingDataOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingDataOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingData} createChargingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingDataPost(locationId: string, reportId: string, createChargingData: CreateChargingData, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingDataPost(locationId, reportId, createChargingData, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete(locationId: string, reportId: string, groupId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete(locationId, reportId, groupId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdGet(locationId: string, reportId: string, groupId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupGroupIdGet(locationId, reportId, groupId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions(locationId: string, reportId: string, groupId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions(locationId, reportId, groupId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {ChargingStationGroup} chargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupGroupIdPut(locationId: string, reportId: string, groupId: string, chargingStationGroup: ChargingStationGroup, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupGroupIdPut(locationId, reportId, groupId, chargingStationGroup, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingStationGroup} createChargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupPost(locationId: string, reportId: string, createChargingStationGroup: CreateChargingStationGroup, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupPost(locationId, reportId, createChargingStationGroup, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupsGet(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupsGet(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdChargingStationGroupsOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdChargingStationGroupsOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdCompleteOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdCompleteOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CompleteLocation} completeLocation \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdCompletePut(locationId: string, reportId: string, completeLocation: CompleteLocation, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdCompletePut(locationId, reportId, completeLocation, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdOperatingDataOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdOperatingDataOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateOperatingData} createOperatingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdOperatingDataPost(locationId: string, reportId: string, createOperatingData: CreateOperatingData, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdOperatingDataPost(locationId, reportId, createOperatingData, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdSiteGet(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdSiteGet(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdSiteOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdSiteOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {Site} site \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdSitePut(locationId: string, reportId: string, site: Site, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdSitePut(locationId, reportId, site, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdUsageGet(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdUsageGet(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdUsageOptions(locationId: string, reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdUsageOptions(locationId, reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {LocationUsage} locationUsage \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationLocationIdUsagePut(locationId: string, reportId: string, locationUsage: LocationUsage, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationLocationIdUsagePut(locationId, reportId, locationUsage, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdLocationOptions(reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdLocationOptions(reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportReportIdOptions(reportId: string, options?: any): AxiosPromise {\n return localVarFp.reportReportIdOptions(reportId, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsGet(options?: any): AxiosPromise> {\n return localVarFp.reportsGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsOptions(options?: any): AxiosPromise {\n return localVarFp.reportsOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListCsvGet(options?: any): AxiosPromise {\n return localVarFp.reportsReferenceIdListCsvGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListCsvOptions(options?: any): AxiosPromise {\n return localVarFp.reportsReferenceIdListCsvOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListGet(options?: any): AxiosPromise> {\n return localVarFp.reportsReferenceIdListGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n reportsReferenceIdListOptions(options?: any): AxiosPromise {\n return localVarFp.reportsReferenceIdListOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedOptions(options?: any): AxiosPromise {\n return localVarFp.restrictedOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsFilterGet(options?: any): AxiosPromise> {\n return localVarFp.restrictedUserEmailsFilterGet(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsFilterOptions(options?: any): AxiosPromise {\n return localVarFp.restrictedUserEmailsFilterOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsOptions(options?: any): AxiosPromise {\n return localVarFp.restrictedUserEmailsOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {UserMails} userMails \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsPost(userMails: UserMails, options?: any): AxiosPromise {\n return localVarFp.restrictedUserEmailsPost(userMails, options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsQueryOptions(options?: any): AxiosPromise {\n return localVarFp.restrictedUserEmailsQueryOptions(options).then((request) => request(axios, basePath));\n },\n /**\n * \n * @param {EMailQuery} eMailQuery \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n */\n restrictedUserEmailsQueryPost(eMailQuery: EMailQuery, options?: any): AxiosPromise> {\n return localVarFp.restrictedUserEmailsQueryPost(eMailQuery, options).then((request) => request(axios, basePath));\n },\n };\n};\n\n/**\n * DefaultApi - object-oriented interface\n * @export\n * @class DefaultApi\n * @extends {BaseAPI}\n */\nexport class DefaultApi extends BaseAPI {\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public faqGet(options?: any) {\n return DefaultApiFp(this.configuration).faqGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public faqOptions(options?: any) {\n return DefaultApiFp(this.configuration).faqOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportChargingStationModelsGet(filter?: string, options?: any) {\n return DefaultApiFp(this.configuration).reportChargingStationModelsGet(filter, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} [filter] \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportChargingStationModelsOptions(filter?: string, options?: any) {\n return DefaultApiFp(this.configuration).reportChargingStationModelsOptions(filter, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportOptions(options?: any) {\n return DefaultApiFp(this.configuration).reportOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {CreateReport} createReport \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportPut(createReport: CreateReport, options?: any) {\n return DefaultApiFp(this.configuration).reportPut(createReport, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdGet(reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdGet(reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingDataOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingDataOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingData} createChargingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingDataPost(locationId: string, reportId: string, createChargingData: CreateChargingData, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingDataPost(locationId, reportId, createChargingData, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete(locationId: string, reportId: string, groupId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete(locationId, reportId, groupId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupGroupIdGet(locationId: string, reportId: string, groupId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupGroupIdGet(locationId, reportId, groupId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions(locationId: string, reportId: string, groupId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupGroupIdOptions(locationId, reportId, groupId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {string} groupId \n * @param {ChargingStationGroup} chargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupGroupIdPut(locationId: string, reportId: string, groupId: string, chargingStationGroup: ChargingStationGroup, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupGroupIdPut(locationId, reportId, groupId, chargingStationGroup, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateChargingStationGroup} createChargingStationGroup \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupPost(locationId: string, reportId: string, createChargingStationGroup: CreateChargingStationGroup, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupPost(locationId, reportId, createChargingStationGroup, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupsGet(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupsGet(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdChargingStationGroupsOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdChargingStationGroupsOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdCompleteOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdCompleteOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CompleteLocation} completeLocation \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdCompletePut(locationId: string, reportId: string, completeLocation: CompleteLocation, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdCompletePut(locationId, reportId, completeLocation, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdOperatingDataOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdOperatingDataOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {CreateOperatingData} createOperatingData \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdOperatingDataPost(locationId: string, reportId: string, createOperatingData: CreateOperatingData, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdOperatingDataPost(locationId, reportId, createOperatingData, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdSiteGet(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdSiteGet(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdSiteOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdSiteOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {Site} site \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdSitePut(locationId: string, reportId: string, site: Site, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdSitePut(locationId, reportId, site, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdUsageGet(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdUsageGet(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdUsageOptions(locationId: string, reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdUsageOptions(locationId, reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} locationId \n * @param {string} reportId \n * @param {LocationUsage} locationUsage \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationLocationIdUsagePut(locationId: string, reportId: string, locationUsage: LocationUsage, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationLocationIdUsagePut(locationId, reportId, locationUsage, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdLocationOptions(reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdLocationOptions(reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {string} reportId \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportReportIdOptions(reportId: string, options?: any) {\n return DefaultApiFp(this.configuration).reportReportIdOptions(reportId, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportsGet(options?: any) {\n return DefaultApiFp(this.configuration).reportsGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportsOptions(options?: any) {\n return DefaultApiFp(this.configuration).reportsOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportsReferenceIdListCsvGet(options?: any) {\n return DefaultApiFp(this.configuration).reportsReferenceIdListCsvGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportsReferenceIdListCsvOptions(options?: any) {\n return DefaultApiFp(this.configuration).reportsReferenceIdListCsvOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportsReferenceIdListGet(options?: any) {\n return DefaultApiFp(this.configuration).reportsReferenceIdListGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public reportsReferenceIdListOptions(options?: any) {\n return DefaultApiFp(this.configuration).reportsReferenceIdListOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public restrictedOptions(options?: any) {\n return DefaultApiFp(this.configuration).restrictedOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public restrictedUserEmailsFilterGet(options?: any) {\n return DefaultApiFp(this.configuration).restrictedUserEmailsFilterGet(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public restrictedUserEmailsFilterOptions(options?: any) {\n return DefaultApiFp(this.configuration).restrictedUserEmailsFilterOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public restrictedUserEmailsOptions(options?: any) {\n return DefaultApiFp(this.configuration).restrictedUserEmailsOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {UserMails} userMails \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public restrictedUserEmailsPost(userMails: UserMails, options?: any) {\n return DefaultApiFp(this.configuration).restrictedUserEmailsPost(userMails, options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public restrictedUserEmailsQueryOptions(options?: any) {\n return DefaultApiFp(this.configuration).restrictedUserEmailsQueryOptions(options).then((request) => request(this.axios, this.basePath));\n }\n\n /**\n * \n * @param {EMailQuery} eMailQuery \n * @param {*} [options] Override http request option.\n * @throws {RequiredError}\n * @memberof DefaultApi\n */\n public restrictedUserEmailsQueryPost(eMailQuery: EMailQuery, options?: any) {\n return DefaultApiFp(this.configuration).restrictedUserEmailsQueryPost(eMailQuery, options).then((request) => request(this.axios, this.basePath));\n }\n}\n","import { Translations } from '@aws-amplify/ui-components'\n\nconst CognitoTranslations = {\n USER_NOT_EXIST: 'User does not exist.',\n USER_ALREADY_EXIST: 'User already exists.',\n ACCOUNT_EMAIL_EXIST: 'An account with the given email already exists.',\n INVALID_PWD_FORMAT: 'Invalid password format.',\n INVALID_PWD_LENGTH:\n 'Password did not conform with policy: Password not long enough',\n INVALID_USERNAME_CLIENT: 'Username/client id combination not found.',\n INVALID_USERNAME_PWD: 'Incorrect username or password.',\n PWD_ATTEMPTS_EXCEEDED: 'Password attempts exceeded.',\n INVALID_VERIFICATION_CODE:\n 'Invalid verification code provided, please try again.',\n REGISTER_NOT_VERIFIED:\n 'Cannot reset password for the user as there is no registered/verified email or phone_number',\n ATTEMPT_LIMIT_EXCEED: 'Attempt limit exceeded, please try after some time.',\n}\n\nconst AmplifyTranslations = {\n [CognitoTranslations.USER_ALREADY_EXIST]: 'Dieser Benutzer existiert bereits',\n [CognitoTranslations.ACCOUNT_EMAIL_EXIST]:\n 'Ein Konto mit der angegebenen E-Mail existiert bereits',\n [CognitoTranslations.INVALID_PWD_FORMAT]: 'Ungültiges Passwort-Format',\n [CognitoTranslations.INVALID_PWD_LENGTH]:\n 'Passwort entsprach nicht der Richtlinie: Passwort nicht lang genug',\n [CognitoTranslations.INVALID_USERNAME_CLIENT]: 'E-Mail nicht gefunden.',\n [CognitoTranslations.USER_NOT_EXIST]:\n 'Account nicht gefunden. Falls Sie Ihren Account gerade erst angelegt haben, aktivieren Sie ihn bitte durch die Eingabe des Bestätigungscodes, den Sie per E-Mail erhalten haben. Sollten Sie noch keinen Account haben, registrieren Sie sich bitte und loggen Sie sich danach ein.',\n [CognitoTranslations.INVALID_USERNAME_PWD]:\n 'Ungültige E-Mail-Adresse oder ungültiges Passwort',\n [CognitoTranslations.PWD_ATTEMPTS_EXCEEDED]:\n 'Die maximale Anzahl der fehlerhaften Anmeldeversuche wurde erreicht',\n [CognitoTranslations.INVALID_VERIFICATION_CODE]:\n 'Ungültiger Bestätigungscode angegeben. Bitte versuchen Sie es erneut.',\n [CognitoTranslations.REGISTER_NOT_VERIFIED]:\n 'Passwort für den Benutzer kann nicht zurückgesetzt werden, da keine registrierte/verifizierte E-Mail vorhanden ist',\n [CognitoTranslations.ATTEMPT_LIMIT_EXCEED]:\n 'Versuchslimit überschritten, bitte versuchen Sie es nach einiger Zeit.',\n [Translations.SIGN_IN_HEADER_TEXT]: 'Custom Sign In Header Text',\n [Translations.SIGN_IN_ACTION]: 'Hier zur Anmeldung',\n [Translations.BACK_TO_SIGN_IN]: 'Zurück zur Anmeldung',\n [Translations.CHANGE_PASSWORD_ACTION]: 'Ändern',\n [Translations.CHANGE_PASSWORD]: 'Passwort ändern',\n [Translations.CODE_LABEL]: 'Bestätigungscode',\n [Translations.CODE_PLACEHOLDER]: 'Bestätigungscode eingeben',\n [Translations.CONFIRM_SIGN_UP_CODE_LABEL]: 'Bestätigungscode',\n [Translations.CONFIRM_SIGN_UP_CODE_PLACEHOLDER]:\n 'Geben Sie den Bestätigungscode ein',\n [Translations.CONFIRM_SIGN_UP_HEADER_TEXT]: 'Registrierung bestätigen',\n [Translations.CONFIRM_SIGN_UP_LOST_CODE]: 'Bestätigungscode verloren?',\n [Translations.CONFIRM_SIGN_UP_RESEND_CODE]: 'Bestätigungscode erneut senden',\n [Translations.CONFIRM_SIGN_UP_SUBMIT_BUTTON_TEXT]: 'Bestätigen',\n [Translations.CONFIRM_SMS_CODE]: 'SMS Code bestätigen',\n [Translations.CONFIRM_TOTP_CODE]: 'TOTP Code bestätigen',\n [Translations.CONFIRM]: 'Bestätigen',\n [Translations.CREATE_ACCOUNT_TEXT]: 'Neuen Account anlegen',\n [Translations.EMAIL_LABEL]: 'E-Mail-Adresse',\n [Translations.EMAIL_PLACEHOLDER]: 'E-Mail-Adresse eingeben',\n [Translations.FORGOT_PASSWORD_TEXT]: 'Passwort vergessen?',\n [Translations.LESS_THAN_TWO_MFA_VALUES_MESSAGE]:\n 'Es sind weniger als zwei MFA Typen verfügbar',\n [Translations.NEW_PASSWORD_LABEL]: 'Neues Passwort',\n [Translations.NEW_PASSWORD_PLACEHOLDER]: 'Neues Passwort eingeben',\n [Translations.NO_ACCOUNT_TEXT]: 'Noch kein Account?',\n [Translations.USERNAME_REMOVE_WHITESPACE]:\n 'Der Username darf keine Leerzeichen enthalten',\n [Translations.PASSWORD_REMOVE_WHITESPACE]:\n 'Das Passwort darf nicht mit einem Leerzeichen beginnen oder enden',\n [Translations.PASSWORD_LABEL]: 'Passwort',\n [Translations.PASSWORD_PLACEHOLDER]: 'Passwort eingeben',\n [Translations.PHONE_LABEL]: 'Telefon Nummer *',\n [Translations.PHONE_PLACEHOLDER]: '(555) 555-1212',\n [Translations.QR_CODE_ALT]: 'qrcode',\n [Translations.RESET_PASSWORD_TEXT]: 'Passwort zurücksetzen',\n [Translations.RESET_YOUR_PASSWORD]: 'Ihr Passwort zurücksetzen',\n [Translations.SELECT_MFA_TYPE_HEADER_TEXT]: 'Wähle einen MFA Typ',\n [Translations.SELECT_MFA_TYPE_SUBMIT_BUTTON_TEXT]: 'Verifizieren',\n [Translations.SEND_CODE]: 'Zurücksetzen',\n [Translations.SUBMIT]: 'Bestätigen',\n [Translations.SETUP_TOTP_REQUIRED]: 'TOTP muss konfiguriert werden',\n [Translations.SIGN_IN_ACTION]: 'Anmelden',\n [Translations.SIGN_IN_HEADER_TEXT]: 'Melden Sie sich bei Ihrem Konto an',\n [Translations.SIGN_IN_TEXT]: 'Hier Anmelden',\n [Translations.SIGN_IN_WITH_AMAZON]: 'Melden Sie sich mit Amazon an',\n [Translations.SIGN_IN_WITH_AUTH0]: 'Melden Sie sich mit Auth0 an',\n [Translations.SIGN_IN_WITH_AWS]: 'Melden Sie sich mit AWS an',\n [Translations.SIGN_IN_WITH_FACEBOOK]: 'Melden Sie sich mit Facebook an',\n [Translations.SIGN_IN_WITH_GOOGLE]: 'Melden Sie sich mit Google an',\n [Translations.SIGN_OUT]: 'Abmelden',\n [Translations.SIGN_UP_EMAIL_PLACEHOLDER]: 'E-Mail',\n [Translations.SIGN_UP_HAVE_ACCOUNT_TEXT]: 'Sie sind bereits registriert?',\n [Translations.SIGN_UP_HEADER_TEXT]: 'Einen neuen Account erstellen',\n [Translations.SIGN_UP_PASSWORD_PLACEHOLDER]: 'Passwort',\n [Translations.SIGN_UP_SUBMIT_BUTTON_TEXT]: 'Registrieren',\n [Translations.SIGN_UP_USERNAME_PLACEHOLDER]: 'Username',\n [Translations.SUCCESS_MFA_TYPE]: 'Erfolgreich! Ihr MFA Type ist:',\n [Translations.TOTP_HEADER_TEXT]:\n 'Scannen Sie und geben Sie dann den Bestätigungscode ein',\n [Translations.TOTP_LABEL]: 'Geben Sie den Bestätigungscode ein:',\n [Translations.TOTP_ISSUER]: 'AWSCognito',\n [Translations.TOTP_SETUP_FAILURE]: 'TOTP Setup ist fehlgeschlagen',\n [Translations.TOTP_SUBMIT_BUTTON_TEXT]: 'Security Token verifizieren',\n [Translations.TOTP_SUCCESS_MESSAGE]: 'Setup TOTP erfolgreich!',\n [Translations.UNABLE_TO_SETUP_MFA_AT_THIS_TIME]:\n 'Fehlgeschlagen! MFA kann derzeit nicht konfiguriert werden',\n [Translations.USERNAME_LABEL]: 'Username *',\n [Translations.USERNAME_PLACEHOLDER]: 'Geben Sie Ihren username ein',\n [Translations.VERIFY_CONTACT_EMAIL_LABEL]: 'E-Mail',\n [Translations.VERIFY_CONTACT_HEADER_TEXT]:\n 'Kontowiederherstellung erfordert verifizierte Kontaktinformationen',\n [Translations.VERIFY_CONTACT_PHONE_LABEL]: 'Telefon Nummer',\n [Translations.VERIFY_CONTACT_SUBMIT_LABEL]: 'Bestätigen',\n [Translations.VERIFY_CONTACT_VERIFY_LABEL]: 'Verifizieren',\n [Translations.ADDRESS_LABEL]: 'Adresse',\n [Translations.ADDRESS_PLACEHOLDER]: 'Geben Sie Ihre Adresse',\n [Translations.NICKNAME_LABEL]: 'Nickname',\n [Translations.NICKNAME_PLACEHOLDER]: 'Geben Sie Ihren nickname ein',\n [Translations.BIRTHDATE_LABEL]: 'Geburtstag',\n [Translations.BIRTHDATE_PLACEHOLDER]: 'Geben Sie Ihren Geburtstag ein',\n [Translations.PICTURE_LABEL]: 'Bild URL',\n [Translations.PICTURE_PLACEHOLDER]: 'Geben Sie Ihren Bild URL ein',\n [Translations.FAMILY_NAME_LABEL]: 'Nachname',\n [Translations.FAMILY_NAME_PLACEHOLDER]: 'Geben Sie Ihren Nachnamen ein',\n [Translations.PREFERRED_USERNAME_LABEL]: 'bevorzugter Benutzername',\n [Translations.PREFERRED_USERNAME_PLACEHOLDER]:\n 'Geben Sie Ihren bevorzugten Benutzernamen ein',\n [Translations.GENDER_LABEL]: 'Geschlecht',\n [Translations.GENDER_PLACEHOLDER]: 'Geben Sie Ihr Geschlecht an',\n [Translations.PROFILE_LABEL]: 'Profil URL',\n [Translations.PROFILE_PLACEHOLDER]: 'Geben Sie Ihre Profil URL an',\n [Translations.GIVEN_NAME_LABEL]: 'Vorname',\n [Translations.GIVEN_NAME_PLACEHOLDER]: 'Geben Sie Ihren Vornamen an',\n [Translations.ZONEINFO_LABEL]: 'Zeitzone',\n [Translations.ZONEINFO_PLACEHOLDER]: 'Geben Sie Ihre Zeitzone an',\n [Translations.LOCALE_LABEL]: 'Ort',\n [Translations.LOCALE_PLACEHOLDER]: 'Geben Sie Ihren Ort an',\n [Translations.UPDATED_AT_LABEL]: 'Aktualisiert am',\n [Translations.UPDATED_AT_PLACEHOLDER]:\n 'Enter the time the information was last updated',\n [Translations.MIDDLE_NAME_LABEL]: 'zweiter Vorname',\n [Translations.MIDDLE_NAME_PLACEHOLDER]: 'Geben Sie Ihren zweiten Vornamen an',\n [Translations.WEBSITE_LABEL]: 'Website',\n [Translations.WEBSITE_PLACEHOLDER]: 'Geben Sie Ihre Website an',\n [Translations.NAME_LABEL]: 'Vollständiger Name',\n [Translations.NAME_PLACEHOLDER]: 'Geben Sie Ihren vollständigen Namen ein',\n [Translations.PICKER_TEXT]: 'Wählen Sie eine Datei aus',\n [Translations.CONFIRM_SIGN_UP_FAILED]: 'Anmeldung fehlgeschlagen',\n [Translations.SIGN_UP_FAILED]: 'Registrierung fehlgeschlagen',\n [Translations.DEFAULT_MSG]: 'Authentifizierungsfehler',\n [Translations.EMPTY_EMAIL]: 'E-Mail darf nicht leer sein',\n [Translations.EMPTY_PHONE]: 'Telefonnummer darf nicht leer sein',\n [Translations.EMPTY_USERNAME]: 'Benutzername darf nicht leer sein',\n [Translations.INVALID_USERNAME]:\n 'Der Benutzername sollte entweder eine Zeichenfolge oder einer der Anmeldetypen sein',\n [Translations.EMPTY_PASSWORD]: 'Passwort kann nicht leer sein',\n [Translations.EMPTY_CODE]: 'Bestätigungscode darf nicht leer sein',\n [Translations.SIGN_UP_ERROR]: 'Fehler beim Erstellen des Kontos',\n [Translations.NO_MFA]: 'Keine gültige MFA-Methode angegeben',\n [Translations.INVALID_MFA]: 'Ungültiger MFA-Typ',\n [Translations.EMPTY_CHALLENGE]:\n 'Herausforderungsantwort darf nicht leer sein',\n [Translations.NO_USER_SESSION]:\n 'Die Sitzung konnte nicht abgerufen werden, da der Benutzer leer ist',\n [Translations.NETWORK_ERROR]: 'Netzwerkfehler',\n [Translations.DEVICE_CONFIG]:\n 'Geräteverfolgung wurde in diesem Benutzerpool nicht konfiguriert',\n}\n\nexport default AmplifyTranslations\n","import React, { createContext, useState } from 'react'\nimport { Snackbar } from '@material-ui/core'\nimport MuiAlert from '@material-ui/lab/Alert'\nimport { AxiosError } from 'axios'\nimport CustomTranslations from '../utils/lang/CustomTranslations'\nimport AmplifyTranslations from '../utils/lang/AmplifyTranslations'\n\ntype SnackBarContextActions = {\n openSnackbar: (\n text: string,\n severity: 'success' | 'info' | 'warning' | 'error'\n ) => void\n openSnackbarError: (e: AxiosError) => void\n closeSnackbar: () => void\n}\n\n// Context used by the hook useSnackbar()\nexport const SnackbarContext = createContext({} as SnackBarContextActions)\n\ninterface SnackbarProviderProps {\n children: JSX.Element\n}\n\nconst SnackbarProvider = (props: SnackbarProviderProps): JSX.Element => {\n const { children } = props\n const [open, setOpen] = useState(false)\n const [text, setText] = useState('')\n const [severity, setSeverity] = useState<\n 'success' | 'info' | 'warning' | 'error'\n >('warning')\n\n const triggerSnackbar = (\n m: string,\n s: 'success' | 'info' | 'warning' | 'error'\n ): void => {\n setText(m)\n setSeverity(s)\n setOpen(true)\n }\n\n // Manages all the snackbar's opening process\n const openSnackbar = (\n m: string,\n s: 'success' | 'info' | 'warning' | 'error'\n ): void => {\n // Closes the snackbar if it is already open\n if (open) {\n setOpen(false)\n setTimeout(() => {\n triggerSnackbar(m, s)\n }, 300)\n } else {\n triggerSnackbar(m, s)\n }\n }\n\n const openSnackbarError = (e: AxiosError): void => {\n const { response } = e\n if (\n e.code === 'CodeMismatchException' ||\n e.code === 'LimitExceededException' ||\n e.code === 'NotAuthorizedException'\n )\n setText(AmplifyTranslations[e.message])\n else if (response?.status === 500)\n setText((response?.data as Record).message as string)\n else setText(CustomTranslations.UNKNOWN_ERROR)\n setSeverity('error')\n if (open) {\n setOpen(false)\n setTimeout(() => {\n setOpen(true)\n }, 300)\n } else {\n setOpen(true)\n }\n }\n\n // Closes the snackbar just by setting the \"open\" state to false\n const closeSnackbar = (): void => {\n setOpen(false)\n }\n\n // Returns the Provider that must wrap the application\n return (\n \n \n \n {text}\n \n \n\n {children}\n \n )\n}\n\nexport default SnackbarProvider\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n\n/**\n * \n * @export\n * @interface ChargingStationGroup\n */\nexport interface ChargingStationGroup {\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n groupId?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n amount?: number;\n /**\n * \n * @type {string}\n * @memberof ChargingStationGroup\n */\n manufacturer?: string;\n /**\n * \n * @type {string}\n * @memberof ChargingStationGroup\n */\n launchDate?: string;\n /**\n * \n * @type {string}\n * @memberof ChargingStationGroup\n */\n model?: string;\n /**\n * \n * @type {string}\n * @memberof ChargingStationGroup\n */\n electricityType?: ChargingStationGroupElectricityTypeEnum;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n hardwareCosts?: number;\n /**\n * \n * @type {string}\n * @memberof ChargingStationGroup\n */\n hardwareCostsState?: ChargingStationGroupHardwareCostsStateEnum;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n nLPkl11?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n nLPgrgl11klgl22?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n sLPgr22kl50?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n sLPgrgl50kl100?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n sLPgrgl100kl150?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n sLPgrgl150kl300?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n sLPgrgl300?: number;\n /**\n * \n * @type {number}\n * @memberof ChargingStationGroup\n */\n sumOfChargingPoints?: number;\n /**\n * \n * @type {string}\n * @memberof ChargingStationGroup\n */\n location?: ChargingStationGroupLocationEnum;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum ChargingStationGroupElectricityTypeEnum {\n Ac = 'AC',\n Dc = 'DC'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ChargingStationGroupHardwareCostsStateEnum {\n Preliminary = 'PRELIMINARY',\n Invoice = 'INVOICE'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ChargingStationGroupLocationEnum {\n Yes = 'YES',\n No = 'NO',\n Unknown = 'UNKNOWN'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { ChargingStationGroupListEntitiesItem } from './charging-station-group-list-entities-item';\n\n/**\n * \n * @export\n * @interface ChargingStationGroupList\n */\nexport interface ChargingStationGroupList {\n /**\n * \n * @type {Array}\n * @memberof ChargingStationGroupList\n */\n entities?: Array;\n /**\n * \n * @type {string}\n * @memberof ChargingStationGroupList\n */\n reportType?: ChargingStationGroupListReportTypeEnum;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum ChargingStationGroupListReportTypeEnum {\n Commune = 'COMMUNE',\n Company = 'COMPANY',\n Ptj = 'PTJ'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n\n/**\n * \n * @export\n * @interface CreateOperatingData\n */\nexport interface CreateOperatingData {\n /**\n * \n * @type {string}\n * @memberof CreateOperatingData\n */\n referencePeriodStartDate?: string;\n /**\n * \n * @type {string}\n * @memberof CreateOperatingData\n */\n referencePeriodEndDate?: string;\n /**\n * \n * @type {number}\n * @memberof CreateOperatingData\n */\n energyAmount?: number;\n /**\n * \n * @type {boolean}\n * @memberof CreateOperatingData\n */\n energyAmountUnknown?: boolean;\n /**\n * \n * @type {string}\n * @memberof CreateOperatingData\n */\n methodOfRecording?: CreateOperatingDataMethodOfRecordingEnum;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum CreateOperatingDataMethodOfRecordingEnum {\n Invoice = 'INVOICE',\n ElectricityMeterDiff = 'ELECTRICITY_METER_DIFF',\n Kilometers = 'KILOMETERS',\n ItBackend = 'IT_BACKEND',\n Estimation = 'ESTIMATION',\n Others = 'OTHERS'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n\n/**\n * \n * @export\n * @interface LocationUsage\n */\nexport interface LocationUsage {\n /**\n * \n * @type {string}\n * @memberof LocationUsage\n */\n commercialUse?: LocationUsageCommercialUseEnum;\n /**\n * \n * @type {Array}\n * @memberof LocationUsage\n */\n motivationType?: Array;\n /**\n * \n * @type {boolean}\n * @memberof LocationUsage\n */\n acquireVehicles?: boolean;\n /**\n * \n * @type {string}\n * @memberof LocationUsage\n */\n reportType?: LocationUsageReportTypeEnum;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum LocationUsageCommercialUseEnum {\n Yes = 'YES',\n No = 'NO',\n Unknown = 'UNKNOWN'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum LocationUsageMotivationTypeEnum {\n RenewableEnergy = 'RENEWABLE_ENERGY',\n SustainableMobility = 'SUSTAINABLE_MOBILITY',\n CompanyImage = 'COMPANY_IMAGE',\n EmployeeSatisfaction = 'EMPLOYEE_SATISFACTION',\n EmissionReduction = 'EMISSION_REDUCTION',\n CostSaving = 'COST_SAVING',\n Others = 'OTHERS'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum LocationUsageReportTypeEnum {\n Commune = 'COMMUNE',\n Company = 'COMPANY',\n Ptj = 'PTJ'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { ReportLocations } from './report-locations';\n\n/**\n * \n * @export\n * @interface Report\n */\nexport interface Report {\n /**\n * \n * @type {number}\n * @memberof Report\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof Report\n */\n createDate?: string;\n /**\n * \n * @type {string}\n * @memberof Report\n */\n completionDate?: string;\n /**\n * \n * @type {string}\n * @memberof Report\n */\n kfwReferenceId?: string;\n /**\n * \n * @type {string}\n * @memberof Report\n */\n kfwReportId?: string;\n /**\n * \n * @type {string}\n * @memberof Report\n */\n reporterPostalCode?: string;\n /**\n * \n * @type {string}\n * @memberof Report\n */\n reportType?: ReportReportTypeEnum;\n /**\n * \n * @type {string}\n * @memberof Report\n */\n state?: ReportStateEnum;\n /**\n * \n * @type {boolean}\n * @memberof Report\n */\n showNotification?: boolean;\n /**\n * \n * @type {Array}\n * @memberof Report\n */\n locations?: Array;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportReportTypeEnum {\n Commune = 'COMMUNE',\n Company = 'COMPANY',\n Ptj = 'PTJ'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportStateEnum {\n Complete = 'COMPLETE',\n Incomplete = 'INCOMPLETE',\n Cancelled = 'CANCELLED'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { ReportListItemLocations } from './report-list-item-locations';\n\n/**\n * \n * @export\n * @interface ReportListItem\n */\nexport interface ReportListItem {\n /**\n * \n * @type {number}\n * @memberof ReportListItem\n */\n id?: number;\n /**\n * \n * @type {string}\n * @memberof ReportListItem\n */\n createDate?: string;\n /**\n * \n * @type {string}\n * @memberof ReportListItem\n */\n completionDate?: string;\n /**\n * \n * @type {string}\n * @memberof ReportListItem\n */\n kfwReferenceId?: string;\n /**\n * \n * @type {string}\n * @memberof ReportListItem\n */\n kfwReportId?: string;\n /**\n * \n * @type {string}\n * @memberof ReportListItem\n */\n reporterPostalCode?: string;\n /**\n * \n * @type {string}\n * @memberof ReportListItem\n */\n reportType?: ReportListItemReportTypeEnum;\n /**\n * \n * @type {string}\n * @memberof ReportListItem\n */\n state?: ReportListItemStateEnum;\n /**\n * \n * @type {boolean}\n * @memberof ReportListItem\n */\n showNotification?: boolean;\n /**\n * \n * @type {Array}\n * @memberof ReportListItem\n */\n locations?: Array;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportListItemReportTypeEnum {\n Commune = 'COMMUNE',\n Company = 'COMPANY',\n Ptj = 'PTJ'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportListItemStateEnum {\n Complete = 'COMPLETE',\n Incomplete = 'INCOMPLETE',\n Cancelled = 'CANCELLED'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\nimport { ReportAddress } from './report-address';\nimport { ReportChargingStations } from './report-charging-stations';\nimport { ReportLocationUsage } from './report-location-usage';\nimport { ReportSite } from './report-site';\n\n/**\n * \n * @export\n * @interface ReportLocations\n */\nexport interface ReportLocations {\n /**\n * \n * @type {ReportAddress}\n * @memberof ReportLocations\n */\n address?: ReportAddress;\n /**\n * \n * @type {string}\n * @memberof ReportLocations\n */\n createDate?: string;\n /**\n * \n * @type {string}\n * @memberof ReportLocations\n */\n completionDate?: string;\n /**\n * \n * @type {string}\n * @memberof ReportLocations\n */\n state?: ReportLocationsStateEnum;\n /**\n * \n * @type {number}\n * @memberof ReportLocations\n */\n id?: number;\n /**\n * \n * @type {boolean}\n * @memberof ReportLocations\n */\n lock?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ReportLocations\n */\n questionnaire?: boolean;\n /**\n * \n * @type {number}\n * @memberof ReportLocations\n */\n kfwChargingPoints?: number;\n /**\n * \n * @type {ReportLocationUsage}\n * @memberof ReportLocations\n */\n locationUsage?: ReportLocationUsage;\n /**\n * \n * @type {ReportSite}\n * @memberof ReportLocations\n */\n site?: ReportSite;\n /**\n * \n * @type {Array}\n * @memberof ReportLocations\n */\n chargingStations?: Array;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportLocationsStateEnum {\n Incomplete = 'INCOMPLETE',\n Step1Complete = 'STEP1_COMPLETE',\n Step2Complete = 'STEP2_COMPLETE',\n Step3Complete = 'STEP3_COMPLETE',\n Complete = 'COMPLETE',\n Cancelled = 'CANCELLED'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n\n/**\n * \n * @export\n * @interface ReportSite\n */\nexport interface ReportSite {\n /**\n * \n * @type {string}\n * @memberof ReportSite\n */\n vehicleType?: ReportSiteVehicleTypeEnum;\n /**\n * \n * @type {string}\n * @memberof ReportSite\n */\n existingVehicles?: ReportSiteExistingVehiclesEnum;\n /**\n * \n * @type {boolean}\n * @memberof ReportSite\n */\n locationRelatedVehicles?: boolean;\n /**\n * \n * @type {Array}\n * @memberof ReportSite\n */\n chargingLocations?: Array;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n totalCompanyVehicles?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n fullElectricCompanyVehicles?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n fullElectricClassCompanyN1?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n fullElectricClassCompanyN2?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n fullElectricClassCompanyN3?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n fullElectricCompanyPkw?: number;\n /**\n * \n * @type {boolean}\n * @memberof ReportSite\n */\n fullElectricCompanyNotKnown?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof ReportSite\n */\n fullElectricUnknown?: boolean;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n employeeVehicles?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n employeeVehiclesN1?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n employeeVehiclesN2?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n employeeVehiclesN3?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n employeeVehiclesPkw?: number;\n /**\n * \n * @type {boolean}\n * @memberof ReportSite\n */\n employeeVehiclesNotKnown?: boolean;\n /**\n * \n * @type {string}\n * @memberof ReportSite\n */\n registeredAtNetOperator?: ReportSiteRegisteredAtNetOperatorEnum;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n suppliesPerChargingStation?: number;\n /**\n * \n * @type {number}\n * @memberof ReportSite\n */\n supplyCostsPerLocation?: number;\n /**\n * \n * @type {string}\n * @memberof ReportSite\n */\n supplyCostsState?: ReportSiteSupplyCostsStateEnum;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportSiteVehicleTypeEnum {\n CompanyFleet = 'COMPANY_FLEET',\n Employee = 'EMPLOYEE',\n Both = 'BOTH'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportSiteExistingVehiclesEnum {\n Yes = 'YES',\n No = 'NO',\n Planned = 'PLANNED'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportSiteChargingLocationsEnum {\n ThisSite = 'THIS_SITE',\n OtherCompanySites = 'OTHER_COMPANY_SITES',\n PublicSites = 'PUBLIC_SITES',\n PrivateSites = 'PRIVATE_SITES'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportSiteRegisteredAtNetOperatorEnum {\n Yes = 'YES',\n No = 'NO',\n Unknown = 'UNKNOWN'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum ReportSiteSupplyCostsStateEnum {\n Preliminary = 'PRELIMINARY',\n Invoice = 'INVOICE'\n}\n\n\n\n","/* tslint:disable */\n/* eslint-disable */\n/**\n * lis-prod-rest-api\n * No description provided (generated by Openapi Generator https://github.com/openapitools/openapi-generator)\n *\n * The version of the OpenAPI document: 2024-01-08T10:35:12Z\n * \n *\n * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).\n * https://openapi-generator.tech\n * Do not edit the class manually.\n */\n\n\n\n/**\n * \n * @export\n * @interface Site\n */\nexport interface Site {\n /**\n * \n * @type {string}\n * @memberof Site\n */\n vehicleType?: SiteVehicleTypeEnum;\n /**\n * \n * @type {string}\n * @memberof Site\n */\n reportType?: SiteReportTypeEnum;\n /**\n * \n * @type {string}\n * @memberof Site\n */\n existingVehicles?: SiteExistingVehiclesEnum;\n /**\n * \n * @type {boolean}\n * @memberof Site\n */\n locationRelatedVehicles?: boolean;\n /**\n * \n * @type {Array}\n * @memberof Site\n */\n chargingLocations?: Array;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n totalCompanyVehicles?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n fullElectricCompanyVehicles?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n fullElectricClassCompanyN1?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n fullElectricClassCompanyN2?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n fullElectricClassCompanyN3?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n fullElectricCompanyPkw?: number;\n /**\n * \n * @type {boolean}\n * @memberof Site\n */\n fullElectricCompanyNotKnown?: boolean;\n /**\n * \n * @type {boolean}\n * @memberof Site\n */\n fullElectricUnknown?: boolean;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n employeeVehicles?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n employeeVehiclesN1?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n employeeVehiclesN2?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n employeeVehiclesN3?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n employeeVehiclesPkw?: number;\n /**\n * \n * @type {boolean}\n * @memberof Site\n */\n employeeVehiclesNotKnown?: boolean;\n /**\n * \n * @type {string}\n * @memberof Site\n */\n registeredAtNetOperator?: SiteRegisteredAtNetOperatorEnum;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n suppliesPerChargingStation?: number;\n /**\n * \n * @type {number}\n * @memberof Site\n */\n supplyCostsPerLocation?: number;\n /**\n * \n * @type {string}\n * @memberof Site\n */\n supplyCostsState?: SiteSupplyCostsStateEnum;\n}\n\n/**\n * @export\n * @enum {string}\n */\nexport enum SiteVehicleTypeEnum {\n CompanyFleet = 'COMPANY_FLEET',\n Employee = 'EMPLOYEE',\n Both = 'BOTH'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum SiteReportTypeEnum {\n Commune = 'COMMUNE',\n Company = 'COMPANY',\n Ptj = 'PTJ'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum SiteExistingVehiclesEnum {\n Yes = 'YES',\n No = 'NO',\n Planned = 'PLANNED'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum SiteChargingLocationsEnum {\n ThisSite = 'THIS_SITE',\n OtherCompanySites = 'OTHER_COMPANY_SITES',\n PublicSites = 'PUBLIC_SITES',\n PrivateSites = 'PRIVATE_SITES'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum SiteRegisteredAtNetOperatorEnum {\n Yes = 'YES',\n No = 'NO',\n Unknown = 'UNKNOWN'\n}\n/**\n * @export\n * @enum {string}\n */\nexport enum SiteSupplyCostsStateEnum {\n Preliminary = 'PRELIMINARY',\n Invoice = 'INVOICE'\n}\n\n\n\n","import {\n makeStyles,\n Card,\n createStyles,\n Theme,\n CardProps,\n} from '@material-ui/core'\n\ntype ColoredCardProps = CardProps & {\n children: JSX.Element | JSX.Element[]\n backgroundcolor: string\n padding?: string\n color?: string\n}\n\ninterface StylesProps {\n padding?: string\n backgroundcolor: string\n color?: string\n}\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: (props) => ({\n backgroundColor: props.backgroundcolor,\n padding: props.padding || '1rem',\n borderRadius: 0,\n height: '100%',\n minHeight: 'inherit',\n color: props.color,\n }),\n })\n)\n\nconst ColoredCard = (props: ColoredCardProps): JSX.Element => {\n const { children, backgroundcolor, padding, color } = props\n\n const styleProps: StylesProps = {\n backgroundcolor,\n padding,\n color,\n }\n const classes = useStyles(styleProps)\n\n return (\n \n {children}\n \n )\n}\n\nexport default ColoredCard\n","import {\n ChargingStationGroupElectricityTypeEnum,\n ChargingStationGroupHardwareCostsStateEnum,\n ChargingStationGroupLocationEnum,\n LocationUsageCommercialUseEnum,\n LocationUsageMotivationTypeEnum,\n ReportChargingStationsElectricityTypeEnum,\n ReportChargingStationsHardwareCostsStateEnum,\n ReportChargingStationsLocationEnum,\n ReportListItemStateEnum,\n ReportLocationsStateEnum,\n ReportLocationUsageCommercialUseEnum,\n ReportLocationUsageMotivationTypeEnum,\n ReportSiteChargingLocationsEnum,\n ReportSiteExistingVehiclesEnum,\n ReportSiteRegisteredAtNetOperatorEnum,\n ReportSiteSupplyCostsStateEnum,\n ReportSiteVehicleTypeEnum,\n ReportStateEnum,\n SiteChargingLocationsEnum,\n SiteExistingVehiclesEnum,\n SiteRegisteredAtNetOperatorEnum,\n SiteSupplyCostsStateEnum,\n SiteVehicleTypeEnum,\n} from '../services/models'\nimport { CreateOperatingDataMethodOfRecordingEnum } from '../services/models/create-operating-data'\n\nexport const stateLabel = (\n state: ReportListItemStateEnum | ReportLocationsStateEnum | ReportStateEnum\n): string => {\n const labels = {\n [ReportListItemStateEnum.Complete]: 'vollständig',\n [ReportListItemStateEnum.Cancelled]: 'storniert',\n [ReportListItemStateEnum.Incomplete]: 'unvollständig',\n [ReportLocationsStateEnum.Step1Complete]: 'unvollständig',\n [ReportLocationsStateEnum.Step2Complete]: 'unvollständig',\n [ReportLocationsStateEnum.Step3Complete]: 'unvollständig',\n }\n return labels[state]\n}\n\nexport const stateButtonLabel = (\n state: ReportListItemStateEnum | ReportLocationsStateEnum\n): string => {\n const labels = {\n [ReportListItemStateEnum.Complete]: 'Ansehen',\n [ReportListItemStateEnum.Cancelled]: 'storniert',\n [ReportListItemStateEnum.Incomplete]: `Los geht's`,\n [ReportLocationsStateEnum.Step1Complete]: 'Formulareingaben fortsetzen',\n [ReportLocationsStateEnum.Step2Complete]: 'Formulareingaben fortsetzen',\n [ReportLocationsStateEnum.Step3Complete]: 'Formulareingaben fortsetzen',\n }\n return labels[state]\n}\n\nexport const stateReportButtonLabel = (\n state: ReportListItemStateEnum | ReportLocationsStateEnum\n): string => {\n const labels = {\n [ReportLocationsStateEnum.Complete]: 'Energiemenge erfassen',\n [ReportLocationsStateEnum.Cancelled]: 'storniert',\n [ReportLocationsStateEnum.Incomplete]: 'Fortsetzen',\n [ReportLocationsStateEnum.Step1Complete]: 'Fortsetzen',\n [ReportLocationsStateEnum.Step2Complete]: 'Fortsetzen',\n [ReportLocationsStateEnum.Step3Complete]: 'Fortsetzen',\n }\n return labels[state]\n}\n\nexport const usageMotivationTypeLabel = (\n state: LocationUsageMotivationTypeEnum | ReportLocationUsageMotivationTypeEnum\n): string => {\n const labels = {\n [LocationUsageMotivationTypeEnum.CompanyImage]:\n 'Unternehmensimage/ Kommunenimage',\n [LocationUsageMotivationTypeEnum.CostSaving]: 'Kosteneinsparungen',\n [LocationUsageMotivationTypeEnum.EmissionReduction]:\n 'Logistische Vorteile durch eigene Ladesäule',\n [LocationUsageMotivationTypeEnum.EmployeeSatisfaction]:\n 'Steigerung der Zufriedenheit der Mitarbeitenden',\n [LocationUsageMotivationTypeEnum.RenewableEnergy]:\n 'Nutzung von selbstproduziertem Strom aus erneuerbaren Energien',\n [LocationUsageMotivationTypeEnum.SustainableMobility]:\n 'Beitrag zur nachhaltigen Mobilität',\n [LocationUsageMotivationTypeEnum.Others]: 'Sonstiges',\n }\n return labels[state]\n}\n\nexport const usageCommercialUseLabel = (\n state: LocationUsageCommercialUseEnum | ReportLocationUsageCommercialUseEnum\n): string => {\n const labels = {\n [LocationUsageCommercialUseEnum.Yes]: 'Ja',\n [LocationUsageCommercialUseEnum.No]: 'Nein',\n [LocationUsageCommercialUseEnum.Unknown]: 'Keine Angabe',\n }\n return labels[state]\n}\n\nexport const existingVehiclesLabel = (\n state: SiteExistingVehiclesEnum | ReportSiteExistingVehiclesEnum\n): string => {\n const labels = {\n [SiteExistingVehiclesEnum.No]: 'Nein',\n [SiteExistingVehiclesEnum.Planned]:\n 'Nein, die Anschaffung ist bereits geplant',\n [SiteExistingVehiclesEnum.Yes]: 'Ja',\n }\n return labels[state]\n}\n\nexport const networkOperatorRegisteredLabel = (\n state: SiteRegisteredAtNetOperatorEnum | ReportSiteRegisteredAtNetOperatorEnum\n): string => {\n const labels = {\n [SiteRegisteredAtNetOperatorEnum.No]: 'Nein',\n [SiteRegisteredAtNetOperatorEnum.Unknown]: 'Keine Angabe',\n [SiteRegisteredAtNetOperatorEnum.Yes]: 'Ja',\n }\n return labels[state]\n}\n\nexport const supplyCostsStateLabel = (\n state: SiteSupplyCostsStateEnum | ReportSiteSupplyCostsStateEnum\n): string => {\n const labels = {\n [SiteSupplyCostsStateEnum.Invoice]: 'Per Rechnung festgesetzt',\n [SiteSupplyCostsStateEnum.Preliminary]: 'Vorläufig kalkuliert',\n }\n return labels[state]\n}\n\nconst companyFleet =\n 'Unternehmenseigene / kommuneneigene E-Fahrzeuge (Flottenladen)'\nconst employeeFleet = 'E-Fahrzeuge der Mitarbeitenden (Mitarbeiterladen)'\n\nexport const vehicleTypeLabel = (state: SiteVehicleTypeEnum): string => {\n const labels = {\n [SiteVehicleTypeEnum.Both]: 'Flottenladen und Mitarbeiterladen',\n [SiteVehicleTypeEnum.CompanyFleet]: companyFleet,\n [SiteVehicleTypeEnum.Employee]: employeeFleet,\n }\n return labels[state]\n}\n\nexport const vehicleTypeLabelReport = (\n state: ReportSiteVehicleTypeEnum\n): string => {\n const labels = {\n [ReportSiteVehicleTypeEnum.CompanyFleet]: companyFleet,\n [ReportSiteVehicleTypeEnum.Employee]: employeeFleet,\n [ReportSiteVehicleTypeEnum.Both]: `${companyFleet} Und ${employeeFleet}`,\n }\n\n return labels[state]\n}\n\nexport const chargingLocationsLabel = (\n state: SiteChargingLocationsEnum | ReportSiteChargingLocationsEnum\n): string => {\n const labels = {\n [SiteChargingLocationsEnum.OtherCompanySites]:\n 'an anderen firmeneigenen Standorten',\n [SiteChargingLocationsEnum.PrivateSites]: 'an privaten Lademöglichkeiten',\n [SiteChargingLocationsEnum.PublicSites]:\n 'an öffentlichen Lademöglichkeiten',\n [SiteChargingLocationsEnum.ThisSite]: 'an diesem Standort',\n }\n return labels[state]\n}\n\nexport const chargingStationGroupLocationLabel = (\n state: ChargingStationGroupLocationEnum | ReportChargingStationsLocationEnum\n): string => {\n const labels = {\n [ChargingStationGroupLocationEnum.Yes]: 'Ja',\n [ChargingStationGroupLocationEnum.No]: 'Nein',\n [ChargingStationGroupLocationEnum.Unknown]: 'Keine Angabe',\n }\n return labels[state]\n}\n\nexport const electricityTypeLabel = (\n state:\n | ChargingStationGroupElectricityTypeEnum\n | ReportChargingStationsElectricityTypeEnum\n): string => {\n const labels = {\n [ChargingStationGroupElectricityTypeEnum.Ac]: 'Wechselstrom (AC)',\n [ChargingStationGroupElectricityTypeEnum.Dc]: 'Gleichstrom (DC)',\n }\n return labels[state]\n}\n\nexport const hardwareCostStateLabel = (\n state:\n | ChargingStationGroupHardwareCostsStateEnum\n | ReportChargingStationsHardwareCostsStateEnum\n): string => {\n const labels = {\n [ChargingStationGroupHardwareCostsStateEnum.Invoice]:\n 'Per Rechnung festgesetzt',\n [ChargingStationGroupHardwareCostsStateEnum.Preliminary]:\n 'Vorläufig kalkuliert',\n }\n return labels[state]\n}\n\nexport const reportTitleLabel = (\n state: ReportListItemStateEnum | ReportLocationsStateEnum\n): string => {\n const CONTINUE =\n 'Reporting zu den geförderten Ladesäulen an Ihren Investitionsstandort unvollständig'\n\n const labels = {\n [ReportListItemStateEnum.Complete]:\n 'Reporting zu den geförderten Ladesäulen an Ihrem Investitionsstandort abgeschlossen.',\n [ReportListItemStateEnum.Cancelled]: 'Reporting storniert',\n [ReportListItemStateEnum.Incomplete]: `Starten Sie das Reporting zu den geförderten Ladesäulen an Ihrem Investitionsstandort`,\n [ReportLocationsStateEnum.Step1Complete]: CONTINUE,\n [ReportLocationsStateEnum.Step2Complete]: CONTINUE,\n [ReportLocationsStateEnum.Step3Complete]: CONTINUE,\n }\n return labels[state]\n}\n\nexport const methodRecordingLabel = (\n state: CreateOperatingDataMethodOfRecordingEnum\n): string => {\n const labels = {\n [CreateOperatingDataMethodOfRecordingEnum.ElectricityMeterDiff]:\n 'Differenz aus Zählerständen',\n [CreateOperatingDataMethodOfRecordingEnum.Estimation]: 'Geschätzt',\n [CreateOperatingDataMethodOfRecordingEnum.Invoice]: 'Stromrechnung',\n [CreateOperatingDataMethodOfRecordingEnum.ItBackend]: 'IT-Backend',\n [CreateOperatingDataMethodOfRecordingEnum.Kilometers]:\n 'Abgeleitet aus elektrisch gefahrenen Kilometern',\n [CreateOperatingDataMethodOfRecordingEnum.Others]: 'Sonstiges',\n }\n\n return labels[state]\n}\n","import {\n Button,\n ButtonProps,\n createStyles,\n makeStyles,\n Theme,\n} from '@material-ui/core'\nimport { fontWhite } from '../Theme/CustomColors'\n\ntype CustomButtonProps = ButtonProps & {\n children: string | JSX.Element | JSX.Element[]\n backgroundcolor?: string\n fontcolor?: string\n component?: string\n}\n\ninterface StylesProps {\n backgroundcolor?: string\n fontcolor?: string\n}\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n root: (props) => ({\n backgroundColor: props.backgroundcolor || theme.palette.primary.main,\n color: props.fontcolor || fontWhite,\n transition: 'ease-in-out .3s',\n '&:hover': {\n backgroundColor: props.backgroundcolor || theme.palette.primary.main,\n color: props.fontcolor || fontWhite,\n opacity: 0.5,\n },\n }),\n })\n)\n\nconst CustomButton = (props: CustomButtonProps): JSX.Element => {\n const { children, backgroundcolor, fontcolor, className, ...rest } = props\n const styleProps: StylesProps = {\n backgroundcolor,\n fontcolor,\n }\n const classes = useStyles(styleProps)\n return (\n \n {children}\n \n )\n}\n\nexport default CustomButton\n","import { NavigateFunction } from 'react-router-dom'\nimport { REPORT } from '../routes/routes'\n\nexport function navigateLocationById(\n navigate: NavigateFunction,\n reportId: string,\n locationId: string\n): void {\n navigate(`${REPORT}/${reportId}/investitionsstandort/${locationId}`)\n}\n\nexport function navigateLocationList(\n navigate: NavigateFunction,\n reportId: string\n): void {\n navigate(`${REPORT}/${reportId}/investitionsstandorte`)\n}\n\nexport function navigateLocationByType(\n navigate: NavigateFunction,\n isCompany: boolean,\n reportId: string,\n locationId: string\n): void {\n if (isCompany)\n navigate(`${REPORT}/${reportId}/investitionsstandort/${locationId}`)\n else navigate(`${REPORT}/${reportId}/investitionsstandorte`)\n}\n","import { Box, Typography } from '@material-ui/core'\nimport { useNavigate } from 'react-router-dom'\nimport {\n Report,\n ReportListItem,\n ReportListItemLocations,\n ReportListItemReportTypeEnum,\n ReportListItemStateEnum,\n ReportLocations,\n ReportLocationsStateEnum,\n} from '../../services'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\nimport ColoredCard from '../../components/Card/ColoredCard'\nimport {\n primaryPetrolSoft,\n secondarySensitiveGreen,\n} from '../../components/Theme/CustomColors'\nimport { stateLabel, stateReportButtonLabel } from '../../utils/labelHelper'\nimport CustomButton from '../../components/Button/CustomButton'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport { navigateLocationByType } from '../../hooks/RouteHooks'\n\ninterface ReportCardProps {\n report: ReportListItem | Report\n location?: ReportLocations\n isLocationListCard?: boolean\n}\n\nconst ReportCard = ({\n report,\n location,\n isLocationListCard,\n}: ReportCardProps): JSX.Element => {\n const { kfwReferenceId, kfwReportId, locations, reportType, id } = report\n const state = isLocationListCard ? location?.state : report.state\n const navigate = useNavigate()\n const isCompleted = isLocationListCard\n ? state === ReportLocationsStateEnum.Complete\n : state === ReportListItemStateEnum.Complete\n const isCompany = reportType === ReportListItemReportTypeEnum.Company\n const { KFW_REFERENCE_ID, PTJ_REFERENCE_ID, INVESTMENT_LOCATIONS } =\n CustomTranslations\n\n return (\n \n \n <>\n \n {!isLocationListCard &&\n `${\n report.reportType === ReportListItemReportTypeEnum.Ptj\n ? PTJ_REFERENCE_ID\n : KFW_REFERENCE_ID\n }: ${kfwReferenceId}`}\n \n {locations && locations.length > 1 ? (\n \n {location ? (\n \n \n {location.address?.street}\n
\n {location.address?.postalCode} {location.address?.city}\n
\n
\n ) : (\n \n {locations?.length} {INVESTMENT_LOCATIONS}\n \n )}\n
\n ) : (\n <>\n {locations?.map(\n (item: ReportListItemLocations | ReportLocations) => (\n \n \n {item.address?.street}\n
\n {item.address?.postalCode} {item.address?.city}\n
\n
\n )\n )}\n \n )}\n \n {CustomTexts.reportStateTitle} {state && stateLabel(state)}\n \n \n {kfwReportId && (\n <>\n {!isLocationListCard &&\n `${CustomTranslations.REPORTING_ID}: ${kfwReportId}`}\n \n )}\n \n \n navigateLocationByType(\n navigate,\n isCompany || (isLocationListCard ?? false),\n `${id}`,\n `${location ? location.id : (locations || [])[0].id}`\n )\n }\n >\n {stateReportButtonLabel(\n state as ReportListItemStateEnum | ReportLocationsStateEnum\n )}\n \n \n \n
\n )\n}\n\nexport default ReportCard\n","import { CircularProgress } from '@material-ui/core'\n\nconst LoadingAnimation = (): JSX.Element => {\n return \n}\n\nexport default LoadingAnimation\n","export default __webpack_public_path__ + \"static/media/LocationIcon.c084351e.svg\";","export default __webpack_public_path__ + \"static/media/DownloadIcon.16c15059.svg\";","export default __webpack_public_path__ + \"static/media/SavingsIcon.f5f3cdbc.svg\";","import React, { useState } from 'react'\n\nimport { Fade, makeStyles, Theme } from '@material-ui/core'\nimport ErrorIcon from '@material-ui/icons/Error'\nimport {\n secondaryPaleOrange,\n secondaryBlackBlue,\n primaryPetrol,\n} from '../Theme/CustomColors'\nimport ColoredCard from '../Card/ColoredCard'\n\ninterface StyleProps {\n backgroundColor: string\n textcolor: string\n}\n\ninterface InfoCollapseButtonProps extends Partial {\n children: JSX.Element\n belowIcon?: boolean\n nextToIcon?: boolean\n}\n\nconst iconHeight = 1.8\nconst iconPadding = 0.5\nconst iconTotalHeightWidth = iconHeight + 2 * iconPadding\n\nconst useStyles = makeStyles(() => ({\n announceIcon: {\n boxSizing: 'content-box',\n position: 'absolute',\n padding: `${iconPadding}rem`,\n color: primaryPetrol,\n backgroundColor: ({ backgroundColor }) => backgroundColor,\n zIndex: 1,\n },\n\n anchor: {\n position: 'relative',\n minHeight: `${iconTotalHeightWidth}rem`,\n marginBottom: '1.5rem',\n },\n}))\n\nconst InfoCollapseButton = (props: InfoCollapseButtonProps): JSX.Element => {\n const {\n children,\n belowIcon = true,\n nextToIcon = false,\n backgroundColor = secondaryPaleOrange,\n textcolor = secondaryBlackBlue,\n } = props\n\n const classes = useStyles({ backgroundColor, textcolor })\n const [collapsed, setCollapsed] = useState(false)\n\n const paddingTop = belowIcon ? `${iconTotalHeightWidth}rem` : 0\n const paddingLeft = nextToIcon ? `${iconTotalHeightWidth}rem` : 0\n\n return (\n
\n setCollapsed((oldState) => !oldState)}\n />\n\n \n \n {children}\n \n \n
\n )\n}\n\nexport default InfoCollapseButton\n","import {\n Box,\n createStyles,\n Grid,\n makeStyles,\n Theme,\n Typography,\n useMediaQuery,\n useTheme,\n} from '@material-ui/core'\nimport LocationIcon from '../../assets/images/icons/LocationIcon.svg'\nimport DownloadIcon from '../../assets/images/icons/DownloadIcon.svg'\nimport SavingsIcon from '../../assets/images/icons/SavingsIcon.svg'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport InfoCollapseButton from '../../components/Button/InfoCollapseButton'\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n contentBox: {\n padding: '1.45rem 1rem 2.1rem',\n display: 'flex',\n flexDirection: 'column',\n justifyContent: 'space-around',\n\n [theme.breakpoints.down('xs')]: {\n paddingTop: '0.5rem',\n },\n },\n\n workflowGrid: {\n paddingTop: '1.25rem',\n alignItems: 'baseline',\n },\n\n imageBox: {\n display: 'flex',\n flexDirection: 'column',\n alignItems: 'center',\n textAlign: 'center',\n },\n\n link: {\n textDecoration: 'underline',\n color: 'inherit',\n },\n\n caption: {\n whiteSpace: 'pre-wrap',\n },\n })\n)\n\nconst Workflow = (): JSX.Element => {\n const classes = useStyles()\n const theme = useTheme()\n const isSmallScreenWidth = useMediaQuery(theme.breakpoints.down('xs'))\n const { title, steps } = CustomTexts.workflow\n const workflowImages = [\n \"Location,\n \"Download,\n \"Savings,\n ]\n\n return (\n \n \n \n {title}\n \n\n \n {workflowImages.map((img, index) => {\n const step = steps[index]\n\n return (\n \n
\n {img}\n \n {step.map(({ substring }) => substring)}\n \n
\n
\n )\n })}\n
\n
\n
\n )\n}\n\nexport default Workflow\n","export default __webpack_public_path__ + \"static/media/BMVI.41771c35.svg\";","export default __webpack_public_path__ + \"static/media/Leitstelle.e3258721.svg\";","export default __webpack_public_path__ + \"static/media/NOW.b4174fc1.svg\";","export default __webpack_public_path__ + \"static/media/obelis-commercial.66f9b707.svg\";","export default __webpack_public_path__ + \"static/media/KFW.87a1f3d4.svg\";","export default __webpack_public_path__ + \"static/media/PtJ-Logo_2016_Schutzzone.e811be40.svg\";","import { Box, makeStyles, Theme, Typography } from '@material-ui/core'\n\nimport BmviLogo from '../assets/images/logos/BMVI.svg'\nimport LeitstelleLogo from '../assets/images/logos/Leitstelle.svg'\nimport NowLogo from '../assets/images/logos/NOW.svg'\nimport ObelisLogo from '../assets/images/logos/obelis-commercial.svg'\nimport KfwLogo from '../assets/images/logos/KFW.svg'\nimport PtjLogo from '../assets/images/logos/PtJ-Logo_2016_Schutzzone.svg'\n\nconst useStyle = makeStyles((theme: Theme) => ({\n imageContainer: {\n paddingTop: '0.5rem',\n minHeight: '3.75rem',\n boxSizing: 'content-box',\n '& img': {\n maxWidth: '100%',\n },\n },\n wrapper: {\n display: 'flex',\n height: '100%',\n alignItems: 'flex-end',\n [theme.breakpoints.down('xs')]: {\n flexWrap: 'wrap',\n },\n },\n}))\n\nconst LogoWithHeading = (props: {\n img: React.DetailedHTMLProps<\n React.ImgHTMLAttributes,\n HTMLImageElement\n >\n heading?: string\n}): JSX.Element => {\n const { img, heading } = props\n const classes = useStyle()\n\n return (\n <>\n \n {heading}\n \n
{img}
\n \n )\n}\n\nconst LogoGrid = (props: {\n isAuth?: boolean\n showKfWLogo?: boolean\n showPtjLogo?: boolean\n}): JSX.Element => {\n const { isAuth, showKfWLogo, showPtjLogo } = props\n const classes = useStyle()\n\n const logosWithHeading = [\n }\n heading=\"Gefördert durch:\"\n />,\n }\n heading=\"Koordiniert durch:\"\n />,\n } />,\n ...(showKfWLogo\n ? [\n \n }\n heading=\"Umgesetzt durch:\"\n />,\n ]\n : []),\n ...(showPtjLogo\n ? [\n }\n />,\n ]\n : []),\n ]\n\n const obelisLogo = (\n }\n heading=\" \"\n />\n )\n const logoMapper = isAuth\n ? [obelisLogo, ...logosWithHeading]\n : logosWithHeading\n return (\n \n {logoMapper.map((logoWithHeading, i) => {\n const key = logoWithHeading?.props.img.props.alt\n const lastItem = logoMapper.length - 1 === i\n const costumMargin = isAuth ? 2 : 6\n return (\n \n {logoWithHeading}\n \n )\n })}\n \n )\n}\n\nexport default LogoGrid\n","import React, { useState, useEffect, useContext } from 'react'\nimport { Box, Grid, makeStyles } from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport { primaryPetrolSoft } from '../../components/Theme/CustomColors'\nimport { NEW_REPORT } from '../../routes/routes'\nimport CustomLink from '../../components/Link/CustomLink'\nimport CustomTitle from '../../components/Title/CustomTitle'\nimport { DefaultApi } from '../../services/api/default-api'\nimport { ReportListItem } from '../../services'\nimport { SnackbarContext } from '../../context/Snackbar'\nimport ReportCard from './ReportCard'\nimport LoadingAnimation from '../../components/Loader/LoadingAnimation'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\nimport Workflow from './Workflow'\nimport CustomButton from '../../components/Button/CustomButton'\nimport LogoGrid from '../LogoGrid'\n\nexport const HEADER_HEIGHT = '38px'\n\nexport const useLogoGridStyles = makeStyles({\n root: {\n display: 'flex',\n height: `calc(100% - ${HEADER_HEIGHT})`,\n flexDirection: 'column',\n },\n\n reportWrapper: {\n backgroundColor: primaryPetrolSoft,\n display: 'flex',\n justifyContent: 'center',\n alignItems: 'center',\n },\n})\n\nconst Dashboard = (): JSX.Element => {\n const defaultApi = new DefaultApi()\n const { openSnackbarError } = useContext(SnackbarContext)\n const [loading, setLoading] = useState(false)\n const [reports, setReports] = useState([])\n const classes = useLogoGridStyles()\n const { title, subtitle } = CustomTexts.dashboard\n\n useEffect(() => {\n setLoading(true)\n\n defaultApi\n .reportsGet()\n .then((res) => {\n setReports(res.data)\n setLoading(false)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n setLoading(false)\n })\n }, [])\n\n return (\n \n \n \n \n \n \n \n\n \n \n \n \n \n {CustomTranslations.CREATE_REPORT_LABEL}\n \n \n \n \n {loading ? (\n \n \n \n ) : (\n <>\n {reports.map((report: ReportListItem) => (\n \n \n \n ))}\n \n )}\n \n\n \n \n )\n}\n\nexport default Dashboard\n","import * as yup from 'yup'\n\n// Setting Translation for yup in own module and exporting it afterwards, seems to be the only way to provide global translation for yup. See: https://github.com/jquense/yup/issues/293#issue-352221231\nyup.setLocale({\n mixed: {\n required: 'Pflichtfeld *',\n },\n string: {\n email: 'Geben Sie eine gültige Email-Adresse ein',\n },\n number: {\n min: 'Die eingegebene Zahl darf nicht negativ sein',\n },\n})\n\nexport default yup\n","import { AuthState, CognitoUserInterface } from '@aws-amplify/ui-components'\nimport { createContext } from 'react'\n\nexport type User = CognitoUserInterface & {\n email: string\n emailVerified: boolean\n authState: AuthState\n userGroups: string[]\n}\n\ntype UserContextType = {\n user: User | undefined\n updateUser: (u: User) => void\n}\n\nconst UserContext = createContext({\n user: undefined,\n updateUser: (): void => {},\n})\n\nexport default UserContext\n","import { useEffect, useState } from 'react'\nimport { Auth } from 'aws-amplify'\nimport { CognitoUserInterface } from '@aws-amplify/ui-components'\n\nexport function useUserAttributes(): Record | undefined {\n const [userAttr, setUserAttr] = useState>()\n useEffect(() => {\n Auth.currentUserInfo()\n .then((user) => setUserAttr(user.attributes))\n .catch((err) => err)\n }, [])\n return userAttr\n}\n\nexport function useAuthenticatedUser(): CognitoUserInterface | undefined {\n const [authUser, setAuthUser] = useState()\n useEffect(() => {\n Auth.currentAuthenticatedUser()\n .then((user) => setAuthUser(user))\n .catch((err) => err)\n }, [])\n return authUser\n}\n","import {\n Box,\n createStyles,\n makeStyles,\n Theme,\n Tooltip,\n} from '@material-ui/core'\nimport InfoIcon from '@material-ui/icons/Info'\n\ninterface CustomTooltipProps {\n title: string | React.ReactFragment\n margin?: string\n}\n\ninterface StylesProps {\n margin: string | undefined\n}\n\nconst useStyles = makeStyles(() =>\n createStyles({\n icon: (props) => ({\n margin: props.margin ?? '0.35rem 0 0 0.65rem',\n }),\n })\n)\n\nconst CustomTooltip = (props: CustomTooltipProps): JSX.Element => {\n const { title, margin } = props\n const styleProps: StylesProps = {\n margin,\n }\n const classes = useStyles(styleProps)\n\n return (\n \n \n \n )\n}\n\nexport const renderFormTooltip = (\n tooltip?: string | React.ReactFragment,\n margin?: string\n): JSX.Element => {\n return (\n <>\n {tooltip ? (\n \n {' '}\n \n ) : (\n <>\n )}\n \n )\n}\n\nexport default CustomTooltip\n","import React, { useEffect, useState } from 'react'\nimport { withStyles } from '@material-ui/core/styles'\nimport MuiAccordion, { AccordionProps } from '@material-ui/core/Accordion'\nimport MuiAccordionSummary from '@material-ui/core/AccordionSummary'\nimport MuiAccordionDetails from '@material-ui/core/AccordionDetails'\nimport Typography from '@material-ui/core/Typography'\nimport { Variant } from '@material-ui/core/styles/createTypography'\nimport KeyboardArrowRightIcon from '@material-ui/icons/KeyboardArrowRight'\nimport { Box } from '@material-ui/core'\nimport CustomTooltip, { renderFormTooltip } from '../Tooltip/CustomTooltip'\nimport { accordionBg } from '../Theme/CustomColors'\n\nconst Accordion = withStyles({\n root: {\n border: 'unset',\n boxShadow: 'none',\n marginBottom: '1rem',\n '&:not(:last-child)': {\n borderBottom: 0,\n },\n '&:before': {\n display: 'none',\n },\n '&$expanded': {\n marginBottom: '1rem',\n },\n },\n expanded: {},\n})(MuiAccordion)\n\nconst AccordionSummary = withStyles(() => ({\n root: {\n backgroundColor: accordionBg,\n border: 'unset',\n padding: '1.75rem 2.2rem',\n },\n content: {\n justifyContent: 'space-between',\n alignItems: 'center',\n margin: 0,\n '& > .MuiSvgIcon-root': {\n transition: 'ease-in-out .3s',\n },\n '&$expanded': {\n '& > .MuiSvgIcon-root': {\n transform: 'rotate(90deg)',\n },\n margin: 0,\n },\n },\n expanded: {},\n}))(MuiAccordionSummary)\n\nconst AccordionDetails = withStyles(() => ({\n root: {\n display: 'block',\n padding: '0 2.2rem 2.2rem',\n backgroundColor: accordionBg,\n },\n}))(MuiAccordionDetails)\n\ntype CustomAccordionProps = AccordionProps & {\n children: JSX.Element | JSX.Element[]\n title: string\n id: string\n isExpanded?: boolean\n defaultExpanded?: boolean\n tooltipTitle?: string | React.ReactFragment\n}\n\ntype AccordionDetailsTitleProps = {\n title: string\n variant?: 'inherit' | Variant | undefined\n margin?: string\n tooltip?: string | React.ReactFragment\n}\n\nexport const AccordionDetailsTitle = (\n props: AccordionDetailsTitleProps\n): JSX.Element => {\n const { title, variant, margin, tooltip } = props\n return (\n <>\n {renderFormTooltip(tooltip, '0')}\n \n {title}\n \n \n )\n}\n\nconst CustomAccordion = (props: CustomAccordionProps): JSX.Element => {\n const {\n defaultExpanded,\n isExpanded,\n children,\n title,\n tooltipTitle,\n id,\n ...rest\n } = props\n const [expanded, setExpanded] = useState(\n isExpanded || defaultExpanded || false\n )\n\n useEffect(() => {\n if (isExpanded) setExpanded(isExpanded)\n }, [isExpanded])\n\n const handleChange = (): void => {\n setExpanded(!expanded)\n }\n\n return (\n \n \n \n {title}\n {tooltipTitle && }\n \n \n \n {children}\n \n )\n}\n\nexport default CustomAccordion\n","import { TextField } from 'formik-material-ui'\nimport { Field } from 'formik'\nimport { TextFieldProps } from '@material-ui/core/TextField'\nimport { makeStyles, Theme, createStyles } from '@material-ui/core'\nimport { Variant } from '@material-ui/core/styles/createTypography'\nimport { AccordionDetailsTitle } from '../Accordion/CustomAccordion'\n\nexport interface StylesProps {\n color: string\n maxwidth?: string\n}\nexport const useStylesFilter = makeStyles(() =>\n createStyles({\n root: (props) => ({\n maxWidth: props.maxwidth || '400px',\n '& .MuiInputLabel-outlined': {\n color: props.color,\n fontSize: '16px',\n },\n '& .MuiInputLabel-outlined.Mui-focused': {\n color: props.color,\n },\n '& .Mui-focused': {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: props.color,\n },\n },\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: props.color,\n },\n '& .MuiInputAdornment-root': {\n position: 'absolute',\n right: '0.5rem',\n },\n '& .MuiOutlinedInput-root': {\n borderColor: props.color,\n paddingRight: '3rem',\n color: props.color,\n '&:hover': {\n '& .MuiOutlinedInput-notchedOutline': {\n borderColor: props.color,\n },\n },\n },\n '& .MuiFilledInput-root': {\n backgroundColor: props.color,\n },\n }),\n })\n)\n\nconst FormikTextField = (\n props: TextFieldProps & {\n title?: string\n lightTheme?: boolean\n maxwidth?: string\n tooltip?: string\n typoVariant?: 'inherit' | Variant | undefined\n }\n): JSX.Element => {\n const { lightTheme, title, maxwidth, tooltip, typoVariant, ...rest } = props\n const styleProps: StylesProps = {\n color: lightTheme ? 'white' : 'default',\n maxwidth,\n }\n const classes = useStylesFilter(styleProps)\n\n return (\n <>\n {title && (\n \n )}\n \n \n )\n}\n\nexport default FormikTextField\n","import React, { useContext, useState } from 'react'\nimport { Typography, Box } from '@material-ui/core'\nimport { Formik, Form, FormikValues } from 'formik'\nimport { Auth } from 'aws-amplify'\nimport { Translations } from '@aws-amplify/ui-components'\nimport Yup from '../../utils/lang/ValidationTranslation'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\nimport { SnackbarContext } from '../../context/Snackbar'\nimport UserContext, { User } from '../../context/User'\nimport { useAuthenticatedUser } from '../../hooks/AuthHooks'\nimport AmplifyTranslations from '../../utils/lang/AmplifyTranslations'\nimport FormikTextField from '../Input/FormikTextField'\nimport CustomButton from '../Button/CustomButton'\n\nconst validationSchema = Yup.object().shape({\n newEmail: Yup.string().email().required(),\n})\n\nconst ChangeEmail = (): JSX.Element => {\n const currentUser = useAuthenticatedUser()\n const { user, updateUser } = useContext(UserContext)\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const [verifyEmail, setVerifyEmail] = useState(false)\n const {\n EMAIL_SAVED,\n EMAIL_VERIFIED,\n CHANGE_EMAIL,\n NEW_EMAIL_LABEL,\n NEW_EMAIL_PLACEHOLDER,\n VERIFY_EMAIL,\n } = CustomTranslations\n\n const handleUpdate = (values: FormikValues): void => {\n Auth.updateUserAttributes(currentUser, {\n email: values.newEmail,\n })\n .then(() => {\n openSnackbar(EMAIL_SAVED, 'success')\n if (user?.email !== values.newEmail) {\n setVerifyEmail(true)\n updateUser({\n ...user,\n email: values.newEmail,\n emailVerified: false,\n } as User)\n } else setVerifyEmail(false)\n })\n .catch((err) => openSnackbarError(err))\n }\n\n const handleVerification = (\n values: FormikValues,\n reset: () => void\n ): void => {\n Auth.verifyCurrentUserAttributeSubmit('email', values.verificationCode)\n .then(() => {\n openSnackbar(EMAIL_VERIFIED, 'success')\n setVerifyEmail(false)\n updateUser({\n ...user,\n emailVerified: true,\n } as User)\n reset()\n })\n .catch((err) => {\n openSnackbarError(err)\n })\n }\n\n return (\n <>\n \n {CHANGE_EMAIL}\n \n {\n if (verifyEmail) {\n handleVerification(values, resetForm)\n } else handleUpdate(values)\n }}\n >\n {({ submitForm, isValid }): JSX.Element => (\n <>\n
\n \n {verifyEmail && (\n \n )}\n \n \n \n {verifyEmail ? VERIFY_EMAIL : CHANGE_EMAIL}\n \n \n \n )}\n \n \n )\n}\n\nexport default ChangeEmail\n","import React, { useContext } from 'react'\nimport { Box, TextFieldProps, Typography } from '@material-ui/core'\nimport { Translations } from '@aws-amplify/ui-components'\nimport { Formik, Form, FormikValues } from 'formik'\nimport { Auth } from 'aws-amplify'\nimport Yup from '../../utils/lang/ValidationTranslation'\nimport AmplifyTranslations from '../../utils/lang/AmplifyTranslations'\nimport { useAuthenticatedUser } from '../../hooks/AuthHooks'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\nimport { SnackbarContext } from '../../context/Snackbar'\nimport FormikTextField from '../Input/FormikTextField'\nimport CustomButton from '../Button/CustomButton'\n\nconst PASSWORD_REGEX = /^(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])\\S{8,99}$/\nconst {\n PASSWORD_MIN_LENGTH,\n PASSWORD_NO_MATCH,\n PASSWORD_SCHEMA_INVALID,\n PASSWORD_SAVED,\n REPEAT_PASSWORD_LABEL,\n REPEAT_PASSWORD_PLACEHOLDER,\n} = CustomTranslations\n\nconst validationSchema = Yup.object().shape({\n oldPwd: Yup.string().required(),\n newPwd: Yup.string()\n .required()\n .min(8, PASSWORD_MIN_LENGTH)\n .matches(PASSWORD_REGEX, PASSWORD_SCHEMA_INVALID),\n confirmPwd: Yup.string()\n .required()\n .oneOf([Yup.ref('newPwd'), null], PASSWORD_NO_MATCH),\n})\n\nconst ChangePassword = (): JSX.Element => {\n const user = useAuthenticatedUser()\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const renderPasswordField = (props: TextFieldProps): JSX.Element => {\n return (\n \n )\n }\n\n const handleUpdate = (values: FormikValues, reset: () => void): void => {\n Auth.changePassword(user, values.oldPwd, values.newPwd)\n .then(() => {\n openSnackbar(PASSWORD_SAVED, 'success')\n reset()\n })\n .catch((err) => openSnackbarError(err))\n }\n\n return (\n <>\n \n {AmplifyTranslations[Translations.CHANGE_PASSWORD]}\n \n \n handleUpdate(values, resetForm)\n }\n >\n {({ submitForm, isValid }): JSX.Element => (\n <>\n
\n \n {renderPasswordField({\n name: 'oldPwd',\n label: AmplifyTranslations[Translations.PASSWORD_LABEL],\n placeholder:\n AmplifyTranslations[Translations.PASSWORD_PLACEHOLDER],\n autoComplete: 'current-password',\n })}\n {renderPasswordField({\n name: 'newPwd',\n label: AmplifyTranslations[Translations.NEW_PASSWORD_LABEL],\n placeholder:\n AmplifyTranslations[Translations.NEW_PASSWORD_PLACEHOLDER],\n autoComplete: 'new-password',\n })}\n {renderPasswordField({\n name: 'confirmPwd',\n label: REPEAT_PASSWORD_LABEL,\n placeholder: REPEAT_PASSWORD_PLACEHOLDER,\n autoComplete: 'new-password',\n })}\n
\n \n \n {AmplifyTranslations[Translations.CHANGE_PASSWORD]}\n \n \n \n )}\n \n \n )\n}\n\nexport default ChangePassword\n","import { Grid } from '@material-ui/core'\nimport ChangeEmail from '../components/Auth/ChangeEmail'\nimport ChangePassword from '../components/Auth/ChangePwd'\nimport CustomTranslations from '../utils/lang/CustomTranslations'\nimport CustomTitle from '../components/Title/CustomTitle'\n\nconst Profile = (): JSX.Element => {\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default Profile\n","import { Button, ButtonProps } from '@material-ui/core'\nimport ChevronLeftIcon from '@material-ui/icons/ChevronLeft'\nimport { useNavigate } from 'react-router-dom'\n\ntype BackButtonProps = ButtonProps & {\n buttonText: string\n}\n\nconst BackButton = (props: BackButtonProps): JSX.Element => {\n const navigate = useNavigate()\n const { buttonText, ...rest } = props\n return (\n }\n onClick={(): void => navigate(-1)}\n {...rest}\n >\n {buttonText}\n \n )\n}\n\nexport default BackButton\n","import { DASHBOARD, REPORT_DATA, ROOT_PATH } from '../routes/routes'\n\nexport const matchReportDataPath = (pathname: string): boolean =>\n pathname.includes(REPORT_DATA)\n\nexport const matchRootPath = (pathname: string): boolean =>\n pathname === ROOT_PATH || pathname === DASHBOARD\n","import { Auth } from 'aws-amplify'\nimport { Translations } from '@aws-amplify/ui-components'\nimport { Typography, createStyles, makeStyles } from '@material-ui/core'\nimport AmplifyTranslations from '../../utils/lang/AmplifyTranslations'\n\nexport async function handleLogout(): Promise {\n await Auth.signOut({ global: true })\n window.location.replace('/')\n}\n\nconst SignoutButton = (): JSX.Element => {\n const useStyles = makeStyles(() =>\n createStyles({\n text: { width: '100%' },\n })\n )\n const classes = useStyles()\n return (\n \n {AmplifyTranslations[Translations.SIGN_OUT]}\n \n )\n}\n\nexport default SignoutButton\n","import React, { useContext, useEffect, useRef, useState } from 'react'\nimport Avatar from '@material-ui/core/Avatar'\nimport { createStyles, makeStyles, Theme } from '@material-ui/core/styles'\nimport {\n Box,\n Button,\n ClickAwayListener,\n Grow,\n MenuItem,\n MenuList,\n Paper,\n Popper,\n} from '@material-ui/core'\nimport { useLocation } from 'react-router-dom'\nimport { fontWhite, primaryPetrol } from '../Theme/CustomColors'\nimport { FAQ, ID_LIST, PROFILE } from '../../routes/routes'\nimport UserContext from '../../context/User'\nimport CustomLink from '../Link/CustomLink'\nimport BackButton from '../Button/BackButton'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\nimport { matchRootPath } from '../../utils/locationPath'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport SignoutButton from '../Auth/SignoutButton'\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n avatar: {\n backgroundColor: primaryPetrol,\n width: '38px',\n height: '38px',\n marginRight: '0.5rem',\n fontSize: '0.9rem',\n color: fontWhite,\n textDecoration: 'none',\n },\n dropdown: {\n boxShadow: '0px 4px 4px 0px #00000040',\n },\n responsive: {\n [theme.breakpoints.down('sm')]: {\n display: 'block',\n },\n },\n })\n)\n\nconst UserAvatar = (props: { isAdmin: boolean }): JSX.Element => {\n const { isAdmin } = props\n const classes = useStyles()\n const location = useLocation()\n const { user } = useContext(UserContext)\n const isRootPath = matchRootPath(location.pathname)\n const [open, setOpen] = useState(false)\n const anchorRef = useRef(null)\n const { profile, reportingList, faq } = CustomTexts.menu\n\n const handleToggle = (): void => {\n setOpen((prevOpen) => !prevOpen)\n }\n\n const handleClose = (event: React.MouseEvent): void => {\n if (\n anchorRef.current &&\n anchorRef.current.contains(event.target as HTMLElement)\n ) {\n return\n }\n setOpen(false)\n }\n\n const prevOpen = useRef(open)\n useEffect(() => {\n if (anchorRef.current && prevOpen.current === true && open === false) {\n anchorRef.current.focus()\n }\n prevOpen.current = open\n }, [open])\n\n return (\n \n {!isRootPath ? (\n \n ) : (\n \n )}\n \n {user && user.email && (\n \n \n {user?.email.charAt(0).toUpperCase()}\n \n {user?.email}\n \n )}\n \n \n {({ TransitionProps, placement }) => (\n \n \n \n \n \n {profile}\n \n {!isAdmin && (\n \n {reportingList}\n \n )}\n {!isAdmin && (\n \n {faq}\n \n )}\n \n \n \n \n \n \n \n )}\n \n \n )\n}\n\nexport default UserAvatar\n","import { Box, Hidden, Link, Typography } from '@material-ui/core'\nimport { makeStyles } from '@material-ui/core/styles'\nimport { useLocation } from 'react-router-dom'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport { sidebarBg } from '../Theme/CustomColors'\nimport { matchReportDataPath } from '../../utils/locationPath'\nimport obelisLogo from '../../assets/images/logos/obelis-commercial.svg'\nimport CustomLink from '../Link/CustomLink'\nimport { DASHBOARD, FAQ } from '../../routes/routes'\n\nconst useStyles = makeStyles({\n sidebar: {\n backgroundColor: sidebarBg,\n },\n title: {\n marginBottom: '1.2rem',\n marginTop: '2.5rem',\n fontSize: 20,\n },\n description: {\n lineHeight: '18px',\n },\n link: {\n fontSize: 14,\n },\n logo: {\n maxWidth: '100%',\n width: '11.25rem',\n },\n})\n\nconst Sidebar = (props: { isAdmin: boolean }): JSX.Element => {\n const { isAdmin } = props\n const classes = useStyles()\n const location = useLocation()\n const matchPath = matchReportDataPath(location.pathname)\n const { sidebar, support, dataProtection, impressum } = CustomTexts\n\n return (\n \n \n \n \n \n \n \n \n {!matchPath && !isAdmin && (\n <>\n \n {sidebar.map((text) => (\n \n \n {text.title}\n \n \n {text.description}\n \n \n ))}\n \n \n \n {`${support.txt} `}\n
\n {support.faqs}\n
\n {support.emailTxt}\n
\n \n {` ${support.email}`}\n \n
\n \n \n {impressum.title}\n \n \n {dataProtection.title}\n \n \n
\n \n )}\n
\n \n
\n )\n}\n\nexport default Sidebar\n","import React, { useContext } from 'react'\nimport { Form, Formik, FormikValues, Field } from 'formik'\nimport { Box, Grid, makeStyles, TextFieldProps } from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useNavigate } from 'react-router-dom'\nimport { TextField } from 'formik-material-ui'\nimport Yup from '../../../utils/lang/ValidationTranslation'\nimport {\n DefaultApi,\n CreateReport,\n ReportReportTypeEnum,\n} from '../../../services'\nimport { SnackbarContext } from '../../../context/Snackbar'\nimport CustomTranslations from '../../../utils/lang/CustomTranslations'\nimport CustomTexts from '../../../utils/lang/CustomTexts'\nimport CustomTooltip from '../../../components/Tooltip/CustomTooltip'\nimport CustomButton from '../../../components/Button/CustomButton'\nimport {\n secondaryBlackBlue,\n inputLightGreenBg,\n} from '../../../components/Theme/CustomColors'\nimport { navigateLocationByType } from '../../../hooks/RouteHooks'\n\nconst useStyles = makeStyles({\n icon: {\n marginLeft: '0.65rem',\n marginTop: '0.35rem',\n },\n\n button: {\n marginBottom: '1rem',\n float: 'right',\n marginRight: '2rem',\n },\n\n inputForm: {\n maxWidth: '400px',\n\n '& .MuiInputLabel-filled': {\n color: secondaryBlackBlue,\n fontSize: '1rem',\n },\n\n '& .MuiFilledInput-root': {\n backgroundColor: inputLightGreenBg,\n border: '0.1rem solid white',\n borderRadius: 0,\n },\n\n '& .MuiFilledInput-underline:before': {\n border: 'none',\n },\n },\n})\n\nconst Input = (props: TextFieldProps): JSX.Element => {\n const classes = useStyles()\n\n return (\n \n )\n}\n\nconst {\n KFW_ERROR,\n POSTCODE_ERROR,\n CREATE_REPORT_SUCCESS,\n KFW_REFERENCE_ID_FUNDING,\n SEND_REPORT,\n} = CustomTranslations\n\nconst validationSchema = Yup.object().shape({\n kfwReferenceId: Yup.string()\n .required()\n .test('len', KFW_ERROR, (val) => (val?.length || 0) <= 15),\n reporterPostalCode: Yup.string()\n .required()\n .test('len', POSTCODE_ERROR, (val) => (val?.length || 0) === 5),\n})\n\nconst CreateReportForm = (): JSX.Element => {\n const navigate = useNavigate()\n const defaultApi = new DefaultApi()\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const classes = useStyles()\n const { tooltipPostcode, postcodeLabel, tooltipReferenceId } =\n CustomTexts.newReport\n\n const handleCreate = (\n values: FormikValues,\n setSubmitting: (isSubmitting: boolean) => void\n ): void => {\n defaultApi\n .reportPut({\n kfwReferenceId: values.kfwReferenceId,\n reporterPostalCode: values.reporterPostalCode,\n } as CreateReport)\n .then((res) => {\n openSnackbar(CREATE_REPORT_SUCCESS, 'success')\n navigateLocationByType(\n navigate,\n res.data.reportType === ReportReportTypeEnum.Company,\n `${res.data.id}`,\n `${(res.data.locations ?? [])[0].id}`\n )\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n .finally(() => setSubmitting(false))\n }\n\n return (\n \n handleCreate(values, setSubmitting)\n }\n >\n {({ values, submitForm, isValid, isSubmitting }): JSX.Element => (\n
\n \n \n \n \n \n \n \n \n \n \n \n }\n />\n \n \n \n \n {SEND_REPORT}\n \n \n \n
\n )}\n \n )\n}\n\nexport default CreateReportForm\n","import { makeStyles, Box, Typography } from '@material-ui/core'\nimport { secondaryBlackBlue, secondaryPaleOrange } from '../Theme/CustomColors'\n\ninterface ChecklistProps {\n list: Array\n title: string\n}\n\nconst useStyles = makeStyles({\n listWrapper: {\n backgroundColor: secondaryPaleOrange,\n color: secondaryBlackBlue,\n },\n list: {\n paddingLeft: '1rem',\n marginTop: '1.5rem',\n lineHeight: '25px',\n },\n})\n\nconst CheckList = ({ list, title }: ChecklistProps): JSX.Element => {\n const classes = useStyles()\n return (\n \n \n {title}\n \n
    \n {list.map((item) => (\n
  • {item}
  • \n ))}\n
\n
\n )\n}\n\nexport default CheckList\n","import { Box, Grid, makeStyles, Typography } from '@material-ui/core'\nimport CreateReportForm from './Form/CreateReportForm'\nimport CheckList from '../../components/List/CheckList'\nimport {\n primaryPetrolSoft,\n fontWhite,\n} from '../../components/Theme/CustomColors'\nimport CustomTexts from '../../utils/lang/CustomTexts'\n\nconst useStyles = makeStyles({\n wrapper: {\n backgroundColor: primaryPetrolSoft,\n color: fontWhite,\n },\n\n heading: {\n marginBottom: '1.2rem',\n overflowWrap: 'break-word',\n },\n})\n\nconst CreateReport = (): JSX.Element => {\n const classes = useStyles()\n const { newReport, checklist } = CustomTexts\n return (\n \n \n \n \n \n \n \n \n {newReport.title}\n \n \n {newReport.description}\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n )\n}\n\nexport default CreateReport\n","import { Box, Grid, makeStyles, Theme, Typography } from '@material-ui/core'\nimport { useNavigate, useParams } from 'react-router-dom'\nimport ColoredCard from '../../../components/Card/ColoredCard'\nimport {\n lightGrey,\n primaryPetrolSoft,\n primaryPetroWhite,\n} from '../../../components/Theme/CustomColors'\nimport CustomTexts from '../../../utils/lang/CustomTexts'\nimport CustomButton from '../../../components/Button/CustomButton'\nimport {\n CHARGED_ENGERY,\n REPORT,\n UPLOAD_CHARGING_DATA,\n} from '../../../routes/routes'\n\nconst inputCardTranslation = CustomTexts.locationDetail.inputCard\nconst uploadCardTranslation = CustomTexts.locationDetail.uploadCard\n\ninterface LocationActionProps {\n isCompleted: boolean\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n actionButton: {\n position: 'absolute',\n bottom: '1rem',\n maxWidth: 'calc(100% - 4rem)',\n },\n actionTitle: {\n minHeight: '56px',\n marginBottom: '1rem',\n },\n boxHeight: {\n minHeight: '240px',\n [theme.breakpoints.up('md')]: {\n height: '100%',\n },\n },\n title: {\n marginBottom: '1.2rem',\n },\n overlay: {\n position: 'absolute',\n height: '100%',\n width: '100%',\n zIndex: 3,\n },\n}))\n\nconst LocationActions = (props: LocationActionProps): JSX.Element => {\n const { isCompleted } = props\n\n const navigate = useNavigate()\n const classes = useStyles()\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n\n const renderIncompleteCard = (desc: string): JSX.Element => {\n return (\n \n \n {desc}\n \n \n )\n }\n\n const renderCompleteBox = (\n title: string,\n desc: string,\n isUpload?: boolean\n ): JSX.Element => {\n return (\n \n \n {title}\n \n \n {desc}\n \n \n isUpload\n ? navigate(\n `${REPORT}/${reportId}/investitionsstandort/${locationId}/${UPLOAD_CHARGING_DATA}`\n )\n : navigate(\n `${REPORT}/${reportId}/investitionsstandort/${locationId}/${CHARGED_ENGERY}`\n )\n }\n className={classes.actionButton}\n >\n {CustomTexts.locationDetail.startDataEntry}\n \n \n )\n }\n\n const renderActions = (\n title: string,\n descActive: string,\n descDisabled: string,\n isUpload?: boolean\n ): JSX.Element => {\n const backgroundcolor = isCompleted ? primaryPetrolSoft : primaryPetroWhite\n\n return (\n \n \n \n {isCompleted\n ? renderCompleteBox(title, descActive, isUpload)\n : renderIncompleteCard(descDisabled)}\n \n \n \n )\n }\n\n return (\n <>\n {renderActions(\n inputCardTranslation.title,\n inputCardTranslation.description,\n inputCardTranslation.disabled\n )}\n {renderActions(\n uploadCardTranslation.title,\n uploadCardTranslation.description,\n uploadCardTranslation.disabled,\n true\n )}\n \n )\n}\n\nexport default LocationActions\n","export default __webpack_public_path__ + \"static/media/CopyLink.f54864db.svg\";","import React, { useContext } from 'react'\nimport { Box, createStyles, makeStyles, Typography } from '@material-ui/core'\nimport CustomButton from '../../components/Button/CustomButton'\nimport ColoredCard from '../../components/Card/ColoredCard'\nimport {\n lightGrey,\n secondarySensitiveGreen,\n} from '../../components/Theme/CustomColors'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\nimport CopyLinkIcon from '../../assets/images/icons/CopyLink.svg'\nimport { SnackbarContext } from '../../context/Snackbar'\nimport { ReportReportTypeEnum } from '../../services/models/report'\n\ninterface ReportingIdProps {\n reportingId: string | undefined\n type: ReportReportTypeEnum\n}\n\nconst useStyles = makeStyles(() =>\n createStyles({\n icon: {\n width: '25px',\n height: '20px',\n },\n })\n)\n\nconst ReportingIdCard = (props: ReportingIdProps): JSX.Element => {\n const { reportingId, type } = props\n const { openSnackbar } = useContext(SnackbarContext)\n const classes = useStyles()\n const { missingReportingId, missingReportingIdCommune, copyReportingId } =\n CustomTexts.locationDetail\n const { COPY_REPORTINGID_SUCCESS, COPY_REPORTINGID_ERROR } =\n CustomTranslations\n\n const copyToClipboard = (): void => {\n if (reportingId)\n navigator.clipboard\n .writeText(reportingId)\n .then(() => openSnackbar(COPY_REPORTINGID_SUCCESS, 'success'))\n .catch(() => openSnackbar(COPY_REPORTINGID_ERROR, 'error'))\n }\n\n return (\n \n {!reportingId ? (\n \n \n {type === ReportReportTypeEnum.Commune\n ? missingReportingIdCommune\n : missingReportingId}\n \n \n ) : (\n \n \n Reporting-ID\n \n \n \n {reportingId}\n \n \n }\n onClick={copyToClipboard}\n fullWidth\n >\n {copyReportingId}\n \n \n \n )}\n \n )\n}\n\nexport default ReportingIdCard\n","import React, { useContext, useState, useEffect } from 'react'\nimport {\n Box,\n createStyles,\n Grid,\n makeStyles,\n Theme,\n Typography,\n} from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useNavigate, useParams } from 'react-router-dom'\nimport ColoredCard from '../../../components/Card/ColoredCard'\nimport LoadingAnimation from '../../../components/Loader/LoadingAnimation'\nimport {\n primaryPetrolSoft,\n secondarySensitiveGreen,\n} from '../../../components/Theme/CustomColors'\nimport { SnackbarContext } from '../../../context/Snackbar'\nimport { REPORT, REPORT_DATA } from '../../../routes/routes'\nimport {\n DefaultApi,\n ReportLocations,\n ReportLocationsStateEnum,\n ReportReportTypeEnum,\n} from '../../../services'\nimport CustomTranslations from '../../../utils/lang/CustomTranslations'\nimport LocationActions from './LocationActions'\nimport CustomButton from '../../../components/Button/CustomButton'\nimport ReportingIdCard from '../ReportingIdCard'\nimport { reportTitleLabel, stateButtonLabel } from '../../../utils/labelHelper'\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n responsive: {\n [theme.breakpoints.down('sm')]: {\n display: 'block',\n '& > button': {\n marginTop: '1rem',\n },\n },\n },\n })\n)\n\nconst LocationDetail = (): JSX.Element => {\n const defaultApi = new DefaultApi()\n const navigate = useNavigate()\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const { openSnackbarError } = useContext(SnackbarContext)\n const [location, setLocation] = useState()\n const [report, setReport] = useState<{\n kfwReportId: string | undefined\n reportType: ReportReportTypeEnum | undefined\n isStale: boolean | undefined\n }>()\n const [loading, setLoading] = useState(false)\n const classes = useStyles()\n\n useEffect(() => {\n setLoading(true)\n if (reportId)\n defaultApi\n .reportReportIdGet(reportId)\n .then((res) => {\n const {\n locations,\n kfwReportId,\n reportType,\n showNotification: isStale,\n } = res.data\n const currLocation = locations?.find(\n (item: ReportLocations) => item.id?.toString() === locationId\n )\n setReport({ kfwReportId, reportType, isStale })\n setLocation(currLocation)\n setLoading(false)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n setLoading(false)\n })\n }, [])\n\n if (loading)\n return (\n \n \n \n \n \n \n \n )\n\n if (location) {\n const isCompleted = location.state === ReportLocationsStateEnum.Complete\n return (\n \n \n \n \n \n \n \n {reportTitleLabel(\n location.state as ReportLocationsStateEnum\n )}\n \n \n \n \n {location.address?.street}\n
\n {location.address?.postalCode}\n
\n {location.address?.city}\n
\n {\n navigate(\n `${REPORT}/${reportId}/investitionsstandort/${locationId}/${REPORT_DATA}`\n )\n }}\n >\n {stateButtonLabel(\n location.state as ReportLocationsStateEnum\n )}\n \n
\n \n
\n \n \n {report && report.reportType === ReportReportTypeEnum.Company && (\n \n )}\n \n \n \n \n )\n }\n return (\n {CustomTranslations.INVESTMENT_LOCATION_NOT_FOUND}\n )\n}\n\nexport default LocationDetail\n","import React, { useState, useContext, useEffect } from 'react'\nimport { Box, Grid } from '@material-ui/core'\nimport { useParams } from 'react-router-dom'\nimport { AxiosError } from 'axios'\nimport CustomTitle from '../../../components/Title/CustomTitle'\nimport CustomTranslations from '../../../utils/lang/CustomTranslations'\nimport { SnackbarContext } from '../../../context/Snackbar'\nimport { DefaultApi, Report, ReportLocations } from '../../../services'\nimport LoadingAnimation from '../../../components/Loader/LoadingAnimation'\nimport ReportingIdCard from '../ReportingIdCard'\nimport LogoGrid from '../../LogoGrid'\nimport { useLogoGridStyles } from '../../Dashboard/Dashboard'\nimport ReportCard from '../../Dashboard/ReportCard'\n\nconst LocationList = (): JSX.Element => {\n const defaultApi = new DefaultApi()\n const { reportId } = useParams<{ reportId: string }>()\n const { openSnackbarError } = useContext(SnackbarContext)\n const [loading, setLoading] = useState(false)\n const [locations, setLocations] = useState([])\n const [report, setReport] = useState()\n const classes = useLogoGridStyles()\n\n useEffect(() => {\n setLoading(true)\n if (reportId)\n defaultApi\n .reportReportIdGet(reportId)\n .then((res) => {\n setLocations(res.data.locations)\n setReport(res.data)\n setLoading(false)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n setLoading(false)\n })\n }, [])\n\n return (\n \n \n \n \n \n \n {loading ? (\n \n ) : (\n \n {report &&\n locations?.map((location: ReportLocations) => (\n \n \n \n ))}\n \n )}\n \n \n {report && report.reportType && (\n \n )}\n \n \n \n \n )\n}\n\nexport default LocationList\n","import { createContext, Dispatch, SetStateAction } from 'react'\n\ntype StepperContextType = {\n activeStep: number\n setActiveStep: Dispatch>\n}\n\nconst StepperContext = createContext({\n activeStep: 0,\n setActiveStep: (): void => {},\n})\n\nexport default StepperContext\n","import React, { useContext } from 'react'\nimport { ButtonProps, makeStyles, Theme } from '@material-ui/core'\nimport StepperContext from '../../context/Stepper'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport CustomButton from './CustomButton'\n\ntype NextButtonStepperProps = ButtonProps & {\n submitForm?: () => void\n}\n\nconst useStyles = makeStyles((theme: Theme) => ({\n button: {\n float: 'none',\n marginTop: '1rem',\n [theme.breakpoints.up(428)]: {\n marginBottom: '1rem',\n marginTop: 0,\n float: 'right',\n },\n },\n}))\n\nconst NextButtonStepper = (props: NextButtonStepperProps): JSX.Element => {\n const { submitForm, ...rest } = props\n const { activeStep, setActiveStep } = useContext(StepperContext)\n const classes = useStyles()\n const titles = CustomTexts.stepper\n\n const getStepButtonText = (step: number): string => {\n switch (step) {\n case 0:\n return titles.nextBtnTitles[0]\n case 1:\n return titles.nextBtnTitles[1]\n case 2:\n return titles.nextBtnTitles[2]\n case 3:\n return titles.nextBtnTitles[3]\n default:\n return titles.nextBtnDefaultTitle\n }\n }\n\n const handleNext = (): void => {\n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n if (submitForm) submitForm()\n }\n\n return (\n \n {getStepButtonText(activeStep)}\n \n )\n}\n\nexport default NextButtonStepper\n","import {\n createStyles,\n FormControl,\n FormControlLabel,\n FormLabel,\n makeStyles,\n Radio,\n RadioGroupProps,\n} from '@material-ui/core'\nimport { Field } from 'formik'\nimport { RadioGroup } from 'formik-material-ui'\nimport { AccordionDetailsTitle } from '../Accordion/CustomAccordion'\nimport { secondaryBlackBlue } from '../Theme/CustomColors'\nimport { renderFormTooltip } from '../Tooltip/CustomTooltip'\n\ntype RadioProps = RadioGroupProps & {\n options: { title: string; value: boolean | string }[]\n error: boolean | undefined\n name: string\n formLabel: string\n tooltip?: string\n}\n\nexport const booleanRadioType = [\n { title: 'Ja', value: 'true' },\n { title: 'Nein', value: 'false' },\n]\n\nconst useStyles = makeStyles((theme) =>\n createStyles({\n formLabel: {\n color: 'inherit',\n },\n formControl: {\n '& .MuiFormLabel-root.Mui-focused, & .MuiFormLabel-root.Mui-error': {\n color: secondaryBlackBlue,\n },\n '&.Mui-error, &.Mui-error .MuiRadio-root': {\n color: theme.palette.error.main,\n },\n },\n radioGroup: {\n width: '218px',\n marginRight: '1rem',\n [theme.breakpoints.down('xs')]: {\n marginBottom: '1rem',\n },\n },\n radioGroupRow: {\n flexWrap: 'nowrap',\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n },\n },\n })\n)\n\nconst FormikRadioGroup = (props: RadioProps): JSX.Element => {\n const { options, name, formLabel, tooltip, error, ...rest } = props\n const classes = useStyles()\n return (\n <>\n {renderFormTooltip(tooltip, '0')}\n \n \n \n \n\n \n {options.map((option: { title: string; value: boolean | string }) => (\n }\n label={option.title}\n className={classes.radioGroup}\n />\n ))}\n \n \n \n )\n}\n\nexport default FormikRadioGroup\n","import React, { ChangeEvent, useState } from 'react'\nimport {\n Checkbox,\n createStyles,\n FormControl,\n FormHelperText,\n InputLabel,\n ListItemText,\n makeStyles,\n MenuItem,\n Select,\n SelectProps,\n} from '@material-ui/core'\nimport { Field } from 'formik'\nimport { primaryWhite } from '../Theme/CustomColors'\n\ntype FormikMultiSelectProps = SelectProps & {\n options: { title: string; value: string }[]\n defaultValue: string[]\n setFieldValue: (\n field: string,\n value: unknown,\n shouldValidate?: boolean | undefined\n ) => void\n label: string\n name: string\n errorMsg?: string\n}\n\nconst useStyles = makeStyles(() =>\n createStyles({\n formControl: {\n maxWidth: 550,\n width: '100%',\n '& .MuiFilledInput-root, & .MuiSelect-select:focus': {\n backgroundColor: primaryWhite,\n },\n '& .MuiFormHelperText-root .MuiFormHelperText-contained .Mui-focused': {\n backgroundColor: 'transparent',\n },\n },\n })\n)\n\nconst ITEM_HEIGHT = 48\nconst ITEM_PADDING_TOP = 8\nconst MenuProps = {\n PaperProps: {\n style: {\n maxHeight: ITEM_HEIGHT * 4.5 + ITEM_PADDING_TOP,\n width: 550,\n },\n },\n getContentAnchorEl: () => null,\n}\n\nconst FormikMultiSelect = (props: FormikMultiSelectProps): JSX.Element => {\n const {\n options,\n label,\n name,\n defaultValue,\n setFieldValue,\n error,\n errorMsg,\n ...rest\n } = props\n const [value, setValue] = useState(defaultValue)\n const classes = useStyles()\n\n const handleChange = (event: ChangeEvent<{ value: unknown }>): void => {\n setValue(event.target.value as string[])\n setFieldValue(name, event.target.value)\n }\n\n return (\n \n {label}\n \n {options.map((option) => (\n \n -1} />\n \n \n ))}\n \n {errorMsg}\n \n )\n}\n\nexport default FormikMultiSelect\n","import React, { ReactNode, useContext } from 'react'\nimport { Form, Formik, FormikValues } from 'formik'\nimport { Box, Divider } from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useParams } from 'react-router-dom'\nimport Yup from '../../../utils/lang/ValidationTranslation'\nimport {\n DefaultApi,\n LocationUsage,\n LocationUsageCommercialUseEnum,\n LocationUsageMotivationTypeEnum,\n LocationUsageReportTypeEnum,\n} from '../../../services'\nimport { SnackbarContext } from '../../../context/Snackbar'\nimport CustomTranslations from '../../../utils/lang/CustomTranslations'\nimport NextButtonStepper from '../../../components/Button/NextButtonStepper'\nimport StepperContext from '../../../context/Stepper'\nimport CustomAccordion, {\n AccordionDetailsTitle,\n} from '../../../components/Accordion/CustomAccordion'\nimport FormikRadioGroup, {\n booleanRadioType,\n} from '../../../components/Input/FormikRadioGroup'\nimport CustomTexts from '../../../utils/lang/CustomTexts'\nimport {\n usageCommercialUseLabel,\n usageMotivationTypeLabel,\n} from '../../../utils/labelHelper'\nimport FormikMultiSelect from '../../../components/Input/FormikMultiSelect'\n\ninterface UsageProps {\n usage: LocationUsage\n}\n\nconst UsageForm = (props: UsageProps): JSX.Element => {\n const { usage } = props\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const defaultApi = new DefaultApi()\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const { setActiveStep } = useContext(StepperContext)\n const { motivationTitle, motivationType, acquireVehicles, commercialUse } =\n CustomTexts.form.motivation\n const isCommune = usage.reportType === LocationUsageReportTypeEnum.Commune\n const { REQUIRED_MULTISELECT, SAVE_SUCCESS } = CustomTranslations\n\n const validationSchemaCommune = {\n motivationType: Yup.array().min(1, REQUIRED_MULTISELECT).required(),\n acquireVehicles: Yup.string().oneOf(['true', 'false']).required(),\n }\n\n const validationSchemaDefault = {\n commercialUse: Yup.string().required(),\n ...validationSchemaCommune,\n }\n\n const handleSubmit = (values: FormikValues): void => {\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdUsagePut(locationId, reportId, {\n ...values,\n acquireVehicles: values.acquireVehicles === 'true',\n commercialUse: values.commercialUse ?? undefined,\n })\n .then(() => {\n openSnackbar(SAVE_SUCCESS, 'success')\n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n }\n\n return (\n handleSubmit(values)}\n >\n {({\n submitForm,\n dirty,\n setFieldValue,\n errors,\n validateForm,\n touched,\n isSubmitting,\n }): JSX.Element => (\n
\n \n \n \n {\n const cast = selected as string[]\n return cast\n .map((item: string) =>\n usageMotivationTypeLabel(\n item as LocationUsageMotivationTypeEnum\n )\n )\n .join(', ')\n }}\n setFieldValue={setFieldValue}\n options={Object.values(LocationUsageMotivationTypeEnum).map(\n (type) => {\n return {\n title: usageMotivationTypeLabel(type),\n value: type,\n }\n }\n )}\n />\n \n \n \n {!isCommune && (\n \n {\n return {\n title: usageCommercialUseLabel(type),\n value: type,\n }\n }\n )}\n />\n \n )}\n \n {\n validateForm().then((res) => {\n if (Object.keys(res).length > 0) {\n openSnackbar(CustomTranslations.INVALID_FIELDS, 'error')\n }\n if (Object.keys(res).length === 0 && !dirty)\n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n else submitForm()\n })\n }}\n />\n \n )}\n \n )\n}\n\nexport default UsageForm\n","import React, { useContext, useEffect, useState } from 'react'\nimport { Box, Grid, Typography } from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useParams } from 'react-router-dom'\nimport CustomTitle from '../../../../components/Title/CustomTitle'\nimport CustomTexts from '../../../../utils/lang/CustomTexts'\nimport UsageForm from '../../Form/UsageForm'\nimport { DefaultApi } from '../../../../services/api/default-api'\nimport { SnackbarContext } from '../../../../context/Snackbar'\nimport { LocationUsage } from '../../../../services/models/location-usage'\nimport LoadingAnimation from '../../../../components/Loader/LoadingAnimation'\n\nconst Usage = (): JSX.Element => {\n const defaultApi = new DefaultApi()\n const { openSnackbarError } = useContext(SnackbarContext)\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const [loading, setLoading] = useState(false)\n const [usage, setUsage] = useState({})\n\n useEffect(() => {\n setLoading(true)\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdUsageGet(locationId, reportId)\n .then((res) => {\n setUsage(res.data)\n setLoading(false)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n setLoading(false)\n })\n }, [])\n\n return (\n \n \n \n \n {loading ? (\n \n ) : (\n <>\n \n \n {CustomTexts.form.allFieldsRequired}\n \n \n \n \n )}\n \n \n \n )\n}\n\nexport default Usage\n","import React, { useContext } from 'react'\nimport { ButtonProps } from '@material-ui/core'\nimport StepperContext from '../../context/Stepper'\nimport CustomTexts from '../../utils/lang/CustomTexts'\nimport CustomButton from './CustomButton'\nimport { primaryPetrolSoft, secondaryBlackBlue } from '../Theme/CustomColors'\n\ntype BackButtonStepperProps = ButtonProps\n\nconst BackButtonStepper = (props: BackButtonStepperProps): JSX.Element => {\n const { ...rest } = props\n const { activeStep, setActiveStep } = useContext(StepperContext)\n const titles = CustomTexts.stepper\n\n const getStepButtonText = (step: number): string => {\n switch (step) {\n case 0:\n return titles.backBtnTitles[0]\n case 1:\n return titles.backBtnTitles[1]\n case 2:\n return titles.backBtnTitles[2]\n case 3:\n return titles.backBtnTitles[3]\n default:\n return titles.backBtnDefaultTitle\n }\n }\n\n const handleBack = (): void => {\n setActiveStep((prevActiveStep) => prevActiveStep - 1)\n }\n\n return (\n \n {getStepButtonText(activeStep)}\n \n )\n}\n\nexport default BackButtonStepper\n","import { CheckboxWithLabel } from 'formik-material-ui'\nimport { Field } from 'formik'\nimport { CheckboxProps } from '@material-ui/core'\n\nconst FormikCheckbox = (\n props: CheckboxProps & { name: string; label: string }\n): JSX.Element => {\n const { name, label, ...rest } = props\n\n return (\n \n )\n}\n\nexport default FormikCheckbox\n","import { TextField } from 'formik-material-ui'\nimport { Field } from 'formik'\nimport { TextFieldProps } from '@material-ui/core/TextField'\nimport { AccordionDetailsTitle } from '../Accordion/CustomAccordion'\nimport { useStylesFilter } from './FormikTextField'\n\nexport interface StylesProps {\n color: string\n maxwidth: string\n}\n\nconst FormikNumberField = (\n props: TextFieldProps & {\n title?: string\n tooltip?: string\n }\n): JSX.Element => {\n const { title, tooltip, ...rest } = props\n const styleProps: StylesProps = {\n color: 'white',\n maxwidth: '180px',\n }\n const classes = useStylesFilter(styleProps)\n\n return (\n <>\n {title && (\n \n )}\n ) =>\n ['e', 'E', '+', '-', '.', ','].includes(evt.key) &&\n evt.preventDefault()\n }\n {...rest}\n />\n \n )\n}\n\nexport default FormikNumberField\n","import { ReactNode, useContext } from 'react'\nimport { Form, Formik, FormikValues } from 'formik'\nimport {\n Box,\n createStyles,\n Divider,\n makeStyles,\n Theme,\n} from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useParams } from 'react-router-dom'\nimport Yup from '../../../utils/lang/ValidationTranslation'\nimport {\n DefaultApi,\n Site,\n SiteChargingLocationsEnum,\n SiteExistingVehiclesEnum,\n SiteRegisteredAtNetOperatorEnum,\n SiteSupplyCostsStateEnum,\n SiteVehicleTypeEnum,\n} from '../../../services'\nimport { SnackbarContext } from '../../../context/Snackbar'\nimport CustomTranslations from '../../../utils/lang/CustomTranslations'\nimport BackButtonStepper from '../../../components/Button/BackButtonStepper'\nimport NextButtonStepper from '../../../components/Button/NextButtonStepper'\nimport StepperContext from '../../../context/Stepper'\nimport CustomAccordion, {\n AccordionDetailsTitle,\n} from '../../../components/Accordion/CustomAccordion'\nimport FormikRadioGroup, {\n booleanRadioType,\n} from '../../../components/Input/FormikRadioGroup'\nimport {\n chargingLocationsLabel,\n existingVehiclesLabel,\n networkOperatorRegisteredLabel,\n supplyCostsStateLabel,\n vehicleTypeLabel,\n} from '../../../utils/labelHelper'\nimport CustomTexts from '../../../utils/lang/CustomTexts'\nimport FormikMultiSelect from '../../../components/Input/FormikMultiSelect'\nimport FormikCheckbox from '../../../components/Input/FormikCheckbox'\nimport FormikNumberField from '../../../components/Input/FormikNumberField'\n\ninterface SiteProps {\n site: Site\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n wrapper: {\n [theme.breakpoints.down('xs')]: {\n display: 'block',\n },\n },\n })\n)\n\nconst {\n REQUIRED_MULTISELECT,\n AMOUNT_LABEL,\n COSTS_LABEL,\n SAVE_SUCCESS,\n LOCATIONS_LABEL,\n} = CustomTranslations\n\nconst SiteForm = (props: SiteProps): JSX.Element => {\n const { site } = props\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const defaultApi = new DefaultApi()\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const { setActiveStep } = useContext(StepperContext)\n const {\n existingVehicles: existingVehiclesText,\n electricVehiclesTitle,\n employeeVehicles: employeeVehiclesText,\n locationRelatedVehicles,\n vehicleType,\n totalCompanyVehicles,\n totalCompanyVehiclesTitle,\n fullElectricCompanyVehicles,\n fullElectricUnknown: fullElectricUnknownText,\n chargingLocations,\n networkOperatorTitle,\n registeredAtNetOperator,\n suppliesPerChargingStation,\n supplyCostsPerLocation,\n } = CustomTexts.form.site\n\n const existingVehiclesBoolValid = Yup.boolean().when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.boolean().required(),\n otherwise: Yup.boolean().notRequired().nullable(),\n })\n\n const validationSchema = Yup.object().shape({\n existingVehicles: Yup.string()\n .oneOf(Object.values(SiteExistingVehiclesEnum))\n .required(),\n vehicleType: Yup.string()\n .oneOf(Object.values(SiteVehicleTypeEnum))\n .required(),\n locationRelatedVehicles: Yup.string()\n .oneOf(['true', 'false'])\n .when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.string().oneOf(['true', 'false']).required(),\n otherwise: Yup.string().notRequired().nullable(),\n }),\n chargingLocations: Yup.array().when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.array().min(1, REQUIRED_MULTISELECT).required(),\n otherwise: Yup.array().notRequired().nullable(),\n }),\n totalCompanyVehicles: Yup.number().when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.number().min(0).required(),\n otherwise: Yup.number().notRequired().nullable(),\n }),\n fullElectricUnknown: existingVehiclesBoolValid,\n fullElectricCompanyVehicles: Yup.number().when(\n ['fullElectricUnknown', 'existingVehicles'],\n {\n is: (\n fullElectricUnknown: boolean,\n existingVehicles: SiteExistingVehiclesEnum\n ) => {\n if (fullElectricUnknown) return false\n if (existingVehicles === SiteExistingVehiclesEnum.No) return false\n return true\n },\n then: Yup.number()\n .min(0)\n .max(\n Yup.ref('totalCompanyVehicles'),\n CustomTexts.form.maxFullElectricVehicles\n )\n .required(),\n otherwise: Yup.number().notRequired().nullable(),\n }\n ),\n employeeVehicles: Yup.number().min(0).required(),\n registeredAtNetOperator: Yup.string()\n .oneOf(Object.values(SiteRegisteredAtNetOperatorEnum))\n .required(),\n suppliesPerChargingStation: Yup.number().min(0).required(),\n supplyCostsPerLocation: Yup.number().min(0).required(),\n supplyCostsState: Yup.string()\n .oneOf(Object.values(SiteSupplyCostsStateEnum))\n .required(),\n })\n\n const handleSubmit = (values: FormikValues): void => {\n const isSiteExistingVehicle =\n values.existingVehicles !== SiteExistingVehiclesEnum.No\n\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdSitePut(locationId, reportId, {\n ...values,\n ...(isSiteExistingVehicle\n ? {\n locationRelatedVehicles:\n values.locationRelatedVehicles === 'true',\n fullElectricUnknown: values.fullElectricUnknown,\n chargingLocations: values.chargingLocations ?? [],\n totalCompanyVehicles: values.totalCompanyVehicles,\n ...(values.fullElectricUnknown\n ? {\n fullElectricCompanyVehicles: undefined,\n }\n : {\n fullElectricCompanyVehicles:\n values.fullElectricCompanyVehicles,\n }),\n }\n : {\n fullElectricCompanyVehicles: undefined,\n fullElectricUnknown: undefined,\n totalCompanyVehicles: undefined,\n locationRelatedVehicles: undefined,\n chargingLocations: undefined,\n }),\n })\n .then(() => {\n openSnackbar(SAVE_SUCCESS, 'success')\n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n }\n const classes = useStyles()\n\n return (\n handleSubmit(values)}\n >\n {({\n submitForm,\n dirty,\n setFieldValue,\n errors,\n touched,\n validateForm,\n isSubmitting,\n values,\n }): JSX.Element => (\n
\n \n \n {\n return {\n title: existingVehiclesLabel(type),\n value: type,\n }\n })}\n />\n \n {\n return {\n title: vehicleTypeLabel(type),\n value: type,\n }\n })}\n />\n \n {values.existingVehicles !== SiteExistingVehiclesEnum.No ? (\n <>\n \n \n \n {\n const cast = selected as string[]\n return cast\n .map((item: string) =>\n chargingLocationsLabel(\n item as SiteChargingLocationsEnum\n )\n )\n .join(', ')\n }}\n setFieldValue={setFieldValue}\n options={Object.values(SiteChargingLocationsEnum).map(\n (type) => {\n return {\n title: chargingLocationsLabel(type),\n value: type,\n }\n }\n )}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n ) : (\n <>\n )}\n \n \n \n {\n return {\n title: networkOperatorRegisteredLabel(type),\n value: type,\n }\n }\n )}\n />\n \n \n \n \n
\n {\n return {\n title: supplyCostsStateLabel(type),\n value: type,\n }\n })}\n />\n
\n
\n \n {\n validateForm().then((res) => {\n if (Object.keys(res).length > 0) {\n openSnackbar(CustomTranslations.INVALID_FIELDS, 'error')\n }\n if (Object.keys(res).length === 0 && !dirty)\n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n else submitForm()\n })\n }}\n />\n \n )}\n \n )\n}\n\nexport default SiteForm\n","import { ReactNode, useContext } from 'react'\nimport { Form, Formik, FormikValues } from 'formik'\nimport {\n Box,\n createStyles,\n Divider,\n makeStyles,\n Theme,\n} from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useParams } from 'react-router-dom'\nimport Yup from '../../../utils/lang/ValidationTranslation'\nimport {\n DefaultApi,\n Site,\n SiteChargingLocationsEnum,\n SiteExistingVehiclesEnum,\n SiteRegisteredAtNetOperatorEnum,\n SiteSupplyCostsStateEnum,\n SiteVehicleTypeEnum,\n} from '../../../services'\nimport { SnackbarContext } from '../../../context/Snackbar'\nimport CustomTranslations from '../../../utils/lang/CustomTranslations'\nimport BackButtonStepper from '../../../components/Button/BackButtonStepper'\nimport NextButtonStepper from '../../../components/Button/NextButtonStepper'\nimport StepperContext from '../../../context/Stepper'\nimport CustomAccordion, {\n AccordionDetailsTitle,\n} from '../../../components/Accordion/CustomAccordion'\nimport FormikRadioGroup, {\n booleanRadioType,\n} from '../../../components/Input/FormikRadioGroup'\nimport {\n chargingLocationsLabel,\n existingVehiclesLabel,\n networkOperatorRegisteredLabel,\n supplyCostsStateLabel,\n vehicleTypeLabel,\n} from '../../../utils/labelHelper'\nimport CustomTexts from '../../../utils/lang/CustomTexts'\nimport FormikMultiSelect from '../../../components/Input/FormikMultiSelect'\nimport FormikCheckbox from '../../../components/Input/FormikCheckbox'\nimport FormikNumberField from '../../../components/Input/FormikNumberField'\n\ninterface PtjSiteProps {\n site: Site\n}\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n wrapper: {\n [theme.breakpoints.down('xs')]: {\n display: 'block',\n },\n },\n })\n)\n\nconst {\n REQUIRED_MULTISELECT,\n AMOUNT_LABEL,\n COSTS_LABEL,\n SAVE_SUCCESS,\n LOCATIONS_LABEL,\n} = CustomTranslations\n\nconst PtjSiteForm = (props: PtjSiteProps): JSX.Element => {\n const { site } = props\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const defaultApi = new DefaultApi()\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const { setActiveStep } = useContext(StepperContext)\n const {\n existingVehicles: existingVehiclesText,\n electricVehiclesTitle,\n employeeVehicles: employeeVehiclesText,\n locationRelatedVehicles,\n vehicleType,\n totalCompanyVehicles,\n totalCompanyVehiclesTitle,\n chargingLocations,\n networkOperatorTitle,\n registeredAtNetOperator,\n suppliesPerChargingStation,\n supplyCostsPerLocation,\n thereOfPkw,\n vehiclesN1,\n vehiclesN2,\n vehiclesN3,\n vehiclesNotKnown,\n } = CustomTexts.form.site\n\n const ptjEmployeeVehiclesNotKnownValid = Yup.number()\n .when(['employeeVehiclesNotKnown'], {\n is: (employeeVehiclesNotKnown: boolean) => !employeeVehiclesNotKnown,\n then: Yup.number().min(0).required(),\n otherwise: Yup.number().notRequired().nullable(),\n })\n .test(\n 'totalEmployeeNotGreatherThenAllCompalyVehiclesClass',\n CustomTexts.form.maxtotalCompanyVehicles,\n (val, context) => {\n return (\n (context.parent.employeeVehiclesPkw ?? 0) +\n (context.parent.employeeVehiclesN1 ?? 0) +\n (context.parent.employeeVehiclesN2 ?? 0) +\n (context.parent.employeeVehiclesN3 ?? 0) <=\n (context.parent.employeeVehicles ?? 0)\n )\n }\n )\n\n const ptjFullElectricCompanyNotKnownValid = Yup.number()\n .when(['existingVehicles', 'fullElectricCompanyNotKnown'], {\n is: (\n existingVehicles: SiteExistingVehiclesEnum,\n fullElectricCompanyNotKnown: boolean\n ) =>\n existingVehicles !== SiteExistingVehiclesEnum.No &&\n !fullElectricCompanyNotKnown,\n then: Yup.number().min(0).required(),\n otherwise: Yup.number().notRequired().nullable(),\n })\n .test(\n 'totalCompanyNotGreatherThenAllCompalyVehiclesClass',\n CustomTexts.form.maxtotalCompanyVehicles,\n (val, context) => {\n if (context.parent.existingVehicles !== SiteExistingVehiclesEnum.No) {\n return (\n (context.parent.fullElectricCompanyPkw ?? 0) +\n (context.parent.fullElectricClassCompanyN1 ?? 0) +\n (context.parent.fullElectricClassCompanyN2 ?? 0) +\n (context.parent.fullElectricClassCompanyN3 ?? 0) <=\n (context.parent.totalCompanyVehicles ?? 0)\n )\n }\n return true\n }\n )\n\n const existingVehiclesBoolValid = Yup.boolean().when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.boolean().required(),\n otherwise: Yup.boolean().notRequired().nullable(),\n })\n\n const validationSchema = Yup.object().shape({\n existingVehicles: Yup.string()\n .oneOf(Object.values(SiteExistingVehiclesEnum))\n .required(),\n vehicleType: Yup.string()\n .oneOf(Object.values(SiteVehicleTypeEnum))\n .required(),\n locationRelatedVehicles: Yup.string()\n .oneOf(['true', 'false'])\n .when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.string().oneOf(['true', 'false']).required(),\n otherwise: Yup.string().notRequired().nullable(),\n }),\n chargingLocations: Yup.array().when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.array().min(1, REQUIRED_MULTISELECT).required(),\n otherwise: Yup.array().notRequired().nullable(),\n }),\n totalCompanyVehicles: Yup.number().when('existingVehicles', {\n is: (existingVehicles: SiteExistingVehiclesEnum) =>\n existingVehicles !== SiteExistingVehiclesEnum.No,\n then: Yup.number().min(0).required(),\n otherwise: Yup.number().notRequired().nullable(),\n }),\n employeeVehicles: Yup.number().min(0).required(),\n registeredAtNetOperator: Yup.string()\n .oneOf(Object.values(SiteRegisteredAtNetOperatorEnum))\n .required(),\n suppliesPerChargingStation: Yup.number().min(0).required(),\n supplyCostsPerLocation: Yup.number().min(0).required(),\n supplyCostsState: Yup.string()\n .oneOf(Object.values(SiteSupplyCostsStateEnum))\n .required(),\n fullElectricCompanyPkw: ptjFullElectricCompanyNotKnownValid,\n fullElectricClassCompanyN1: ptjFullElectricCompanyNotKnownValid,\n fullElectricClassCompanyN2: ptjFullElectricCompanyNotKnownValid,\n fullElectricClassCompanyN3: ptjFullElectricCompanyNotKnownValid,\n fullElectricCompanyNotKnown: existingVehiclesBoolValid,\n employeeVehiclesPkw: ptjEmployeeVehiclesNotKnownValid,\n employeeVehiclesN1: ptjEmployeeVehiclesNotKnownValid,\n employeeVehiclesN2: ptjEmployeeVehiclesNotKnownValid,\n employeeVehiclesN3: ptjEmployeeVehiclesNotKnownValid,\n employeeVehiclesNotKnown: existingVehiclesBoolValid,\n })\n\n const handleSubmit = (values: FormikValues): void => {\n const isSiteExistingVehicle =\n values.existingVehicles !== SiteExistingVehiclesEnum.No\n\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdSitePut(locationId, reportId, {\n ...values,\n ...(values.employeeVehiclesNotKnown && {\n employeeVehiclesPkw: undefined,\n employeeVehiclesN1: undefined,\n employeeVehiclesN2: undefined,\n employeeVehiclesN3: undefined,\n }),\n ...(isSiteExistingVehicle\n ? {\n locationRelatedVehicles:\n values.locationRelatedVehicles === 'true',\n chargingLocations: values.chargingLocations ?? [],\n totalCompanyVehicles: values.totalCompanyVehicles,\n fullElectricCompanyNotKnown:\n values.fullElectricCompanyNotKnown ?? undefined,\n ...(values.fullElectricCompanyNotKnown && {\n fullElectricClassCompanyN1: undefined,\n fullElectricClassCompanyN2: undefined,\n fullElectricClassCompanyN3: undefined,\n fullElectricCompanyPkw: undefined,\n }),\n }\n : {\n totalCompanyVehicles: undefined,\n locationRelatedVehicles: undefined,\n chargingLocations: undefined,\n fullElectricClassCompanyN1: undefined,\n fullElectricClassCompanyN2: undefined,\n fullElectricClassCompanyN3: undefined,\n fullElectricCompanyPkw: undefined,\n fullElectricCompanyNotKnown: undefined,\n }),\n })\n .then(() => {\n openSnackbar(SAVE_SUCCESS, 'success')\n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n }\n const classes = useStyles()\n\n return (\n handleSubmit(values)}\n >\n {({\n submitForm,\n dirty,\n setFieldValue,\n errors,\n touched,\n validateForm,\n isSubmitting,\n values,\n }): JSX.Element => (\n
\n \n \n {\n return {\n title: existingVehiclesLabel(type),\n value: type,\n }\n })}\n />\n \n {\n return {\n title: vehicleTypeLabel(type),\n value: type,\n }\n })}\n />\n \n {values.existingVehicles !== SiteExistingVehiclesEnum.No ? (\n <>\n \n \n \n {\n const cast = selected as string[]\n return cast\n .map((item: string) =>\n chargingLocationsLabel(\n item as SiteChargingLocationsEnum\n )\n )\n .join(', ')\n }}\n setFieldValue={setFieldValue}\n options={Object.values(SiteChargingLocationsEnum).map(\n (type) => {\n return {\n title: chargingLocationsLabel(type),\n value: type,\n }\n }\n )}\n />\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n\n \n \n ) : (\n <>\n )}\n \n <>\n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n \n {\n return {\n title: networkOperatorRegisteredLabel(type),\n value: type,\n }\n }\n )}\n />\n \n \n \n \n
\n {\n return {\n title: supplyCostsStateLabel(type),\n value: type,\n }\n })}\n />\n
\n \n \n {\n validateForm().then((res) => {\n if (Object.keys(res).length > 0) {\n openSnackbar(CustomTranslations.INVALID_FIELDS, 'error')\n }\n if (Object.keys(res).length === 0 && !dirty)\n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n else submitForm()\n })\n }}\n />\n \n )}\n \n )\n}\n\nexport default PtjSiteForm\n","import React, { useContext, useEffect, useState } from 'react'\nimport { Box, Grid, Typography } from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useParams } from 'react-router-dom'\nimport CustomTitle from '../../../../components/Title/CustomTitle'\nimport CustomTexts from '../../../../utils/lang/CustomTexts'\nimport SiteForm from '../../Form/SiteForm'\nimport { DefaultApi } from '../../../../services/api/default-api'\nimport LoadingAnimation from '../../../../components/Loader/LoadingAnimation'\nimport { SnackbarContext } from '../../../../context/Snackbar'\nimport { Site as SiteModel, SiteReportTypeEnum } from '../../../../services'\nimport PtjSiteForm from '../../Form/PtjSiteForm'\n\nconst Site = (): JSX.Element => {\n const defaultApi = new DefaultApi()\n const { openSnackbarError } = useContext(SnackbarContext)\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const [loading, setLoading] = useState(false)\n const [site, setSite] = useState({})\n\n useEffect(() => {\n setLoading(true)\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdSiteGet(locationId, reportId)\n .then((res) => {\n setSite(res.data)\n setLoading(false)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n setLoading(false)\n })\n }, [])\n return (\n \n \n \n \n {loading ? (\n \n ) : (\n <>\n \n \n {CustomTexts.form.allFieldsRequired}\n \n \n {site.reportType === SiteReportTypeEnum.Ptj ? (\n \n ) : (\n \n )}\n \n )}\n \n \n )\n}\n\nexport default Site\n","import { KeyboardDatePicker } from 'formik-material-ui-pickers'\nimport { Field } from 'formik'\nimport { useStylesFilter } from './FormikTextField'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\n\nexport interface StylesProps {\n color: string\n}\n\nconst FormikDatepicker = (props: {\n name: string\n label: string\n disableFuture?: boolean\n lightTheme?: boolean\n disabled?: boolean\n minDate?: Date\n error: boolean\n}): JSX.Element => {\n const {\n disableFuture,\n minDate,\n name,\n label,\n lightTheme,\n error,\n disabled = false,\n } = props\n const styleProps: StylesProps = {\n color: lightTheme ? 'white' : 'default',\n }\n const classes = useStylesFilter(styleProps)\n const {\n INVALID_DATE,\n INVALID_MIN_DATE,\n INVALID_MAX_DATE,\n INVALID_DATE_FUTURE,\n } = CustomTranslations\n\n return (\n \n )\n}\n\nexport default FormikDatepicker\n","import React, { ChangeEvent } from 'react'\nimport { Autocomplete, AutocompleteRenderOptionState } from '@material-ui/lab'\nimport { TextField } from '@material-ui/core'\nimport { useStylesFilter } from './FormikTextField'\n\ninterface FormikAutocompleteProps {\n name: string\n label: string\n value: Record | null | undefined\n error: boolean\n options: Record[]\n getOptionSelected:\n | ((\n option: {\n [index: string]: string\n },\n value: {\n [index: string]: string\n }\n ) => boolean)\n | undefined\n onChange: (\n event: ChangeEvent>,\n value: Record | null\n ) => void\n onOpen: () => void\n getOptionLabel: ((option: Record) => string) | undefined\n renderOption:\n | ((\n option: {\n [index: string]: string\n },\n state: AutocompleteRenderOptionState\n ) => React.ReactNode)\n | undefined\n disabled?: boolean\n}\n\nconst FormikAutocomplete = (props: FormikAutocompleteProps): JSX.Element => {\n const {\n onChange,\n onOpen,\n renderOption,\n getOptionLabel,\n getOptionSelected,\n value,\n name,\n label,\n options,\n error,\n disabled = false,\n ...rest\n } = props\n const classes = useStylesFilter({ color: 'white' })\n return (\n (\n \n )}\n {...rest}\n />\n )\n}\n\nexport default FormikAutocomplete\n","import {\n createStyles,\n FormControl,\n InputLabel,\n makeStyles,\n MenuItem,\n SelectProps,\n} from '@material-ui/core'\nimport { Field } from 'formik'\nimport { Select } from 'formik-material-ui'\nimport { primaryWhite } from '../Theme/CustomColors'\n\ntype FormikSelectProps = SelectProps & {\n options: { title: string; value: string }[]\n error: boolean\n label: string\n name: string\n}\n\nconst useStyles = makeStyles(() =>\n createStyles({\n formControl: {\n maxWidth: 455,\n width: '100%',\n '& .MuiFilledInput-root, & .Mui-focused, & .MuiSelect-select:focus': {\n backgroundColor: primaryWhite,\n },\n },\n })\n)\n\nconst FormikSelect = (props: FormikSelectProps): JSX.Element => {\n const { options, label, name, error, ...rest } = props\n const classes = useStyles()\n\n return (\n \n {label}\n \n {options.map((option) => (\n \n {option.title}\n \n ))}\n \n \n )\n}\n\nexport default FormikSelect\n","import { createContext, Dispatch, SetStateAction } from 'react'\nimport { ChargingStationGroup } from '../services'\n\ntype ChargingStationsContextType = {\n chargingStations: ChargingStationGroup[]\n setChargingStations: Dispatch>\n selectedChargingStation: ChargingStationGroup | undefined\n setSelectedChargingStation: Dispatch<\n SetStateAction\n >\n}\n\nconst ChargingStationsContext = createContext({\n chargingStations: [],\n setChargingStations: (): void => {},\n selectedChargingStation: undefined,\n setSelectedChargingStation: (): void => {},\n})\n\nexport default ChargingStationsContext\n","import { Dispatch, SetStateAction, useContext } from 'react'\nimport { Form, Formik, FormikValues } from 'formik'\nimport { useParams } from 'react-router-dom'\nimport { AxiosError } from 'axios'\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers'\nimport DateFnsUtils from '@date-io/date-fns'\nimport deLocale from 'date-fns/locale/de'\nimport { Box, Divider } from '@material-ui/core'\nimport Yup from '../../../utils/lang/ValidationTranslation'\nimport {\n ChargingStationGroup,\n ChargingStationGroupElectricityTypeEnum,\n ChargingStationGroupHardwareCostsStateEnum,\n ChargingStationGroupListReportTypeEnum,\n ChargingStationGroupLocationEnum,\n ChargingStationModelListItem,\n DefaultApi,\n} from '../../../services'\nimport { SnackbarContext } from '../../../context/Snackbar'\nimport CustomAccordion, {\n AccordionDetailsTitle,\n} from '../../../components/Accordion/CustomAccordion'\nimport CustomTexts from '../../../utils/lang/CustomTexts'\nimport CustomTranslations from '../../../utils/lang/CustomTranslations'\nimport FormikDatepicker from '../../../components/Input/FormikDatepicker'\nimport FormikAutocomplete from '../../../components/Input/FormikAutcomplete'\nimport FormikSelect from '../../../components/Input/FormikSelect'\nimport {\n chargingStationGroupLocationLabel,\n electricityTypeLabel,\n hardwareCostStateLabel,\n} from '../../../utils/labelHelper'\nimport FormikRadioGroup from '../../../components/Input/FormikRadioGroup'\nimport {\n primaryPetrolSoft,\n secondaryBlackBlue,\n} from '../../../components/Theme/CustomColors'\nimport CustomButton from '../../../components/Button/CustomButton'\nimport ChargingStationsContext from '../../../context/ChargingStations'\nimport FormikNumberField from '../../../components/Input/FormikNumberField'\n\ninterface ChargingStationProps {\n reportType: ChargingStationGroupListReportTypeEnum | undefined\n chargingStation: ChargingStationGroup\n manufacturerList: { [index: string]: string }[]\n manufacturerModelList: ChargingStationModelListItem[]\n setIsSingleStation: Dispatch>\n}\n\nconst { SAVE, SAVE_CREATE, SAVE_SUCCESS, AMOUNT_LABEL, COSTS_LABEL } =\n CustomTranslations\nconst { maxChargingStations, minChargingStations } = CustomTexts.validation\nconst {\n amount,\n amountTitle,\n generalInformationTitle,\n launchDate,\n manufacturer,\n model,\n chargingPointsTitle,\n chargingPoints,\n hardwareCosts,\n hardwareTitle,\n location,\n locationLabel,\n electricityType,\n nLPgrgl11klgl22,\n nLPkl11,\n sLPgrgl50kl100,\n sLPgr22kl50,\n sLPgrgl100kl150,\n sLPgrgl150kl300,\n sLPgrgl300,\n} = CustomTexts.form.chargingStationGroup\n\nconst START_DATE = new Date('2021-11-23')\n\nconst ChargingStationForm = (props: ChargingStationProps): JSX.Element => {\n const defaultApi = new DefaultApi()\n const {\n chargingStation,\n manufacturerList,\n manufacturerModelList,\n setIsSingleStation,\n reportType,\n } = props\n\n const isPtj = reportType === ChargingStationGroupListReportTypeEnum.Ptj\n\n const validationSchema = Yup.object().shape({\n amount: Yup.number()\n .min(1, minChargingStations)\n .max(100, maxChargingStations)\n .required(),\n electricityType: Yup.string()\n .oneOf(Object.values(ChargingStationGroupElectricityTypeEnum))\n .required(),\n hardwareCosts: Yup.number().min(0).required(),\n hardwareCostsState: Yup.string()\n .oneOf(Object.values(ChargingStationGroupHardwareCostsStateEnum))\n .required(),\n launchDate: Yup.date()\n .required()\n .nullable()\n .transform((v) => (v instanceof Date ? v : null))\n .min(START_DATE, CustomTranslations.INVALID_MIN_DATE)\n .max(\n new Date(Date.now() + 3600 * 1000 * 24),\n CustomTranslations.INVALID_DATE_FUTURE\n ),\n location: Yup.string()\n .oneOf(Object.values(ChargingStationGroupLocationEnum))\n .required(),\n ...(!isPtj && {\n model: Yup.string().required(),\n manufacturer: Yup.string().required(),\n nLPkl11: Yup.number().min(0).required(),\n nLPgrgl11klgl22: Yup.number().min(0).required(),\n sLPgr22kl50: Yup.number().min(0).required(),\n }),\n ...(isPtj && {\n sLPgrgl150kl300: Yup.number().min(0).required(),\n sLPgrgl300: Yup.number().min(0).required(),\n }),\n sLPgrgl50kl100: Yup.number().min(0).required(),\n sLPgrgl100kl150: Yup.number().min(0).required(),\n })\n\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const { chargingStations, setChargingStations, setSelectedChargingStation } =\n useContext(ChargingStationsContext)\n const isChargingStation = chargingStation.amount === 1\n\n const handleSubmit = (values: FormikValues): void => {\n setIsSingleStation(undefined)\n\n const ptjValues = {\n model: undefined,\n manufacturer: undefined,\n nLPkl11: undefined,\n nLPgrgl11klgl22: undefined,\n sLPgr22kl50: undefined,\n sLPgrgl100kl150: values.sLPgrgl100kl150 ?? undefined,\n sLPgrgl150kl300: values.sLPgrgl150kl300 ?? undefined,\n sLPgrgl300: values.sLPgrgl300 ?? undefined,\n }\n\n const defaultValues = {\n model: values.model ?? undefined,\n manufacturer: values.manufacturer ?? undefined,\n nLPkl11: values.nLPkl11 ?? undefined,\n nLPgrgl11klgl22: values.nLPgrgl11klgl22 ?? undefined,\n sLPgr22kl50: values.sLPgr22kl50 ?? undefined,\n sLPgrgl100kl150: values.sLPgrgl100kl150 ?? undefined,\n sLPgrgl150kl300: undefined,\n sLPgrgl300: undefined,\n }\n\n const payload = {\n ...values,\n ...(!isPtj ? defaultValues : ptjValues),\n sLPgrgl50kl100: values.sLPgrgl50kl100 ?? undefined,\n }\n\n if (locationId && reportId)\n if (chargingStation.groupId?.toString())\n defaultApi\n .reportReportIdLocationLocationIdChargingStationGroupGroupIdPut(\n locationId,\n reportId,\n chargingStation.groupId.toString(),\n payload\n )\n .then((res) => {\n openSnackbar(SAVE_SUCCESS, 'success')\n const mappedChargingStation = chargingStations.map((item) => {\n if (item.groupId === chargingStation.groupId) return res.data\n return item\n })\n setChargingStations(mappedChargingStation)\n setSelectedChargingStation(undefined)\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n else\n defaultApi\n .reportReportIdLocationLocationIdChargingStationGroupPost(\n locationId,\n reportId,\n payload\n )\n .then((res) => {\n openSnackbar(SAVE_SUCCESS, 'success')\n setChargingStations([res.data].concat(chargingStations))\n setSelectedChargingStation(undefined)\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n }\n\n return (\n \n handleSubmit(values)}\n >\n {({\n submitForm,\n values,\n setFieldValue,\n setFieldTouched,\n errors,\n touched,\n isSubmitting,\n setSubmitting,\n validateForm,\n }): JSX.Element => (\n
\n {isChargingStation ? (\n <>\n ) : (\n \n }\n defaultExpanded\n isExpanded\n >\n \n \n )}\n \n \n \n \n {reportType === ChargingStationGroupListReportTypeEnum.Ptj ? (\n <>\n ) : (\n <>\n \n {\n setFieldValue('manufacturer', value?.manufacturer)\n setFieldValue('model', '')\n }}\n onOpen={() => setFieldTouched('manufacturer', true)}\n value={{ manufacturer: values.manufacturer ?? '' }}\n getOptionLabel={(option) => option.manufacturer as string}\n renderOption={(option) => option.manufacturer}\n getOptionSelected={(option, value) =>\n !!(\n value.manufacturer === '' ||\n option.manufacturer === value.manufacturer\n )\n }\n />\n \n \n item.manufacturer === values.manufacturer\n ) as Record[])\n : (manufacturerModelList as Record[])\n }\n onOpen={() => setFieldTouched('model', true)}\n onChange={(e, value) =>\n setFieldValue('model', value?.model)\n }\n getOptionLabel={(option) => option.model as string}\n renderOption={(option) => option.model}\n value={{ model: values.model ?? '' }}\n getOptionSelected={(option, value) =>\n !!(value.model === '' || option.model === value.model)\n }\n />\n \n \n )}\n \n {\n return {\n title: chargingStationGroupLocationLabel(type),\n value: type,\n }\n }\n )}\n />\n \n \n \n {isPtj ? (\n <>\n \n \n \n \n \n ) : (\n <>\n \n \n \n \n \n \n )}\n \n {\n return {\n title: electricityTypeLabel(type),\n value: type,\n }\n })}\n />\n \n \n \n \n
\n {\n return {\n title: hardwareCostStateLabel(type),\n value: type,\n }\n })}\n />\n
\n \n {\n validateForm().then((res) => {\n if (Object.keys(res).length > 0) {\n openSnackbar(CustomTranslations.INVALID_FIELDS, 'error')\n submitForm()\n setSubmitting(false)\n } else submitForm()\n })\n }}\n >\n {chargingStation.groupId ? SAVE : SAVE_CREATE}\n \n \n \n )}\n \n
\n )\n}\n\nexport default ChargingStationForm\n","export default __webpack_public_path__ + \"static/media/ChargingStationsIcon.d3c81698.svg\";","export default __webpack_public_path__ + \"static/media/ChargingStationIcon.cb8b4ba1.svg\";","import {\n Box,\n createStyles,\n makeStyles,\n Theme,\n Typography,\n} from '@material-ui/core'\nimport {\n activeCardBg,\n primaryPetrol50,\n primaryPetrolSoft,\n secondaryLightBlue,\n secondarySensitiveGreen,\n} from '../Theme/CustomColors'\n\ninterface InfoCardProps {\n children: JSX.Element | JSX.Element[]\n title: string | JSX.Element\n isActive?: boolean\n isLatest?: boolean\n}\ninterface StylesProps {\n bgColor: string\n titleColor: string\n}\n\nexport const useStyles = makeStyles(() =>\n createStyles({\n root: (props) => ({\n backgroundColor: props.bgColor,\n }),\n title: (props) => ({\n backgroundColor: props.titleColor,\n }),\n })\n)\n\nconst InfoCard = ({\n children,\n title,\n isActive,\n isLatest,\n}: InfoCardProps): JSX.Element => {\n const setBgColor = (): string => {\n if (isActive) return activeCardBg\n if (isLatest) return secondarySensitiveGreen\n return primaryPetrol50\n }\n const setTitleColor = (): string => {\n if (isActive) return secondaryLightBlue\n return primaryPetrolSoft\n }\n\n const styleProps: StylesProps = {\n bgColor: setBgColor(),\n titleColor: setTitleColor(),\n }\n const classes = useStyles(styleProps)\n\n return (\n \n \n {title}\n \n \n {children}\n \n \n )\n}\n\nexport default InfoCard\n","import React, { Dispatch, SetStateAction } from 'react'\nimport { Box, Dialog, DialogTitle } from '@material-ui/core'\n\ninterface CustomDialogProps {\n children: JSX.Element | JSX.Element[]\n title: string\n open: boolean\n handleClose: Dispatch>\n}\n\nconst CustomDialog = (props: CustomDialogProps): JSX.Element => {\n const { children, title, open, handleClose } = props\n\n return (\n \n \n \n {title}\n \n {children}\n \n \n )\n}\n\nexport default CustomDialog\n","import { Box } from '@material-ui/core'\nimport CustomDialog from '../../../../../components/Dialog/CustomDialog'\nimport CustomButton from '../../../../../components/Button/CustomButton'\nimport { primaryPetrolSoft } from '../../../../../components/Theme/CustomColors'\n\ninterface DialogProps {\n title: string\n handleSubmit: () => void\n handleCancel: () => void\n btnTextSubmit: string\n btnTextCancel: string\n open: boolean\n handleClose: () => void\n}\n\nconst ChargingStationsDialog = (props: DialogProps): JSX.Element => {\n const {\n title,\n handleSubmit,\n handleCancel,\n btnTextCancel,\n btnTextSubmit,\n open,\n handleClose,\n } = props\n return (\n \n \n \n {btnTextSubmit}\n \n \n {btnTextCancel}\n \n \n \n )\n}\n\nexport default ChargingStationsDialog\n","import React, { useContext, useState } from 'react'\nimport {\n Box,\n createStyles,\n Grid,\n makeStyles,\n Typography,\n} from '@material-ui/core'\nimport { useParams } from 'react-router-dom'\nimport { AxiosError } from 'axios'\nimport DeleteForever from '@material-ui/icons/DeleteForever'\n\nimport InfoCard from '../../../../../components/Card/InfoCard'\nimport {\n primaryPetrol50,\n primaryPetrolSoft,\n secondaryBlackBlue,\n secondaryLightBlue,\n} from '../../../../../components/Theme/CustomColors'\nimport {\n ChargingStationGroup,\n ChargingStationGroupHardwareCostsStateEnum,\n ChargingStationGroupListReportTypeEnum,\n ChargingStationGroupLocationEnum,\n} from '../../../../../services'\nimport CustomTexts from '../../../../../utils/lang/CustomTexts'\nimport CustomTranslations from '../../../../../utils/lang/CustomTranslations'\nimport ChargingStationsContext from '../../../../../context/ChargingStations'\nimport CustomButton from '../../../../../components/Button/CustomButton'\nimport { DefaultApi } from '../../../../../services/api/default-api'\nimport { SnackbarContext } from '../../../../../context/Snackbar'\nimport ChargingStationsDialog from './ChargingStationsDialog'\nimport {\n chargingStationGroupLocationLabel,\n hardwareCostStateLabel,\n} from '../../../../../utils/labelHelper'\n\nconst useStyles = makeStyles(() =>\n createStyles({\n wrapper: {\n backgroundColor: primaryPetrol50,\n marginTop: '3.2rem',\n },\n button: {\n backgroundColor: primaryPetrolSoft,\n color: secondaryBlackBlue,\n display: 'block',\n margin: '2rem auto 1rem',\n },\n activeButton: {\n backgroundColor: secondaryLightBlue,\n },\n title: {\n wordBreak: 'break-all',\n },\n icon: {\n '&:hover': {\n cursor: 'pointer',\n },\n },\n })\n)\n\nconst ChargingStationCards = (props: {\n reportType: ChargingStationGroupListReportTypeEnum | undefined\n}): JSX.Element => {\n const classes = useStyles()\n const defaultApi = new DefaultApi()\n const { reportType } = props\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const { openSnackbarError, openSnackbar } = useContext(SnackbarContext)\n const {\n setSelectedChargingStation,\n selectedChargingStation,\n setChargingStations,\n chargingStations,\n } = useContext(ChargingStationsContext)\n const isSingleStation = selectedChargingStation?.amount === 1\n const [deleteStation, setDeleteStation] = useState<{\n show: boolean\n groupId?: number\n }>({ show: false, groupId: undefined })\n let totalStations = 0\n const isPtJ = reportType === ChargingStationGroupListReportTypeEnum.Ptj\n const { groupCards, deleteStationDesc, deleteStationsDesc } =\n CustomTexts.chargingStations\n\n if (chargingStations.length > 0) {\n chargingStations.forEach((station: ChargingStationGroup): void => {\n if (station.amount) totalStations += station?.amount\n })\n }\n\n const closeDeleteModal = (): void =>\n setDeleteStation({ ...deleteStation, show: false })\n\n const deleteChargingStation = (): void => {\n if (deleteStation.groupId?.toString())\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdChargingStationGroupGroupIdDelete(\n locationId,\n reportId,\n deleteStation.groupId.toString()\n )\n .then(() => {\n openSnackbar(CustomTranslations.DELETE_SUCCESS, 'success')\n closeDeleteModal()\n const filteredChargingStations = chargingStations.filter(\n (chargingStation) =>\n chargingStation.groupId !== deleteStation.groupId\n )\n setChargingStations(filteredChargingStations)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n closeDeleteModal()\n })\n }\n\n const labelHelper = (key: string, value: string): string => {\n switch (key) {\n case 'location':\n return chargingStationGroupLocationLabel(\n value as ChargingStationGroupLocationEnum\n )\n case 'hardwareCostsState':\n return hardwareCostStateLabel(\n value as ChargingStationGroupHardwareCostsStateEnum\n )\n case 'hardwareCosts':\n return `${value},00`\n case 'launchDate':\n return new Date(value).toLocaleDateString('de-DE') ?? ''\n default:\n return value\n }\n }\n\n return (\n \n \n \n {groupCards.totalGroupAmount}\n
\n {totalStations}\n
\n
\n {chargingStations.map(\n (chargingStation: ChargingStationGroup, index: number) => {\n const isActive =\n chargingStation.groupId === selectedChargingStation?.groupId\n return (\n \n {chargingStation.amount === 1\n ? groupCards.createdStation\n : groupCards.createdStationGroup}\n \n setDeleteStation({\n show: true,\n groupId: chargingStation.groupId,\n })\n }\n />\n
\n }\n isActive={isActive}\n isLatest={index === 0}\n >\n <>\n {Object.entries({\n amount: chargingStation.amount,\n launchDate: chargingStation.launchDate,\n location: chargingStation.location,\n ...(!isPtJ && {\n manufacturer: chargingStation.manufacturer,\n model: chargingStation.model,\n nLPkl11: chargingStation.nLPkl11,\n nLPgrgl11klgl22: chargingStation.nLPgrgl11klgl22,\n sLPgr22kl50: chargingStation.sLPgr22kl50,\n sLPgrgl50kl100: chargingStation.sLPgrgl50kl100,\n sLPgrgl100kl150: chargingStation.sLPgrgl100kl150,\n }),\n ...(isPtJ && {\n sLPgrgl50kl100: chargingStation.sLPgrgl50kl100,\n sLPgrgl100kl150: chargingStation.sLPgrgl100kl150,\n sLPgrgl150kl300: chargingStation.sLPgrgl150kl300,\n sLPgrgl300: chargingStation.sLPgrgl300,\n }),\n electricityType: chargingStation.electricityType,\n hardwareCosts: chargingStation.hardwareCosts,\n hardwareCostsState: chargingStation.hardwareCostsState,\n }).map((entry) => {\n const key = entry[0] as string\n if (key !== 'groupId')\n return (\n \n \n \n {\n CustomTexts.summary.chargingStations[\n key as keyof typeof CustomTexts.summary.chargingStations\n ]\n }\n {key !== 'hardwareCostsState' ? ':' : ''}\n \n \n \n \n {labelHelper(key, entry[1] as string)}\n \n \n \n )\n return
\n })}\n \n \n setSelectedChargingStation(chargingStation)\n }\n >\n {CustomTranslations.EDIT}\n \n \n )\n }\n )}\n \n \n )\n}\n\nexport default ChargingStationCards\n","import React, { useContext, useEffect, useState } from 'react'\nimport {\n Box,\n createStyles,\n Divider,\n Grid,\n makeStyles,\n Theme,\n Typography,\n} from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport { useParams } from 'react-router-dom'\nimport CustomTitle from '../../../../components/Title/CustomTitle'\nimport CustomTexts from '../../../../utils/lang/CustomTexts'\nimport LoadingAnimation from '../../../../components/Loader/LoadingAnimation'\nimport ChargingStationForm from '../../Form/ChargingStationsForm'\nimport { SnackbarContext } from '../../../../context/Snackbar'\nimport {\n ChargingStationGroup,\n ChargingStationGroupListReportTypeEnum,\n DefaultApi,\n} from '../../../../services'\nimport ChargingStationsIcon from '../../../../assets/images/icons/ChargingStationsIcon.svg'\nimport ChargingStationIcon from '../../../../assets/images/icons/ChargingStationIcon.svg'\nimport ChargingStationsContext from '../../../../context/ChargingStations'\nimport ChargingStationCards from './Components/ChargingStationCards'\nimport BackButtonStepper from '../../../../components/Button/BackButtonStepper'\nimport StepperContext from '../../../../context/Stepper'\nimport NextButtonStepper from '../../../../components/Button/NextButtonStepper'\nimport InfoCollapseButton from '../../../../components/Button/InfoCollapseButton'\nimport {\n useManufacturerList,\n useManufacturerModelList,\n} from '../../../../hooks/Autocomplete'\nimport ChargingStationsDialog from './Components/ChargingStationsDialog'\nimport CustomButton from '../../../../components/Button/CustomButton'\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n body: {\n marginBottom: '2rem',\n },\n responsive: {\n [theme.breakpoints.down('sm')]: {\n display: 'block',\n '& > .MuiBox-root': {\n marginBottom: '2rem',\n },\n },\n },\n hideXs: {\n display: 'none',\n },\n })\n)\n\nconst LocationChargingStations = (): JSX.Element => {\n const defaultApi = new DefaultApi()\n const { openSnackbarError } = useContext(SnackbarContext)\n const { setActiveStep } = useContext(StepperContext)\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const manufacturerList = useManufacturerList()\n const manufacturerModelList = useManufacturerModelList()\n const [loading, setLoading] = useState(false)\n const [showModal, setShowModal] = useState(false)\n const [isSingleStation, setIsSingleStation] = useState(\n undefined\n )\n const [chargingStations, setChargingStations] = useState<\n ChargingStationGroup[]\n >([])\n const [reportType, setReportType] = useState<\n ChargingStationGroupListReportTypeEnum | undefined\n >(undefined)\n const [selectedChargingStation, setSelectedChargingStation] = useState<\n ChargingStationGroup | undefined\n >(undefined)\n\n const classes = useStyles()\n const {\n title,\n subtitle,\n howToCard,\n singleStationBtnText,\n groupStationBtnText,\n copySingleStationDesc,\n copyStationsDesc,\n } = CustomTexts.chargingStations\n\n useEffect(() => {\n setLoading(true)\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdChargingStationGroupsGet(\n locationId,\n reportId\n )\n .then((res) => {\n setReportType(res.data.reportType)\n setChargingStations(\n (res.data.entities ?? []).reverse() as ChargingStationGroup[]\n )\n setLoading(false)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n setLoading(false)\n })\n }, [])\n\n const closeModal = (): void => setShowModal(false)\n const openModal = (): void => {\n if (chargingStations.length > 0) setShowModal(true)\n }\n\n const addNewChargingStationGroup = (): void => {\n const initialChargingStation = {\n amount: isSingleStation === true ? 1 : undefined,\n electricityType: undefined,\n groupId: undefined,\n hardwareCosts: undefined,\n hardwareCostsState: undefined,\n launchDate: undefined,\n location: undefined,\n model: undefined,\n manufacturer: undefined,\n nLPgrgl11klgl22: undefined,\n nLPkl11: undefined,\n sLPgrgl50kl100: undefined,\n sLPgr22kl50: undefined,\n sLPgrgl100kl150: undefined,\n sLPgrgl150kl300: undefined,\n sLPgrgl300: undefined,\n }\n setSelectedChargingStation(initialChargingStation)\n closeModal()\n }\n\n const copyChargingStation = (): void => {\n setSelectedChargingStation({\n ...chargingStations[0],\n amount: isSingleStation === true ? 1 : undefined,\n groupId: undefined,\n })\n closeModal()\n }\n\n useEffect(() => {\n if (chargingStations.length === 0 && isSingleStation !== undefined)\n addNewChargingStationGroup()\n }, [isSingleStation])\n\n return (\n <>\n {loading ? (\n \n ) : (\n \n \n \n \n \n \n \n \n {howToCard.titleOne}\n \n {howToCard.contentOne}\n \n {howToCard.titleTwo}\n \n {howToCard.contentTwo}\n \n \n \n \n \n \n \n {\n setIsSingleStation(false)\n openModal()\n }}\n >\n {groupStationBtnText}\n \n \n \n \"charging\n {\n setIsSingleStation(true)\n openModal()\n }}\n >\n {singleStationBtnText}\n \n \n \n 0 ? 105 : 'unset'}>\n {selectedChargingStation && (\n <>\n \n \n {CustomTexts.form.allFieldsRequired}\n \n \n \n \n )}\n \n \n \n \n \n setActiveStep((prevActiveStep) => prevActiveStep + 1)\n }\n />\n \n \n \n \n \n \n \n )}\n closeModal()}\n handleSubmit={(): void => copyChargingStation()}\n handleCancel={(): void => addNewChargingStationGroup()}\n open={showModal}\n />\n \n )\n}\n\nexport default LocationChargingStations\n","import { useEffect, useState } from 'react'\nimport { DefaultApi } from '../services/api/default-api'\nimport { ChargingStationModelListItem } from '../services/models/charging-station-model-list-item'\n\nexport type ManufacturerType = { manufacturer: string }[]\nexport type ModelType = { model: string }[]\n\nexport function useManufacturerList(): ManufacturerType {\n const defaultApi = new DefaultApi()\n const [manufacturer, setManufacturer] = useState([])\n useEffect(() => {\n defaultApi\n .reportChargingStationModelsGet('manufacturer')\n .then((res) => {\n const result = res.data as ManufacturerType\n setManufacturer(result)\n })\n .catch((err) => err)\n }, [])\n return manufacturer\n}\n\nexport function useManufacturerModelList(): ChargingStationModelListItem[] {\n const defaultApi = new DefaultApi()\n const [list, setList] = useState([])\n useEffect(() => {\n defaultApi\n .reportChargingStationModelsGet()\n .then((res) => {\n const result = res.data as ChargingStationModelListItem[]\n setList(result)\n })\n .catch((err) => err)\n }, [])\n return list\n}\n\nexport function useModelList(): ModelType {\n const defaultApi = new DefaultApi()\n const [model, setModel] = useState([])\n useEffect(() => {\n defaultApi\n .reportChargingStationModelsGet('model')\n .then((res) => {\n const result = res.data as ModelType\n setModel(result)\n })\n .catch((err) => err)\n }, [])\n return model\n}\n","import { Grid, makeStyles, Typography } from '@material-ui/core'\nimport CustomTranslations from '../../../../../utils/lang/CustomTranslations'\n\nconst useStyles = makeStyles({\n row: {\n overflow: 'hidden',\n },\n\n answer: {\n whiteSpace: 'pre-wrap',\n color: '#587268',\n },\n})\n\ninterface RowProps {\n question: string\n answer: string | number | boolean | undefined\n}\n\nconst Row = ({ question, answer }: RowProps): JSX.Element => {\n const classes = useStyles()\n\n let formattedAnswer = answer\n\n if (typeof answer === 'boolean') {\n formattedAnswer = answer ? CustomTranslations.YES : CustomTranslations.NO\n }\n\n return (\n \n \n {`${question}:`}\n \n \n {answer != null && (\n \n {formattedAnswer}\n \n )}\n \n \n )\n}\n\nexport default Row\n","import { Box, makeStyles } from '@material-ui/core'\nimport { primaryPetrol50 } from '../../../../../components/Theme/CustomColors'\nimport Row from './Row'\n\nconst useStyles = makeStyles({\n summaryBox: {\n backgroundColor: primaryPetrol50,\n padding: '2.5rem 3.7rem 2.5rem 1.3rem',\n },\n})\n\nexport type ReportTranslated = [string, string | number | boolean | undefined][]\n\nconst SummaryCard = (args: {\n translatedReport: ReportTranslated\n}): JSX.Element => {\n const classes = useStyles()\n\n const { translatedReport } = args\n\n return (\n <>\n \n {translatedReport.map(([key, value], index) => {\n // eslint-disable-next-line react/no-array-index-key\n return \n })}\n \n \n )\n}\n\nexport default SummaryCard\n","import React, { useContext, useEffect, useState } from 'react'\nimport {\n Box,\n Checkbox,\n FormControlLabel,\n Grid,\n makeStyles,\n Typography,\n} from '@material-ui/core'\nimport { useNavigate, useParams } from 'react-router-dom'\nimport { AxiosError } from 'axios'\nimport CustomTitle from '../../../../components/Title/CustomTitle'\nimport CustomTexts from '../../../../utils/lang/CustomTexts'\nimport {\n DefaultApi,\n ReportChargingStations,\n ReportChargingStationsHardwareCostsStateEnum,\n ReportLocations,\n ReportLocationUsage,\n ReportLocationUsageCommercialUseEnum,\n ReportReportTypeEnum,\n ReportSite,\n ReportSiteChargingLocationsEnum,\n ReportSiteRegisteredAtNetOperatorEnum,\n ReportSiteSupplyCostsStateEnum,\n ReportSiteVehicleTypeEnum,\n} from '../../../../services'\nimport LoadingAnimation from '../../../../components/Loader/LoadingAnimation'\nimport { primaryPetrol } from '../../../../components/Theme/CustomColors'\nimport { SnackbarContext } from '../../../../context/Snackbar'\nimport CustomTranslations from '../../../../utils/lang/CustomTranslations'\nimport ColoredCard from '../../../../components/Card/ColoredCard'\nimport InfoCard from '../../../../components/Card/InfoCard'\nimport NextButtonStepper from '../../../../components/Button/NextButtonStepper'\nimport BackButtonStepper from '../../../../components/Button/BackButtonStepper'\nimport {\n chargingLocationsLabel,\n chargingStationGroupLocationLabel,\n electricityTypeLabel,\n existingVehiclesLabel,\n hardwareCostStateLabel,\n networkOperatorRegisteredLabel,\n supplyCostsStateLabel,\n usageCommercialUseLabel,\n usageMotivationTypeLabel,\n vehicleTypeLabelReport,\n} from '../../../../utils/labelHelper'\nimport Row from './Components/Row'\nimport SummaryCard, { ReportTranslated } from './Components/SummaryCard'\nimport { navigateLocationByType } from '../../../../hooks/RouteHooks'\n\nconst useStyles = makeStyles({\n heading: {\n marginBottom: '2.1rem',\n marginTop: '3.1rem',\n },\n\n checkboxContainer: {\n margin: '2rem 0',\n flexDirection: 'row-reverse',\n },\n})\n\nconst UsageCard = (args: {\n usageReport: ReportLocationUsage\n reportType: ReportReportTypeEnum | undefined\n}): JSX.Element => {\n const { usageReport, reportType } = args\n const usageQuestionTranslation = CustomTexts.summary.usage\n\n const usageReportTranslated: ReportTranslated = [\n [\n usageQuestionTranslation.motivation,\n (usageReport.motivationType || [])\n .map((item) => usageMotivationTypeLabel(item))\n .join(', '),\n ],\n [usageQuestionTranslation.acquireVehicles, usageReport.acquireVehicles],\n ]\n\n if (reportType !== ReportReportTypeEnum.Commune) {\n usageReportTranslated.push([\n usageQuestionTranslation.commercialUse,\n usageCommercialUseLabel(\n usageReport.commercialUse as ReportLocationUsageCommercialUseEnum\n ),\n ])\n }\n\n return \n}\n\nconst SiteCard = (args: {\n siteReport: ReportSite\n reportType: ReportReportTypeEnum | undefined\n}): JSX.Element => {\n const { siteReport, reportType } = args\n\n const siteQuestionTranslation = CustomTexts.summary.site\n\n const locationReportTranslated: ReportTranslated = [\n [\n siteQuestionTranslation.existingVehicles,\n siteReport.existingVehicles\n ? existingVehiclesLabel(siteReport.existingVehicles)\n : '',\n ],\n [\n siteQuestionTranslation.vehicleType,\n vehicleTypeLabelReport(\n siteReport.vehicleType as ReportSiteVehicleTypeEnum\n ),\n ],\n [\n siteQuestionTranslation.locationRelatedVehicles,\n siteReport.locationRelatedVehicles,\n ],\n [\n siteQuestionTranslation.chargingLocations,\n (siteReport.chargingLocations as ReportSiteChargingLocationsEnum[])\n .map((location) => {\n const translatedLowerCase = chargingLocationsLabel(location)\n return (\n translatedLowerCase.charAt(0).toUpperCase() +\n translatedLowerCase.slice(1)\n )\n })\n .join(', '),\n ],\n [\n siteQuestionTranslation.totalCompanyVehicles,\n siteReport.totalCompanyVehicles,\n ],\n ]\n\n if (reportType !== ReportReportTypeEnum.Ptj)\n locationReportTranslated.push(\n [\n siteQuestionTranslation.fullElectricCompanyVehicles,\n siteReport.fullElectricCompanyVehicles ?? CustomTranslations.UNKNOWN,\n ],\n [siteQuestionTranslation.employeeVehicles, siteReport.employeeVehicles],\n [\n siteQuestionTranslation.registeredAtNetOperator,\n networkOperatorRegisteredLabel(\n siteReport.registeredAtNetOperator as ReportSiteRegisteredAtNetOperatorEnum\n ),\n ],\n [\n siteQuestionTranslation.suppliesPerChargingStation,\n siteReport.suppliesPerChargingStation,\n ],\n [\n siteQuestionTranslation.supplyCostState,\n `${(siteReport.supplyCostsPerLocation as number).toLocaleString(\n 'de-De',\n {\n minimumFractionDigits: 2,\n }\n )}\\t\\t${supplyCostsStateLabel(\n siteReport.supplyCostsState as ReportSiteSupplyCostsStateEnum\n )}`,\n ]\n )\n else\n locationReportTranslated.push(\n [\n siteQuestionTranslation.fullElectricCompanyPkw,\n siteReport.fullElectricCompanyPkw,\n ],\n [\n siteQuestionTranslation.fullElectricClassCompanyN1,\n siteReport.fullElectricClassCompanyN1,\n ],\n [\n siteQuestionTranslation.fullElectricClassCompanyN2,\n siteReport.fullElectricClassCompanyN2,\n ],\n [\n siteQuestionTranslation.fullElectricClassCompanyN3,\n siteReport.fullElectricClassCompanyN3,\n ],\n [\n siteQuestionTranslation.fullElectricCompanyNotKnown,\n siteReport.fullElectricCompanyNotKnown,\n ],\n [siteQuestionTranslation.employeeVehicles, siteReport.employeeVehicles],\n [\n siteQuestionTranslation.employeeVehiclesPkw,\n siteReport.employeeVehiclesPkw,\n ],\n [\n siteQuestionTranslation.employeeVehiclesN1,\n siteReport.employeeVehiclesN1,\n ],\n [\n siteQuestionTranslation.employeeVehiclesN2,\n siteReport.employeeVehiclesN2,\n ],\n [\n siteQuestionTranslation.employeeVehiclesN3,\n siteReport.employeeVehiclesN3,\n ],\n [\n siteQuestionTranslation.employeeVehiclesNotKnown,\n siteReport.employeeVehiclesNotKnown,\n ],\n [\n siteQuestionTranslation.registeredAtNetOperator,\n networkOperatorRegisteredLabel(\n siteReport.registeredAtNetOperator as ReportSiteRegisteredAtNetOperatorEnum\n ),\n ],\n [\n siteQuestionTranslation.suppliesPerChargingStation,\n siteReport.suppliesPerChargingStation,\n ],\n [\n siteQuestionTranslation.supplyCostState,\n `${(siteReport.supplyCostsPerLocation as number).toLocaleString(\n 'de-De',\n {\n minimumFractionDigits: 2,\n }\n )}\\t\\t${supplyCostsStateLabel(\n siteReport.supplyCostsState as ReportSiteSupplyCostsStateEnum\n )}`,\n ]\n )\n\n return \n}\n\nconst ChargingGroupsSummary = (args: {\n chargingStations: ReportChargingStations[]\n sumChargingPoints: number\n}): JSX.Element => {\n const { chargingStations, sumChargingPoints } = args\n\n const sum = chargingStations.reduce((accumulator, chargingStation) => {\n return accumulator + (chargingStation?.amount || 0)\n }, 0)\n\n const headingSums: [string, number][] = [\n [CustomTexts.summary.chargingStations.sum, sum],\n [CustomTexts.summary.chargingStations.sumChargingPoints, sumChargingPoints],\n ]\n\n return (\n \n \n {headingSums.map((headingSum) => {\n return (\n \n \n {`${headingSum[0]}: `}\n \n \n {headingSum[1]}\n \n \n )\n })}\n \n \n )\n}\n\nconst ChargingStationCard = (args: {\n chargingStation: ReportChargingStations\n reportType: ReportReportTypeEnum | undefined\n}): JSX.Element => {\n const { chargingStation, reportType } = args\n const isPtJ = reportType === ReportReportTypeEnum.Ptj\n\n const {\n amount: amountQuestion,\n launchDate: launchDateQuestion,\n manufacturer: manufcatureQuestion,\n model: modelQuestion,\n location: locationQuestion,\n electricityType: electricityTypeQuestion,\n hardwareCosts: harddwareCostsQuestion,\n nLPkl11,\n nLPgrgl11klgl22,\n sLPgr22kl50,\n sLPgrgl50kl100,\n sLPgrgl100kl150,\n sLPgrgl150kl300,\n sLPgrgl300,\n titleGroup,\n titleSingle,\n } = CustomTexts.summary.chargingStations\n\n const isGroup = (chargingStation.amount as number) > 1\n\n const title = isGroup ? titleGroup : titleSingle\n\n const hardwareCosts = (\n chargingStation.hardwareCosts as number\n ).toLocaleString('de-DE', { minimumFractionDigits: 2 })\n\n const hardWareState = hardwareCostStateLabel(\n chargingStation.hardwareCostsState as ReportChargingStationsHardwareCostsStateEnum\n )\n\n const hardwareCostWithState = `${hardwareCosts}\\n${hardWareState}`\n\n const reportTranslated: ReportTranslated = [\n [\n launchDateQuestion,\n new Date(chargingStation.launchDate as string).toLocaleDateString(\n 'de-DE',\n { dateStyle: 'medium' }\n ),\n ],\n ]\n\n if (!isPtJ)\n reportTranslated.push(\n [manufcatureQuestion, chargingStation.manufacturer],\n [modelQuestion, chargingStation.model],\n [\n locationQuestion,\n chargingStation.location\n ? chargingStationGroupLocationLabel(chargingStation.location)\n : '',\n ],\n [nLPkl11, chargingStation.nLPkl11],\n [nLPgrgl11klgl22, chargingStation.nLPgrgl11klgl22],\n [sLPgr22kl50, chargingStation.sLPgr22kl50],\n [sLPgrgl50kl100, chargingStation.sLPgrgl50kl100],\n [sLPgrgl100kl150, chargingStation.sLPgrgl100kl150],\n [\n electricityTypeQuestion,\n chargingStation.electricityType\n ? electricityTypeLabel(chargingStation.electricityType)\n : '',\n ],\n [harddwareCostsQuestion, hardwareCostWithState]\n )\n\n if (isPtJ)\n reportTranslated.push(\n [\n locationQuestion,\n chargingStation.location\n ? chargingStationGroupLocationLabel(chargingStation.location)\n : '',\n ],\n [sLPgrgl50kl100, chargingStation.sLPgrgl50kl100],\n [sLPgrgl100kl150, chargingStation.sLPgrgl100kl150],\n [sLPgrgl150kl300, chargingStation.sLPgrgl150kl300],\n [sLPgrgl300, chargingStation.sLPgrgl300],\n [\n electricityTypeQuestion,\n chargingStation.electricityType\n ? electricityTypeLabel(chargingStation.electricityType)\n : '',\n ],\n [harddwareCostsQuestion, hardwareCostWithState]\n )\n\n if (isGroup)\n reportTranslated.unshift([amountQuestion, chargingStation.amount])\n\n return (\n \n {reportTranslated.map(([key, value]) => {\n return \n })}\n \n )\n}\n\nconst OverviewLoaded = (args: {\n lock: boolean | undefined\n usageReport: ReportLocationUsage\n siteReport: ReportSite\n chargingReports: ReportChargingStations[]\n kfwChargingPoints: number | undefined\n reportType: ReportReportTypeEnum | undefined\n}): JSX.Element => {\n const {\n usageReport,\n siteReport,\n chargingReports,\n kfwChargingPoints,\n lock,\n reportType,\n } = args\n const [subscribeSurvey, setSubscribeSurvey] = useState(false)\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n const classes = useStyles()\n const [confirmed, setConfirmed] = useState(false)\n const [confirmChargingPoints, setConfirmChargingPoints] = useState(false)\n const defaultApi = new DefaultApi()\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const navigate = useNavigate()\n const headingTranslations = CustomTexts.summary.headings\n\n const sumChargingPoints = chargingReports.reduce(\n (accumulator, chargingStation) => {\n const { sumOfChargingPoints = 0, amount = 0 } = chargingStation\n return accumulator + sumOfChargingPoints * amount\n },\n 0\n )\n\n const ChargingGroup = (): JSX.Element => {\n return (\n <>\n \n \n {chargingReports.map((chargingStation) => {\n return (\n \n {' '}\n \n )\n })}\n \n \n )\n }\n\n const headingsElements: [string, JSX.Element][] = [\n [\n headingTranslations.usage,\n ,\n ],\n [headingTranslations.site, ],\n [headingTranslations.chargingStations, ],\n ]\n\n const handleSubmit = (): void => {\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdCompletePut(locationId, reportId, {\n questionnaire: subscribeSurvey,\n })\n .then(() => {\n openSnackbar(CustomTranslations.SAVE_SUCCESS, 'success')\n navigateLocationByType(\n navigate,\n reportType === ReportReportTypeEnum.Company,\n reportId as string,\n locationId as string\n )\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n }\n\n return (\n <>\n {headingsElements.map((headingElement) => {\n return (\n \n \n {headingElement[0]}\n \n {headingElement[1]}\n \n )\n })}\n\n {!lock && (\n <>\n \n \n setSubscribeSurvey((oldState) => !oldState)}\n name=\"survey\"\n color=\"primary\"\n />\n }\n label={CustomTexts.summary.checkboxes.survey}\n />\n\n setConfirmed((oldState) => !oldState)}\n name=\"confirmation\"\n color=\"primary\"\n />\n }\n label={CustomTexts.summary.checkboxes.confirmation}\n />\n {kfwChargingPoints && sumChargingPoints < kfwChargingPoints ? (\n \n setConfirmChargingPoints((oldState) => !oldState)\n }\n name=\"confirmation\"\n color=\"primary\"\n />\n }\n label={`\n ${CustomTexts.summary.checkboxes.sumChargingPoints} ${sumChargingPoints} ${CustomTexts.summary.checkboxes.kfwChargingPoints}\n `}\n />\n ) : (\n <>\n )}\n \n \n\n \n \n \n \n \n \n \n \n \n )}\n \n )\n}\n\nconst Overview = (props: { title: string }): JSX.Element => {\n const { title } = props\n const defaultApi = new DefaultApi()\n const { openSnackbarError } = useContext(SnackbarContext)\n const [report, setReport] = useState(undefined)\n const [reportType, setReportType] = useState<\n ReportReportTypeEnum | undefined\n >(undefined)\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n\n useEffect(() => {\n if (reportId)\n defaultApi\n .reportReportIdGet(reportId)\n .then((response) => {\n const locationReport = response.data.locations?.find(\n (location) => location.id?.toString() === locationId\n )\n setReportType(response.data.reportType)\n setReport(locationReport)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n })\n }, [])\n\n return (\n \n \n \n \n \n {report ? (\n \n ) : (\n \n )}\n \n \n \n )\n}\n\nexport default Overview\n","import React, { useContext, useEffect, useState } from 'react'\nimport { makeStyles, Theme, createStyles } from '@material-ui/core/styles'\nimport Stepper from '@material-ui/core/Stepper'\nimport Step from '@material-ui/core/Step'\nimport StepLabel from '@material-ui/core/StepLabel'\nimport { Grid } from '@material-ui/core'\nimport { useParams } from 'react-router-dom'\nimport { AxiosError } from 'axios'\nimport CustomTexts from '../../../../utils/lang/CustomTexts'\nimport Usage from './Usage'\nimport Site from './Site'\nimport ChargingStations from './ChargingStations'\nimport Overview from './Overview'\nimport { primaryPetrol } from '../../../../components/Theme/CustomColors'\nimport StepperContext from '../../../../context/Stepper'\nimport { DefaultApi } from '../../../../services/api/default-api'\nimport { SnackbarContext } from '../../../../context/Snackbar'\nimport LoadingAnimation from '../../../../components/Loader/LoadingAnimation'\n\nconst useStyles = makeStyles((theme: Theme) =>\n createStyles({\n stepper: {\n paddingLeft: 0,\n paddingRight: 0,\n '& .MuiStepIcon-root.MuiStepIcon-active': {\n color: primaryPetrol,\n },\n '& .MuiStepIcon-root.MuiStepIcon-completed': {\n color: primaryPetrol,\n },\n '& .MuiStep-horizontal:first-child': {\n paddingLeft: 0,\n },\n [theme.breakpoints.down('xs')]: {\n flexDirection: 'column',\n alignItems: 'flex-start',\n '& .MuiStep-horizontal': {\n paddingLeft: 0,\n paddingBottom: '0.5rem',\n },\n },\n },\n button: {\n marginRight: theme.spacing(1),\n },\n instructions: {\n marginTop: theme.spacing(1),\n marginBottom: theme.spacing(1),\n },\n })\n)\n\nconst LocationStepper = (): JSX.Element => {\n const classes = useStyles()\n const defaultApi = new DefaultApi()\n const [activeStep, setActiveStep] = useState(0)\n const [lock, setLock] = useState(undefined)\n const [isLoading, setLoading] = useState(true)\n const { openSnackbarError } = useContext(SnackbarContext)\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const steps = CustomTexts.stepper.titles\n\n useEffect(() => {\n if (reportId)\n defaultApi\n .reportReportIdGet(reportId)\n .then((response) => {\n const locationReport = response.data.locations?.find(\n (location) => location.id?.toString() === locationId\n )\n setLock(locationReport?.lock)\n setLoading(false)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n setLoading(false)\n })\n }, [])\n\n const getStepContent = (step: number): JSX.Element => {\n switch (step) {\n case 0:\n return \n case 1:\n return \n case 2:\n return \n case 3:\n return \n default:\n return \n }\n }\n\n if (isLoading) return \n\n if (lock) {\n return \n }\n\n return (\n \n \n \n \n \n {steps.map((label) => {\n const stepProps: { completed?: boolean } = {}\n return (\n \n {label}\n \n )\n })}\n \n \n \n \n {getStepContent(activeStep)}\n \n )\n}\n\nexport default LocationStepper\n","import React, { useContext, useEffect, useState } from 'react'\nimport {\n Grid,\n makeStyles,\n Table,\n TableBody,\n TableCell,\n TableHead,\n TableRow,\n Typography,\n} from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport CustomTitle from '../components/Title/CustomTitle'\nimport CustomTexts from '../utils/lang/CustomTexts'\nimport CustomTranslations from '../utils/lang/CustomTranslations'\nimport CustomButton from '../components/Button/CustomButton'\nimport {\n DefaultApi,\n ReferenceIdListItem,\n ReferenceIdListItemLocations,\n} from '../services'\nimport { primaryPetrol } from '../components/Theme/CustomColors'\nimport LoadingAnimation from '../components/Loader/LoadingAnimation'\nimport { SnackbarContext } from '../context/Snackbar'\n\nconst useStyles = makeStyles({\n table: {\n minWidth: 650,\n },\n\n headCell: {\n paddingBottom: '1.2rem',\n },\n\n cell: {\n borderBottom: `1px solid ${primaryPetrol}`,\n },\n\n button: {\n padding: '0.375rem 2rem',\n margin: '0.8rem 0 4rem',\n },\n})\n\nconst HeadingCell = (props: { text: string }): JSX.Element => {\n const { text } = props\n const classes = useStyles()\n\n return (\n \n {text}\n \n )\n}\n\nconst BodyCell = (props: { text: string | number }): JSX.Element => {\n const { text } = props\n const classes = useStyles()\n\n return (\n \n \n {text}\n \n \n )\n}\n\nconst locationsToString = (\n locations: ReferenceIdListItemLocations[] | undefined\n): string => {\n if (!locations) return ''\n\n return locations\n .map((location) => {\n if (!location.address) return ''\n const { street, city, postalCode } = location.address\n return `${street}, ${postalCode} ${city}`\n })\n .join('\\n')\n}\n\nconst ReportingIdList = (): JSX.Element => {\n const classes = useStyles()\n\n const defaultApi = new DefaultApi()\n const { openSnackbarError, openSnackbar } = useContext(SnackbarContext)\n const { title, buttonText, locationHeading, reportingIdHeading } =\n CustomTexts.reportingIdList\n const [reportingList, setReportingList] = useState<\n null | ReferenceIdListItem[]\n >(null)\n const { DOWNLOAD_SUCCESS, KFW_REFERENCE_ID, PTJ_REFERENCE_ID } =\n CustomTranslations\n\n useEffect(() => {\n defaultApi\n .reportsReferenceIdListGet({})\n .then((res) => {\n setReportingList(res.data)\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n })\n }, [])\n\n const handleBtnClicked = (): void => {\n defaultApi\n .reportsReferenceIdListCsvGet()\n .then((response) => {\n const blob = new Blob([`\\uFEFF${response.data}` as BlobPart], {\n type: 'text/csv;charset=utf-8',\n })\n const href = window.URL.createObjectURL(blob)\n const link = document.createElement('a')\n link.href = href\n link.download = `reportingIds.csv`\n document.body.appendChild(link)\n link.click()\n link.remove()\n openSnackbar(DOWNLOAD_SUCCESS, 'success')\n })\n\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n })\n }\n\n return (\n <>\n {reportingList ? (\n \n \n \n \n {buttonText}\n \n\n \n \n \n \n \n \n \n \n \n {reportingList.map((report) => (\n \n \n \n \n \n ))}\n \n
\n
\n
\n ) : (\n \n )}\n \n )\n}\n\nexport default ReportingIdList\n","import {\n Box,\n createStyles,\n Grid,\n makeStyles,\n Typography,\n} from '@material-ui/core'\nimport React, { useContext, useRef } from 'react'\nimport { useParams } from 'react-router-dom'\nimport { AxiosError } from 'axios'\nimport CustomButton from '../components/Button/CustomButton'\nimport ColoredCard from '../components/Card/ColoredCard'\nimport { primaryPetrol50 } from '../components/Theme/CustomColors'\nimport CustomTitle from '../components/Title/CustomTitle'\nimport { DefaultApi } from '../services'\nimport CustomTexts from '../utils/lang/CustomTexts'\nimport { SnackbarContext } from '../context/Snackbar'\nimport CustomTooltip from '../components/Tooltip/CustomTooltip'\n\nconst useStyles = makeStyles(() =>\n createStyles({\n cardTitle: {\n marginBottom: '3rem',\n },\n\n collapseButton: {\n padding: '0 4.2rem 2.5rem',\n },\n\n checkBoxWithLabel: {\n paddingBottom: '3.5rem',\n whiteSpace: 'pre-wrap',\n },\n })\n)\n\nexport const ChargingUpload = (): JSX.Element => {\n const classes = useStyles()\n const { warning, success, title, card: cardTrans } = CustomTexts.csvUpload\n\n const inputRef = useRef(null)\n\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n\n const defaultApi = new DefaultApi()\n\n const getBase64 = (file: File): Promise => {\n return new Promise((resolve, reject) => {\n const reader = new FileReader()\n reader.onload = () => resolve(reader.result)\n reader.onerror = (error) => reject(error)\n reader.readAsDataURL(file)\n })\n }\n\n const handleUpload = async (\n event: React.ChangeEvent\n ): Promise => {\n const file = event.target.files?.[0]\n\n if (!file) return\n\n if (file.size > 1_000_000) {\n openSnackbar(warning, 'error')\n return\n }\n\n const base64data = await getBase64(file)\n const fileName = file.name\n\n if (locationId && reportId)\n defaultApi\n .reportReportIdLocationLocationIdChargingDataPost(\n locationId,\n reportId,\n {\n fileName,\n base64File: base64data as string,\n },\n {\n headers: {\n 'content-type': `multipart/form-data; boundary=--${Date.now()}`,\n accept: '*/*',\n },\n }\n )\n .then(() => {\n openSnackbar(success, 'success')\n })\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n })\n .finally(() => {\n if (inputRef.current) {\n inputRef.current.value = ''\n }\n })\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n {cardTrans.title}\n \n \n \n\n \n \n \n \n \n \n )\n}\n","import {\n Box,\n createStyles,\n Divider,\n Grid,\n makeStyles,\n Typography,\n} from '@material-ui/core'\nimport { MuiPickersUtilsProvider } from '@material-ui/pickers'\nimport { Form, Formik, FormikValues } from 'formik'\nimport React, { useContext } from 'react'\nimport DateFnsUtils from '@date-io/date-fns'\nimport deLocale from 'date-fns/locale/de-AT'\nimport { useNavigate, useParams } from 'react-router-dom'\nimport { AxiosError } from 'axios'\nimport ColoredCard from '../components/Card/ColoredCard'\nimport FormikDatepicker from '../components/Input/FormikDatepicker'\nimport {\n fontWhite,\n primaryPetrol,\n primaryPetrol50,\n} from '../components/Theme/CustomColors'\nimport CustomTitle from '../components/Title/CustomTitle'\nimport CustomTexts from '../utils/lang/CustomTexts'\nimport CustomTranslations from '../utils/lang/CustomTranslations'\nimport FormikCheckbox from '../components/Input/FormikCheckbox'\nimport { DefaultApi } from '../services'\nimport Yup from '../utils/lang/ValidationTranslation'\nimport { SnackbarContext } from '../context/Snackbar'\nimport CustomButton from '../components/Button/CustomButton'\nimport { CreateOperatingDataMethodOfRecordingEnum } from '../services/models/create-operating-data'\nimport { methodRecordingLabel } from '../utils/labelHelper'\nimport FormikSelect from '../components/Input/FormikSelect'\nimport FormikNumberField from '../components/Input/FormikNumberField'\n\nconst {\n title,\n unknownCheckbox,\n referencePeriodTitle,\n beginLabel,\n endLabel,\n energyAmountTitle,\n sumLabel,\n recordingMethodLabel,\n recordingMethodTitle,\n} = CustomTexts.chargingOperational\nconst { SAVE_SUCCESS, SEND } = CustomTranslations\n\nconst useStyles = makeStyles(() =>\n createStyles({\n divider: {\n marginTop: '3rem',\n marginBottom: '2rem',\n },\n\n datePicker: {\n width: '253px',\n marginTop: '1rem',\n marginRight: '1rem',\n },\n disabledTitle: {\n opacity: 0.3,\n },\n dateBox: {\n marginBottom: '4rem',\n display: 'flex',\n justifyContent: 'space-between',\n flexWrap: 'wrap',\n },\n })\n)\n\nconst YupDate = Yup.date()\n .nullable()\n .transform((v) => (v instanceof Date ? v : null))\n\nconst validationSchema = Yup.object().shape({\n referencePeriodStartDate: YupDate.when('energyAmountUnknown', {\n is: (energyAmountUnknown: boolean) => !energyAmountUnknown,\n then: YupDate.required(),\n }),\n referencePeriodEndDate: YupDate.when('energyAmountUnknown', {\n is: (energyAmountUnknown: boolean) => !energyAmountUnknown,\n then: YupDate.required(),\n }),\n energyAmount: Yup.number()\n .min(0)\n .when('energyAmountUnknown', {\n is: (energyAmountUnknown: boolean) => !energyAmountUnknown,\n then: Yup.number().min(0).required(),\n }),\n methodOfRecording: Yup.string().when('energyAmountUnknown', {\n is: (energyAmountUnknown: boolean) => !energyAmountUnknown,\n then: Yup.string().required(),\n }),\n})\n\nconst ChargingOperationalForm = (props: {\n onSubmit: (values: FormikValues) => void\n}): JSX.Element => {\n const classes = useStyles()\n\n const { onSubmit } = props\n\n const renderQuestionTitle = (\n questionTitle: string,\n disabled: boolean\n ): JSX.Element => {\n return (\n \n {questionTitle}\n \n )\n }\n\n return (\n \n {\n onSubmit(values)\n actions.resetForm()\n }}\n >\n {({ values, touched, errors }): JSX.Element => (\n
\n \n\n \n\n {renderQuestionTitle(\n referencePeriodTitle,\n values.energyAmountUnknown\n )}\n\n \n \n \n \n
\n \n \n \n
\n\n {renderQuestionTitle(energyAmountTitle, values.energyAmountUnknown)}\n\n \n \n \n\n {renderQuestionTitle(\n recordingMethodTitle,\n values.energyAmountUnknown\n )}\n\n {\n return {\n title: methodRecordingLabel(type),\n value: type,\n }\n })}\n />\n \n )}\n \n
\n )\n}\n\nconst ChargingOperationalData = (): JSX.Element => {\n const defaultApi = new DefaultApi()\n const { reportId, locationId } = useParams<{\n reportId: string\n locationId: string\n }>()\n const navigate = useNavigate()\n const { openSnackbar, openSnackbarError } = useContext(SnackbarContext)\n\n const handleSubmit = (values: FormikValues): void => {\n if (reportId && locationId)\n defaultApi\n .reportReportIdLocationLocationIdOperatingDataPost(\n locationId,\n reportId,\n values.energyAmountUnknown\n ? { energyAmountUnknown: values.energyAmountUnknown }\n : values\n )\n .then(() => {\n openSnackbar(SAVE_SUCCESS, 'success')\n navigate(-1)\n })\n .catch((e: AxiosError) => openSnackbarError(e))\n }\n\n return (\n <>\n \n \n \n \n \n \n \n \n \n \n {SEND}\n \n \n \n \n \n \n )\n}\n\nexport default ChargingOperationalData\n","import { Box, createStyles, makeStyles, Typography } from '@material-ui/core'\nimport { Form, Formik, FormikValues } from 'formik'\nimport React, { useContext, useEffect, useState } from 'react'\nimport CustomButton from '../components/Button/CustomButton'\nimport ColoredCard from '../components/Card/ColoredCard'\nimport FormikSelect from '../components/Input/FormikSelect'\nimport FormikTextField from '../components/Input/FormikTextField'\nimport { primaryPetrol50 } from '../components/Theme/CustomColors'\nimport CustomTitle from '../components/Title/CustomTitle'\nimport { SnackbarContext } from '../context/Snackbar'\nimport { DefaultApi } from '../services/api/default-api'\nimport { UserEmailFilterListItem } from '../services/models/user-email-filter-list-item'\nimport CustomTexts from '../utils/lang/CustomTexts'\nimport CustomTranslations from '../utils/lang/CustomTranslations'\n\nconst useStyles = makeStyles(() =>\n createStyles({\n disabled: {\n opacity: 0.3,\n },\n })\n)\n\nconst Admin = (): JSX.Element => {\n const {\n title,\n filterText,\n customFilter,\n subject,\n message,\n emailTitle,\n recipientAmount,\n submitFilter,\n } = CustomTexts.adminPanel\n const defaultApi = new DefaultApi()\n const { openSnackbarError, openSnackbar } = useContext(SnackbarContext)\n const [options, setOptions] = useState([])\n const [emails, setEmails] = useState([])\n const classes = useStyles()\n\n useEffect(() => {\n defaultApi\n .restrictedUserEmailsFilterGet()\n .then((res) => setOptions(res.data))\n }, [])\n\n const handleFilter = (values: FormikValues): void => {\n const base64 = btoa(values.base64Query)\n defaultApi\n .restrictedUserEmailsQueryPost({\n base64Query: values.filter !== 'customFilter' ? values.filter : base64,\n })\n .then((res) => {\n openSnackbar(CustomTranslations.FILTER_SUCCESS, 'success')\n setEmails(res.data)\n })\n .catch((err) => openSnackbarError(err))\n }\n\n const handleSubmit = (values: FormikValues): void => {\n defaultApi\n .restrictedUserEmailsPost({\n mailList: emails,\n mailBody: values.body,\n mailSubject: values.subject.toString(),\n })\n .then(() =>\n openSnackbar(CustomTranslations.EMAIL_SEND_SUCCESS, 'success')\n )\n .catch((err) => openSnackbarError(err))\n }\n\n return (\n \n \n \n handleSubmit(values)}\n >\n {({ submitForm, values }): JSX.Element => (\n
\n \n \n {filterText.title}\n \n {\n return {\n title: item.name || '',\n value: item.base64Query || '',\n }\n }),\n { title: customFilter.title, value: 'customFilter' },\n ]}\n />\n \n \n \n \n \n handleFilter(values)}>\n {submitFilter}\n \n \n \n \n {recipientAmount}\n \n {emails.length}\n \n \n \n \n \n {CustomTranslations.SEND}\n \n \n \n )}\n \n
\n
\n )\n}\n\nexport default Admin\n","export const isAdminGroup = (groups: string[]): boolean => {\n return !!groups.find((item: string) => item.includes('admin-group'))\n}\n","import React, { useContext } from 'react'\nimport { Grid, makeStyles } from '@material-ui/core'\nimport { AxiosError } from 'axios'\nimport CustomTitle from '../components/Title/CustomTitle'\nimport CustomTexts from '../utils/lang/CustomTexts'\nimport CustomTranslations from '../utils/lang/CustomTranslations'\nimport CustomButton from '../components/Button/CustomButton'\nimport { DefaultApi } from '../services'\nimport { SnackbarContext } from '../context/Snackbar'\n\nconst useStyles = makeStyles({\n button: {\n padding: '0.375rem 2rem',\n margin: '0.8rem 0 4rem',\n },\n})\n\nconst FAQDownload = (): JSX.Element => {\n const classes = useStyles()\n const defaultApi = new DefaultApi()\n const { openSnackbarError, openSnackbar } = useContext(SnackbarContext)\n const { title, buttonText } = CustomTexts.faq\n const { DOWNLOAD_SUCCESS } = CustomTranslations\n\n const handleBtnClicked = (): void => {\n defaultApi\n .faqGet({\n responseType: 'arraybuffer',\n })\n .then((response) => {\n const type = response.headers['content-type']\n const blob = new Blob([response.data as BlobPart], {\n type: `${type};charset=utf-8`,\n })\n const href = window.URL.createObjectURL(blob)\n const link = document.createElement('a')\n link.href = href\n link.download = `OBELIS_gewerblich_FAQ.pdf`\n document.body.appendChild(link)\n link.click()\n link.remove()\n openSnackbar(DOWNLOAD_SUCCESS, 'success')\n })\n\n .catch((e: AxiosError) => {\n openSnackbarError(e)\n })\n }\n\n return (\n <>\n \n \n \n \n {buttonText}\n \n \n \n \n )\n}\n\nexport default FAQDownload\n","import { useContext } from 'react'\nimport { Box, makeStyles } from '@material-ui/core'\nimport { Route, useLocation, Routes } from 'react-router-dom'\nimport ErrorBoundary from '../components/Error/ErrorBoundaries'\nimport Dashboard from '../pages/Dashboard/Dashboard'\nimport Profile from '../pages/Profile'\nimport {\n CHARGED_ENGERY,\n DASHBOARD,\n FAQ,\n ID_LIST,\n NEW_REPORT,\n PROFILE,\n REPORT,\n REPORT_DATA,\n ROOT_PATH,\n UPLOAD_CHARGING_DATA,\n} from './routes'\nimport UserAvatar from '../components/Avatar/UserAvatar'\nimport Sidebar from '../components/Navigation/Sidebar'\nimport CreateReport from '../pages/Report/CreateReport'\nimport LocationDetail from '../pages/Report/Location/LocationDetail'\nimport LocationList from '../pages/Report/Location/LocationList'\nimport { matchReportDataPath } from '../utils/locationPath'\nimport SnackbarProvider from '../context/Snackbar'\nimport LocationStepper from '../pages/Report/Location/Stepper/LocationStepper'\nimport ReportingIdList from '../pages/ReportingIdList'\nimport { ChargingUpload } from '../pages/ChargingUpload'\nimport ChargingOperationalData from '../pages/ChargingOperationalData'\nimport Admin from '../pages/Admin'\nimport { isAdminGroup } from '../utils/authHelper'\nimport FAQDownload from '../pages/FaqDownload'\nimport UserContext from '../context/User'\n\nconst NowRouter = (): JSX.Element => {\n const location = useLocation()\n const { user } = useContext(UserContext)\n const isRestrictedAdmin = isAdminGroup(user?.userGroups || [])\n const matchPath = matchReportDataPath(location.pathname)\n const useStyles = makeStyles((theme) => ({\n root: {\n [theme.breakpoints.down('md')]: {\n width: '100%',\n },\n },\n }))\n\n const classes = useStyles()\n\n return (\n \n \n \n \n \n \n \n {isRestrictedAdmin ? : }\n \n }\n />\n \n {isRestrictedAdmin ? : }\n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n }\n />\n \n \n \n \n )\n}\n\nexport default NowRouter\n","import React, { useEffect, useState } from 'react'\nimport {\n AmplifyAuthenticator,\n AmplifySignUp,\n AmplifySignIn,\n AmplifyVerifyContact,\n} from '@aws-amplify/ui-react'\nimport { AuthState, CognitoUserInterface } from '@aws-amplify/ui-components'\nimport CustomTranslations from '../../utils/lang/CustomTranslations'\nimport LogoGrid from '../../pages/LogoGrid'\n\nconst AmplifyAuth = (props: {\n authState: AuthState | undefined\n user: CognitoUserInterface | undefined\n}): JSX.Element => {\n const { authState, user } = props\n const { SIGN_IN_LABEL, SIGN_UP_LABEL } = CustomTranslations\n const [cognitoUser, setCognitoUser] = useState<\n CognitoUserInterface | undefined\n >(user)\n\n if (authState === AuthState.VerifyContact) {\n const style = document.createElement('style')\n const host = document.getElementsByTagName('amplify-verify-contact')\n style.innerHTML = 'span amplify-button { display: none; }'\n if (host.length > 0) host[0].shadowRoot?.appendChild(style)\n }\n\n useEffect(() => {\n setCognitoUser(user)\n }, [user])\n\n return (\n \n {authState !== AuthState.VerifyContact}\n \n
\n \n
\n \n \n
\n \n
\n \n \n \n )\n}\n\nexport default AmplifyAuth\n","import React, { useEffect, useState } from 'react'\nimport { Box } from '@material-ui/core'\nimport { Amplify, Auth, I18n } from 'aws-amplify'\nimport {\n AuthState,\n CognitoUserInterface,\n onAuthUIStateChange,\n} from '@aws-amplify/ui-components'\nimport { BrowserRouter } from 'react-router-dom'\nimport config from './aws-exports.js'\nimport NowRouter from './routes/NowRouter'\nimport AmplifyTranslations from './utils/lang/AmplifyTranslations'\nimport AmplifyAuth from './components/Auth/AmplifyAuth'\nimport UserContext, { User } from './context/User'\n\nAmplify.configure(config)\nI18n.setLanguage('de-DE')\nI18n.putVocabulariesForLanguage('de-DE', AmplifyTranslations)\n\nfunction App(): JSX.Element {\n const [authState, setAuthState] = useState()\n const [user, setUser] = useState()\n\n useEffect(() => {\n return onAuthUIStateChange((nextAuthState, authData) => {\n const userData = authData as CognitoUserInterface\n const userObj = {\n ...userData,\n authState: nextAuthState,\n userGroups:\n userData && userData.signInUserSession\n ? userData.signInUserSession?.idToken.payload['cognito:groups']\n : '',\n }\n setAuthState(nextAuthState)\n\n if (AuthState.SignedIn === nextAuthState) {\n Auth.currentUserInfo().then((currentUserInfo) => {\n const { attributes } = currentUserInfo\n setUser({\n ...userObj,\n emailVerified: attributes.email_verified,\n email: attributes.email,\n } as User | undefined)\n })\n } else {\n setUser(userObj as User | undefined)\n }\n })\n }, [])\n\n return authState === AuthState.SignedIn && user ? (\n
\n setUser(u),\n }}\n >\n \n \n \n \n
\n ) : (\n \n \n \n )\n}\n\nexport default App\n","import { ReportHandler } from 'web-vitals'\n\nconst reportWebVitals = (onPerfEntry?: ReportHandler): void => {\n if (onPerfEntry && onPerfEntry instanceof Function) {\n import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => {\n getCLS(onPerfEntry)\n getFID(onPerfEntry)\n getFCP(onPerfEntry)\n getLCP(onPerfEntry)\n getTTFB(onPerfEntry)\n })\n }\n}\n\nexport default reportWebVitals\n","export default __webpack_public_path__ + \"static/media/ccd9698a-60c5-48f7-acbe-5352b4aa81d4.5c4917f9.woff\";","export default __webpack_public_path__ + \"static/media/58c01d2a-ce4a-4360-a61f-761e91aa67c0.10411352.woff2\";","export default __webpack_public_path__ + \"static/media/7ce02c2c-45d4-4dee-90f2-f8034e29ac24.7b08b473.woff\";","export default __webpack_public_path__ + \"static/media/bf8f8741-5f64-4db9-a877-a44624092e68.c7aaa988.woff2\";","/*\nThis CSS resource incorporates links to font software which is the valuable copyrighted property of Monotype and/or its suppliers. You may not attempt to copy, install, redistribute, convert, modify or reverse engineer this font software. Please contact Monotype with any questions regarding Web Fonts: http://www.fontshop.com\n*/\n\nimport UniversLightWoff from './1475998/ccd9698a-60c5-48f7-acbe-5352b4aa81d4.woff'\nimport UniversLightWoff2 from './1475998/58c01d2a-ce4a-4360-a61f-761e91aa67c0.woff2'\nimport UniversLightCondensedWoff from './1476004/7ce02c2c-45d4-4dee-90f2-f8034e29ac24.woff'\nimport UniversLightCondensedWoff2 from './1476004/bf8f8741-5f64-4db9-a877-a44624092e68.woff2'\n\nconst UniversLight = {\n fontFamily: 'Univers LT W01_47 Light',\n src: ` \n url(${UniversLightWoff}) format(\"woff2\"),\n url(${UniversLightWoff2}) format(\"woff\");`,\n}\n\nconst UniversCondensed = {\n fontFamily: 'Univers LT W01_57 Condensed',\n src: ` \n url(${UniversLightCondensedWoff}) format(\"woff2\"),\n url(${UniversLightCondensedWoff2}) format(\"woff\");`,\n}\n\nexport default [UniversLight, UniversCondensed]\n","import { createTheme, CssBaseline } from '@material-ui/core'\nimport { ThemeProvider } from '@material-ui/core/styles'\nimport { Shadows } from '@material-ui/core/styles/shadows'\nimport {\n primaryWhite,\n fontWhite,\n errorRed,\n warningYellow,\n successGreen,\n secondaryFrogGreen,\n secondaryGrasGreen,\n secondaryLightGreen,\n primaryPetrol,\n primaryPetrolLight,\n primaryPetrolSoft,\n secondaryBlackBlue,\n secondaryPaleOrange,\n} from './CustomColors'\nimport CustomFonts from '../../assets/fonts/CustomFonts'\n\nconst theme = createTheme({\n typography: {\n htmlFontSize: 16,\n fontFamily: 'Univers LT W01_47 Light, Roboto',\n h1: {\n fontFamily: 'Univers LT W01_57 Condensed',\n fontSize: 28,\n letterSpacing: 0,\n },\n h2: {\n fontFamily: 'Univers LT W01_57 Condensed',\n fontSize: 24,\n letterSpacing: 0.15,\n },\n h3: {\n fontFamily: 'Univers LT W01_47 Light',\n fontSize: 20,\n letterSpacing: 0.15,\n },\n h4: {\n fontFamily: 'Univers LT W01_47 Light',\n fontSize: 20,\n letterSpacing: 0.15,\n },\n body1: {\n fontFamily: 'Univers LT W01_47 Light',\n fontSize: 17,\n letterSpacing: 0.5,\n },\n body2: {\n fontFamily: 'Univers LT W01_47 Light',\n fontSize: 14,\n letterSpacing: 0.5,\n },\n button: {\n fontFamily: 'Univers LT W01_47 Light',\n fontSize: 14,\n letterSpacing: 0.5,\n textTransform: 'capitalize',\n },\n caption: {\n fontFamily: 'Univers LT W01_47 Light',\n fontSize: 12,\n letterSpacing: 0.4,\n },\n overline: {\n fontFamily: 'Univers LT W01_57 Condensed',\n fontSize: 12,\n letterSpacing: 0.5,\n },\n },\n palette: {\n text: {\n primary: secondaryBlackBlue,\n },\n primary: {\n light: primaryPetrolSoft,\n dark: primaryPetrolLight,\n main: primaryPetrol,\n contrastText: fontWhite,\n },\n secondary: {\n light: secondaryLightGreen,\n main: secondaryGrasGreen,\n contrastText: fontWhite,\n },\n error: {\n main: errorRed,\n contrastText: fontWhite,\n },\n warning: {\n main: warningYellow,\n contrastText: fontWhite,\n },\n success: {\n main: successGreen,\n contrastText: fontWhite,\n },\n },\n shadows: Array(25).fill('none') as Shadows,\n overrides: {\n MuiCssBaseline: {\n '@global': {\n '@font-face': CustomFonts,\n ':root': {\n '--amplify-primary-color': secondaryGrasGreen,\n '--amplify-primary-tint': secondaryGrasGreen,\n '--amplify-primary-shade': secondaryFrogGreen,\n '--amplify-font-family': 'Univers LT W01_47 Light, Roboto',\n },\n 'amplify-authenticator': {\n '--min-width': '517px',\n },\n body: {\n margin: 0,\n backgroundColor: primaryWhite,\n '& input[type=number]::-webkit-inner-spin-button, input[type=number]::-webkit-outer-spin-button':\n {\n '-webkit-appearance': 'none',\n margin: 0,\n },\n },\n },\n },\n MuiButton: {\n root: {\n borderRadius: 200,\n padding: '6px 17px',\n fontSize: 15,\n textTransform: 'none',\n minWidth: '190px',\n },\n text: {\n minWidth: 'unset',\n '&:hover': {\n backgroundColor: 'transparent',\n },\n },\n },\n MuiDivider: {\n root: {\n margin: '3.15rem 0',\n backgroundColor: primaryPetrolSoft,\n },\n },\n MuiTooltip: {\n tooltip: {\n backgroundColor: secondaryPaleOrange,\n color: secondaryBlackBlue,\n fontSize: 14,\n padding: '0.6rem 1.7rem ',\n boxShadow: '0px 4px 4px 0px #00000040',\n textAlign: 'center',\n },\n arrow: {\n '&:before': {\n border: `1px solid ${secondaryPaleOrange}`,\n color: secondaryPaleOrange,\n },\n },\n },\n },\n})\ninterface NowThemeProps {\n children: JSX.Element\n}\n\nconst NowTheme = (props: NowThemeProps): JSX.Element => {\n const { children } = props\n return (\n \n \n {children}\n \n )\n}\n\nexport default NowTheme\n","/* eslint-disable no-param-reassign */\nimport axios from 'axios'\nimport { aws4Interceptor } from 'aws4-axios'\nimport { Auth } from 'aws-amplify'\n\nexport async function AxiosInterceptor(): Promise {\n const customCredentialsProvider = {\n getCredentials: async () => {\n const credentials = await Auth.currentCredentials()\n return Auth.essentialCredentials(credentials)\n },\n }\n\n const axiosAWS4Interceptor = aws4Interceptor({\n options: {\n region: 'eu-central-1',\n service: 'execute-api',\n },\n credentials: customCredentialsProvider,\n })\n\n axios.interceptors.request.use(axiosAWS4Interceptor)\n axios.interceptors.request.use(async (config) => {\n const token = await Auth.currentSession()\n config.headers['X-Amz-Access-Token'] = token.getAccessToken().getJwtToken()\n config.headers['X-Amz-Id-Token'] = token.getIdToken().getJwtToken()\n return config\n })\n}\n","import React from 'react'\nimport ReactDOM from 'react-dom'\nimport App from './App'\nimport reportWebVitals from './reportWebVitals'\nimport NowTheme from './components/Theme/NowTheme'\nimport '@fontsource/roboto'\nimport { AxiosInterceptor } from './openapi/axios-config'\n\nAxiosInterceptor()\n\nReactDOM.render(\n \n \n \n \n ,\n document.getElementById('root')\n)\n\n// If you want to start measuring performance in your app, pass a function\n// to log results (for example: reportWebVitals(console.log))\n// or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals\nreportWebVitals()\n"],"sourceRoot":""}