{"version":3,"sources":["common/components/styled-components.ts","common/hooks/keyboard-accessibility.ts","themes/default-theme.ts","serviceWorkerRegistration.ts","assets/svg/sign-in.svg","modules/login/hooks/load-config.ts","modules/login/hooks/set-window-obj-config.ts","modules/login/component/parts/login-controls.tsx","modules/login/component/parts/login-header.tsx","modules/login/component/parts/login-panel.tsx","modules/login/component/login.tsx","assets/svg/not-found-illustration.svg","modules/login/component/session-out-page.tsx","common/copyright-info.tsx","modules/login/pages/login-page.tsx","modules/core/providers/context.ts","modules/core/component/navigation-base-menu.tsx","modules/core/component/logo.tsx","modules/core/component/parts/user-details/user-details.tsx","assets/svg/route-not-found-illustration.svg","modules/core/component/nav-bar-footer.tsx","modules/core/component/parts/user-details/notification-button.tsx","modules/core/pages/not-found-page.tsx","assets/svg/download-build.svg","modules/my-apps/components/download-build/download-build-page.tsx","modules/core/component/core-app-layout.tsx","modules/core/containers/core-app-layout-container.tsx","modules/core/queries/query-enums.ts","modules/core/containers/notification-details-admin-container.tsx","modules/core/component/parts/notifications/notifications-count.tsx","modules/core/component/parts/notifications/notification-list-item.tsx","modules/core/component/parts/notifications/notification-details.tsx","modules/core/containers/notification-contanier.tsx","modules/core/containers/notification-details-container.tsx","modules/core/component/parts/user-details/user-settings.tsx","modules/core/containers/user-settings-container.tsx","modules/core/queries/user-settings-query.ts","common/components/form-fields/rich-text-field.tsx","modules/core/component/parts/user-details/create-announcement/create-announcement-form.tsx","modules/core/component/parts/user-details/create-announcement/create-announcement.tsx","modules/core/containers/create-announcement-container.tsx","modules/core/containers/edit-announcement-container.tsx","assets/svg/reset-password.svg","modules/reset-or-change-password/component/parts/reset-password-controls.tsx","modules/reset-or-change-password/component/parts/change-password-controls.tsx","lib/hooks/validate-password-hook.ts","modules/reset-or-change-password/component/parts/reset-or-change-password-pane.tsx","modules/core/component/parts/user-details/change-password/change-password.tsx","modules/core/containers/change-password-container.tsx","modules/core/providers/provider.tsx","modules/core/routes.tsx","modules/core/index.ts","lib/module/as-lazy-loadable.ts","modules/dashboard/routes.tsx","modules/dashboard/index.ts","modules/my-apps/routes.tsx","modules/my-apps/index.ts","modules/archive/routes.tsx","modules/archive/index.ts","modules/default-app-settings/routes.tsx","modules/default-app-settings/index.ts","modules/create-new-app/routes.tsx","modules/create-new-app/index.ts","modules/reports/routes.tsx","modules/index.ts","modules/reports/index.ts","common/components/api-error/error-fallback.tsx","app.tsx","lib/authorization/access-rights.ts","app-loader.tsx","app-initializer.tsx","index.tsx","modules/shared/types/authentication-types.ts","modules/shared/types/styling-types.ts","modules/shared/types/upload-images-types.ts","dependencies.ts","common/utils.ts","common/regular-expressions.ts","assets/svg/error.svg","common/components/api-error/api-error.tsx","common/utils/error-message-utils.ts","modules/shared/content/app-logo-tile.tsx","modules/shared/content/app-logo-tile-preview-layout.tsx","modules/shared/content/android-tab-content.tsx","modules/shared/content/ios-tab-content.tsx","modules/shared/content/upload-images-tab.tsx","modules/core/clients/core-api-client.ts","modules/core/defaults/defaults.ts","modules/my-apps/queries/query-enums.ts","modules/my-apps/queries/get-my-apps-query.ts","modules/my-apps/queries/get-app-logo-query.ts","modules/my-apps/queries/archive-app-query.ts","modules/my-apps/queries/create-mobile-build-query.ts","modules/my-apps/queries/get-build-history-query.ts","modules/my-apps/queries/get-mobile-build-query.ts","modules/my-apps/queries/download-mobile-package-query.ts","modules/my-apps/queries/share-link-query.ts","modules/my-apps/queries/get-build-request-by-status-build-reqid.ts","modules/core/scopes/config-scope.tsx","common/components/api-error/index.ts","modules/create-new-app/components/app-wizard/steps/menu-options.tsx","modules/shared/queries/query-enum.ts","modules/shared/queries/get-company-details-query.ts","modules/shared/queries/get-menu-options-query.ts","modules/shared/queries/get-authentication-settings-query.ts","modules/shared/queries/get-app-theme-query.ts","modules/shared/queries/get-application-list-query.ts","modules/shared/queries/get-global-app-image-query.ts","modules/shared/queries/get-uploaded-images-query.ts","modules/shared/queries/get-notification-list-query.ts","modules/shared/queries/save-text-data-query.ts","modules/shared/queries/save-binary-data-query.ts","modules/shared/queries/get-text-data-query.ts","modules/shared/queries/create-announcement-query.tsx","modules/shared/queries/edit-announcement-query.tsx","modules/shared/queries/get-push-notifications-query.ts","modules/shared/queries/change-password-query.tsx","modules/shared/styled-components/common-styles.ts","modules/shared/styled-components/authentication-styles.ts","modules/shared/styled-components/app-layout-styles.ts","modules/shared/styled-components/upload-image-styles.ts","modules/shared/styled-components/build-app-styles.ts","modules/shared/styled-components/push-notifications-styles.ts","modules/shared/styled-components/menu-option-styles.ts","common/components/separator.tsx","modules/shared/defaults/upload-images-defaults.ts","modules/create-new-app/components/app-wizard/styled-components/common-styles.ts","modules/create-new-app/components/app-wizard/styled-components/app-filter-styles.ts","modules/create-new-app/components/app-wizard/styled-components/header-styles.ts","modules/create-new-app/components/app-wizard/styled-components/platform-styles.ts","modules/create-new-app/components/app-wizard/styled-components/basic-settings-styles.ts","modules/default-app-settings/queries/query-enum.ts","modules/default-app-settings/containers/company-details-container.tsx","modules/default-app-settings/containers/menu-options-container.tsx","modules/default-app-settings/containers/authentication-settings-container.tsx","modules/default-app-settings/containers/app-list-container.tsx","modules/default-app-settings/queries/clear-app-list-query.ts","modules/default-app-settings/containers/clear-app-list-container.tsx","modules/default-app-settings/containers/styling-container.tsx","modules/default-app-settings/containers/upload-images-container.tsx","modules/default-app-settings/containers/notification-list-container.tsx","modules/default-app-settings/containers/reset-default-settings-container.tsx","modules/default-app-settings/containers/push-notifications-container.tsx","common/service-client.tsx","common/methods/get-app-xml-data.ts","common/methods/utils.ts","common/xml-js-utils/xml-js-utils.ts","modules/create-new-app/components/app-wizard/steps/platform.tsx","modules/create-new-app/components/app-wizard/steps/basic-settings.tsx","modules/create-new-app/components/app-wizard/steps/authentication.tsx","modules/create-new-app/components/app-wizard/steps/app-filters.tsx","modules/create-new-app/components/app-wizard/steps/build-app.tsx","modules/create-new-app/components/app-wizard/steps/styling.tsx","modules/create-new-app/components/app-wizard/steps/upload-images.tsx","modules/create-new-app/components/app-wizard/steps/push-notifications.tsx","modules/default-app-settings/components/company-details/company-details-form.tsx","modules/default-app-settings/components/tab-footer-buttons.tsx","modules/default-app-settings/components/company-details/company-details.tsx","modules/default-app-settings/components/authentication.tsx","modules/default-app-settings/components/app-settings-layout.tsx","modules/default-app-settings/components/app-list/app-list.tsx","modules/default-app-settings/components/app-list/clear-list.tsx","modules/default-app-settings/components/menu-options.tsx","modules/default-app-settings/components/styling.tsx","modules/default-app-settings/components/upload-images.tsx","modules/default-app-settings/components/notification-list.tsx","modules/default-app-settings/components/reset-button.tsx","modules/default-app-settings/components/push-notifications.tsx","../node_modules/@agilepoint/web-components/dist/esm lazy /^/.*/.entry/.js$/ include: /.entry/.js$/ exclude: /.system/.entry/.js$/ groupOptions: {} namespace object","modules/create-new-app/components/app-wizard/footers/wizard-navigation-actions.tsx","assets/svg/general-settings.svg","modules/shared/forms/menu-options-form.tsx","modules/shared/forms/selected-auth-content-form.tsx","modules/shared/forms/authentication-form.tsx","modules/shared/forms/style-type-form.tsx","assets/svg/home.svg","assets/svg/inactive-delegation.svg","assets/svg/login-field.svg","assets/svg/my-apps-new.svg","assets/svg/my-tasks.svg","assets/svg/reminder-plan-for-the-day.svg","modules/shared/forms/styling-form.tsx","modules/shared/forms/push-notification-form.tsx","modules/shared/hooks/authentication-hooks.ts","modules/shared/hooks/upload-images-hooks.ts","modules/shared/hooks/menu-options-hooks.ts","lib/hooks/history-manager-hook.ts","lib/hooks/custom-popup.tsx","common/components/centered-spinner.tsx","modules/create-new-app/components/app-wizard/forms/basic-settings-form.tsx","lib/hooks/validate-helper-functions.ts","modules/create-new-app/components/app-wizard/forms/app-filters-form.tsx","modules/create-new-app/components/app-wizard/forms/android-build-details-form.tsx","modules/create-new-app/components/app-wizard/forms/ios-build-details-form.tsx","modules/create-new-app/components/app-wizard/forms/platform-types-form.tsx","modules/shared/functions/authentication.ts","modules/shared/functions/styling.tsx","modules/shared/functions/upload-images.ts","common/components/illustration-message.tsx","common/components/loading-illustration.tsx","common/components/common-information-message.tsx","common/components/style-literals.tsx","common/components/help-link/help-link.tsx","common/components/help-link/positioned-helplink.tsx","common/components/user-avatar-text.tsx","common/components/custom-popup.tsx","common/components/horizontal-line.tsx","common/components/icon-button.ts","common/components/custom-tooltip.tsx","common/components/email-input-control.tsx","common/components/grid-layout.tsx","common/components/form-fields/checkbox-group-field.tsx","common/components/form-fields/radio-group-field.tsx","common/components/file-upload/utils.ts","common/components/file-upload/parts/file-preview.tsx","common/components/file-upload/file-upload.tsx","common/components/form-fields/file-upload-field.tsx","common/components/form-fields/color-picker-callout-field.tsx","common/components/custom-file-upload/custom-file-upload.tsx","common/components/form-fields/image-upload-field.tsx","common/components/elastic-components.tsx","common/components/page-header.tsx"],"names":["StyledActionButton","styled","ActionButton","PlatformIcon","Icon","$platform","palette","theme","semantics","black","StyledFlexBox","FlexBox","$padding","$margin","$overflow","StyledStackPanel","StackPanel","margin","padding","maxHeight","maxWidth","overflow","position","top","right","bottom","left","primaryButtonStyles","css","StyledPrimaryButton","PrimaryButton","useKeyboardAccessibility","args","callback","optionalRef","elementRef","useChooseRef","onKeyDown","useCallback","ev","code","stopPropagation","useEffect","current","addEventListener","removeEventListener","themeRegistry","registerThemeUsingCompilers","layout","columnsCount","mobileAppAccelerator","semanticColors","grayVariant2","grayVariant3","grayVariant4","grayVariant5","grayVariant6","pageBackgroundColor","primaryTextColor","secondaryTextColor","horizontalLineColor","apStandardBlueColor","notificationBadgeColor","genericBorderColor","eyeIconfillColor","wizard","backgroundColor","colors","layers","contentBackground","stepSeparatorColor","activeStepColor","checkedStepColor","popupFooterSeparator","Boolean","window","location","hostname","match","_path","_path2","_path3","_path4","_path5","_ellipse","_ellipse2","_ellipse3","_rect","_rect2","_rect3","_g","_path6","_rect4","_path7","_rect5","_path8","_path9","_rect6","_path10","_path11","_path12","_path13","_path14","_path15","_path16","_path17","_path18","_g2","_ellipse4","_path19","_path20","_path21","_path22","_defs","_excluded","_extends","Object","assign","target","i","arguments","length","source","key","prototype","hasOwnProperty","call","apply","this","_objectWithoutProperties","excluded","sourceKeys","keys","indexOf","_objectWithoutPropertiesLoose","getOwnPropertySymbols","sourceSymbolKeys","propertyIsEnumerable","SvgSignIn","_ref","svgRef","title","titleId","props","width","height","viewBox","fill","xmlns","ref","id","clipPath","d","fillRule","clipRule","cx","cy","rx","ry","filter","style","maskType","maskUnits","x","y","mask","stroke","strokeWidth","strokeLinecap","strokeLinejoin","filterUnits","colorInterpolationFilters","floodOpacity","result","in","type","values","dy","stdDeviation","mode","in2","dx","ForwardRef","configFilePath","combineUrl","process","Date","getConfig","fetch","then","r","json","getAuthInfo","a","config","agilepoint","auth","expires","Heading","Typography","H1","SignInButton","StyledTextBoxField","TextBoxField","showErrorAnimation","LoginControlsBaseWrapper","ActionButtonsWrapper","StyledCheckboxField","CheckboxField","StyledForm","form","StyledWarningMessage","div","RelativeDiv","ShowPasswordIcon","$isError","LoginControlsBase","React","memo","useState","showError","setShowError","isLoginLoading","setIsLoginLoading","isLoading","setIsLoading","defaultConfig","setDefaultConfig","ConfigSource","fromFile","load","useLoadConfig","showPassword","setShowPassword","state","useLocation","setUserDetails","endPointURL","basePath","baseURL","cookieExpirationDays","cookieExpirationValue","userDetails","authorization","keepMeSignedIn","username","fullName","userType","setCookie","COOKIE_NAME","JSON","stringify","baseUrl","authentication","getToken","renewToken","apiUrl","culture","domain","userName","staySignedIn","useSetWindowObjConfig","apiEndPoint","onLogin","password","payload","getAuthenticateUserPayload","headers","method","response","ok","Error","status","statusText","toCamelCasedKeys","AuthenticateResult","Authorization","previousCompletePath","open","catch","err","console","error","useFormContext","handleSubmit","formState","onShowPasswordClick","prevValue","spinnerType","orientation","justifyContent","gap","name","label","validationRules","required","errors","message","iconName","onClick","size","LoginControls","methods","useForm","alignContent","memoizeFunction","btoa","H5","LoginHeadeWrapper","LoginHeader","alignment","iconSize","IllustrationWrapper","Wrapper","LoginPanel","_circle","_polygon","_polygon2","_circle2","SupportText","Login","Large","SvgNotFoundIllustration","xmlnsXlink","transform","opacity","isolation","points","Message","SessionOutPage","pathname","search","to","CopyRightInfo","XSmall","CopyRight","year","alignItems","translate","CoreAppLayout","BottomRightNotificationList","WithNotificationList","queryClient","QueryClient","defaultOptions","queries","refetchOnWindowFocus","AppRouter","appContext","children","basename","configuration","LoginPage","genericIconsSpritePath","iconSpriteAddons","src","themeName","genericIconSpritePath","client","path","element","Component","MenuItemsContext","createContext","menuItems","StyledCollapsibleMenu","Menu","CollapsibleMenu","borderRadius","curvedLarge","NavigationMenuBase","navigate","useNavigate","translatedMenuItems","useTranslate","useContext","map","item","useTranslatedMenuItem","split","moduleName","selectedId","setSelectedId","navHelpLink","selectMobileAppAcceleratorConfig","useConfigScopeSelectors","onChange","currentSelectedId","selectedRoute","items","disableModeChangeOnHover","highlightSelectionPath","isMenuCollapsed","Logo","history","useNavigateManager","logoClickHandler","push","UserDetailsWrapper","StyledUserName","Small","StyledContentMenu","white","commonStyles","outlineColor","ContentMenuItem","Medium","UserDetails","profileImage","isAdminTypeUser","splice","useMenuItems","calloutRef","useRef","showCallout","setShowCallout","showHideCalloutHandler","p","flexDirection","Fragment","userFullName","toString","targetRef","onDismiss","preventClickEventPropagation","_path23","ContextMenu","useCustomPopupEvents","showCustomPopup","removePopup","selectBasePathURL","renderUserSettingsPopup","UserSettingsContainer","renderChangePasswordPopup","ChangePasswordContainer","onMenuItemChange","onRenderContent","showModal","headerTitle","cssStyles","CreateAnnouncementContainer","clearCookies","tabIndex","HorizontalSeparator","NavBarFooter","selectCurrentUserDetails","isUserTypeAdmin","userOrgInfo","renderSeperator","separator","SvgRouteNotFoundIllustration","enableBackground","xmlSpace","MainHeaderInfo","typographyPresets","headings","h1","NotFoundPage","className","H4","SvgDownloadBuild","undefined","StyledBuildIllustrations","DownloadBuildIllustration","ContentWrapper","StyledProgressIndicator","ProgressIndicator","DownloadBuildPage","refetch","useGetBuildRequestByStatusOrBuildIdQuery","useOptionalDownloadMobilePackageQuery","downloadPackage","progress","setProgress","onDownload","data","res","buildRequestId","packageResponse","reader","body","getReader","contentLength","Number","get","receivedLength","chunks","read","done","value","currentProgress","Math","round","blob","Blob","fileName","appFileDisplayName","appType","saveFile","H3","disabled","hidden","progressIndicatorType","showPercentage","PrimaryContentArea","NavMenuBlock","$isMenuCollapsed","NavResult","ContentArea","CoreAppLayoutBase","routes","toggleMenu","copyrightYear","onModeChange","cursorType","fallback","CoreAppLayoutContainer","selectCulture","createElement","CorePageEndPoints","CorePageQueryKey","animateNotification","h6","Callout","Title","textOverflow","textStyles","small","lightSmall","ListView","IllustrationMessage","CenteredSpinner","StyledImage","img","RelativePositionedFlexBox","neutralLight","FooterContainer","baseImage","getCommonPayload","BinaryData","ContentType","CreatedDate","getCurrentDate","ELEMENTID","SecondaryReference","replace","UserSettingsBase","onSaveUserDetails","currentUserDetails","locales","useLocaleValues","imgURL","setImgURL","showNotifications","useNotificationEvents","isSavingData","setIsSavingData","showPopup","setPopupDisplay","imageValue","watch","toggleResetPopup","saveUserSettings","formData","TextData","handleResetClick","displayName","email","locale","renderResetConfirmationPopupContent","renderFooterContent","onReset","accept","onRenderFooter","UserSettings","defaultValues","getData","useServiceClient","useQuery","GET_USER_SETTINGS","e","log","getUserProfilePayloadDefault","useUserSettingsQuery","mutateAsync","useSaveTextDataQuery","text","parse","StyledRichTextEditor","RichTextEditor","RichTextField","defaultValue","restProps","control","renderRichTextControl","field","onValueChange","render","rules","as","StyledErrorMessage","StyledToggleInputField","ToggleInputField","CreateAnnouncementFormGlobalStyle","createGlobalStyle","CreateAnnouncementForm","saveAnnouncementInfo","popupId","sucessMessage","saveAnnouncementHandler","subTitle","content","deviceType","labelPosition","CreateAccouncement","announcementData","useCreateAnnouncementQuery","announcement","toTitleCasedKeys","createdBy","find","_g3","_g4","_g5","_g6","_g7","_path24","_path25","_path26","_path27","_path28","_path29","_path30","_path31","_path32","_g8","_path33","_path34","_g9","_path35","_path36","_g10","_path37","_path38","_path39","_path40","_path41","_path42","_path43","_path44","_path45","_path46","_path47","_path48","_path49","_path50","_path51","_path52","_path53","_path54","_path55","_g11","_path56","SvgResetPassword","x1","y1","x2","y2","gradientUnits","stopColor","stopOpacity","offset","H2","ResetMessage","H6","StyledFormInputs","neutralPrimary","StyledGoBackButton","ResetButton","ResetControlsBase","placeholder","ResetPasswordControls","ChangePasswordButton","themePrimary","ChangeControlsBase","changePasswordHandler","showCurrentPassword","setShowCurrentPassword","showNewPassword","setShowNewPassword","showConfirmPassword","setShowConfirmPassword","onShowCurrentPasswordClick","onShowNewPasswordClick","onConfirmPasswordClick","confirmPassword","validatePasswordPattern","test","validatePasswordMatch","useValidatePasswordHook","onFormSubmit","newPassword","oldPassword","currentPassword","ChangeUserPasswordResult","validate","isValid","ChangePasswordControl","ResetOrChangePasswordPane","isReset","ChangePassword","useChangePasswordQuery","modulesMap","reduceMappedMenuItems","prev","curr","concat","MenuItemsProvider","modules","menuItemsInfo","useMemo","reduce","Provider","OpenDashboardPage","CoreModule","version","description","context","asLazyLoadable","loader","component","lazy","DashboardPage","DashboardModule","order","route","MyAppsPage","MyAppsModule","ArchiveAppsPage","ArchiveAppsModule","DefaultAppSettings","DefaultAppSettingsModule","CreateNewAppPage","EditMobileAppAppPage","CreateNewAppModule","ReportsPage","allModules","slice","ErrorFallbackWrapper","ReloadButton","reload","ErrorFallback","errorMessage","getErrorMessage","copyText","copyTextToClipboard","errorObject","headerMessage","AccessRightKeys","cacheTime","App","configScopeFactory","loaderFallback","onBuildIocContainer","builder","appContextDependency","inject","createConfigScopeBuilder","store","localizer","scopeName","scopeCreator","FallbackComponent","accessRights","AppWithAuthorizerLocalizer","injectLocalizationProvider","injectAuthorizationProvider","AppLoader","routeContext","getMenuItemsByGroup","group","createRoutes","loading","appLoadingContext","setAppLoadingContext","isInProduction","isProduction","environment","deepMerge","Promise","all","createLocalizer","namespacesToLoad","waitTillInitialized","debug","enhancer","compose","composed","composeWithDevTools","createStore","authorizationContext","accessCodes","authContext","createAuthorizationContext","authorizer","registerAccessRights","permissionStore","add","appProps","defaultLocale","AppInitializer","appInitialerInfo","setAppInitilizerInfo","getCulture","CoreApiClient","getLoggedUserDetails","getCookieExpirationVal","date","setTime","getTime","toUTCString","boot","configValue","cookieValue","getCookie","configSource","from","createAppContext","rootSelector","host","document","querySelector","ReactDOM","navigator","serviceWorker","ready","registration","unregister","AuthenticationProviderKeys","PredefinedColors","UploadImagesFormFields","UploadImageNativeFileNames","createDependency","Symbol","validateEmail","emailRegExp","cookieName","expireDays","cookieExpireValue","encodedCookieValue","encodeURI","cookie","cookieList","charAt","substring","decodeURI","cookiesList","eqPos","substr","toBoolean","websiteRegExp","RegExp","urlRegExp","_circle3","SvgError","ErrorInfo","defaultErrorMessage","stack","AppLogoTile","imageSize","imageType","resetImageURL","imagePickerFieldName","loadBackgroudColor","androidSplashScreenHDPIPortrait","androidSplashScreenXXHDPIPortrait","androidSplashScreenXHDPIPortrait","resetField","onUndoClick","keepDirty","AppLogoTilePreviewLayout","appTileMetadata","menuColor","app","headingLabel","logoTileDetails","logoDetails","appIllustrationName","AndroidTabContent","androidAppLogoHDPIPortrait","DefaultUploadImages","AppLogo","androidAppLogoXHDPIPortrait","androidAppIconHDPIPortrait","AppIcon","androidAppIconXHDPIPortrait","androidAppIconXXHDPIPortrait","SplashScreenPortraitHDPI","SplashScreenPortraitXHDPI","SplashScreenPortraitXXHDPI","useAppTileInfo","isAndroid","IOSTabContent","iosAppDefaultIcon","iosAppApplicationLogo","iosSplashScreeniphone","SplashScreenPortrait","useIosAppTileInfo","androidDetails","iosDetails","BasicSettingsGlobalStyle1","UploadImagesTab","platformTypes","containerHeight","headerLabel","activeTab","setActiveTab","removePopupHandler","onOKClick","forEach","onTabChange","tabDetails","onResetAllClick","androidTab","header","iosTab","tabHeight","includes","PlatformTypes","Android","IOS","agilepointServiceClient","getJSON","MyAppsEndPoints","MyAppsQueryKey","useGetMyAppQuery","getMyApps","GET_MY_APPS","useGetAppLogoQuery","appId","getAppLogo","GET_APP_LOGO","imageBlob","URL","createObjectURL","useArchiveAppQuery","postData","useQueryClient","archiveApps","ARCHIVE_APP","useMutation","onSuccess","invalidateQueries","useCreateMobileBuildQuery","createMobileBuild","CREATE_MOBILE_BUILD","useGetBuildHistoryQuery","appBaseId","getBuildHistory","GET_BUILD_HISTORY","useGetMobileBuildQuery","getMobileBuild","GET_MOBILE_BUILD","notifyOnChangeProps","useDownloadMobilePackageQuery","appDetails","DOWNLOAD_MOBILE_PACKAGE","enabled","useSendMailQuery","SHARE_LINK","BodyTemplate","BuildRequestId","To","emailRecepients","useSearchParams","GET_BUILD_REQUEST","coreApiClientDependency","initialState","modelBuilder","createModel","selectAppConfig","createSelector","selectAgilePointConfig","agp","userLocale","selectHelpBaseUrl","helpBaseUrl","selectHelpLinks","helpLinks","selectHelpLinkIdByType","selectAPIEndPoint","actionCreatorsFactory","registerActions","selectors","loadConfig","actions","initAsync","iocContainer","coreApiClient","userDetailsConfig","getUserDetailsConfig","createScopeFactory","modelFactory","eMailAddress","scopeId","useSelectors","MenuOptions","menuOptions","stepId","onSaveMenuOptionsDetails","useWizardStep","saveData","useMenuOptionsDefaultValues","subHeading","trigger","getValues","reset","onNext","updateMobileAppRsponse","UpdateMobileAppResult","hook","SharedEndPoints","SharedReactQueryKey","useGetCompanyDetailsQuery","getPayloadDetailsByType","useDefaultSettingsPayload","getCompanyDetails","GET_COMPANY_DETAILS","companyDetails","useGetMenuOptionsQuery","getMenuOptions","GET_MENU_OPTIONS","appMenusSettings","useGetAuthenticationSettingsQuery","getAuthenticationSettings","GET_AUTHENTICATION_SETTINGS","authenticationSettings","retry","useGetAppTheme","getAppTheme","GET_APP_THEME","appThemeSettings","useGetApplicationListQuery","getApplicationListDetails","GET_APPLICATION_LIST","applicationListSettings","useGetGlobalAppImageQuery","getGlobalAppImage","GET_GLOBAL_APP_IMAGE","globalAppImagesSettings","useGetUploadedImagesQuery","selectedIds","getURL","imageDataResponse","clone","file","File","readFileAsDataUrl","getImageData","GET_BINARY_DATA","imageUrl","ID","Name","reject","useGetNotificationListQuery","getNotificationListDetails","GET_NOTIFICATION_LIST","notificationListSettings","saveTextData","SAVE_TEXT_DATA","useSaveBinaryDataQuery","saveBinaryData","SAVE_BINARY_DATA","FileName","useGetTextDataQuery","getTextData","GET_TEXT_DATA","saveAnnouncement","SAVE_ANNOUNCEMENT","useUpdateAnnouncementQuery","updateAnnouncement","UPDATE_ANNOUNCEMENT","useGetPushNotificationsQuery","getPushNotifications","GET_PUSH_NOTIFICAITONS","pushNotificationsSettings","changePassword","CHANGE_PASSWORD","UncheckedState","span","$size","$borderSize","$isActive","ScrollableStackPanel","SectionLabel","attrs","curvedMedium","AuthFieldWrapper","AuthenicationProvidersGroup","CheckboxGroupField","fullWidth","AuthenicationTypeWrapper","$isSelected","borderColor","AuthenticationProviderIcon","AuthenticationFormWrapper","boldTextLabel","h5","AppStyleFields","RadioGroupField","h4","ColorSetWrapper","$borderColor","$isDisabled","CustomColorSetWrapper","StyledIcon","IconButton","PredefinedColorsRadioGroupField","StyledColorPickerCalloutField","ColorPickerCalloutField","PreviewWrapper","StyledStylingContainer","StyledNavigationButtons","LogoTileWrapper","StyledTabsPanel","TabsPanel","AndroidDescription","NegativeActionButton","StyledEmailInputControl","EmailInputControl","PushNotificationsWrapper","StyledGrid","GridLayout","MenuOptionsWrapper","StyledToggledInput","StyledText","LocaleDropdownField","DropdownField","FlexLine","String","isVerticalOrientation","color","beakPosition","getBeakDirection","isInverse","Beak","inverseBeak","beakColor","Separator","showBeak","rest","FooterBlock","AppListOptionsWrapper","StyledRadioGroupField","StyledListView","xxxxl","AppSelecionWrapper","AppSelectionHeaderWrapper","Label","$checked","uncheckedStyles","CompletedStepIcon","HeaderWrapper","PlatformTypeWrapper","PlatformSelectionFields","BuildDetailsFields","RelativePositionedFlexbox","FieldWrapper","BasicSettingsWrapper","StyledDropdownField","TextAreaWrapper","TextCounter","DefaultAppSettingsEndPoints","DefaultAppSettingsReactQueryKey","CompanyDetailsContainer","isFetching","mutationLoading","onSaveCompanyDetails","CompanyInfoEmail","Content","companyInfoEmail","CompanyName","companyName","CompanySupportEmail","companySupportEmail","CompanyWebsite","companyWebsite","CopyrightInfo","copyrightInfo","EULALink","eulaLink","EULAText","eulaText","compayDetails","MenuOptionsContainer","menuOPtions","AuthenticationSettingsContainer","onSaveAuthenticationSettingsDetails","authMetadata","AppListContainer","onSaveAppListDetails","appList","appMetadata","ApplicationList","restAPIData","ClearAppListContainer","clearAppList","CLEAR_APP_LIST","useClearAppListQuery","onClearList","onClearInternalState","StylingContainer","onSaveStylingDetails","styleData","UploadImagesContainer","appTheme","isAppThemeLoading","isAppthemeFeatching","imageData","imageDataLoading","binaryDataMutationLoading","saveTextDataMutation","saveDataMutationLoading","onSaveBinaryData","binaryDataPayload","ids","index","SaveBinaryDataResult","menuColorCode","NotificationsListContainer","onSaveNotificationListDetails","recepients","parsedTextData","notificationData","notificationList","getCommonPayloadData","default","hostUrl","value1","value2","ResetDefaultSettingsContainer","useDefaultSettingsContext","saveAuthenticationSettings","saveApplicationListSettings","saveNotificationListSettings","saveAppMenusSettings","saveAppThemeSettings","saveGlobalAppImagesSettings","savePushNotificationSettings","setDefaultSettingsConfig","invokeQueryInvalidation","doesNotIncludesAppListConfig","doesNotIncludesNotificationList","PushNotificationsContainer","onSavePushNotificationsDetails","pushNotifications","ServiceClient","apConfig","restURL","Headers","fetchData","endPoint","init","append","arg","ServiceClientContext","ServiceClientProvider","dom","DOMParser","checkForNewApp","xml","getElementsByTagName","arr","nameAttributeValue","attributes","getNamedItem","nodeValue","xmlTagNames","getAppDataFromXML","xmlStringContent","mobileApp","parseFromString","commonTextData","accumulator","xmlTag","tagName","tagValue","textContent","toCamelCase","features","getAttribute","isLocalized","getFeatures","styles","menuBackgroundColor","buttonColor","appFilters","foundAppFilters","appFilterNodes","join","getFilters","mobileAppPlatforms","ios","android","isNewApp","now","xmlJSONOptions","compact","textKey","cdataKey","attributesKey","spaces","getBasicSettingsXMLMappedValues","xmlJSON","otherProperties","appData","AppData","WizardStepState","BasicSettings","attribute","complete","mobileAppCommonSettings","MobileAppCommonSettings","cdata","DefaultLocale","MobileAppDescription","mobileAppDescription","MobileAppName","mobileAppName","MobileAppVersion","mobileAppVersion","MobileAppBaseId","mobileAppBaseId","EULALabel","getBasicSettingsValuesFromXML","EULA","getAuthenticationXMLMappedValues","parsedAuthData","isStepCompleted","serverURLs","serverURL","ServerConfiguration","ProductionServerInstanceUrl","Authentication","authProviders","AuthenticationProviders","AuthProvider","ClientId","Authority","UsernameClaimType","Selected","Default","UserImpersonationScopeURL","Domain","ActiveDirectoryConfiguration","EnableJWT","AudienceURL","isSelected","AgilePiontNXConfiguration","IdentityServerConfiguration","OktaConfiguration","SalesforceConfiguration","ConsumerKey","ReturnURL","ConsumerSecret","OfficeConfiguration","Resource","UseMSAuthenticatorApp","OfficeConfigurationChina","GoogleConfiguration","PingFederateConfiguration","AmazonCognitoConfiguration","setDefaultValue","currentDefaultValue","accumulatedValues","getAuthenticationValuesFromXML","productionURL","currentValue","enableJWT","audienceURL","clientId","authority","consumerKey","consumerSecret","resource","returnURL","useMSAuthenticatorApp","usernameClaimType","userImpersonationScopeURL","productionServerInstanceUrl","getAppFiltersXMLMappedValues","appListOptions","showApps","ApplicationFilters","Enabled","filterValues","entries","Filter","getAppFiltersFromXML","appListAPIData","appFiltersArrayCheck","isArray","filtersArray","foundItem","apiItem","appID","guid","acc","getMenuOptionsXMLMappedValues","parsedAppMenus","newFormat","menu","isEnabled","DisplayName","Value","IsLocalized","MobileAppMenu","arrayLikeObject","Array","menuName","fieldValue","menuObj","getMenuOptionsFromXML","_acc","_curr","getPlatformCertificateXMLMappedValues","certificateDetails","iOS","Platform","MobileAppPlatform","androidNode","AndroidAppSettings","MobileBuildType","buildTypes","PackageName","packageName","StoreCertificate","CertificateFile","androidCertificateId","CertificateFileName","certificate","selectedFiles","storePassword","keyAlias","keyPassword","iosNode","IOSAppSettings","iosP12CertificateId","Password","ProvisioningProfile","iosProvisioningCertificateId","ProvisioningProfileCertificateFileName","provisioningProfile","setPlatformValuesToXML","getPlatformValuesFromXML","platformData","action","changedFileIds","getApplicationThemeXMLMappedValues","parsedAppThemeValues","Theme","androidAppThemeAttributes","ApplicationTheme","AppBackgroundColor","MenuBackgroundColor","ThemeName","previewImage","iosAppThemeAttributes","windowsAppThemeAttributes","WindowsAppSettings","getStylingThemeValuesFromXML","appThemeNode","appStyles","customColor","ButtonColor","predefinedColor","Blue","Orange","Green","Red","getColor","getUploadImagesXMLMappedValues","parsedUploadImages","UploadImages","reducedImages","androidMobileAppImages","MobileAppImages","xxhdpi","IconFile","BackgroundImage","StoreLogo","WhiteLogo","xhdpi","hdpi","iosMobileAppImages","UniversalIcon","SplashScreen","ApplicationLogo","getPushNotificationsXMLMappedValue","PushNotifications","pushNotificationTag","PushNotification","HostUrl","Value1","Value2","getPushNotificationsValuesFromXML","getUploadedImageInfoFromXML","xmlString","selectedIDs","parsedXMLJSON","xml2json","resultObject","androidImageNode","iosImageNode","getBuildAppXMLMappedValues","basicSettingsDetails","onSaveBasicSettingsDetails","eulaOptions","onSaveAuthDetails","useAuthenticationDefaultValues","providers","useAuthenticationProviders","toLocaleLowerCase","optionsData","setOptionsData","onMarkAsDefault","modifiedOptionsData","option","markedAsDefault","AppFilters","defaultAppFilters","onSaveAppFilterDetails","BuildApp","onSaveBuildDetails","tagInputItems","setTagInputItems","onTagInputChange","handleBuildDetails","saveAsDraft","emailList","AppBaseId","AppId","onSubmit","onSaveAsDraft","enableClearList","secondaryPositiveActionType","secondaryAction","onSavePlatformDetails","Styling","onSaveUploadImagesDetails","useUploadImageDefaultValues","dirtyFields","CompanyDetailsWrapper","CompanyDetailsForm","setValue","isCustomEula","setIsCustomEula","selectedKey","shouldDirty","shouldTouch","shouldValidate","pattern","groupName","options","defaultSelectedKey","TabFooterButtons","onSubmitClickHandler","CompanyDetailsBase","onSaveClick","CompanyDetails","AuthenticationBase","getAuthenticationSettingsJSON","DefaultSettingsContext","setTabValue","defaultSettingsConfig","DefaultSettingsProvider","setErrorMode","effectRenderedRef","hasNotificationsData","hasAppListData","getHelpLinkID","AppSettingsLayoutBase","enablePushNotificationConfig","tabWidth","AppSettingsLayout","StyledFileUploadButton","CustomFileUpload","StyledGridLayout","getFileInfo","readMode","resolve","fileReader","FileReader","validateFileContent","fileContent","parsedContent","AppList","appDisplaydata","setAppDisplayData","onFileUpload","files","selectedFile","fileInfo","uploadedFileData","onRenderItem","itemProps","AppDetails","$gridTemplateColumns","$alignItems","onRenderItemContent","isVirtualized","allowKeyboardNavigation","itemHeight","getKey","displayMessage","$height","ClearList","onCancelClick","onClearListClick","MenuOptionsBase","StylingBase","onSubmitHandler","getStylingJSON","getDefaultStylingFormValues","UploadImagesBase","initialImageData","previouslyUploadedImageFormFields","currentImageData","getMappedFormfieldName","dirtyFormFields","BinaryDataAsBase64","getNativeFileName","NotificationListHeader","NotificationList","renderPopupContent","onOkClick","PushNotificationBase","webpackAsyncContext","req","__webpack_require__","o","module","exports","WizardNavigationActions","nextStepId","prevStepId","nextParams","prevParams","onCancel","prevHook","skippable","primaryPositiveActionType","blockNext","showCancel","isFirst","isLast","isNavigating","next","previous","useWizardActions","positiveActionLabel","onPositiveActionClick","navArgs","beforeNavigate","params","isFunction","onPreviousClick","preventDefault","onSkipClick","onSecondaryPositiveActionClick","MenuOptionsForm","useMenuOptions","$gridGap","$width","defaultChecked","SelectedAuthContentForm","selectedAuthProviders","authProviderDetails","showDetails","activeDirectoryConfiguration","authProviderLabel","authProviderFieldDetails","fieldLabel","fieldName","ActiveDirectory","renderCustomField","identityServerConfiguration","IdentityServer","googleConfiguration","oktaConfiguration","Okta","salesforceConfiguration","Salesforce","officeConfiguration","MSAzureActiveDirectory","officeConfigurationChina","MSAzureActiveDirectoryChina","pingFederateConfiguration","PingFederate","amazonCognitoConfiguration","AmazonCognito","AuthProviderDetails","toLocaleUpperCase","$flexGrow","generateId","AuthenticationForm","AuthenicationType","markedAsDefaultProvider","_item","fieldOrientation","itemData","toggleSelection","onUnCheckClick","uncheckedStateRef","StyleType","checked","PredefinedColorSet","Purple","isDisabled","CustomColorSet","customColorSetOptions","renderPicker","renderProps","toggleCallout","onRender","SvgGeneralSettings","SvgHome","patternContentUnits","xlinkHref","SvgInactiveDelegation","SvgLoginField","SvgMyAppsNew","SvgMyTasks","SvgReminderPlanForTheDay","fillOpacity","StylingForm","overflowY","MobileAppPreview","isPredefinedColorSelected","headerWrapperRef","onLeftClick","scrollBy","behavior","onRightClick","PushNotificationForm","AgilePointID","apiDefaultValues","serverConfiguration","restConfig","getDefaultSelectedConfigs","configs","selectedConfigsList","selectedConfigs","serverInstanceURL","iOS_AppDefaultIcon","iOS_SplashScreeniphone","iOS_AppApplicationLogo","getDefaultValues","primaryMenuKeys","foundMenuOption","createQueryString","queryString","queryParams","goBack","usePopupEvents","renderTitle","popupConfig","widthAndHeight","onRenderTitle","textAlign","spinnerProps","getDirection","Spinner","BasicSettingsForm","localizedLocaleItems","textLength","setTextLength","validateTextLength","useValidateHelperFunctions","subscription","unsubscribe","getElementsByClassName","scrollTo","maxLength","AppFiltersForm","AppSelectionRow","getBuildOptions","AndroidBuildDetailsForm","buildTypesValue","validateFile","endsWith","validatePackageName","tooltipContent","PasswordTextbox","IOSBuildDetailsForm","PlatformTypesForm","PlatformType","toTitleCase","selectedColor","colorSet","getPredefinedColorStatuses","predefinedPreviewImageValue","effectivePreviewImage","Custom","predefinedColorValue","custom","buttonColorCode","blue","green","orange","red","nativeFileName","IllustrationContentBlock","MessageContentBlock","IllustrationLoadingMessage","onRenderMessageContent","renderMessage","LoadingIllustrationBlock","LoadingIllustration","InformationMessage","fullHeight","navResultContentBlock","outlineStyle","outlineOffset","primartButtonStyles","standardHeadingStyles","secondaryHeadingStyle","LinkWrapper","HelpLink","url","linkId","href","ReportsHelpIconWrapper","helpLinkPosition","DefaultAppSettingsHelpIconWrapper","MobileAppHelpIconWrapper","ReportsTabHelplink","DefaultAppSettingsTabHelplink","MobileAppHelpLink","COLORCODES","textColor","chooseRandomColors","idx","floor","random","ShortName","$textColor","$backgroundColor","$profileImage","xSmall","UserAvatarText","abbrevatedText","StyledPopup","Popup","CustomPopup","HorizontalLine","hr","$color","$minWidth","StyledCallout","calloutWidth","calloutHeight","CustomTooltip","tooltipContentRenderer","showTooltip","setShowToolTip","helpIconRef","createRef","onMouseMoveAction","renderTooltipContent","onMouseOver","onMouseOut","isBeakVisible","beakWidth","StyledTagInput","TagInput","themeDark","heading","elementOrientation","tooltipValue","validationErrorExists","inputItems","isError","setError","onValidateItem","valid","onSearchTextChange","searchText","onRemoveItem","itemValue","filteredItems","onClearClick","$inline","$gridTemplate","$gridFlow","$placeItems","$placeContent","$boxSizing","createOnChangeProxy","selectedKeys","defaultCheckedKeys","hasError","renderCheckBoxGroup","checkedKeys","renderRadioGroup","getAllFilesInfo","fileList","allSettled","stateReducer","multiple","concatinatedFiles","allowDuplicateFiles","unique","firstFile","getFileId","DeleteButton","selectThemeSemantics","FileLabel","curvedSmall","ItemWrapper","fileUpload","FilePreview","onRemove","onRenderItemPreview","_remove","_onRemoveClick","remove","IMAGE_EXTENSION_REGEX","DefaultFileInput","input","parseFileInfo","settledResult","reason","FlexBoxWithBorder","$selectedFiles","composites","$isFileInDropZone","borderWidth","stopEvent","StyledHorizontalSeparator","neutralTertiary","onRenderSeperator","trim","extension","generateAcceptedTypeRegex","extensions","FileUpload","labelTranslated","initialSelectedFiles","inputRef","initialFiles","useReducer","dispatch","changeInfoRef","changeInfo","upsert","fileId","useFileRepository","isFileInDropZone","setFileDrop","_onButtonClick","click","renderPreviewItem","info","loadSelectedFiles","_onFileSelect","_onDropFiles","filterValidFiles","dataTransfer","_onDragEnter","debounce","_onDragLeave","renderFileDropUI","htmlFor","onDrop","onDragEnter","onDragOver","onDragLeave","FieldBlock","FileUploadField","renderFileUpload","_onChange","defaultColor","renderColorPickerCallout","onColorChange","opacityEnabled","NativeFileInput","buttonProps","_onFileChangeHandler","onInputClick","event","ImageUploadField","_onValueChange","dataURL","ElasticTextBoxField","toolbar","separatorBackgroundColor","ElasticStackPanel","PageHeader"],"mappings":"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","file":"static/js/main.213d86b7.chunk.js","sourcesContent":["import styled, { css } from 'styled-components';\r\nimport { ActionButton, FlexBox, Icon, StackPanel, PrimaryButton } from '@agilepoint/wat-react-ux';\r\n\r\nexport const StyledActionButton = styled(ActionButton)`\r\n .ap-button-label {\r\n margin: 0;\r\n }\r\n`;\r\n\r\nexport const PlatformIcon = styled(Icon) <{ $platform: string }>`\r\n fill: ${({ $platform, theme: { semantics: { palette } } }) => ($platform === 'Android' ? '#3DDC84' : palette.black)};\r\n`;\r\n\r\nexport const StyledFlexBox = styled(FlexBox) <{ $padding?: string, $margin?: string, $overflow?: string }>`\r\n padding: ${({ $padding }) => $padding};\r\n margin: ${({ $margin }) => $margin};\r\n overflow: ${({ $overflow }) => $overflow};\r\n`;\r\n\r\nexport const StyledStackPanel = styled(StackPanel) <{\r\n padding?: string,\r\n margin?: string,\r\n maxHeight?: string,\r\n maxWidth?: string,\r\n overflow?: string,\r\n position?: string;\r\n top?: string;\r\n right?: string;\r\n bottom?: string;\r\n left?: string;\r\n}>`\r\n margin: ${({ margin }) => margin};\r\n padding: ${({ padding }) => padding};\r\n max-height:${({ maxHeight }) => maxHeight};\r\n max-width:${({ maxWidth }) => maxWidth};\r\n overflow: ${({ overflow }) => overflow};\r\n position: ${({ position }) => position};\r\n top: ${({ top }) => top};\r\n right: ${({ right }) => right};\r\n bottom: ${({ bottom }) => bottom};\r\n left: ${({ left }) => left};\r\n`;\r\n\r\nexport const primaryButtonStyles = css`\r\n &:hover, &:focus {\r\n color: #FFFFFF !important;\r\n fill: #FFFFFF !important;\r\n }\r\n`;\r\n\r\nexport const StyledPrimaryButton = styled(PrimaryButton) <{ $width?: string }> `\r\n ${primaryButtonStyles};\r\n`;\r\n","import { useChooseRef } from '@agilepoint/wat-react-ux';\r\nimport { useCallback, useEffect } from 'react';\r\n\r\nexport function useKeyboardAccessibility(args: { elementRef?: React.RefObject, stopPropagation?: boolean, callback: any }) {\r\n const { callback, elementRef: optionalRef } = args;\r\n const elementRef = useChooseRef(optionalRef);\r\n\r\n const onKeyDown = useCallback((ev: KeyboardEvent) => {\r\n if (ev.code === 'Enter') {\r\n if (args?.stopPropagation) {\r\n ev.stopPropagation();\r\n }\r\n callback();\r\n }\r\n }, [args, callback]);\r\n\r\n useEffect(() => {\r\n const current = elementRef.current;\r\n if (current) {\r\n current.addEventListener('keydown', onKeyDown);\r\n }\r\n\r\n return () => {\r\n current?.removeEventListener('keydown', onKeyDown);\r\n };\r\n }, [callback, elementRef, onKeyDown]);\r\n\r\n return { elementRef };\r\n}\r\n","import { themeRegistry } from '@agilepoint/wat-react-ux';\r\n\r\nthemeRegistry.registerThemeUsingCompilers('mobile-app-accelerator-default', { layout: { columnsCount: 24 } }, (semantics) => ({\r\n mobileAppAccelerator: {\r\n semanticColors: {\r\n grayVariant2: '#676E7B',\r\n grayVariant3: '#667287',\r\n grayVariant4: '#CACED5',\r\n grayVariant5: '#F1F2F4',\r\n grayVariant6: '#F8F9FA',\r\n pageBackgroundColor: '#F8F9FA',\r\n primaryTextColor: '#676E7B',\r\n secondaryTextColor: '#3B4455',\r\n horizontalLineColor: '#667287',\r\n apStandardBlueColor: '#0077D9',\r\n notificationBadgeColor: '#B32181;',\r\n genericBorderColor: '#caced5',\r\n eyeIconfillColor: '#444444',\r\n wizard: {\r\n backgroundColor: semantics.colors.layers.contentBackground,\r\n stepSeparatorColor: '#CACED5',\r\n activeStepColor: '#0077D9',\r\n checkedStepColor: '#667287'\r\n }\r\n },\r\n semantics: {\r\n popupFooterSeparator: '1px solid #e5e8ee'\r\n }\r\n }\r\n}));\r\n","/* eslint-disable eqeqeq */\r\n/* eslint-disable comma-dangle */\r\n// This optional code is used to register a service worker.\r\n// register() is not called by default.\r\n\r\n// This lets the app load faster on subsequent visits in production, and gives\r\n// it offline capabilities. However, it also means that developers (and users)\r\n// will only see deployed updates on subsequent visits to a page, after all the\r\n// existing tabs open on the page have been closed, since previously cached\r\n// resources are updated in the background.\r\n\r\n// To learn more about the benefits of this model and instructions on how to\r\n// opt-in, read https://cra.link/PWA\r\n\r\nconst isLocalhost = Boolean(\r\n window.location.hostname === 'localhost' ||\r\n // [::1] is the IPv6 localhost address.\r\n window.location.hostname === '[::1]' ||\r\n // 127.0.0.0/8 are considered localhost for IPv4.\r\n window.location.hostname.match(/^127(?:\\.(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)){3}$/)\r\n);\r\n\r\ntype Config = {\r\n onSuccess?: (registration: ServiceWorkerRegistration) => void;\r\n onUpdate?: (registration: ServiceWorkerRegistration) => void;\r\n};\r\n\r\nexport function register(config?: Config) {\r\n if ('serviceWorker' in navigator) {\r\n // The URL constructor is available in all browsers that support SW.\r\n const publicUrl = new URL(process.env.PUBLIC_URL, window.location.href);\r\n if (publicUrl.origin !== window.location.origin) {\r\n // Our service worker won't work if PUBLIC_URL is on a different origin\r\n // from what our page is served on. This might happen if a CDN is used to\r\n // serve assets; see https://github.com/facebook/create-react-app/issues/2374\r\n return;\r\n }\r\n\r\n window.addEventListener('load', () => {\r\n const swUrl = `${process.env.PUBLIC_URL}/service-worker.js`;\r\n\r\n if (isLocalhost) {\r\n // This is running on localhost. Let's check if a service worker still exists or not.\r\n checkValidServiceWorker(swUrl, config);\r\n\r\n // Add some additional logging to localhost, pointing developers to the\r\n // service worker/PWA documentation.\r\n navigator.serviceWorker.ready.then(() => {\r\n console.log(\r\n 'This web app is being served cache-first by a service ' +\r\n 'worker. To learn more, visit https://cra.link/PWA'\r\n );\r\n });\r\n } else {\r\n // Is not localhost. Just register service worker\r\n registerValidSW(swUrl, config);\r\n }\r\n });\r\n }\r\n}\r\n\r\nfunction registerValidSW(swUrl: string, config?: Config) {\r\n navigator.serviceWorker\r\n .register(swUrl)\r\n .then((registration) => {\r\n registration.onupdatefound = () => {\r\n const installingWorker = registration.installing;\r\n if (installingWorker == null) {\r\n return;\r\n }\r\n installingWorker.onstatechange = () => {\r\n if (installingWorker.state === 'installed') {\r\n if (navigator.serviceWorker.controller) {\r\n // At this point, the updated precached content has been fetched,\r\n // but the previous service worker will still serve the older\r\n // content until all client tabs are closed.\r\n console.log(\r\n 'New content is available and will be used when all ' +\r\n 'tabs for this page are closed. See https://cra.link/PWA.'\r\n );\r\n\r\n // Execute callback\r\n if (config && config.onUpdate) {\r\n config.onUpdate(registration);\r\n }\r\n } else {\r\n // At this point, everything has been precached.\r\n // It's the perfect time to display a\r\n // \"Content is cached for offline use.\" message.\r\n console.log('Content is cached for offline use.');\r\n\r\n // Execute callback\r\n if (config && config.onSuccess) {\r\n config.onSuccess(registration);\r\n }\r\n }\r\n }\r\n };\r\n };\r\n })\r\n .catch((error) => {\r\n console.error('Error during service worker registration:', error);\r\n });\r\n}\r\n\r\nfunction checkValidServiceWorker(swUrl: string, config?: Config) {\r\n // Check if the service worker can be found. If it can't reload the page.\r\n fetch(swUrl, {\r\n headers: { 'Service-Worker': 'script' },\r\n })\r\n .then((response) => {\r\n // Ensure service worker exists, and that we really are getting a JS file.\r\n const contentType = response.headers.get('content-type');\r\n if (\r\n response.status === 404 ||\r\n (contentType != null && contentType.indexOf('javascript') === -1)\r\n ) {\r\n // No service worker found. Probably a different app. Reload the page.\r\n navigator.serviceWorker.ready.then((registration) => {\r\n registration.unregister().then(() => {\r\n window.location.reload();\r\n });\r\n });\r\n } else {\r\n // Service worker found. Proceed as normal.\r\n registerValidSW(swUrl, config);\r\n }\r\n })\r\n .catch(() => {\r\n console.log('No internet connection found. App is running in offline mode.');\r\n });\r\n}\r\n\r\nexport function unregister() {\r\n if ('serviceWorker' in navigator) {\r\n navigator.serviceWorker.ready\r\n .then((registration) => {\r\n registration.unregister();\r\n })\r\n .catch((error) => {\r\n console.error(error.message);\r\n });\r\n }\r\n}\r\n","var _path, _path2, _path3, _path4, _path5, _ellipse, _ellipse2, _ellipse3, _rect, _rect2, _rect3, _g, _path6, _rect4, _path7, _rect5, _path8, _path9, _rect6, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _g2, _ellipse4, _path19, _path20, _path21, _path22, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgSignIn(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 412,\n height: 300,\n viewBox: \"0 0 412 300\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_2097_20926)\"\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M51 277H349C349 277 315.851 243 209.129 243C102.408 243 51 277 51 277Z\",\n fill: \"#D0DFED\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M249.649 265.794C249.649 265.794 234.261 239.445 224.198 226.779C211.495 210.805 196.888 203.21 196.952 192.711C197.012 184.271 207.963 182.851 215.264 188.75C220.059 192.726 224.578 197.025 228.79 201.616C228.79 201.616 224.637 185.216 210.334 169.617C199.759 158.093 202.693 145.066 213.474 141.441C224.256 137.816 230.94 143.618 236.462 155.59C241.499 166.491 241.812 180.47 241.812 180.47C241.812 180.47 247.603 162.745 247.512 151.418C247.393 137.318 240.868 131.151 232.004 116.567C223.458 102.465 237.337 87.741 250.669 90.8016C267.483 94.6628 277.258 97.6588 278.624 85.8547C280.297 71.384 281.61 62.7999 293.207 56.8156C309.434 48.4537 321.662 59.3299 326.939 73.5251C331.241 85.1121 319.974 102.41 319.974 102.41C319.974 102.41 331.665 96.0387 342.078 103.78C353.494 112.306 348.799 127.741 342.463 134.87C336.128 142 316.962 145.914 316.962 145.914C316.962 145.914 331.027 149.892 326.843 161.318C323.162 171.368 311.711 170.283 302.168 167.617C295.074 165.634 279.944 170.165 279.944 170.165C279.944 170.165 300.565 170.207 299.782 183.7C299.099 195.668 286.073 197.556 276.874 199.352C267.674 201.147 260.161 206.659 260.161 206.659C260.161 206.659 273.479 203.133 275.738 213.512C277.996 223.891 269.677 229.611 260.745 232.597C251.813 235.582 249.313 251.328 249.649 265.794Z\",\n fill: \"#D0DFED\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M258.527 47.969C258.527 47.969 260.727 36.9318 268.715 28.7694C275.442 21.8972 282.759 21.672 283.927 23.828C286.068 27.7831 275.684 35.7849 271.936 38.258C270.395 39.2752 263.318 44.4535 260.112 46.8048C260.207 46.93 260.213 47.1068 260.117 47.2408C259.295 48.3803 258.502 49.5124 257.734 50.6479C261.079 47.6968 266.882 43.0656 272.445 40.9894C280.942 37.818 282.514 40.822 281.521 43.3046C280.527 45.7872 272.126 50.085 265.289 51.6627C262.246 52.3387 259.168 52.8438 256.069 53.1758C254.126 56.2068 252.329 59.3145 250.591 62.6925C253.92 61.0128 263.146 56.9656 271.583 58.8251C282.11 61.145 277.629 67.2675 273.124 67.3622C267.039 67.4911 253.614 64.4061 250.138 63.58C247.894 68.0269 245.733 72.9573 243.461 78.7944C245.726 77.3582 252.485 73.2316 256.571 72.4408C261.537 71.4799 265.393 74.895 264.245 77.81C263.096 80.725 257.142 81.0205 251.71 80.8478C248.37 80.7406 244.575 79.7979 243.214 79.432C240.638 86.1033 237.911 93.952 234.754 103.589C234.381 104.726 234.017 105.902 233.663 107.117C234.554 105.628 238.087 99.975 241.851 97.3545C245.951 94.5002 247.743 96.2606 247.216 98.2483C246.235 101.956 234.889 106.87 233.573 107.429C231.383 115.027 229.605 124.108 228.686 134.6C228.363 138.286 227.902 134.964 227.952 134.52C229.291 122.447 231.309 111.729 234.051 103.361C234.643 101.556 235.219 99.8141 235.782 98.1303C234.78 95.4647 230.772 84.283 231.096 76.6757C231.379 70.0343 232.224 65.6455 235.035 65.1015C237.846 64.5576 239.906 73.9416 239.808 77.7236C239.711 81.4866 237.964 89.9385 236.873 94.8939C241.281 81.9192 244.909 72.577 248.72 64.7754C247.483 63.709 240.38 57.5791 238.173 55.4957C235.751 53.2106 233.381 48.6623 235.337 46.0308C237.293 43.3992 241.479 43.3401 244.986 49.9213C248.001 55.5777 248.728 62.6014 248.873 64.4636C249.049 64.1069 249.224 63.7534 249.401 63.4029C249.336 63.3873 249.303 63.3791 249.303 63.3791C249.303 63.3791 249.356 63.3485 249.457 63.2919C251.261 59.7131 253.12 56.4452 255.133 53.2707C255.052 53.2785 254.971 53.2861 254.889 53.2937C254.889 53.2937 254.957 53.226 255.085 53.1002C254.319 51.8469 249.932 44.6343 248.365 41.2664C246.647 37.5707 245.561 30.7312 248.927 28.8208C252.294 26.9104 253.627 31.1844 255.338 37.3992C256.854 42.9001 255.578 51.1109 255.265 52.9247C255.333 52.8584 255.41 52.7838 255.496 52.7016C256.57 51.0288 257.689 49.3785 258.868 47.7186L258.527 47.969Z\",\n fill: \"#5CB9CA\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M160.187 250.784C160.187 250.784 149.308 236.897 130.902 223.723C108.844 207.965 88.7228 212.727 84.2761 195.109C79.2355 175.142 102.096 169.957 102.096 169.957C102.096 169.957 57.0142 164.061 64.969 137.4C71.1765 116.573 90.5882 126.236 90.5882 126.236C90.5882 126.236 65.5119 90.547 87.1352 82.3986C111.349 73.2569 114.732 112.94 114.732 112.94C114.732 112.94 124.899 90.0949 143.878 102.146C161.554 113.371 141.957 138.434 143.328 142.687C145.461 149.455 150.999 131.007 165.008 140.118C175.683 147.052 169.387 166.186 159.049 189.771C148.788 213.185 155.385 238.426 160.187 250.784Z\",\n fill: \"#D0DFED\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M101.262 177.64C101.26 177.634 101.258 177.628 101.256 177.622C101.207 173.336 101.081 161.402 101.172 159.013C101.379 153.557 100.829 137.61 95.4691 136.853C92.5468 136.441 87.6471 143.772 89.6521 155.321C91.6281 166.696 98.3197 175.598 100.546 178.306C101.342 180.636 102.167 182.897 103.043 185.127C100.58 182.662 94.3818 176.841 88.7208 174.654C81.4539 171.846 76.3474 170.068 75.8578 174.744C75.3681 179.421 82.8073 183.293 87.6189 184.276C91.7384 185.118 100.914 185.97 103.469 186.197C105.334 190.838 107.436 195.365 109.965 200.113C107.352 198.544 100.639 194.858 93.7068 193.832C84.8259 192.519 81.9548 196.663 83.1565 200.478C84.3582 204.293 90.4578 205.254 94.3836 204.53C97.7665 203.907 107.739 201.609 110.433 200.985C115.528 210.41 122.333 220.778 132.321 234.66C128.315 230.081 120.954 221.868 117.235 218.969C113.61 216.144 103.005 211.39 101.569 214.537C100.134 217.683 103.829 221.678 110.116 226.748C117.442 232.655 131.515 236.84 134.508 237.686C135.729 239.368 136.994 241.1 138.307 242.887C144.641 251.509 153.812 261.106 164.803 271.015C165.207 271.379 168.818 273.303 165.402 270.361C155.654 261.968 147.92 253.753 141.951 246.201C142.534 243.495 145.262 229.993 142.462 226.524C140.89 224.573 137.917 225.058 137.836 231.134C137.77 236.096 140.174 242.608 141.291 245.359C140.505 244.35 139.752 243.353 139.03 242.37C131.744 232.453 125.917 224.224 121.147 216.979C122.321 216.028 126.079 212.881 128.613 209.564C132.583 204.367 136.46 198.321 134.416 195.092C132.373 191.863 126.34 193.177 123.804 198.734C121.645 203.468 120.972 213.586 120.82 216.481C116.579 210.014 113.182 204.329 110.338 198.913C112.987 196.624 126.146 185.125 130.426 178.853C133.485 174.371 130.641 165.563 121.011 174.201C112.842 181.529 110.515 194.494 109.997 198.261C107.822 194.071 105.972 190.031 104.311 185.902C106.287 182.446 108.057 178.872 109.612 175.199C112.855 167.362 114.535 156.031 112.806 153.266C111.077 150.5 107.044 149.873 104.196 160.486C102.051 168.479 102.985 179.224 103.577 184.042C102.769 181.95 102.003 179.826 101.262 177.64Z\",\n fill: \"#5CB9CA\"\n })), _ellipse || (_ellipse = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 80.6181,\n cy: 32.9954,\n rx: 4.98235,\n ry: 5.06471,\n fill: \"#7FBAEA\"\n })), _ellipse2 || (_ellipse2 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 106.617,\n cy: 41.1911,\n rx: 10.3271,\n ry: 10.4978,\n fill: \"#F5AB90\"\n })), _ellipse3 || (_ellipse3 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 87.7749,\n cy: 58.8712,\n rx: 7.06588,\n ry: 7.18267,\n fill: \"#F8E187\"\n })), /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_2097_20926)\"\n }, /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_2097_20926\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 140,\n y: 36,\n width: 119,\n height: 247\n }, _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 140.147,\n y: 36.5615,\n width: 118.72,\n height: 246.4,\n rx: 13.44,\n fill: \"white\"\n }))), /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_2097_20926)\"\n }, _rect2 || (_rect2 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 143.704,\n y: 42.7197,\n width: 109.526,\n height: 238.767,\n rx: 6.72,\n fill: \"white\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask1_2097_20926\",\n style: {\n maskType: \"alpha\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 143,\n y: 42,\n width: 111,\n height: 240\n }, _rect3 || (_rect3 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 143.704,\n y: 42.7197,\n width: 109.526,\n height: 238.767,\n rx: 6.72,\n fill: \"white\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask1_2097_20926)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M284.524 260.218V286.976H114.367V260.218H284.524Z\",\n fill: \"#EBEEF9\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M284.524 33.7998V60.5582H114.367V33.7998H284.524Z\",\n fill: \"#EBEEF9\"\n }))), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M157.107 36.5615H241.907C251.274 36.5615 258.867 44.1696 258.867 53.5546V265.968C258.867 275.353 251.274 282.962 241.907 282.962H157.107C147.741 282.962 140.147 275.353 140.147 265.968V53.5546C140.147 44.1696 147.741 36.5615 157.107 36.5615ZM157.107 43.7836C151.722 43.7836 147.355 48.1582 147.355 53.5546V265.968C147.355 271.365 151.722 275.739 157.107 275.739H241.907C247.293 275.739 251.659 271.365 251.659 265.968V53.5546C251.659 48.1582 247.293 43.7836 241.907 43.7836H229.894V45.0581C229.894 48.9685 226.73 52.1385 222.827 52.1385H175.481C171.578 52.1385 168.414 48.9685 168.414 45.0581V43.7836H157.107ZM222.827 44.9165C222.749 44.9165 222.686 44.9799 222.686 45.0581V44.9165H222.827Z\",\n fill: \"#39447A\"\n })))), _rect4 || (_rect4 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 164.787,\n y: 205.121,\n width: 69.44,\n height: 15.68,\n rx: 7.84,\n fill: \"#F1C411\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M185.507 211.281H213.987V214.641H185.507V211.281Z\",\n fill: \"white\"\n })), _rect5 || (_rect5 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 221.974,\n y: 133.512,\n width: 14.2724,\n height: 14.2953,\n rx: 0.56,\n stroke: \"#CCCCE4\",\n strokeWidth: 1.68\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M225.106 141.22L228.216 143.325L233.528 136.999\",\n stroke: \"#CCCCE4\",\n strokeWidth: 1.68,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M225.106 172.6L228.216 174.705L233.528 168.379\",\n stroke: \"#CCCCE4\",\n strokeWidth: 1.68,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _rect6 || (_rect6 = /*#__PURE__*/React.createElement(\"rect\", {\n x: 221.974,\n y: 164.892,\n width: 14.2724,\n height: 14.2953,\n rx: 0.56,\n stroke: \"#CCCCE4\",\n strokeWidth: 1.68\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M161.987 102.641L206.885 102.419\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 109.393H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 116.366H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 133.799H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 140.773H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 147.746H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 165.179H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 172.153H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M162.085 179.126H206.885\",\n stroke: \"#CCCCE4\",\n strokeWidth: 2.24,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter1_d_2097_20926)\"\n }, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 228.912,\n cy: 106.561,\n rx: 13.9916,\n ry: 13.9992,\n fill: \"white\"\n }))), _ellipse4 || (_ellipse4 = /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 229.031,\n cy: 106.68,\n rx: 8.61023,\n ry: 8.61488,\n fill: \"#319787\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.726 107.641L227.905 109.791L233.336 103.33\",\n stroke: \"white\",\n strokeWidth: 1.68,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M290.122 219.321C290.676 217.893 291.2 216.443 291.707 214.951C291.741 212.098 291.831 203.889 291.769 202.255C291.63 198.552 292.006 187.727 295.643 187.212C297.625 186.931 300.947 191.907 299.585 199.747C298.252 207.407 293.773 213.416 292.226 215.306C291.684 216.893 291.123 218.432 290.527 219.949C292.22 218.256 296.396 214.346 300.212 212.87C305.142 210.962 308.607 209.754 308.938 212.928C309.269 216.102 304.221 218.732 300.957 219.401C298.174 219.971 291.987 220.549 290.226 220.707C288.96 223.853 287.534 226.923 285.818 230.142C287.607 229.069 292.143 226.584 296.825 225.889C302.85 224.995 304.797 227.808 303.981 230.398C303.165 232.987 299.027 233.641 296.364 233.151C294.075 232.73 287.338 231.179 285.491 230.751C282.027 237.153 277.4 244.195 270.606 253.629C273.322 250.523 278.331 244.929 280.859 242.957C283.318 241.039 290.514 237.81 291.487 239.945C292.46 242.08 289.953 244.793 285.686 248.236C280.71 252.251 271.15 255.097 269.132 255.668C268.304 256.807 267.446 257.98 266.557 259.19C262.255 265.04 256.028 271.553 248.565 278.277C248.291 278.525 245.839 279.831 248.159 277.834C254.778 272.138 260.03 266.562 264.084 261.437C263.684 259.575 261.848 250.442 263.744 248.091C264.811 246.767 266.828 247.095 266.881 251.22C266.925 254.571 265.309 258.965 264.546 260.848C265.074 260.17 265.58 259.5 266.066 258.839C271.014 252.11 274.971 246.527 278.211 241.611C277.42 240.971 274.865 238.831 273.142 236.575C270.451 233.049 267.823 228.945 269.209 226.753C270.596 224.561 274.689 225.451 276.407 229.223C277.874 232.442 278.327 239.33 278.428 241.28C281.311 236.889 283.62 233.028 285.553 229.351C283.782 227.82 274.828 219.994 271.92 215.729C269.846 212.688 271.777 206.708 278.308 212.57C283.865 217.558 285.433 226.399 285.777 228.924C287.257 226.077 288.515 223.333 289.645 220.528C288.301 218.176 287.097 215.744 286.04 213.244C283.842 207.925 282.705 200.234 283.878 198.357C285.052 196.479 287.788 196.052 289.718 203.256C291.182 208.723 290.524 216.089 290.122 219.321Z\",\n fill: \"#5CB9CA\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M251.783 280.589C251.783 280.589 251.737 243.316 250.852 230.815C249.898 217.352 246.1 205.163 243.412 197.977C240.387 189.889 236.686 186.965 235.462 187.49C233.395 188.366 239.766 203.718 241.676 208.32C245.552 217.664 247.756 229.959 248.687 238.12C249.693 246.947 251.783 280.589 251.783 280.589Z\",\n fill: \"#5CB9CA\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M249.831 272.062C249.831 272.062 249.189 256.923 243.423 245.571C237.658 234.219 231.275 224.169 224.842 223.119C219.871 222.318 219.04 226.573 221.18 229.558C222.885 231.937 227.512 233.134 225.046 234.23C221.882 235.635 222.381 239.066 224.213 239.934C226.978 241.243 229.884 241.539 229.26 244.522C228.635 247.505 231.348 248.311 234.319 249.852C239.852 252.721 242.045 254.526 244.398 258.265C248.187 264.274 250.267 272.158 249.831 272.062Z\",\n fill: \"#7ED4E3\"\n }))), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_2097_20926\",\n x: 138.147,\n y: 35.5615,\n width: 122.72,\n height: 250.4,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dy: 1\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 1\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.882353 0 0 0 0 0.917647 0 0 0 0 0.933333 0 0 0 0.321651 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_2097_20926\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_2097_20926\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter1_d_2097_20926\",\n x: 207.92,\n y: 89.5615,\n width: 37.9834,\n height: 37.998,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: -2,\n dy: 2\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 2.5\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.223529 0 0 0 0 0.266667 0 0 0 0 0.478431 0 0 0 0.252322 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_2097_20926\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_2097_20926\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_2097_20926\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 412,\n height: 300,\n fill: \"white\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgSignIn);\nexport default __webpack_public_path__ + \"static/media/sign-in.5083604f.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport { combineUrl } from '@agilepoint/utils-common';\r\nimport { ConfigSource } from '@agilepoint/wat';\r\nimport { IApplicationConfig } from 'types';\r\n\r\nconst configFilePath = combineUrl(process.env.PUBLIC_URL, `config.json?${new Date()}`);\r\n\r\nexport function useLoadConfig() {\r\n const [isLoading, setIsLoading] = React.useState(true);\r\n const [defaultConfig, setDefaultConfig] = React.useState({} as IApplicationConfig);\r\n const config = ConfigSource.fromFile(configFilePath);\r\n React.useEffect(() => {\r\n config.load().then((result: any) => {\r\n setDefaultConfig(result);\r\n setIsLoading(false);\r\n });\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n return {\r\n isLoading,\r\n defaultConfig\r\n };\r\n}\r\n","import { combineUrl } from '@agilepoint/utils-common';\r\nimport React from 'react';\r\nimport { IAutenticateUserResponseProps } from '../types';\r\nimport { setCookie } from '../../../common';\r\nimport { COOKIE_NAME } from 'index';\r\n\r\ninterface ISetWindowObjConfigProps {\r\n endPointURL: string;\r\n basePath: string;\r\n baseURL: string;\r\n // userType: string;\r\n cookieExpirationValue?: number;\r\n}\r\n\r\nconst configFilePath = combineUrl(process.env.PUBLIC_URL || '/', `config.json?${new Date()}`);\r\n\r\nfunction getConfig() {\r\n return fetch(configFilePath).then((r) => r.json());\r\n}\r\n\r\nasync function getAuthInfo() {\r\n const config = await getConfig();\r\n const { auth, expires } = config?.agilepoint || {};\r\n return { auth, expires };\r\n}\r\n\r\nexport const DEFAULT_COOKIE_EXPIRATION_VALUE = 14;\r\n\r\nexport function useSetWindowObjConfig(props: ISetWindowObjConfigProps) {\r\n const { endPointURL, basePath, baseURL, cookieExpirationValue } = props;\r\n const cookieExpirationDays = cookieExpirationValue ? cookieExpirationValue : DEFAULT_COOKIE_EXPIRATION_VALUE;\r\n\r\n const setUserDetails = React.useCallback((userDetails: IAutenticateUserResponseProps,\r\n authorization: string, keepMeSignedIn: boolean) => {\r\n const { username, fullName, userType } = userDetails;\r\n setCookie(COOKIE_NAME, JSON.stringify({\r\n basePath: basePath,\r\n baseUrl: baseURL,\r\n authentication: {\r\n getToken: getAuthInfo,\r\n renewToken: getAuthInfo\r\n },\r\n agilepoint: {\r\n apiUrl: endPointURL,\r\n culture: 'en-US',\r\n domain: 'nxone',\r\n userName: username,\r\n staySignedIn: true,\r\n auth: authorization,\r\n userDetails: {\r\n userName: username,\r\n fullName: fullName\r\n },\r\n cookieExpirationDays,\r\n userType\r\n }\r\n }), cookieExpirationDays, keepMeSignedIn);\r\n }, [basePath, baseURL, endPointURL, cookieExpirationDays]);\r\n\r\n return {\r\n setUserDetails\r\n };\r\n}\r\n","import React from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { useLocation } from 'react-router-dom';\r\nimport styled from 'styled-components';\r\nimport { combineUrl, memoizeFunction, toCamelCasedKeys } from '@agilepoint/utils-common';\r\nimport { Icon, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { CheckboxField, TextBoxField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { ILoginPageFormFields } from '../../types';\r\nimport { CenteredSpinner, StyledPrimaryButton } from 'common';\r\nimport { useLoadConfig, useSetWindowObjConfig } from 'modules/login/hooks';\r\n\r\ninterface ILoginControlsProps {\r\n\r\n}\r\n\r\nconst Heading = styled(Typography.H1)`\r\n font-style: normal;\r\n font-weight: 700;\r\n font-size: 30px;\r\n line-height: 42px;\r\n text-align: left;\r\n padding-bottom: 40px;\r\n`;\r\nconst SignInButton = styled(StyledPrimaryButton)`\r\n margin-right:11px;\r\n`;\r\n\r\nconst StyledStackPanel = styled(StackPanel)`\r\n padding: 12px 24px 12px 16px;\r\n`;\r\n\r\nconst StyledTextBoxField = styled(TextBoxField) <{ showErrorAnimation: boolean }>`\r\n .ap-textbox-wrapper {\r\n width: 338px;\r\n height: 48px;\r\n padding:0px;\r\n border-color: #CACED5;\r\n border-radius: 6px;\r\n .ap-textbox{\r\n padding:0 16px !important;\r\n }\r\n }\r\n .ap-formField-label span {\r\n font-size: 12px;\r\n line-height: 18px;\r\n color: ${({ theme }) => theme.mobileAppAccelerator.semanticColors.grayVariant2};\r\n }\r\n @keyframes nodStyle {\r\n 0% {\r\n transform: translateX(0);\r\n }\r\n 6.5% {\r\n transform: translateX(-6px) rotateY(-9deg);\r\n }\r\n 18.5% {\r\n transform: translateX(5px) rotateY(7deg);\r\n }\r\n 31.5% {\r\n transform: translateX(-3px) rotateY(-5deg);\r\n }\r\n 43.5% {\r\n transform: translateX(2px) rotateY(3deg);\r\n }\r\n 50% {\r\n transform: translateX(0);\r\n }\r\n }\r\n animation: ${props => (props.showErrorAnimation ? 'nodStyle 3s' : 'none')};\r\n\r\n`;\r\n\r\nconst LoginControlsBaseWrapper = styled(StackPanel)`\r\n margin: auto;\r\n`;\r\n\r\nconst ActionButtonsWrapper = styled(StackPanel)`\r\n margin-top: 28px;\r\n`;\r\n\r\nconst authPrefix = 'nxone\\\\';\r\n\r\nconst StyledCheckboxField = styled(CheckboxField)`\r\n .ap-checkbox-label {\r\n font-size: 14px;\r\n }\r\n`;\r\n\r\nconst StyledForm = styled.form`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 100%;\r\n height: 100%;\r\n`;\r\n\r\nconst StyledWarningMessage = styled.div`\r\n color: #B6383E;\r\n font-weight: 400;\r\n font-size: 14px;\r\n line-height: 20px;\r\n padding-bottom: 2px;\r\n`;\r\n\r\nconst RelativeDiv = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst ShowPasswordIcon = styled(Icon) <{ $isError?: string }>`\r\n position: absolute;\r\n right: 16px;\r\n bottom: ${({ $isError }) => ($isError ? '34px' : '16px')};\r\n fill: #444444;\r\n cursor: pointer;\r\n`;\r\n\r\n// const ForgotPassword = styled(Typography.H6)`\r\n// color: ${({ theme }) => theme.semantics.palette.themePrimary};\r\n// cursor: pointer;\r\n// `;\r\n\r\nconst LoginControlsBase = React.memo(() => {\r\n const [showError, setShowError] = React.useState(false);\r\n const [isLoginLoading, setIsLoginLoading] = React.useState(false);\r\n const { defaultConfig, isLoading } = useLoadConfig();\r\n const [showPassword, setShowPassword] = React.useState(false);\r\n const location = useLocation();\r\n const state = location.state as any;\r\n\r\n const { setUserDetails } = useSetWindowObjConfig({\r\n endPointURL: defaultConfig.apiEndPoint,\r\n basePath: defaultConfig.basePath,\r\n baseURL: defaultConfig.baseUrl,\r\n cookieExpirationValue: defaultConfig?.mobileAppAccelerator?.cookieExpirationValue\r\n });\r\n\r\n const onLogin = React.useCallback(async (args: ILoginPageFormFields) => {\r\n const { username, password, keepMeSignedIn } = args;\r\n const payload = getAuthenticateUserPayload(username, password);\r\n setIsLoginLoading(true);\r\n await fetch(`${defaultConfig.apiEndPoint}Authenticate`, {\r\n headers: payload,\r\n method: 'GET'\r\n }).then((response) => {\r\n if (response.ok) {\r\n return response.json();\r\n }\r\n setShowError(true);\r\n setIsLoginLoading(false);\r\n throw new Error(`Error: ${response.status} - ${response.statusText}`);\r\n }).then((r) => {\r\n setUserDetails(toCamelCasedKeys(r.AuthenticateResult), payload.Authorization, keepMeSignedIn);\r\n setIsLoginLoading(false);\r\n if (state?.previousCompletePath) {\r\n return window.open(combineUrl(defaultConfig.baseUrl, state.previousCompletePath), '_self');\r\n }\r\n return window.open(defaultConfig.baseUrl, '_self');\r\n }).catch((err) => {\r\n console.error('error', err);\r\n setShowError(true);\r\n setIsLoginLoading(false);\r\n });\r\n }, [defaultConfig.apiEndPoint, defaultConfig.baseUrl, setUserDetails, state]);\r\n\r\n const { handleSubmit, formState } = useFormContext();\r\n\r\n const onShowPasswordClick = React.useCallback(() => (setShowPassword((prevValue) => !prevValue)), []);\r\n\r\n // const navigateToResetPassword = React.useCallback(() => {\r\n // navigate('/reset-password');\r\n // }, [navigate]);\r\n\r\n if (isLoading) {\r\n return ();\r\n }\r\n\r\n return (\r\n \r\n \r\n Sign In to AgilePoint\r\n Mobile App Accelerator\r\n \r\n {showError ?\r\n Username or Password is incorrect. : <>}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isLoginLoading ? :\r\n }\r\n \r\n {/* Forgot Password? */}\r\n \r\n );\r\n});\r\n\r\nexport function LoginControls(props: ILoginControlsProps) {\r\n\r\n const methods = useForm({\r\n mode: 'onBlur'\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n\r\nconst getAuthenticateUserPayload = memoizeFunction((userName: string, password: string) => ({\r\n 'Authorization': ('Basic ' + window.btoa(`${authPrefix}` + userName + ':' + password) + '')\r\n}));\r\n","import { Icon, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\n\r\ninterface ILoginHeaderProps {\r\n\r\n}\r\n\r\nconst Heading = styled(Typography.H5)`\r\n /* color: ${({ theme: { semantics: { palette } } }) => palette.black}; */\r\n`;\r\n\r\nconst LoginHeadeWrapper = styled(StackPanel)`\r\n margin-top: 41px;\r\n margin-bottom: 50px !important;\r\n`;\r\n\r\nexport function LoginHeader(props: ILoginHeaderProps) {\r\n return (\r\n \r\n \r\n Mobile App Accelerator\r\n \r\n );\r\n}\r\n","import { StackPanel } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\nimport { ReactComponent as SignInIllustration } from '../../../../assets/svg/sign-in.svg';\r\nimport { LoginControls } from './login-controls';\r\nimport { LoginHeader } from './login-header';\r\n\r\ninterface ILoginPanelProps {\r\n\r\n}\r\n\r\nconst StyledStackPanel = styled(StackPanel)`\r\n border: 1px solid ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant5};\r\n box-shadow: 0px 40px 64px -32px rgba(0, 0, 0, 0.1);\r\n border-radius: 26px;\r\n margin-top: 141px;\r\n margin-bottom: 50px !important;\r\n background-color: white;\r\n`;\r\n\r\nconst IllustrationWrapper = styled(StackPanel)`\r\n background-color: #E6F1FB;\r\n width: 443px;\r\n height: 100%;\r\n border-top-left-radius: 26px;\r\n border-bottom-left-radius: 26px;\r\n display: flex;\r\n align-items: center;\r\n`;\r\n\r\nconst Wrapper = styled.div`\r\n height: 300px;\r\n width: 412px;\r\n`;\r\n\r\nexport function LoginPanel(props: ILoginPanelProps) {\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { FlexBox, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\nimport { LoginPanel } from './parts/login-panel';\r\ninterface ILoginProps {\r\n}\r\nconst SupportText = styled(FlexBox)`\r\n`;\r\n\r\nconst StyledStackPanel = styled(StackPanel)`\r\n overflow-y: auto;\r\n`;\r\n\r\nexport default function Login(props: ILoginProps) {\r\n return (\r\n \r\n \r\n Contact your AgilePoint Account Manager to request access.\r\n \r\n );\r\n}\r\n","var _circle, _path, _path2, _path3, _path4, _path5, _path6, _path7, _polygon, _path8, _polygon2, _path9, _path10, _circle2, _path11, _path12, _path13, _path14, _path15, _path16;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgNotFoundIllustration(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n \"data-name\": \"Layer 1\",\n width: 888,\n height: 623.12839,\n viewBox: \"0 0 888 623.12839\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 787.19149,\n cy: 69.11547,\n r: 47.49974,\n fill: \"#ff6584\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M765.17412,332.68824l-37.216-73.0728,37.32948,63.94827.3389-26.15547L740.052,244.58558l25.66886,45.90726.60882-47.03795-27.80341-42.27541L766.421,236.05784l2.03177-85.86488.01041-.35661.00072.36261-.32037,108.947,30.69428-44.10263L768.23066,268.384l1.2122,52.58714.1256-1.3902,35.39412-46.52636-35.43594,51.44885.15362,6.577.05921.10375-.044.53695,1.60488,69.60212q-3.47454.145-7.018.118l.06752-5.41469L732.058,342.73008l32.35811,48.11971Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#3f3d56\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M591.77937,374.439l-37.216-73.0728,37.32946,63.94826.33892-26.15546-25.57449-52.82266,25.66886,45.90726.60884-47.038-27.8034-42.27543,27.89467,34.87832,2.03175-85.86486.01043-.35661.0007.36261-.32037,108.947L625.44293,256.794l-30.60709,53.34067,1.21222,52.58712.12562-1.3902,35.39412-46.52634-35.43593,51.44885.15359,6.577.05923.10375-.04395.53695,1.60488,69.60212q-3.47451.145-7.018.118l.06752-5.41466-32.29191-53.29648,32.35808,48.11974Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#cbcbcb\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M914.40051,321.28774l-37.216-73.0728L914.514,312.16321l.3389-26.15547-25.57454-52.82266,25.66886,45.90726.60882-47.03795L887.75268,189.779l27.89467,34.87832,2.03176-85.86487.01041-.35661.00072.3626-.32037,108.947,30.69424-44.10256L917.457,256.98349l1.21221,52.58711.1256-1.3902L954.189,261.65405l-35.43593,51.44887.15361,6.577.05922.10375-.044.537,1.6049,69.60211q-3.47454.14505-7.018.118l.06753-5.41468-32.29193-53.2965,32.3581,48.11974Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#3f3d56\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M273.74194,572.38927a597.57651,597.57651,0,0,1,68.04566-43.38941c66.09948-36.47436,147.38562-67.662,239.79748-91.82235q9.52562-2.49834,19.21033-4.88443,20.56723-5.09038,41.81738-9.69406,5.24946-1.1322,10.52686-2.25513,29.57346-6.2178,60.326-11.48126c.41171-.07489.82342-.14042,1.2445-.20591q7.21913-1.24914,14.5037-2.41418c97.0343-15.76688,202.19073-24.441,312.05385-24.572.9076-.00937,1.82466-.00937,2.73228-.00937v379.903H156C156,692.68572,198.83734,628.09282,273.74194,572.38927Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#f1f1f1\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M450.18176,615.72264c37.84058-28.1372,86.29224-53.33618,143.025-74.58642q9.446-3.55105,19.201-6.93372c.90765-.31811,1.82464-.63629,2.74163-.95441q12.4217-4.2669,25.32062-8.3092,21.79761-6.81207,44.83039-12.87555,16.48735-4.35581,33.555-8.29987,5.48322-1.28191,11.01339-2.48907,12.57148-2.79776,25.4423-5.35229C843.035,478.44286,940.85541,468.68327,1044,468.68327V761.56419H359.40723C359.40723,708.462,392.43817,658.66283,450.18176,615.72264Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#0077d9\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M432.23444,746.36815l1.69366.80469a183.17229,183.17229,0,0,1,20.94147-33.54566l-1.47846-1.15094A185.611,185.611,0,0,0,432.23444,746.36815Zm48.19909-63.27362,1.282,1.36615a335.313,335.313,0,0,1,28.91375-24.01062c.56146-.42108,1.1322-.84216,1.703-1.26325l-1.11353-1.50647c-.5708.42109-1.14154.84217-1.7124,1.27259A338.72729,338.72729,0,0,0,480.43353,683.09453ZM544.465,635.588l.96374,1.6c10.91052-6.58747,22.61639-13.06263,34.78076-19.24775l-.8515-1.675C567.15619,622.4785,555.41284,628.9818,544.465,635.588Zm70.99322-36.28735.7392,1.7124c11.81817-5.13709,24.23523-10.15253,36.88617-14.89667l-.655-1.74982C639.74005,589.12,627.30438,594.14482,615.45819,599.30065Zm74.61441-28.08094.57077,1.7779c3.31244-1.07612,6.63428-2.13343,9.9935-3.1908,9.1514-2.854,18.60217-5.66119,28.09976-8.3186l-.50531-1.806c-9.51629,2.66674-18.98578,5.47393-28.15585,8.34662Q695.04126,569.60557,690.0726,571.21971Zm88.45374-24.385c-3.92066.89832-7.86939,1.83405-11.72452,2.76984l.43976,1.81531c3.85519-.92639,7.79458-1.86212,11.71527-2.76978,3.71478-.86084,7.41089-1.70294,10.99472-2.47961,5.343-1.18842,10.77017-2.3581,16.12247-3.46222l-.37427-1.834c-5.371,1.11347-10.79828,2.27375-16.15058,3.46216-3.58383.786-7.29861,1.62811-11.02282,2.49835Zm66.32394-13.42749.32755,1.84339c12.88485-2.25513,26.116-4.36988,39.30969-6.27875l-.27139-1.85272C871.00375,529.03734,857.76328,531.15209,844.85028,533.40721Zm78.90009-11.44391.21521,1.86206c13.044-1.51586,26.36869-2.88208,39.60913-4.07043l-.16843-1.86206C950.15648,519.08122,936.81308,520.44743,923.75037,521.9633Zm79.41467-7.09283.11227,1.87146c13.13758-.83276,26.51839-1.50647,39.76819-2.00244l-.0655-1.87146C1029.70213,513.37334,1016.312,514.047,1003.165,514.87047Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#fff\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M628.52075,659.52373C711.2012,598.03746,866.3064,556.6411,1044,556.6411V761.56419H565.004C565.004,724.41606,588.11633,689.56975,628.52075,659.52373Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#f1f1f1\"\n })), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M273.74188,572.38927l176.4397,43.33331,178.33917,43.80115L1044,761.56419H156C156,692.68572,198.83734,628.09282,273.74188,572.38927Z\",\n transform: \"translate(-156 -138.43581)\",\n opacity: 0.2,\n style: {\n isolation: \"isolate\"\n }\n }), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"224.992 394.724 218.997 394.723 216.144 371.598 224.993 371.598 224.992 394.724\",\n fill: \"#ffb7b7\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M382.52129,538.97138l-19.33231-.00072v-.24452a7.52506,7.52506,0,0,1,7.52467-7.52456h.00048l11.80752.00048Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#2f2e41\"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"277.959 390.307 272.168 391.862 263.417 370.266 271.964 367.972 277.959 390.307\",\n fill: \"#ffb7b7\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M436.94212,533.95982l-18.67145,5.01156-.06339-.23617a7.52507,7.52507,0,0,1,5.3165-9.21816l.00046-.00013,11.40389-3.06084Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#2f2e41\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M356.0256,425.91049c-3.46527,4.45538,7.4256,41.58368,7.92071,42.07874s-.495,3.46533-.495,3.46533a2.44423,2.44423,0,0,0,.495,1.4851c.495.49506,0,.99006,0,1.98017s0,.99011.99012,2.97027a7.877,7.877,0,0,1,.495,4.45539l6.43561,37.62335a2.47009,2.47009,0,0,0-1.48517,2.47522c0,1.98022,9.90088,2.97034,13.36621,2.47522s-2.47522-44.554-2.47522-44.554,0-11.386.99012-12.3761,0-.99005,0-2.97027-1.48523-4.9505-.99012-6.43561.99012-22.772.99012-22.772,11.386,21.28689,11.386,24.25717,3.46533,7.92071,3.46533,7.92071l22.772,46.45484s-1.48511,2.97027,0,5.44549,7.92071.49506,14.35626-1.98016-2.47522-6.43561-2.47522-6.43561l-13.86121-39.52429a25.26454,25.26454,0,0,1,.495-4.45538c.495-2.47522-1.48517-1.48511-2.97028-2.47522s-.99011-.99011,0-2.97028-1.48511-6.43555-1.48511-6.43555l-6.43554-36.63323S359.49087,421.45511,356.0256,425.91049Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#2f2e41\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 215.97598,\n cy: 185.36774,\n r: 12.87115,\n fill: \"#ffb8b8\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M367.189,340.59772s-17.55938,8.04608-19.04448,12.00643,9.36621,40.63328,9.36621,40.63328.65843,15.41973-1.32173,21.36029-1.64855,6.85723-1.64855,6.85723v4.45542c0,2.47522,15.84143.495,23.76215-1.9802s28.21753-1.98019,30.19769-2.47522-3.31129-6.85723-3.31129-6.85723c6.9306-.495,0-15,0-15s-.70855-46.95386-2.68871-53.38944-20.31129-7.61056-20.31129-7.61056l-9.3319,3.15518Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#0077d9\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M387.56839,320.41611a12.53511,12.53511,0,0,0-1.75269-9.33359,13.94445,13.94445,0,0,0-9.43231-6.127,18.356,18.356,0,0,0-11.03174,1.86844c-2.05414,1.00778-4.27655,2.3595-6.42725,1.62149l.63172,1.13358-1.59986.01871.58448,1.32611-1.52729.21814,1.18134.7088a27.0963,27.0963,0,0,0-3.14276,9.0701,6.23935,6.23935,0,0,0,.28241,3.78274c.57824,1.12976,2.06976,1.78964,3.02447,1.01053.599-.4888.80286-1.3465,1.223-2.01761s1.38556-1.13916,1.88617-.53546l1.2912-2.5813,1.03369.84165a26.885,26.885,0,0,1,8.47315-5.04642,2.80465,2.80465,0,0,1,2.46008-.0669c1.15375.73908.98651,2.63053,1.78571,3.79215,1.2995,1.88873,4.49951,1.10452,5.73016,3.046a8.56936,8.56936,0,0,1,.72516,2.43637c.22.82446.75018,1.69113,1.54517,1.74448C386.189,325.59772,386.82943,323.19989,387.56839,320.41611Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#2f2e41\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M418.635,422.62774a5.43008,5.43008,0,0,1-.84778-8.28308L409.1319,397.098l9.958,1.17912,6.69252,16.19691a5.45949,5.45949,0,0,1-7.14744,8.15367Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#ffb8b8\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M411.50471,410.249l-10.09023-32.66282-11.51628-24.971a7.66192,7.66192,0,0,1,5.49157-10.7287h0a7.7032,7.7032,0,0,1,8.69595,4.987l21.00138,59.94255a2.42993,2.42993,0,0,1-1.78649,3.17985l-8.96726,1.91213a2.48368,2.48368,0,0,1-.517.05485A2.41607,2.41607,0,0,1,411.50471,410.249Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#0077d9\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M349.15783,433.90746a5.4301,5.4301,0,0,0-.97964-8.26853l4.68433-18.71941-9.46089,3.32311-2.99786,17.26681a5.45949,5.45949,0,0,0,8.75406,6.398Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#ffb8b8\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M351.53382,422.44825a2.48444,2.48444,0,0,1-.51657.05928l-9.16841.09019a2.42993,2.42993,0,0,1-2.43717-2.71353l7.4187-63.08035a7.70319,7.70319,0,0,1,7.39853-6.764h0a7.66192,7.66192,0,0,1,7.69984,9.27227l-5.79131,26.88195-2.72159,34.07733A2.41607,2.41607,0,0,1,351.53382,422.44825Z\",\n transform: \"translate(-156 -138.43581)\",\n fill: \"#0077d9\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgNotFoundIllustration);\nexport default __webpack_public_path__ + \"static/media/not-found-illustration.00ee21d8.svg\";\nexport { ForwardRef as ReactComponent };","import { StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { Link, useLocation } from 'react-router-dom';\r\nimport styled from 'styled-components';\r\nimport { ReactComponent as NotFoundIllustration } from '../../../assets/svg/not-found-illustration.svg';\r\n\r\nconst IllustrationWrapper = styled.div`\r\n width: 70%;\r\n text-align: center;\r\n box-shadow: 0px 0px 8px 8px #ccc;\r\n padding: 16px 12px 2px;\r\n`;\r\n\r\nconst Message = styled.div`\r\n font-size: 22px;\r\n font-weight: 300;\r\n`;\r\n\r\nexport function SessionOutPage() {\r\n const { pathname, search } = useLocation();\r\n\r\n return (\r\n \r\n \r\n Your session has expired. Please click here to Login\r\n \r\n \r\n \r\n );\r\n\r\n}\r\n","import styled from 'styled-components';\r\nimport { Localize } from '@agilepoint/wat-react';\r\nimport { FlexBox, Typography } from '@agilepoint/wat-react-ux';\r\n\r\n\r\nexport const CopyRightInfo = styled(Typography.XSmall)`\r\n color : ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.secondaryTextColor};\r\n`;\r\n\r\nexport function CopyRight(props: { year?: number }) {\r\n const { year } = props;\r\n return (\r\n \r\n {year || ''} \r\n \r\n );\r\n}\r\n\r\n","import { Component, memo } from 'react';\r\nimport { combineUrl } from '@agilepoint/utils-common';\r\nimport { IAppContext, IConfigurationBase } from '@agilepoint/wat';\r\nimport { FlexBox, IIconSprite, WatReactAppContainer, WithNotificationList } from '@agilepoint/wat-react-ux';\r\nimport { BrowserRouter, Navigate, Route, Routes } from 'react-router-dom';\r\nimport { QueryClient, QueryClientProvider } from 'react-query';\r\nimport { IApplicationConfig } from 'types';\r\nimport Login from '../component/login';\r\nimport { SessionOutPage } from '../component/session-out-page';\r\nimport styled from 'styled-components';\r\nimport { CopyRightInfo } from 'common/copyright-info';\r\ninterface ILoginPageProps {\r\n appContext: IAppContext;\r\n}\r\n\r\ninterface IAppRouterProps {\r\n appContext: IAppContext;\r\n children: any;\r\n}\r\n\r\nconst CoreAppLayout = styled.div`\r\n letter-spacing: .1px;\r\n background: linear-gradient(180deg,#ffff 42%, #f8f9fa 42%);\r\n height: 100%;\r\n width: 100%;\r\n border: white;\r\n`;\r\n\r\nconst BottomRightNotificationList = styled(WithNotificationList)`\r\n bottom: 50px;\r\n right: 32px;\r\n top: unset;\r\n left: unset;\r\n width: auto;\r\n`;\r\n\r\nconst StyledFlexBox = styled(FlexBox)`\r\n background-color: #f8f9fa;\r\n`;\r\n\r\nfunction getIconsPath(basePath: string) {\r\n const genericIconsSpritePath = combineUrl(basePath, '/assets/icons/generic/sprite.symbol.svg');\r\n const mobileAppAcceleratorIconsSpritePath = combineUrl(basePath, '/assets/icons/mobile-app-accelerator/sprite.symbol.svg');\r\n const iconSpriteAddons: IIconSprite[] = [\r\n { name: 'workcenter', src: mobileAppAcceleratorIconsSpritePath }\r\n ];\r\n return { genericIconsSpritePath, iconSpriteAddons };\r\n}\r\n\r\nconst queryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false } } });\r\n\r\nconst AppRouter = memo(({ appContext, children }: IAppRouterProps) => (\r\n \r\n {children}\r\n \r\n));\r\n\r\nfunction OpenLoginPage() {\r\n return ;\r\n}\r\n\r\nexport class LoginPage extends Component> {\r\n render() {\r\n const { appContext } = this.props;\r\n const { genericIconsSpritePath, iconSpriteAddons } = getIconsPath(appContext.configuration.basePath);\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n } />\r\n {/* } /> */}\r\n } />\r\n \r\n \r\n \r\n © Copyright 2024 AgilePoint.All Rights Reserved.\r\n \r\n \r\n \r\n \r\n );\r\n }\r\n}\r\n","import { createContext } from 'react';\r\nimport { INavigationMenuItem } from 'types';\r\n\r\ninterface INavigationMenuItems {\r\n menuItems: INavigationMenuItem[];\r\n}\r\n\r\nexport const MenuItemsContext = createContext({\r\n menuItems: []\r\n});\r\n","import React from 'react';\r\nimport { useNavigate, useLocation } from 'react-router-dom';\r\nimport { Menu, ICollapsibleMenuProps } from '@agilepoint/wat-react-ux';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { MenuItemsContext } from '../providers/context';\r\nimport styled from 'styled-components';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { INavigationMenuItem } from 'types';\r\n\r\ninterface IExtendedNavigationMenuProps extends ICollapsibleMenuProps {\r\n}\r\n\r\nconst StyledCollapsibleMenu = styled(Menu.CollapsibleMenu)`\r\n flex: 1;\r\n .ap-collapsibleMenu-itemWrapper {\r\n border-radius: ${(props)=>props.theme.semantics.borderRadius.curvedLarge};\r\n height: 36px;\r\n box-sizing: border-box;\r\n margin: 5px 0px;\r\n }\r\n\r\n .ap-treeView-itemsWrapper {\r\n padding: 15px 10px;\r\n }\r\n\r\n .ap-treeview-modeIndicator {\r\n width: 30px;\r\n height: 30px;\r\n }\r\n`;\r\n\r\nconst helpNavBarId = 'help';\r\n\r\nfunction useTranslatedMenuItem(): INavigationMenuItem[] {\r\n const translate = useTranslate();\r\n const { menuItems } = React.useContext(MenuItemsContext);\r\n return menuItems.map(item => ({\r\n ...item,\r\n label: translate(item.label ? item.label : '')\r\n }));\r\n}\r\n\r\nexport const NavigationMenuBase = React.memo((props: Partial) => {\r\n const navigate = useNavigate();\r\n const location = useLocation();\r\n const translatedMenuItems = useTranslatedMenuItem();\r\n const [, moduleName] = location.pathname.split('/');\r\n const [selectedId, setSelectedId] = React.useState(moduleName);\r\n\r\n const { selectMobileAppAcceleratorConfig } = useConfigScopeSelectors();\r\n const { navHelpLink } = selectMobileAppAcceleratorConfig();\r\n\r\n React.useEffect(() => {\r\n setSelectedId(moduleName);\r\n }, [moduleName]);\r\n\r\n const onChange = React.useCallback((currentSelectedId: string) => {\r\n let selectedRoute = currentSelectedId;\r\n if (currentSelectedId === helpNavBarId) {\r\n window.open(navHelpLink);\r\n selectedRoute = selectedId;\r\n }\r\n else {\r\n navigate(`/${currentSelectedId}`);\r\n }\r\n setSelectedId(selectedRoute);\r\n }, [navigate, navHelpLink, selectedId]);\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { Icon, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { Localize } from '@agilepoint/wat-react';\r\nimport { useNavigateManager } from 'lib/hooks';\r\nimport styled from 'styled-components';\r\n\r\n\r\ninterface ILogoProps {\r\n isMenuCollapsed: boolean;\r\n}\r\n\r\nconst StyledStackPanel = styled(StackPanel)<{ isMenuCollapsed: boolean }>`\r\n padding: 12px 12px 0px;\r\n padding-left: ${props => (props.isMenuCollapsed ? '20px' : '12px')};\r\n`;\r\n\r\nconst Heading = styled(Typography.H5)`\r\n color: ${props => props.theme.semantics.palette.black};\r\n`;\r\n\r\nexport function Logo(props: ILogoProps) {\r\n const { isMenuCollapsed } = props;\r\n const history = useNavigateManager();\r\n\r\n const logoClickHandler = React.useCallback(() => {\r\n history.push('/dashboard');\r\n }, [history]);\r\n\r\n return (\r\n \r\n \r\n {isMenuCollapsed ? <> :\r\n }\r\n \r\n );\r\n}\r\n","import React, { useRef } from 'react';\r\nimport styled from 'styled-components';\r\nimport { Callout, FlexBox, IMenuItem, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { clearCookies, commonStyles, cssStyles, UserAvatarText } from 'common';\r\nimport { useCustomPopupEvents } from 'lib/hooks';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { ChangePasswordContainer, CreateAnnouncementContainer, UserSettingsContainer } from 'modules/core/containers';\r\nimport { useKeyboardAccessibility } from 'common/hooks';\r\n\r\ninterface IUserDetailsProps {\r\n userName: string;\r\n fullName: string;\r\n isMenuCollapsed: boolean;\r\n isAdminTypeUser: boolean;\r\n profileImage?: string;\r\n}\r\n\r\nconst UserDetailsWrapper = styled(FlexBox) <{ isMenuCollapsed: boolean }>`\r\n padding-left: ${(props) => (props.isMenuCollapsed ? '2px' : '0px')};\r\n cursor: pointer;\r\n`;\r\n\r\nconst StyledStackPanel = styled(StackPanel)`\r\n padding-left: 12px;\r\n`;\r\n\r\nconst StyledUserName = styled(Typography.Small)`\r\n color: ${(props) => props.theme.mobileAppAccelerator.semanticColors.primaryTextColor};\r\n`;\r\n\r\nconst StyledContentMenu = styled(StackPanel)`\r\n :hover {\r\n background-color: ${(props) => props.theme.mobileAppAccelerator.semanticColors.apStandardBlueColor} ;\r\n color: ${({ theme: { semantics: { palette } } }) => palette.white};;\r\n cursor: pointer;\r\n }\r\n ${commonStyles.outlineColor};\r\n`;\r\n\r\nconst ContentMenuItem = styled(Typography.Medium)`\r\n padding: 8px 20px;\r\n`;\r\n\r\nconst useMenuItems = (isAdminTypeUser: boolean) => {\r\n const translate = useTranslate();\r\n\r\n const menuItems = [\r\n { id: 'user-settings', label: translate('modules.userActions.menuItems.userSettings') },\r\n { id: 'change-password', label: translate('modules.userActions.menuItems.changePassword') },\r\n { id: 'sign-out', label: translate('modules.userActions.menuItems.signOut') }\r\n ] as IMenuItem[];\r\n if (isAdminTypeUser) {\r\n menuItems.splice(1, 0, { id: 'create-announcement', label: translate('modules.userActions.menuItems.createNotification') });\r\n }\r\n\r\n return menuItems;\r\n};\r\n\r\nexport function UserDetails(props: IUserDetailsProps) {\r\n const { userName, fullName, profileImage, isMenuCollapsed, isAdminTypeUser } = props;\r\n const menuItems = useMenuItems(isAdminTypeUser);\r\n const calloutRef = useRef(null);\r\n\r\n const [showCallout, setShowCallout] = React.useState(false);\r\n\r\n const showHideCalloutHandler = React.useCallback(() => {\r\n setShowCallout((p: boolean) => !p);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {isMenuCollapsed ? <> :\r\n \r\n {fullName}\r\n {userName}\r\n }\r\n \r\n \r\n {showCallout ?\r\n \r\n \r\n \r\n :\r\n <>\r\n }\r\n \r\n );\r\n}\r\n\r\ninterface IRenderContextMenuProps {\r\n menuItems: IMenuItem[];\r\n showHideCalloutHandler: () => void;\r\n}\r\n\r\nconst ContextMenu = (props: IRenderContextMenuProps) => {\r\n const { menuItems, showHideCalloutHandler } = props;\r\n const { showCustomPopup, removePopup } = useCustomPopupEvents();\r\n const { selectBasePathURL } = useConfigScopeSelectors('config');\r\n const baseURL = selectBasePathURL();\r\n const translate = useTranslate();\r\n\r\n const renderUserSettingsPopup = React.useCallback(() => , [removePopup]);\r\n const renderChangePasswordPopup = React.useCallback(() => , []);\r\n\r\n const onMenuItemChange = React.useCallback((id: string) => {\r\n showHideCalloutHandler();\r\n switch (id) {\r\n case 'user-settings':\r\n showCustomPopup({\r\n onRenderContent: renderUserSettingsPopup,\r\n showModal: true,\r\n id: 'user-settings',\r\n headerTitle: translate('modules.userActions.userSettings.title'),\r\n width: '450px',\r\n cssStyles: cssStyles\r\n });\r\n break;\r\n case 'change-password':\r\n showCustomPopup({\r\n onRenderContent: renderChangePasswordPopup,\r\n showModal: true,\r\n headerTitle: translate('modules.userActions.changePassword.title'),\r\n width: '1000px',\r\n height: '600px'\r\n });\r\n break;\r\n case 'create-announcement':\r\n showCustomPopup({\r\n onRenderContent: () => ,\r\n showModal: true,\r\n id: 'create-announcement',\r\n headerTitle: translate('modules.userActions.createAnnouncement.title'),\r\n width: '700px',\r\n cssStyles\r\n });\r\n break;\r\n case 'sign-out':\r\n clearCookies();\r\n window.open(baseURL, '_self');\r\n break;\r\n default:\r\n break;\r\n }\r\n }, [baseURL, removePopup, renderChangePasswordPopup, renderUserSettingsPopup, showCustomPopup, showHideCalloutHandler, translate]);\r\n\r\n const { elementRef } = useKeyboardAccessibility({ callback: onMenuItemChange });\r\n\r\n return (\r\n \r\n {menuItems.map((items) =>\r\n ( onMenuItemChange(items.id)} elementRef={elementRef}>\r\n {items.label!}\r\n )\r\n )}\r\n \r\n );\r\n};\r\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _path13, _path14, _path15, _path16, _path17, _path18, _path19, _path20, _path21, _path22, _path23;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgRouteNotFoundIllustration(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n id: \"Layer_1\",\n xmlns: \"http://www.w3.org/2000/svg\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n x: \"0px\",\n y: \"0px\",\n width: \"393px\",\n height: \"250px\",\n viewBox: \"0 0 393 250\",\n enableBackground: \"new 0 0 393 250\",\n xmlSpace: \"preserve\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#5CB9CA\",\n d: \"M295.1,183.1c0,0,22.6,0.8,31-15.9s14.1-14.6,22.5-14.5s14.8-6,13-13c-1.9-7.1-7.2-8.7-7.2-8.7 s17.5-2.3,17.9-11.8s-10.5-8.2-10.5-8.2s17.5-11.7,7-21.5c-9-8.4-15.9,4.9-15.9,4.9s1.3-12.9-7.8-13c-14.4-0.2-6.9,17.6-6.9,17.6 s-5.8-6.5-13-3.4c-9.6,4.2,1.4,20.6,1.4,20.6s-8.4-2.8-13.3,1.2c-6.1,5-1.6,13.9,1.7,21.4c3.5,7.9,7.6,10.5,2,15 c-4.6,3.9-11.4-3.1-17,4.1C295.8,163.2,308.7,171.6,295.1,183.1z\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.356,\n fill: \"#7ED4E3\",\n enableBackground: \"new \",\n d: \"M42.7,25.9c7.2,0,13-5.8,13-13s-5.8-13-13-13s-13,5.8-13,13 S35.5,25.9,42.7,25.9z\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#7ED4E3\",\n d: \"M110,60.6c14.8,0,26.8-12,26.8-26.8S124.8,7.1,110,7.1s-26.8,12-26.8,26.8S95.2,60.6,110,60.6z\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F5F7F8\",\n d: \"M61.2,97.3c10.1,0,18.3-8.2,18.3-18.3s-8.2-18.3-18.3-18.3S42.9,68.9,42.9,79S51.1,97.3,61.2,97.3z\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#5CB9CA\",\n d: \"M68.3,208.8c0,0-2.3-17.1-10.1-28.2c-7.8-11.1-13.2-10.1-20-8.3c-6.6,1.8-10.8,4.2-14.2-1.5 c-3.2-5.5,2.4-9.3,2.4-9.3s-16,5.3-20.3-8c-3.5-10.8,3.4-18.5,9.6-20.2c8.9-2.4,16.2,4.5,16.2,4.5s-0.1-10.4,12-8.7 c10.6,1.5,11.1,20.4,11.1,20.4s4.3-10.3,13-3c7.3,6.2,9,21.7,8.2,34.7C75.5,190.3,68.3,208.8,68.3,208.8z\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#E1EAEE\",\n d: \"M138.1,44.3h125.4c37.5,0,67.9,30.4,67.9,67.9v30.7c0,37.5-30.4,67.9-67.9,67.9H138.1 c-37.5,0-67.9-30.4-67.9-67.9v-30.7C70.2,74.7,100.6,44.3,138.1,44.3z\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#39447A\",\n d: \"M201.2,221.8H71.4c-11.7,0-32-3.7-32-3.7v-3.2h323.5c-0.4,1.1-0.8,2.1-1.4,3.1c-0.5,0.4-25.9,3.7-39.7,3.7 L201.2,221.8z M71.1,214.3c-1.8,0-3.2-1.4-3.3-3.2v-158c0.1-6.4,5.3-11.4,11.7-11.3h242.2c6.4-0.1,11.6,5,11.7,11.3v158.1 c0,1.8-1.5,3.2-3.3,3.2L71.1,214.3z M74.3,53.1v155H327v-155c0-2.8-2.4-5.1-5.2-5.1H79.5C76.7,47.9,74.4,50.3,74.3,53.1z\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F4F8FA\",\n d: \"M323.1,48c2.4,0,4.3,1.9,4.3,4.2v151.7c0,2.3-1.9,4.2-4.3,4.2H78.6c-2.4,0,0.3,0-4.3,0V52.2 c0-2.3,1.9-4.2,4.3-4.2H323.1z\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#EBEEF9\",\n d: \"M323.1,47.9c2.4,0,4.3,1.9,4.3,4.2v15.8H74.3V52.1c0-2.4,1.9-4.2,4.3-4.2C78.6,47.9,323.1,47.9,323.1,47.9z\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFFFFF\",\n d: \"M87,61.1c2,0,3.7-1.6,3.7-3.7S89,53.8,87,53.8s-3.7,1.6-3.7,3.7S85,61.1,87,61.1z\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFFFFF\",\n d: \"M101.2,61.1c2,0,3.7-1.6,3.7-3.7s-1.6-3.7-3.7-3.7c-2,0-3.7,1.6-3.7,3.7S99.2,61.1,101.2,61.1z\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#105449\",\n d: \"M115.4,61.1c2,0,3.7-1.6,3.7-3.7s-1.6-3.7-3.7-3.7c-2,0-3.7,1.6-3.7,3.7S113.4,61.1,115.4,61.1z\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#7ED4E3\",\n d: \"M71.1,215.3c0,0-12-11.7-19.2-16.9c-9.1-6.6-18-8.5-19.5-14c-1.2-4.5,4.5-6.7,9.2-4.6 c3.2,1.4,6.1,3.1,9.1,4.8c-3.7-5.8-8.6-10.6-14.5-14.2c-7.3-4.6-7.7-11.8-2.4-15.2s9.7-1.3,14.4,4.2c2.8,3.7,5.1,7.9,6.5,12.3 c0,0,0.6-10.1-1.1-16c-2.1-7.4-6.5-9.7-13.3-16.2c-6.6-6.2-1.3-15.9,6.2-16.2c9.6-0.4,15.2-0.1,14.3-6.5c-1.2-7.8-1.8-12.5,3.7-17.3 c7.5-6.7,15.6-2.7,20.5,4c4,5.4,0.5,16.2,0.5,16.2s5.3-5,12-2.4c7.3,2.8,7.1,11.7,4.7,16.3c-2.4,4.6-12.1,9.4-12.1,9.4 s8.1,0.1,7.5,6.7c-0.5,5.8-6.8,6.8-12.4,6.7c-4.1,0-11.6,4.5-11.6,4.5s11.1-2.8,12.6,4.4c1.3,6.4-5.3,9.2-10,11.4 c-3.1,1.5-5.7,3.7-7.9,6.1c0,0,6.6-3.8,9.3,1.4c2.7,5.1-0.9,9.3-5.3,12.1C68,199.4,68.7,207.8,71.1,215.3z\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#7ED4E3\",\n d: \"M331.6,213.4c0-6.4-0.8-12.6-2.5-18.7c-3.3-12.5-12.4-17.2-8.5-24.8c4.4-8.7,14.8-3.2,14.8-3.2 s-15.1-16.2-3.6-23.2c9-5.4,13.2,4.1,13.2,4.1s2-20.6,12.8-16.6c12,4.3,0.7,19.5,0.7,19.5s11.1-4.9,14.4,5.4 c3.1,9.6-12.3,12.2-13.1,14.1c-1.4,3,6.6-1.7,9,5.9c1.8,5.8-6.7,10.6-18.1,15.7C339.4,196.5,333.8,207.5,331.6,213.4z\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F5AB90\",\n d: \"M255.4,31.8c2.9,0,5.3-2.4,5.3-5.3s-2.4-5.3-5.3-5.3s-5.3,2.4-5.3,5.3C250.1,29.5,252.5,31.8,255.4,31.8z\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.478,\n fill: \"#0077D9\",\n enableBackground: \"new \",\n d: \"M292,100.2c2.9,0,5.3-2.4,5.3-5.3s-2.4-5.3-5.3-5.3 s-5.3,2.4-5.3,5.3C286.7,97.9,289,100.2,292,100.2z\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n opacity: 0.506,\n fill: \"#F1C411\",\n enableBackground: \"new \",\n d: \"M360.4,37.7c2.9,0,5.3-2.4,5.3-5.3s-2.4-5.3-5.3-5.3 s-5.3,2.4-5.3,5.3C355.1,35.4,357.4,37.7,360.4,37.7z\"\n })), _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#B6383E\",\n d: \"M302.4,250c21.2,0,38.3-17.2,38.3-38.3c0-21.2-17.2-38.3-38.3-38.3s-38.3,17.2-38.3,38.3 S281.3,250,302.4,250z\"\n })), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#FFFFFF\",\n d: \"M318,222.5l-11-11l11.1-11.1c1.2-1.2,1.2-3.2,0-4.1c-1.2-1.2-3.2-1.2-4.1,0l-11.1,11.1l-11.3-11.3 c-1.2-1.2-3.2-1.2-4.1,0c-1.2,1.2-1.2,3.2,0,4.1l11.1,11.1l-11.3,11.3c-1.2,1.2-1.2,3.2,0,4.1c0.6,0.6,1.4,0.8,2.2,0.8 c0.8,0,1.6-0.2,2.2-0.8l11.1-11.1l11.1,11.1c0.6,0.6,1.4,0.8,2.2,0.8s1.6-0.2,2.2-0.8C319.2,225.5,319.2,223.7,318,222.5z\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F1C411\",\n d: \"M157.7,142.4v6.1H127l-0.3-4.7l18.1-28.5h6.2l-6.7,11.3l-9.7,15.8L157.7,142.4L157.7,142.4z M152.6,115.3 V158h-7.8v-42.7H152.6z\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#F1C411\",\n d: \"M257.9,142.4v6.1h-30.7l-0.3-4.7l18.1-28.5h6.2l-6.7,11.3l-9.7,15.8L257.9,142.4L257.9,142.4z M252.9,115.3 V158h-7.8v-42.7H252.9z\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0077D9\",\n d: \"M214.8,129.9l-1.8-0.3c-0.1-0.2-0.2-0.4-0.3-0.6l1-1.5c1.6-2.2,1.3-5.2-0.6-7.1l-2.9-2.9 c-1.9-1.9-4.9-2.1-7-0.6l-1.5,1c-0.3-0.1-0.5-0.2-0.7-0.3l-0.3-1.7c-0.4-2.6-2.7-4.6-5.4-4.6h-4.1c-2.7,0-5,1.9-5.4,4.6l-0.3,1.8 c-0.2,0.1-0.4,0.2-0.6,0.3l-1.4-1c-2.2-1.6-5.2-1.3-7.1,0.6l-2.9,2.9c-1.9,1.9-2.2,4.9-0.6,7.1l1.1,1.5c-0.1,0.2-0.2,0.4-0.3,0.6 L172,130c-2.6,0.4-4.6,2.7-4.6,5.4v4.1c0,2.7,1.9,5,4.6,5.4l1.8,0.3c0.1,0.2,0.2,0.4,0.3,0.6l-1,1.4c-1.6,2.2-1.3,5.2,0.6,7.1 l2.9,2.9c1.9,1.9,4.9,2.1,7.1,0.6l1.5-1.1c0.2,0.1,0.3,0.1,0.5,0.2l0.3,1.8c0.4,2.6,2.7,4.6,5.4,4.6h4.1c2.7,0,5-1.9,5.4-4.6 l0.3-1.8c0.2-0.1,0.4-0.2,0.6-0.3l1.4,1c2.2,1.6,5.2,1.3,7.1-0.6l2.9-2.9c1.9-1.9,2.2-4.9,0.6-7.1l-1-1.5c0.1-0.2,0.2-0.4,0.3-0.6 l1.8-0.3c2.6-0.4,4.6-2.7,4.6-5.4v-4.1C219.4,132.6,217.4,130.3,214.8,129.9z M214.2,139.5c0,0.1-0.1,0.2-0.2,0.2l-3.2,0.5 c-1,0.2-1.9,0.9-2.1,1.9c-0.3,0.9-0.7,1.8-1.1,2.6c-0.5,0.9-0.4,2,0.2,2.8l1.9,2.7c0.1,0.1,0.1,0.3,0,0.4l-2.9,2.9 c-0.1,0.1-0.1,0.1-0.2,0.1c-0.1,0-0.1,0-0.2-0.1l-2.6-1.9c-0.8-0.6-1.9-0.7-2.8-0.2c-0.8,0.4-1.7,0.8-2.6,1.1 c-1,0.3-1.7,1.1-1.9,2.1l-0.6,3.2c0,0.2-0.1,0.3-0.3,0.3h-4.1c-0.2,0-0.3-0.1-0.3-0.3l-0.5-3.2c-0.2-1-0.9-1.8-1.9-2.1 c-0.9-0.3-1.7-0.6-2.5-1c-0.4-0.2-0.8-0.3-1.3-0.3c-0.6,0-1.1,0.2-1.6,0.5l-2.7,1.9c0,0-0.1,0.1-0.2,0.1c-0.1,0-0.2,0-0.2-0.1 l-2.9-2.9c-0.1-0.1-0.1-0.3,0-0.4l1.9-2.6c0.6-0.8,0.7-1.9,0.2-2.8c-0.4-0.8-0.8-1.7-1.1-2.6c-0.3-1-1.1-1.7-2.1-1.9l-3.3-0.6 c-0.2,0-0.3-0.1-0.3-0.3v-4.1c0-0.2,0.1-0.3,0.3-0.3l3.2-0.5c1-0.2,1.8-0.9,2.1-1.9c0.3-0.9,0.6-1.8,1.1-2.6c0.5-0.9,0.4-2-0.2-2.8 l-1.9-2.7c-0.1-0.1-0.1-0.3,0-0.4l2.9-2.9c0.1-0.1,0.1-0.1,0.2-0.1c0.1,0,0.1,0,0.2,0.1l2.6,1.9c0.8,0.6,1.9,0.7,2.8,0.2 c0.8-0.4,1.7-0.8,2.6-1.1c1-0.3,1.7-1.1,1.9-2.1l0.6-3.3c0-0.2,0.1-0.3,0.3-0.3h4.1c0.2,0,0.3,0.1,0.3,0.3l0.5,3.2 c0.2,1,0.9,1.9,1.9,2.1c0.9,0.3,1.9,0.7,2.7,1.1c0.9,0.5,2,0.4,2.8-0.2l2.7-1.9c0,0,0.1-0.1,0.2-0.1c0.1,0,0.2,0,0.2,0.1l2.9,2.9 c0.1,0.1,0.1,0.3,0,0.4l-1.9,2.6c-0.6,0.8-0.7,1.9-0.2,2.8c0.4,0.8,0.8,1.7,1.1,2.6c0.3,1,1.1,1.7,2.1,1.9l3.2,0.5 c0.1,0,0.2,0.1,0.2,0.3L214.2,139.5L214.2,139.5z\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n fill: \"#0077D9\",\n d: \"M193.4,126.6c-6,0-10.8,4.8-10.8,10.8s4.8,10.8,10.8,10.8s10.8-4.8,10.8-10.8S199.4,126.6,193.4,126.6z M199,137.4c0,3.1-2.5,5.6-5.6,5.6s-5.6-2.5-5.6-5.6c0-3.1,2.5-5.6,5.6-5.6S199,134.3,199,137.4z\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgRouteNotFoundIllustration);\nexport default __webpack_public_path__ + \"static/media/route-not-found-illustration.efd1ff88.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { StackPanel } from '@agilepoint/wat-react-ux';\r\n// import { NotificationContainer } from '../containers';\r\nimport { useConfigScopeSelectors } from '../scopes';\r\nimport { UserDetails } from './parts/user-details';\r\n\r\ninterface INavBarFooterProps {\r\n isMenuCollapsed: boolean;\r\n}\r\n\r\nconst HorizontalSeparator = styled.div`\r\n width: 100%;\r\n height: 1px;\r\n box-sizing: border-box;\r\n margin: unset;\r\n background-color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant5};\r\n`;\r\n\r\nconst StyledStackPanel = styled(StackPanel) <{ isMenuCollapsed: boolean }>`\r\n width: ${({ isMenuCollapsed }) => (isMenuCollapsed ? '40px' : '258px')}; \r\n flex-direction: column;\r\n box-sizing: border-box;\r\n gap: ${({ isMenuCollapsed }) => (isMenuCollapsed ? '8px' : '16px')};\r\n padding: ${({ isMenuCollapsed }) => (isMenuCollapsed ? '0' : '0 20px')};\r\n`;\r\n\r\nexport function NavBarFooter(props: INavBarFooterProps) {\r\n const { isMenuCollapsed } = props;\r\n const { selectCurrentUserDetails, isUserTypeAdmin } = useConfigScopeSelectors();\r\n const { userName, fullName, userOrgInfo: profileImage } = selectCurrentUserDetails();\r\n const isAdminTypeUser = isUserTypeAdmin();\r\n\r\n const renderSeperator = React.useCallback(() => (\r\n <>\r\n {\r\n isMenuCollapsed ? <> :\r\n \r\n }\r\n \r\n ), [isMenuCollapsed]);\r\n\r\n return (\r\n \r\n {/* Note: Disabled temporarily - feedback from Sharma */}\r\n {/* */}\r\n \r\n \r\n );\r\n}\r\n","import { ActionButton, IButtonProps } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\n\r\ninterface INotificationButtonProps extends IButtonProps {\r\n isMenuCollapsed: boolean;\r\n}\r\n\r\nconst StyledButton = styled(ActionButton) <{ isMenuCollapsed: boolean }>`\r\n padding-left: ${(props) => (props.isMenuCollapsed ? '2px' : '0px')};\r\n display: flex;\r\n width: 100%;\r\n \r\n`;\r\n\r\nexport const NotificationButton = (props: INotificationButtonProps) => {\r\n const { isMenuCollapsed, contextMenuProps, hideMenuIcon } = props;\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n","import styled from 'styled-components';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { StackPanel, Typography, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { ReactComponent as NotFoundIllustration } from '../../../assets/svg/route-not-found-illustration.svg';\r\n\r\nexport interface INotFoundPageProps {\r\n className?: string;\r\n}\r\n\r\nexport interface INotFoundPageProps {\r\n className?: string;\r\n}\r\n\r\nconst MainHeaderInfo = styled.div`\r\n ${typographyPresets.headings.h1};\r\n font-size: 40px;\r\n font-weight: 400;\r\n`;\r\n\r\nexport function NotFoundPage(props: INotFoundPageProps) {\r\n const { className } = props;\r\n const translate = useTranslate();\r\n\r\n return (\r\n \r\n \r\n \r\n Oops!\r\n {translate('common.messages.pageDoesNotExists')}\r\n \r\n \r\n );\r\n}\r\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _circle, _path8, _path9, _path10, _path11, _rect, _path12, _polygon;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgDownloadBuild(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n \"data-name\": \"Layer 1\",\n width: 733.86247,\n height: 702.19479,\n viewBox: \"0 0 733.86247 702.19479\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title === undefined ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, \"cloud_files\") : title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M257.07474,533.1599a1.11537,1.11537,0,0,1-.23571-.46222,351.19117,351.19117,0,0,1,478.94006-405.746,1.11976,1.11976,0,1,1-.87626,2.061C612.32539,76.89059,473.23316,98.13255,371.90572,184.44937,271.19684,270.23927,227.9405,403.478,259.01686,532.17137a1.12007,1.12007,0,0,1-1.94212.98853Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#e6e6e6\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M461.79585,773.48566a1.11976,1.11976,0,0,1,1.28506-1.75985C585.19759,822.86767,723.62042,801.34331,824.331,715.552,926.61163,628.42316,970.04606,494.49037,937.6846,366.02043a1.12,1.12,0,0,1,2.17242-.54614,346.59614,346.59614,0,0,1-5.75077,189.35434A353.6721,353.6721,0,0,1,825.78337,717.257a351.07362,351.07362,0,0,1-363.569,56.53446A1.113,1.113,0,0,1,461.79585,773.48566Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#e6e6e6\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M435.91449,793.36365a1.11922,1.11922,0,0,1,.12628-1.57869L965.085,341.11317a1.11987,1.11987,0,1,1,1.45241,1.705L437.49318,793.48994A1.11922,1.11922,0,0,1,435.91449,793.36365Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#e6e6e6\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.33628,555.55682a1.11959,1.11959,0,0,1,.12629-1.5787L762.50681,103.30633a1.11988,1.11988,0,0,1,1.45241,1.705L234.915,555.6831A1.11959,1.11959,0,0,1,233.33628,555.55682Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#e6e6e6\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M435.91449,793.36365a1.11922,1.11922,0,0,1,.12628-1.57869L965.085,341.11317a1.11987,1.11987,0,1,1,1.45241,1.705L437.49318,793.48994A1.11922,1.11922,0,0,1,435.91449,793.36365Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#e6e6e6\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M851.60079,284.65378H646.84415v-1.07216a3.14805,3.14805,0,0,0-3.14805-3.14805H557.14758a3.14805,3.14805,0,0,0-3.148,3.14805v1.07216H348.39885A13.85024,13.85024,0,0,0,334.54861,298.504V578.87887a13.85024,13.85024,0,0,0,13.85024,13.85024H851.60073a13.8503,13.8503,0,0,0,13.8503-13.85029V298.504A13.85024,13.85024,0,0,0,851.60079,284.65378Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#3f3d56\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M359.41357,314.13086a1.29773,1.29773,0,0,0-1.29589,1.29639V581.36914a1.29732,1.29732,0,0,0,1.29589,1.2959H840.58594a1.297,1.297,0,0,0,1.2959-1.2959V315.42725a1.29742,1.29742,0,0,0-1.2959-1.29639Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#0077d9\"\n })), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 366.50903,\n cy: 197.56776,\n r: 5.06425,\n fill: \"#0077d9\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M874.67264,573.83276H826.48442v-4.97648c0-.27332-.30819-.49487-.6884-.49487H809.27435c-.38021,0-.68841.22155-.68841.49487v4.97648h-10.326v-4.97648c0-.27332-.3082-.49487-.68841-.49487H781.04982c-.38021,0-.6884.22155-.6884.49487v4.97648H770.03537v-4.97648c0-.27332-.30819-.49487-.6884-.49487H752.8253c-.38021,0-.68841.22155-.68841.49487v4.97648h-10.326v-4.97648c0-.27332-.3082-.49487-.68841-.49487H724.60077c-.38021,0-.6884.22155-.6884.49487v4.97648H713.58632v-4.97648c0-.27332-.30819-.49487-.6884-.49487H696.37625c-.38021,0-.68841.22155-.68841.49487v4.97648h-10.326v-4.97648c0-.27332-.3082-.49487-.68841-.49487H668.15172c-.38021,0-.6884.22155-.6884.49487v4.97648H657.13727v-4.97648c0-.27332-.30819-.49487-.6884-.49487H527.0291c-.38021,0-.68841.22155-.68841.49487v4.97648h-10.326v-4.97648c0-.27332-.3082-.49487-.68841-.49487H498.80457c-.38021,0-.6884.22155-.6884.49487v4.97648H487.79012v-4.97648c0-.27332-.30819-.49487-.6884-.49487H470.58005c-.38021,0-.68841.22155-.68841.49487v4.97648h-10.326v-4.97648c0-.27332-.3082-.49487-.68841-.49487H442.35552c-.38021,0-.6884.22155-.6884.49487v4.97648H431.34107v-4.97648c0-.27332-.30819-.49487-.6884-.49487H414.131c-.38021,0-.68841.22155-.68841.49487v4.97648h-10.326v-4.97648c0-.27332-.3082-.49487-.68841-.49487H385.90647c-.38021,0-.6884.22155-.6884.49487v4.97648H374.892v-4.97648c0-.27332-.30819-.49487-.6884-.49487H357.68195c-.38021,0-.68841.22155-.68841.49487v4.97648H325.327c-9.12466,0-16.52167,5.31743-16.52167,11.8768V591.08c0,6.55934,7.397,11.87677,16.52167,11.87677H874.67264c9.12466,0,16.52167-5.31743,16.52167-11.87677v-5.37041C891.19431,579.15019,883.7973,573.83276,874.67264,573.83276Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#3f3d56\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M543.97808,426.01694H401.75433a1.11987,1.11987,0,1,1,0-2.23974H543.97808a1.11987,1.11987,0,1,1,0,2.23974Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#f2f2f2\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M543.97808,450.65413H401.75433a1.11987,1.11987,0,1,1,0-2.23974H543.97808a1.11987,1.11987,0,1,1,0,2.23974Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#f2f2f2\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M543.97808,475.29132H401.75433a1.11988,1.11988,0,1,1,0-2.23975H543.97808a1.11988,1.11988,0,1,1,0,2.23975Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#f2f2f2\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 373.06222,\n y: 262.72169,\n width: 182.53915,\n height: 175.81992,\n rx: 3.35962,\n fill: \"#fff\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M642.683,454.67371a45.00606,45.00606,0,0,1,88.30268-9.48886c.54524-.01956,1.09-.04147,1.64-.04147a17.66745,17.66745,0,0,1,5.51476.93823c22.387,7.35112,16.49195,40.7751-7.07106,40.7751H673.1604a30.44228,30.44228,0,0,1-30.5093-31.51923Q642.66463,455.0061,642.683,454.67371Z\",\n transform: \"translate(-233.06876 -98.90261)\",\n fill: \"#0077d9\"\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"462.397 355.07 462.397 336.649 452.478 336.649 452.478 355.07 444.559 355.07 450.998 366.224 457.438 377.377 463.877 366.224 470.316 355.07 462.397 355.07\",\n fill: \"#fff\"\n })));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgDownloadBuild);\nexport default __webpack_public_path__ + \"static/media/download-build.859356f1.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { ProgressIndicator, Typography } from '@agilepoint/wat-react-ux';\r\nimport { IMobileBuild, useGetBuildRequestByStatusOrBuildIdQuery, useOptionalDownloadMobilePackageQuery } from 'modules/my-apps/queries';\r\nimport { saveFile, toCamelCasedKeys } from '@agilepoint/utils-common';\r\nimport { StyledPrimaryButton, StyledStackPanel } from 'common';\r\nimport { ReactComponent as DownloadBuildIllustration } from '../../../../assets/svg/download-build.svg';\r\n\r\nconst StyledBuildIllustrations = styled(DownloadBuildIllustration)`\r\n width: 100%;\r\n height: 80%;\r\n ${StyledStackPanel}{\r\n box-sizing: border-box;\r\n }\r\n`;\r\n\r\nconst ContentWrapper = styled(StyledStackPanel)`\r\n box-sizing: border-box;\r\n`;\r\n\r\nconst StyledProgressIndicator = styled(ProgressIndicator)`\r\n width: 100%;\r\n`;\r\n\r\nexport const DownloadBuildPage = () => {\r\n const { refetch } = useGetBuildRequestByStatusOrBuildIdQuery();\r\n const [downloadPackage] = useOptionalDownloadMobilePackageQuery();\r\n const [progress, setProgress] = React.useState(undefined);\r\n\r\n const onDownload = React.useCallback(async () => {\r\n const { data } = await refetch();\r\n if (data) {\r\n const res = toCamelCasedKeys(data[0]) as IMobileBuild;\r\n\r\n try {\r\n setProgress(0);\r\n const packageResponse = await downloadPackage(res.buildRequestId);\r\n const reader = packageResponse?.body?.getReader();\r\n const contentLength = Number(packageResponse?.headers.get('Content-Length'));\r\n let receivedLength = 0; // received 'n' number of bytes at the moment\r\n const chunks = []; // array of received binary chunks (comprises the body)\r\n\r\n // eslint-disable-next-line no-constant-condition\r\n while (true) {\r\n const { done, value } = await reader!.read();\r\n if (done) {\r\n break;\r\n }\r\n chunks.push(value);\r\n receivedLength += value.length;\r\n const currentProgress = Math.round((receivedLength / contentLength) * 100);\r\n setProgress(currentProgress);\r\n }\r\n\r\n const blob = new Blob(chunks, {\r\n type: 'application/zip'\r\n });\r\n const fileName = `${res?.appFileDisplayName}_${res?.appType}.zip`;\r\n saveFile(blob, fileName, 'application/zip');\r\n\r\n } catch (error) {\r\n setProgress(0);\r\n }\r\n }\r\n }, [downloadPackage, refetch]);\r\n\r\n const downloadBuildButtonLabel = () => (\r\n progress !== undefined ? 'Downloading Build...' : 'Download Build'\r\n );\r\n\r\n return (\r\n \r\n \r\n {progress === 100\r\n ? Thank you for downloading the app package\r\n : }\r\n \r\n );\r\n};\r\n","import * as React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Route, Routes } from 'react-router-dom';\r\nimport { FlexBox, IBaseComponentProps, StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { LoadingIllustration } from 'common';\r\nimport { NavigationMenuBase } from './navigation-base-menu';\r\nimport { Logo } from './logo';\r\nimport { NavBarFooter } from './nav-bar-footer';\r\nimport { NotFoundPage } from '../pages/not-found-page';\r\nimport { CopyRight } from 'common/copyright-info';\r\nimport { useConfigScopeSelectors } from '../scopes';\r\nimport { DownloadBuildPage } from '../../my-apps/components/download-build/download-build-page';\r\n\r\nexport interface ICoreAppLayoutProps extends IBaseComponentProps {\r\n routes: React.ReactNode[];\r\n}\r\n\r\nconst PrimaryContentArea = styled.div`\r\n height: calc(100% - 30px);\r\n /* overflow-y: auto; */\r\n`;\r\n\r\nconst NavMenuBlock = styled(FlexBox) <{ $isMenuCollapsed: boolean }>`\r\n height: 100%;\r\n width: ${({ $isMenuCollapsed }) => ($isMenuCollapsed ? '60px' : '270px')};\r\n box-sizing: border-box;\r\n padding: 10px 0px ${({ $isMenuCollapsed }) => ($isMenuCollapsed ? '25px' : '20px')} 0px;\r\n background-color: ${props => props.theme.semantics.palette.white};\r\n\r\n .ap-treeView-wrapper {\r\n width: 100% !important;\r\n border: none;\r\n .ap-collapsibleMenu-itemWrapper {\r\n padding: 10px ${({ $isMenuCollapsed }) => ($isMenuCollapsed ? '12px' : '8px')};\r\n }\r\n .ap-treeView-item span {\r\n max-width: 150px;\r\n }\r\n }\r\n`;\r\n\r\nconst NavResult = styled(StackPanel) <{ $isMenuCollapsed: boolean }>`\r\n height: 100%;\r\n width: ${({ $isMenuCollapsed }) => ($isMenuCollapsed ? 'calc(100% - 60px)' : 'calc(100% - 270px)')};\r\n background-color: ${({ theme: { mobileAppAccelerator } }) => mobileAppAccelerator.semanticColors.pageBackgroundColor};\r\n`;\r\n\r\nconst ContentArea = styled.div`\r\n height: 100%;\r\n overflow-y: auto;\r\n /* flex-grow: 1; */\r\n width: 100%;\r\n`;\r\n\r\nexport const CoreAppLayoutBase = React.memo((props: ICoreAppLayoutProps) => {\r\n const { routes, className } = props;\r\n const [isMenuCollapsed, toggleMenu] = React.useState(false);\r\n const { selectMobileAppAcceleratorConfig } = useConfigScopeSelectors();\r\n const { copyrightYear } = selectMobileAppAcceleratorConfig();\r\n\r\n const onModeChange = React.useCallback(() => {\r\n toggleMenu(!isMenuCollapsed);\r\n }, [toggleMenu, isMenuCollapsed]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n }>\r\n \r\n {routes}\r\n } />\r\n } />\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import { useConfigScopeSelectors } from '../scopes';\r\nimport { CultureProvider, IBaseComponentProps } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\nimport React from 'react';\r\nimport { CoreAppLayoutBase } from '../component/core-app-layout';\r\n\r\nexport interface ICoreAppLayoutProps extends IBaseComponentProps {\r\n routes: React.ReactNode[];\r\n}\r\n\r\nconst CoreAppLayout = styled(CoreAppLayoutBase)`\r\n letter-spacing: .1px;\r\n background-color: white;\r\n height: 100%;\r\n width: 100%;\r\n border: white;\r\n`;\r\n\r\nexport function CoreAppLayoutContainer(props: ICoreAppLayoutProps) {\r\n const { selectCulture } = useConfigScopeSelectors('config');\r\n const culture = selectCulture();\r\n return (\r\n \r\n {React.createElement(CoreAppLayout, props)}\r\n \r\n );\r\n}\r\n","export enum CorePageEndPoints {\r\n GET_NOTIFICATIONS = 'GetNotifications',\r\n GET_ALL_NOTIFICATIONS = 'GetAllNotifications',\r\n GET_USER_SETTINGS = 'GetTextData/UserProfile'\r\n}\r\n\r\nexport enum CorePageQueryKey {\r\n GET_NOTIFICATIONS = 'GET_NOTIFICATIONS',\r\n GET_ALL_NOTIFICATIONS = 'GET_ALL_NOTIFICATIONS',\r\n GET_USER_SETTINGS = 'GET_USER_SETTINGS'\r\n}\r\n","import styled from 'styled-components';\r\nimport { FlexBox } from '@agilepoint/wat-react-ux';\r\nimport { toCamelCasedKeys } from '@agilepoint/utils-common';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner } from 'common';\r\nimport { NotificationContent } from '../component/parts/notifications';\r\nimport { useAllNotificationQuery } from '../queries';\r\n\r\nconst StyledFlexBox = styled(FlexBox)`\r\n padding: 10px;\r\n width: 280px;\r\n height: 346px;\r\n`;\r\n\r\ninterface INotificationDetailsContainerProps {\r\n showHideCallout: (value: boolean) => void;\r\n}\r\n\r\nexport function NotificationDetailsAdminContainer(props: INotificationDetailsContainerProps) {\r\n const { data, isLoading } = useAllNotificationQuery();\r\n const translate = useTranslate();\r\n\r\n if (isLoading) {\r\n return (\r\n \r\n \r\n \r\n );\r\n }\r\n\r\n if (data) {\r\n const info = toCamelCasedKeys(data, true);\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n );\r\n}\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Callout, FlexBox, Icon, Typography, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { NotificationDetailsContainer } from 'modules/core/containers';\r\nimport { NotificationDetailsAdminContainer } from 'modules/core/containers/notification-details-admin-container';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { Localize } from '@agilepoint/wat-react';\r\n\r\ninterface INotificationCountProps {\r\n notificationCount: number;\r\n isMenuCollapsed: boolean;\r\n}\r\n\r\nconst NotificationContent = styled(FlexBox)`\r\n gap: 8px;\r\n cursor: pointer;\r\n`;\r\n\r\nconst NotificationWrapper = styled(FlexBox) <{ isMenuCollapsed: boolean, animateNotification: boolean }>`\r\n position: relative;\r\n width: 40px;\r\n height: 40px;\r\n text-align: center;\r\n cursor: pointer;\r\n gap: 0;\r\n padding-left: ${(props) => (props.isMenuCollapsed ? '6px' : '0')};\r\n\r\n @keyframes zoomNotification {\r\n from {\r\n transform: scale3d(1, 1, 1);\r\n }\r\n 10%, 20% {\r\n transform: scale3d(.9, .9, .9) rotate3d(0, 0, 1, -3deg);\r\n }\r\n 30%, 50%, 70%, 90% {\r\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);\r\n }\r\n 40%, 60%, 80% {\r\n transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);\r\n }\r\n to {\r\n transform: scale3d(1, 1, 1);\r\n }\r\n }\r\n \r\n animation: ${props => (props.animateNotification ? 'zoomNotification 3s infinite' : 'none')};\r\n`;\r\n\r\nconst Count = styled.div`\r\n height: 20px;\r\n width: 20px;\r\n position: absolute;\r\n background-color: ${(props) => props.theme.mobileAppAccelerator.semanticColors.notificationBadgeColor};\r\n color: white;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n border-radius: 1rem;\r\n ${typographyPresets.headings.h6};\r\n bottom: 20px;\r\n right: 6px;\r\n`;\r\n\r\nconst StyledIcon = styled(Icon)`\r\n fill: ${(props) => props.theme.mobileAppAccelerator.semanticColors.grayVariant3};\r\n`;\r\n\r\nconst StyledCallout = styled(Callout)`\r\n .ap-callout {\r\n width: 300px;\r\n height: 400px;\r\n }\r\n`;\r\n\r\nexport function NotificationCount(props: INotificationCountProps) {\r\n const { notificationCount, isMenuCollapsed } = props;\r\n const [showCallout, setShowCallout] = React.useState(false);\r\n const [showAnimation, setShowAnimation] = React.useState(notificationCount > 0);\r\n\r\n const notificationRef = React.createRef();\r\n\r\n const { isUserTypeAdmin } = useConfigScopeSelectors();\r\n const isAdminTypeUser = isUserTypeAdmin();\r\n\r\n const showHideCalloutHandler = () => {\r\n setShowCallout(p => !p);\r\n setShowAnimation(false);\r\n };\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {notificationCount}\r\n \r\n {!isMenuCollapsed && }\r\n \r\n {showCallout && (\r\n \r\n {\r\n isAdminTypeUser ? :\r\n \r\n }\r\n \r\n )}\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { Icon, StackPanel, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { INotificationDetail } from 'modules/core/types';\r\nimport { useCustomPopupEvents } from 'lib/hooks';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { EditAnnouncementContainer } from 'modules/core/containers';\r\nimport { commonStyles } from 'common';\r\n\r\nconst Title = styled.div`\r\n ${typographyPresets.headings.h6}\r\n font-size: 14px;\r\n width: 90%;\r\n ${commonStyles.textOverflow}\r\n`;\r\n\r\nconst StyledStackPanel = styled(StackPanel)`\r\n padding: 16px 32px 4px 18px;\r\n cursor: pointer;\r\n position: relative;\r\n :hover {\r\n ${Title} {\r\n color: #0077D9 ;\r\n }\r\n }\r\n`;\r\n\r\nconst SubTitle = styled.div`\r\n ${typographyPresets.textStyles.small}\r\n font-size: 12px;\r\n`;\r\n\r\nconst Date1 = styled.div`\r\n ${typographyPresets.textStyles.lightSmall}\r\n font-size: 12px;\r\n`;\r\n\r\nconst StyledIcon = styled(Icon)`\r\n position: absolute;\r\n right: 12px;\r\n`;\r\n\r\nconst NotificationContent = React.memo((props: { content: string }) => (\r\n // eslint-disable-next-line react/no-danger\r\n
\r\n));\r\n\r\nexport const NotificationListItem = React.memo((props: { notificationDetail: INotificationDetail, showHideCallout: (value: boolean) => void }) => {\r\n const { notificationDetail: { title, subTitle, createdOn, content, id }, showHideCallout } = props;\r\n const { showCustomPopup, removePopup } = useCustomPopupEvents();\r\n const { isUserTypeAdmin } = useConfigScopeSelectors();\r\n const isAdminTypeUser = isUserTypeAdmin();\r\n\r\n const renderAnnouncement = React.useCallback(() => {\r\n showHideCallout(false);\r\n showCustomPopup({\r\n onRenderContent: () => ,\r\n headerTitle: `${title} - ${subTitle}`,\r\n width: '700px',\r\n height: '500px',\r\n showModal: true\r\n });\r\n }, [content, showCustomPopup, showHideCallout, subTitle, title]);\r\n\r\n const renderEditAnnouncement = React.useCallback((ev: React.MouseEvent) => {\r\n ev.stopPropagation();\r\n showHideCallout(false);\r\n showCustomPopup({\r\n onRenderContent: () => ,\r\n headerTitle: `${title} - ${subTitle}`,\r\n id: 'edit-announcement',\r\n width: '700px',\r\n showModal: true\r\n });\r\n }, [id, removePopup, showCustomPopup, showHideCallout, subTitle, title]);\r\n\r\n return (\r\n \r\n {\r\n isAdminTypeUser ? : <>\r\n }\r\n {title}\r\n {subTitle}\r\n \r\n \r\n {new Date(Number(createdOn.substring(6, 19))).toLocaleString()}\r\n \r\n \r\n );\r\n});\r\n\r\nconst EditNotification = React.memo((props: { renderEditAnnouncement: (ev: React.MouseEvent) => void }) => {\r\n const { renderEditAnnouncement } = props;\r\n return (\r\n \r\n );\r\n});\r\n","import { sortBy } from '@agilepoint/utils-array';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { ListView, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { IllustrationMessage } from 'common';\r\nimport { INotificationDetail } from 'modules/core/types';\r\nimport React from 'react';\r\nimport styled from 'styled-components';\r\nimport { NotificationListItem } from './notification-list-item';\r\n\r\ninterface INotificationContentProps {\r\n showHideCallout: (value: boolean) => void;\r\n notificationDetails: INotificationDetail[];\r\n}\r\n\r\nconst CalloutTitle = styled(Typography.H5)`\r\n text-align: center;\r\n padding: 12px;\r\n border-bottom: 1px solid #ccc;\r\n`;\r\n\r\nconst StyledListView = styled(ListView)`\r\n border-width: 0px !important;\r\n .ap-listView-itemContentWrapper {\r\n border: none;\r\n border-bottom: 1px solid #ccc; \r\n }\r\n`;\r\n\r\nconst StyledStackPanel = styled(StackPanel)`\r\n /* min-height: 200px; */\r\n`;\r\n\r\nconst StyledIllustrationMessage = styled(IllustrationMessage)`\r\n /* padding-bottom: 50px; */\r\n /* border-top: 1px solid #ccc; */\r\n .ap-illustration-wrapper {\r\n margin: -10px auto;\r\n }\r\n`;\r\n\r\nexport function NotificationContent(props: INotificationContentProps) {\r\n const { notificationDetails, showHideCallout } = props;\r\n const sortedItems = sortBy(notificationDetails, (i) => i.lastModifiedOn, true);\r\n const translate = useTranslate();\r\n\r\n const renderNotiicationDetails = React.useCallback((item: INotificationDetail) => (\r\n \r\n ), [showHideCallout]);\r\n\r\n const renderTitle = React.useCallback(() => (\r\n {translate('modules.userActions.notifications.title')}\r\n ), [translate]);\r\n\r\n return (\r\n <>\r\n {renderTitle()}\r\n \r\n {(sortedItems.length > 0) ?\r\n \r\n : }\r\n \r\n \r\n );\r\n}\r\n","import { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner } from 'common/components/centered-spinner';\r\nimport { NotificationCount } from '../component/parts/notifications';\r\nimport { useNotificationQuery } from '../queries';\r\n\r\ninterface INotificationContainerProps {\r\n isMenuCollapsed: boolean;\r\n}\r\n\r\nexport function NotificationContainer(props: INotificationContainerProps) {\r\n const { isMenuCollapsed } = props;\r\n const { data, isLoading, error } = useNotificationQuery();\r\n const translate =useTranslate();\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const notificationCount = getNotificationLength(data.GetNotificationsResult);\r\n return ();\r\n }\r\n\r\n return (\r\n <>\r\n Error: {error}\r\n \r\n );\r\n}\r\n\r\nconst getNotificationLength = (data: any): number => (data ? data.length : 0);\r\n","import { toCamelCasedKeys } from '@agilepoint/utils-common';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner } from 'common';\r\nimport styled from 'styled-components';\r\nimport { NotificationContent } from '../component/parts/notifications';\r\nimport { useNotificationQuery } from '../queries';\r\n\r\ninterface INotificationDetailsContainerProps {\r\n showHideCallout: (value: boolean) => void;\r\n}\r\n\r\nconst StyledCenteredSpinner = styled(CenteredSpinner)`\r\n width: 300px;\r\n height: 346px;\r\n`;\r\n\r\nexport function NotificationDetailsContainer(props: INotificationDetailsContainerProps) {\r\n const { data, isLoading } = useNotificationQuery();\r\n const translate = useTranslate();\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const info = toCamelCasedKeys(data, true);\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n );\r\n}\r\n","import React from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport styled from 'styled-components';\r\nimport { ActionButton, FlexBox, Typography, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { DropdownField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { IGetTextData, ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { CenteredSpinner, CustomPopup, ElasticTextBoxField, getCurrentDate, ImageUploadField, StyledActionButton, StyledPrimaryButton, StyledStackPanel } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useLocaleValues } from 'modules/create-new-app/components/app-wizard/forms';\r\n\r\ninterface IFormFields {\r\n userName: string;\r\n displayName: string;\r\n email: string;\r\n locale: string;\r\n profileImage: string;\r\n}\r\n\r\ninterface IUserSettingsProps {\r\n userDetails: {\r\n 'userName': string,\r\n 'displayName': string,\r\n 'email': string,\r\n 'locale': string,\r\n 'profileImage': string\r\n }\r\n onSaveUserDetails: (payload: IGetTextData) => Promise;\r\n removePopup: (id: string) => void;\r\n}\r\n\r\nconst StyledImage = styled.img`\r\n width: 80px;\r\n height: 80px;\r\n border-radius: 50%;\r\n`;\r\n\r\nconst RelativePositionedFlexBox = styled(FlexBox)`\r\n position: relative;\r\n\r\n .ap-image-upload-field {\r\n position: absolute;\r\n bottom: 4px;\r\n left: 55%;\r\n background-color: ${({ theme: { semantics } }) => semantics.palette.white};\r\n border-radius: 50%;\r\n border: 1px solid ${({ theme: { semantics } }) => semantics.palette.neutralLight};\r\n padding: 3px;\r\n }\r\n`;\r\n\r\nexport const FooterContainer = styled(StyledStackPanel)`\r\n border-top: ${({ theme: { mobileAppAccelerator } }) => mobileAppAccelerator.semantics.popupFooterSeparator};\r\n`;\r\n\r\n// eslint-disable-next-line max-len, quotes\r\nconst baseImage = `data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAVQAAAFUCAIAAAD08FPiAAAd4ElEQVR42u2dC1May9aG+f//4qvaIMrchxluchEQASOooAKiXOfePfyFr3pG3Sbuk51k6zDAW/XUrpNUzEkpT/fqtVavTqxNCwBwgCTwLQAA8gMAID8AAPIDACA/AADyAwAgPwAA8gMAID8AAPIDACA/AADyAwAgPwAA8gMAID8AAPIDACA/AADyAwAgPwAA8gMAID8AAPIDACA/AADyAwD5AQCQHwAA+QEAkB8AAPkBAJAfAAD5AQCQHwAA+QEAkB8AAPkBAJAfAAD5AQCQHwAA+QEAkB8AAPkBAJAfAAD5AQCQHwAA+QEAkB8AAPkBgPz4LgAA+QEAkB8AAPkBAJAfAAD5AQCQHwAA+QEAkB8AAPkBAJAfAAD5AQCQHwAA+QEAkB8AAPkBAJAfAAD5AQCQH/wRywB8HyA/2Ee910ZI+EvTskzbsRzXclzbcW3XYwS/tGzHtJ2XrzLMH74QQH6wG7Yzz03Ldj2XUOJTSn2P+o5HLMdZmdZitZotl8/zxdNsPp3NZ/PVfLlcrA3DtNmXeB6h7EuIT9mXBCvCy1qA7zDkBzF0fmWwXd31CPGZ6pbjzJbL4Wjc7V3XLzqFSk3NlyQtzyn6iaQei0paVNOCnBbkY1E5FpUTSeUVXdQL2UK5dNZoti+vbgajyXS5Nuzg7yQ+tV1vbVqrIC7A9xzygy07vzYt23EJoYRSw7bH02nnql+snkl6/lhUUpyY4qRUYPiJlOUUjVM0IZv7RzhFyyjaicQWhZQgJznpiJcysqrki5X6ee92MJ0tbNcj1HcJNW0HqwDkB5E7b5grwzRth1DqUX+xWvUHd6WzBq/oR7yU4qS0oISSS3pe0gsh/8v5j7x9iRj88kTKpgU5yUtpQRb1Qq3VvhtNDMsmPlsFwn8PfiiQH0Sx1bvB9rsyrevBXaFSO5HU0MxX4X9P9V9fDoRsLqNoKUFOcSKf1avN1v340XZd4vt2EAisDPyMID/4gt2eaU/YVv/4PK+12pyiB86rQjYnavlPF/4nC4HIcgfhKiDJeqH9rb9YG2wJcL1gCUAgAPnBZxC6RAh1PTIcjfPlangm5xSNOa/lo3H+n1aBvKjlTxQtxUsnklpttqazOfE3brAE4AcH+cF/0D4w3yXUJXRw95AtllOcmJbYVr9F5z8ianle1VNB7aBcbz4+syXAxhIA+cEfb/hBap2OJtNsqZzkxBNJFTW22cZH+x+WACGbY1EJL1ca5/PVmvq+adtYAiA/+A3tDcum/ma+XJaqjRQvpUPtY+n8Py4BYXHxvHNpOY5LKBKBkB/8kvmu5zke6Vz1j0VWY4vzbv8vBwFOlLT8cDQm/oY1FyIEgPzgpxs+S+ar+dMkJ/KqvnPa/7AEZORsihPL9aZh2h4LAeA/5Af/dMJ3Ce1c9dOCHB7vd1f7H5aAlCDzWf1uNKG+b1g2TgGQH7wL9QldG2auXE1mdn7D/0kI0Gx3XUJtB4UAyA8C86nvP0ymnKKHJ/x90v77JUBPcmLutBIudvAf8h80YVb/qn8TXKHJ7rH5byFAcO9Af3yaEd+H/5D/QDd8y7FdShsX3WRG4lV9v7X/4QiQFuSb+3tK4T/kP0TzXccjp9VGkhP3fsP/0f9sjlf1vzix27um/sawbHwkIP/BJPYd13K9XLma4qRDM/8NXssnM+LFZY/Af8h/MCU913KcbKGc2uv03i8eAZIZodHuwn/IfxDRvu162VL56ODNf+9/M/B/bcJ/yL+f5lvMfM/NnVZg/gf/pYvLb8TfIP8H+fezqucSWqzVUxzM/+f9/7J/QzfI/0P+PTPfMIm/qbXah5zh+xeCi0A3dyPU/yH/fvXwbfzOVT+ZEWD+z/L/KutxnDzN0P8H+ffEfOLTu9EkyUmCpsPwnwb/uYyc5RV9zc5ILvyH/LttvuN688WaPYkhw/xf7f/VShXHIyj+Qf7dTvI5HlHzpbSgIOD/jSvAwf0/isM/5N/p63qNiy6SfH/kv3Q3mhAc/iH/LprvETocTVKH17r/KWTkLKfoYXMEPk6Qf5dgL15bNh98iGHyH8//OT1roPIH+Xcu4N9Um60Uj36e/9b5w4m39/cI/iH/zpjvEno/ZrU9mP9fg3/2rLBumOz1cXy0IP8OZPht11NyBTaEEwJ/QuZPrl90kPmH/LuR4WfNfNj2P6/tLyXIj89zPAEI+WON7TjLtcFaelS09Hxe24+k5k+rHqX4gEH+WG/79VYH9/a+ou3nbjRGzz/kjyfs1Y3ZfHkkKtj2P33m34mkqsVT9PxC/the4NlUGucYzvV1Az9uhyj7Qf64mW9abNtfLo9FRVDh6pdc+GObf55t/vi8Qf6YnfapX2+1se1/9cl/+ICTP+SPVZLfdhZI8key+edOK+xdQ3zqIH8cWLLTPqvt4/ZeBBzxEhv143pLbP6QPwawlj5RL5woGuT8UqTgtk+12ULDH+SPwba/Dq7uPjzg6m40cKqekbNLw0S3P+SPQ4XPL1YbaaT6Iqz59W4GxKfLtYFPIOTfZqpvFaT6oGVkkf8x0n6QPwYxv0EIvboZJHmk+iIlLcjP84Xtekt8DiH/tvConytX05IqQf7INn+9kOKkzlWf+D4if8i/tTt8ixVi/u0U/LUSIn/Iv9WYvz8YIubfCseiMl+ubdfDRxHybyXPT0tBnl/SC7Ax2sg/yPnfDglBzh/yR47J5vO6rPKM3p5tHPvTglyuN4m/Qasf5I865nc8Mnl6PuIlqLidbh9Fk7S85Tjo9oH8kR/4fRr28yPm32LB7/F5xgp+a3wmIX908luE0iIO/FuN/JN80OqHYz/kj/jAb7mOpBcyOPBvT/4jQa41W6j2Q/5oK/zBuD42twcebo9gtk8Js30gf6QHfpfQQXCTT9JR4d9izi+XkTXc8IP8EWf7/DayfXGY7SGw2R4Oy/kh8of8Ecm/qdTPke2LQ87venhPKHJ+kD8qXM/LFsro6o/BDR/5vPsNOT/IH2Fvn2MLGnr74tTnB/khfwRYr7N6oV88BntUPVzvg/zRtPc4rvf4PE8LMvTbOhlFk3MF3O2D/JHV+cjdeBLU+ZDt236HP6foRnAWw4cT8n+5/B6ht8P7FI86X1xafRZrw4L8kD+aKz3h3D7IH4+pHurzYoHIH/JH1eHzrYewP05v+DyjzwfyRyT/eecqxaHDJwYJ/0D+0WTqeATyQ/4vl59Sv9m+TKG9Ly59PuL9+NElkB/yRyJ/46ID+eMj/91o4uJWP+SPIttP/XqrDfnjI//wYQz5IX9EO38dOz92fsh/qGf+LuTHmR/yH2a2/xLZfmT7If8hXuYP6vxo8olNnX/67Hio80P+aDr8+jdo743Ri70LvNgL+aPq7b8e3qO9N169/Q56+yF/FLf66N0It/pidKtvjVt9kD8a+dl9/qfZEe7zx+M+v6gXLNzqgfwRTfJxnMUKk3ziMMknxyb5lCouJvlA/uhm+Fk2j/d5YzLD7wwz/CB/hDiep+ZL2PzjML232b6kmN4L+aMs9ZfPmpjbv/25/RmpP7jD3H7IH2mTX6vbQ5NfbCZ5oL0P8kc5xu8epf4YZPsldbk2UOeD/NFhu950tsD07m2392SVXBGv9EL+6BP+joCE/7ZT/ZXGOVL9kD9qPOoXKvW0qCDy316qX7rs3xAf2T7Iv4Wc3zfc7dtutm+Mub2Qfxsd/mQ0maZ4SYSHW+rq57M507KR7YP8Wzj2G6bNKTqO/ds68J+eNQilKwOfRsgfLauXY/9ZWlQlPQ8ho27v4aQrHPgh/xanelz2b5Ls2A/5tzHDY44ZHpB/e9X+2XJ5LCpQMfoBHmrxFBV+yL9NXEKzpTJu+ER/n+eie0XYfR4TH0LIv7WCX+eqn0LkH3GRT5Afn2dBkQ/yQ35E/oeBGMT82ULZwQAPyB+HnH++XEtLqqRh8/96+fV8kpO6vWvk+SF/DCJ/Qq8Hd0leEiH/18NncyeiMl+tbcztg/yx6PbBVK9otn0t/zq3i64MnPYh/9Yjf8Okvt/sXKZ4GZv/V8uf4qTR5DF4lhPyQ36k/Q6qvJ8vobwP+eO1+ROfluvnR4KMtN/XbftJXroe3CHmh/zxkt91vcdnvOTxldu+osl6wXY9w7LxkYP8Mdv8qV+snaUFnPy/ZtvPSFc3A2z7kD+mm//kaXbEY/P/gm1fzop6wXYcbPuQP84n/yY2/6867RNs+5A/zmn/+eJYkHlVh7SfnuTHtg/5413zp36z3U1xaPj7zNr+fVDbx7YP+ePe8GfarOEvg4a/TzEfLX2Qf5dO/oReD++SGRGb/3/t5Ff1E1FdrFa2663w6YL8O+G/R/1ipY7M338v7wWT+X1s+5B/Z+S3XXexNk4kFZm//3CHR8mdVl1CkeeD/DtX9vP7t8NkBpm/Pwz4j0VltlyygB/bPuTfNf9t4vvlejOF4P8PAn5O6t8OCUXAD/l3E8txTcsWtDxrUIP/v1Hbkyv1JvE3MB/y73LPL6GTp6c02n5+2fxjSZX1guU4luPiIwT5d37UR48d/lH5+3cyinYiKrP50vEItn3Ivx/Jv0291fmLg///kuRLceLwYYyjPuTfHwzLdgktVOpI/v20qi90e9d0A/Mh/94l/2zXyxZLaUGB//+U3hcb7S7xN6jqQ/697PzxDNNiz0uL8P9H8yuNc4/6MB/y763/juctDVPQ8vD//aW9cr3pUXTyQf79958s14ag5eB/YL54etZwCbUcBx8PyH8AxX+PrA1T1guHfP5/i/bD7v2Vgc8G5D+Y+N+w7GyhdKBPfQS5/fpFB+d8yH+gN/9s1y3WGslDqv+LWj6s53eu+sjtQ/7D9d9yXC8Y+5XMiLyq7/0SIGr5E0k9EpXB3Qj1fMiP/h+b+pv+4O5YVE4kdY/9D2dySVp+Opujhw/yA+vtwY/pbCHqhb1MAYShfjIjnJ41TMt1Cfr2IT/4vgRgOU612UpxYmaPrgCLQVPDsahc3Qw86luOC/MhP/iQArAd4m+GD2NO0VPsFnBup5eAYMPXkhlJK1Vm8yXxkdiH/ODnRwBCDdOqNltHvLSjWQBRy4vZXFqQTyT1sn/jEg/TuCA/+MUqAAsBRpOpWigleSmjaLuyBIhaEOdL6hHPmnYXayOs58F8yA9+JwtAqOOR/mAoBDPtuHgvAWy3Dyp5KU7MnVbG0ynxN9jwIT/4Q/8NyyY+63vv9q6FbC7JiSfBEhCrVUAK/jGh9tlSefgwdgnF61qQH3zCEmCyRKBvWvZl/0bWCylOTAsqs04vbNf5l3Y9QT7ipdxpdThi2hNCw382fnaQH3zeEkB92/UGD+N8uZYW5BTHMoIRrwKSnpd0ttWnJZXlI+RstdmaPM28YLdfm9YS2kN+8DUHAcsl1KP+83zR/tZTcsUjXkpx8ssqoOW/YiGQgvVF1PJcNpcW1SQnHYvsOZ3e7XAZPE/iuh60h/zgy1mujbVp2a5HfN923cnT88XllVooH4tKkpeOhJeFQAyMDfn97f3vL+QULTjPy2H3Ub5cu+zfzJZLjxLiU9N2VoYJ7SE/iHgVYMo5nkd93/G82XJ5PbyrNltKvngSFNuSnJQSZHZrQM5y754Ml97p/X5p4BQtVD0tKClBDpcSTtG1UqXZubwbjZdr9gYp8akdbvXBMgQgP9jaEhCuAiwWIJRQ3/HIYm2MJtPL/k291S5UakquyCt6YDVLzoUnhRQnMvjwd9gakZE1Qc1lC6XSWaPZ7vZvh4/Ps5XJDhrU913C9nk4D/lBTE8EoZmW7bClwKeU+h5LE7qGbS/WxvNiMZk+jybTh/FkOBrfjSb348fRZDp5ms2Wy6Vhsh7j1y8khDqu9yY8nIf8YEcWAsN8CwrWpmXajmU7tus5nud4xCUkrMa7hDgecVzWgWvaTqh6eIxfGiYqdpAf7Ijwr1v0K+b3v/wtzPdfju8t5Adxie1fsT5s7GxL9wglPiW+T3yfBfDsf2zY71BWJvwIoeGf3xD69ufZ74TVe8fzbMd9iwt+/DfghwL5wZfu5C+GO47jem7gNg2kdQm1Xdd8PdKPp9Phw/h6eHd1M+hc9c8vrxoXnWqjVamfl8+apbNGsVYvVOr5ci1frubLtUKlXqw1SmeNcr1ZqZ9Xm61Gu3vR/dbtXfduh7fD+7vRZPL0PJuvgoyA63jEI4T4GxosEMH/u/dxUcDPDvKDP9zVQ9XtF8/ZVsyS7Y6zWBmTp9ngYXTZv2lcdEtnDa1UkXNFPuiuD5P5KU5MhnU+LsjqC3L6b5RwtMaxqB5LKvuvyH6H/X7wB44E9ueDWkDwNwR/2xEvvdQCtJySL+ZOq+V687xzeXUzuBtNnmbzZTCMwHuJGmgwmMQ1g9v7iA4gP/j3FL1pO473Uq5j0+xt+3mxGD6Mu71+tdHSShVBywUFfDkVih3oeiKpmR/K+O9q+P+b/Cv//odfuwBYI0BGzh4Hq0yKY40AwUUDOSNrop7Pl2v1i87VzeB+/DhfrS3nZTnw3kUHiAsgP4J544fifNgYP3ma9W4HtVY7Wyrzih44JqY4KZT8zfDv5Yz8Ss+HpSFcF45FlbUGBfHCsagIGlsOmp3L2/v76WxhWjZbC4IQxsJCAPkPboc3XoUPsmu2683my+vhfT2wnVP1sC3v6J3qb46JsZ/k8XccEVzyZcuBxJaDFM8WLyGby5er553L4Wi8WBuOR1+CAsfFQgD597X97qXrJsjAs2t509n86mZQaZzLuULYkJ/6aPteTO8MLxq93RE4fr0jcCKp2UK5ftG5Gd7PV+v3HYQrdBBC/t3f5Nkn2Amu37iELtbG4H5UbbaCJ/pYbMwieVn725ADeK4nDA3Et+Efr7eSs4Vys3N5P340TNsLio64OwD5d3CfN0wzbIZnTbXk8XnW/tbTSpXgYhyL5zPvtvcDf5/7u4UgqC/wil6snfVuBvPl2n0NlLAKQP64J/DWzHmPstH0zng6bba7Sq74fuSG+DWX7fdpIeAULR3cJgzmBVS6vevnxSK4a4BVAPLHL7x/u1rveGQ8fW5cdEQt/92ADfaxht6/U0r4OxxghyO1UOpc9WfzZTgj7GWCwBqXDiD/lu7MvMzVCrpfvxuqwy7Aa1sfsLcXT/28fA/DVeB1dtBguTbDzsK3iQYA8kd0qmfhvcvCe8O0+rdD7bTCRl9sY5zeIYUD76cGaqWzxt14YrtueBwIAgEcByD/lxFs9Xa41T8+z+qtDqfo7HT64nweikY1LzgX9hfKuWLnqj9fsXdBMDsU8n+d9mx4tuU418M7rVQJG+DDVzQknOe3+kDIiaSWz5qjyTTMCOB1IMj/Gc4H2ttBhL82zO5VXwpeznmbkwsJY/EWaPAoYJKX9FLldnhvseTrJkwK4jMM+f9ce+L7s+WycdHJyFqKf3kwC6n7eL4LeiKxmeKSXuj2rg3TolgCIP8fBPmB9pvZfFlttI5F5S3Ch2axXgKCVYBTtOBdQ739rRcsAT6WAMj/69qz9zCqjXN20V2QeVWH9jsXCHCKluJETmVLwApLAOT/15Qepf58ua42Wukgn8erOWi/+0uAxKnZ9reeyZ489ZEOhPwfM/mbtWk1290wyA8/OvBnn6IAPpvr3QzCAYd4R/TQ5V8F/yWEWi57AJtT9RQvIcjf4yUgmZGUXHH4MA4nCx24/4kDP9571B8+jEU9n+REpPQOYQkIKgJivlydzuZ0c9CJgMSBxvmWTYMaXrFWZ10ichbaH9QSEI4qbba7LBFAqPEaBkL+PTc/HDXd6l6FyXxof6CtQaoeJgJuh/fBc2YHdwpIHFw+f+OPJlNZL7AfPI73B78EZFhTgFio1BarNfE3B1ULSBzUhm85TuOic8Sz/lxoD96fAk4ktXczOKgQIHEI2htBgfd+8ihp+Zd8Pj704MMpIJmR8uXafLUi1F8ZkH8PNvzg7bpGu8vu2yOxB34hBOgP7oi/sfa9EJDYa/PtsD9fLZ6mOEnUdHy+wS+FAJxYaZybjuMSusf+J/Y21HccQmn/dsgepcMJH/zmEpDiZUnPT56e2bym4MVByL8b5juuZ7tepXGezAhI6YM/LATIaoqXLnvX+3oESOyf+YTQxWql5sNQH9qDPx8fGmYBK41z23WdvasC7JX8hmXTjX8/fsxI2rGowHzwSUcASc2fskaA/UoB7In8q8B84m+6vetguiuy+uAz/T8W1YykPkweqb/ZG/8T+xHqW45LCK212uEhH59X8AUpgGyKl/q3Q7rZkxRgYm/Se8VaPcmJ2PDB180I41X9L05sf+u9NAJD/i2b75GVabFKPo8rOiCKECCZkWrNVtAt7u50I2Bip813PbJYG0LQmAXzQXQpQE4s1uqORwL/Tci/hYs68+WaV/RjET08YAv+58s12/N21//EjprvBW9jcqqO7j2wxS5AvVSxHMfeTf8TO2r+dDbPyCou6oDt+n8kyNli2XKcXdz/E7sY7c+Wy4yswXwQi/1fYPu/7e5e/J/Yudz+Ym2wcz6ifRCn+D9frrks/2dD/q+q568MSwrarWA+iFsL8OlZwwveCIb8n4zluJbjKLliWkDTPohl/Z8Tq80WoZtd8X835Dcs2yW0UK6lUM8Hse7/EdpXPbrxd+Lwn9iFgJ/d2Km32riiC3ai/n87vCf+DvifiP9Rn258dlcvA/PBDsCrelqQJ0+z+I8AS8TcfELo3WiS5CUBd/XA7tz/4xR9yd6Di3XxLxFn823XW66NjKxl5Cw+VWCH/E8Lcu604sY7+Z+IdZLPI3qpjPQ+2M3kv9RsX8Y5+ZeI71Hf94Nh+7iiD3Y4+Td4GHs0pof/RGyP+sOHMcwHO01G0TKSulgb8XwCLBHPfh7DtDhFx1Ef7MHhv1CpedQ3DBvy/8K272/K9eYR+nnAvkz+uboZxLDyn4id+ZTeDu8xjQ/sU+X/WMzOl0vb9SD/TwJ+Z2VYnKxnFA0fGrBPwX++XGXBP+T/ScBfa7bQwA/2svJ3zR7/jVHmPxEf811Cx9PnI14SVXxcwB5m/vlszrRs03Yg/8d7eyRbKJ+wKR34rIC9LPtLjXY3Pm0/idgE/LR3O8DtHbD3d36ms0VQ9of8AabtWI4jqDkOeT6w75m/07MGobHY/BPx2PaDS7u4rg8OwP8jXpo8Pbtk+z1/iThs+2E/H7Z9cBibv5oPev4OfecPL/C0vn3DlB5wQJk/XhpNHoNpH8bhys+2fdvGtg8Os+F/u2m/xNaT/Jf9G5z2waFxJMiPz3N3q7f9Etut7duuJ+eKJ5KKTwM4HKTgnZ9qo7Xd2z5bk3+1Zi19g7sRLu2Dw6z5n0jqfLXa4m2f7clvWh4l+XI1jYe3wKE2/LW6PeL7y7V5WPLbrvc8Xx2LCj4H4DA5kVQ5Vzi4nX+5ZhW+iy6r8EnY9sHB1/yWa+Owdn45VzhBhQ8ccNovLciV7aX9EtvY9g2X0PvxY4pHhQ8cNJyicXJ2FTS8HIb8hkmpX7/opDhZ0iE/OPS03+B+5G0j8k9sL+YvchJifnDYkb9eOGIF//OtRP6JyGN+y3G9x6dZWpDxsweANbZrOdNxoo/8o5ffIL7f/tZjeX69gJ89OPTIP5sLcv5T1yMRR/5bCPtdQnOnlRNJlfCzB4j89UKKk887l0G3z17Lz2Ibw+RkDdf4AAjkzx9Lau606lG6z2E/K/J5ZDR5POJlET94AN4Kfoq+jrzgl9jCgf+qjwM/AO8Lfke8NJpGfexPRH6ZhxYqZ2lBgfwAvDv2S52rPvHp3spvmpZle6Kex4EfgPfypwW5XG8Sf7O38luOM18ZGN0BwMcbftli2fHIfp75X7N9U/YgF37eAHzI+RnR5vwS0Wb7aO9mkES2D4APBI/5zG3XW673UX5K/cZFNyXIkB+ADzk/cfDwEOUNn6h3/tJZMw35AfgoPy9d9m+iTPgnttLYi3d4AfhOfna3lzX50gibfCOV33Y9pVDiFE3SCwCAEFHLy7liWlKr5xdkL+U3bWdlmCle+isjpDgRAPDGkSD/3xGnFkouoXt7sWf4MLobTQAAPzAYjR7Gj/tZ6guf6HE84hIKAPgAcaId472FYR4AgH8m2kleW36lFwBwoE90AwAgPwAA8gMAID8AAPIDACA/AADyAwAgPwAA8gMAID8AAPIDACA/AJAf3wIAID8AAPIDACA/AADyAwAgPwAA8gMAID8AAPIDACA/AADyAwAgPwAA8gMAID8AAPIDACA/AODT+X8hNZ612QOtlwAAAABJRU5ErkJggg==`;\r\n\r\nconst getCommonPayload = (userName: string) => ({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n CreatedDate: getCurrentDate(),\r\n ELEMENTID: '',\r\n SecondaryReference: `UserProfile_${userName.replace(/\\\\/g, '_')}`\r\n});\r\n\r\nconst UserSettingsBase = React.memo((props: IUserSettingsProps) => {\r\n const { onSaveUserDetails, removePopup } = props;\r\n const translate = useTranslate();\r\n const { handleSubmit } = useFormContext();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const locales = useLocaleValues();\r\n const [imgURL, setImgURL] = React.useState(baseImage);\r\n const { showNotifications } = useNotificationEvents();\r\n const [isSavingData, setIsSavingData] = React.useState(false);\r\n const [showPopup, setPopupDisplay] = React.useState(false);\r\n\r\n const { watch } = useFormContext();\r\n const imageValue = watch('profileImage');\r\n\r\n React.useEffect(() => {\r\n if (imageValue) {\r\n setImgURL(imageValue);\r\n }\r\n }, [imageValue]);\r\n\r\n const toggleResetPopup = React.useCallback(() => {\r\n setPopupDisplay((prevValue) => !prevValue);\r\n }, []);\r\n\r\n const saveUserSettings = React.useCallback((formData: IFormFields) => {\r\n setIsSavingData(true);\r\n onSaveUserDetails({\r\n ...getCommonPayload(currentUserDetails.userName),\r\n TextData: JSON.stringify({\r\n ...formData\r\n })\r\n }).then(() => {\r\n setIsSavingData(false);\r\n removePopup('user-settings');\r\n showNotifications({ message: translate('modules.userActions.userSettings.savedUserSettingsSuccessful'), type: 'success' });\r\n window.location.replace('/');\r\n }).catch(() => {\r\n showNotifications({ message: translate('modules.userActions.userSettings.failedUserSettings'), type: 'error' });\r\n setIsSavingData(false);\r\n }\r\n );\r\n }, [currentUserDetails.userName, onSaveUserDetails, removePopup, showNotifications, translate]);\r\n\r\n const handleResetClick = React.useCallback((formData: IFormFields) => {\r\n setIsSavingData(true);\r\n onSaveUserDetails({\r\n ...getCommonPayload(currentUserDetails.userName),\r\n TextData: JSON.stringify({\r\n userName: formData.userName,\r\n displayName: formData.userName.split('\\\\')[1],\r\n email: '',\r\n locale: 'default',\r\n profileImage: ''\r\n })\r\n }).then(() => {\r\n setIsSavingData(false);\r\n toggleResetPopup();\r\n removePopup('user-settings');\r\n showNotifications({ message: translate('modules.userActions.userSettings.resetSettingsSuccessful'), type: 'success' });\r\n window.location.replace('/');\r\n }).catch(() => {\r\n showNotifications({ message: translate('modules.userActions.userSettings.failedToReset'), type: 'error' });\r\n setIsSavingData(false);\r\n });\r\n }, [currentUserDetails.userName, onSaveUserDetails, removePopup, showNotifications, toggleResetPopup, translate]);\r\n\r\n const renderResetConfirmationPopupContent = React.useCallback(() => (\r\n {translate('modules.userActions.userSettings.messages.reset')}\r\n ), [translate]);\r\n\r\n const renderFooterContent = React.useCallback(() => (\r\n <>\r\n \r\n \r\n \r\n ), [handleResetClick, handleSubmit, toggleResetPopup, translate]);\r\n\r\n const onReset = React.useCallback(() => {\r\n toggleResetPopup();\r\n }, [toggleResetPopup]);\r\n\r\n const renderResetConfirmationPopup = () => ();\r\n\r\n return (\r\n <>\r\n {isSavingData ? :\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {showPopup ? renderResetConfirmationPopup() : null}\r\n }\r\n \r\n );\r\n});\r\n\r\n\r\nexport const UserSettings = React.memo((props: IUserSettingsProps) => {\r\n const { userName, displayName, email, locale, profileImage } = props.userDetails;\r\n const methods = useForm({\r\n mode: 'onBlur',\r\n defaultValues: {\r\n displayName: displayName,\r\n userName: userName,\r\n email: email,\r\n locale: locale,\r\n profileImage: profileImage ?? baseImage\r\n }\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n\r\n\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner } from 'common';\r\nimport { useUserSettingsQuery } from '../queries';\r\nimport { UserSettings } from '../component/parts/user-details/user-settings';\r\nimport { IGetTextData, useSaveTextDataQuery } from 'modules/shared/queries';\r\n\r\nexport const UserSettingsContainer = React.memo((props: { removePopup: (id: string) => void }) => {\r\n const { data, isLoading, error } = useUserSettingsQuery();\r\n const { mutateAsync } = useSaveTextDataQuery();\r\n const translate = useTranslate();\r\n\r\n const onSaveUserDetails = (payload: IGetTextData) => mutateAsync(payload);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData } = data;\r\n const userDetails = JSON.parse(TextData);\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (error) {\r\n return (\r\n <>\r\n Error: {error}\r\n \r\n );\r\n }\r\n\r\n return <>;\r\n});\r\n","import { useServiceClient } from 'common';\r\nimport { IGetTextData } from 'modules/shared/queries';\r\nimport { useQuery } from 'react-query';\r\nimport { getUserProfilePayloadDefault } from '../defaults';\r\nimport { useConfigScopeSelectors } from '../scopes';\r\nimport { CorePageEndPoints, CorePageQueryKey } from './query-enums';\r\n\r\nexport function useUserSettingsQuery() {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n\r\n const getUserSettingss = () => getData(`${CorePageEndPoints.GET_USER_SETTINGS}_${currentUserDetails.userName.replace(/\\\\/g, '_')}`).then((res) => res.json())\r\n .catch((e) => {\r\n console.log('User details is empty');\r\n console.log('Error', e);\r\n return {\r\n TextData: JSON.stringify(getUserProfilePayloadDefault(currentUserDetails.userName))\r\n };\r\n });\r\n return useQuery(CorePageQueryKey.GET_USER_SETTINGS, getUserSettingss);\r\n}\r\n","import * as React from 'react';\r\nimport { Controller, UseControllerReturn, useFormContext } from 'react-hook-form';\r\nimport { IRichTextEditorProps, Label, RichTextEditor } from '@agilepoint/wat-react-ux';\r\nimport { IBaseFormFieldProps, FieldBlock, StyledErrorMessage } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { ErrorMessage } from '@hookform/error-message';\r\nimport styled from 'styled-components';\r\n\r\ninterface IRichTextFormFieldProps extends IBaseFormFieldProps, Omit {\r\n}\r\n\r\nconst StyledRichTextEditor = styled(RichTextEditor)`\r\n width: 100%;\r\n height: 400px;\r\n`;\r\n\r\nexport function RichTextField(props: IRichTextFormFieldProps) {\r\n const { className, name, label, validationRules, gap, title, defaultValue, ...restProps } = props;\r\n const { control, formState: { errors } } = useFormContext();\r\n\r\n const renderRichTextControl = React.useCallback(({ field: { onChange, value } }: UseControllerReturn) => (\r\n \r\n ), [restProps]);\r\n\r\n return (\r\n \r\n {label ? : <>}\r\n \r\n \r\n \r\n );\r\n}\r\n","import { useTranslate } from '@agilepoint/wat-react';\r\nimport { useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { TextBoxField, ToggleInputField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { StyledPrimaryButton, StyledStackPanel } from 'common';\r\nimport { RichTextField } from 'common/components/form-fields/rich-text-field';\r\nimport { IAnnouncementParam } from 'modules/shared/queries';\r\nimport React from 'react';\r\nimport { useFormContext } from 'react-hook-form';\r\nimport styled, { createGlobalStyle } from 'styled-components';\r\nimport { FooterContainer } from '../user-settings';\r\n\r\ninterface IFormFields {\r\n title: string;\r\n subTitle: string;\r\n description: string;\r\n status: boolean;\r\n content: string;\r\n}\r\n\r\ninterface ICreateAnnouncementProps {\r\n saveAnnouncementInfo: (formData: IAnnouncementParam) => Promise;\r\n removePopup?: (id: string) => void;\r\n popupId: string;\r\n}\r\n\r\nconst StyledToggleInputField = styled(ToggleInputField)`\r\n width: 100%;\r\n padding: 12px;\r\n`;\r\n// Note: temp code\r\nconst CreateAnnouncementFormGlobalStyle = createGlobalStyle`\r\n .ap-popup-content {\r\n padding: 22px 28px 16px 30px !important;\r\n }\r\n`;\r\n\r\nexport function CreateAnnouncementForm(props: ICreateAnnouncementProps) {\r\n const { saveAnnouncementInfo, removePopup, popupId } = props;\r\n const [isSavingData, setIsSavingData] = React.useState(false);\r\n const { handleSubmit } = useFormContext();\r\n const { showNotifications } = useNotificationEvents();\r\n const translate = useTranslate();\r\n\r\n const sucessMessage = popupId === 'edit-announcement' ? translate('modules.userActions.notifications.createNotification.messages.notificationSave')\r\n : translate('modules.userActions.notifications.createNotification.messages.notificationSuccess');\r\n\r\n const saveAnnouncementHandler = React.useCallback((args: IFormFields) => {\r\n setIsSavingData(true);\r\n const { title, status, subTitle, content } = args;\r\n const intStatus = status ? 1 : 0;\r\n saveAnnouncementInfo({\r\n title,\r\n content,\r\n // description,\r\n status: intStatus,\r\n subTitle,\r\n deviceType: ''\r\n }).then((r) => {\r\n setIsSavingData(false);\r\n removePopup && removePopup(popupId);\r\n showNotifications({ message: sucessMessage, type: 'success' });\r\n }).catch((err) => {\r\n setIsSavingData(false);\r\n showNotifications({ message: err, type: 'error' });\r\n\r\n });\r\n }, [saveAnnouncementInfo, removePopup, popupId, showNotifications, sucessMessage]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n {/* */}\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { IAnnouncementParam } from 'modules/shared/queries';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { CreateAnnouncementForm } from './create-announcement-form';\r\n\r\ninterface ICreateAccouncementProps {\r\n saveAnnouncementInfo: (formData: IAnnouncementParam) => Promise;\r\n removePopup?: (id: string) => void;\r\n popupId: string;\r\n announcementData?: IAnnouncementParam;\r\n}\r\n\r\nexport function CreateAccouncement(props: ICreateAccouncementProps) {\r\n const methods = useForm({\r\n mode: 'onBlur',\r\n defaultValues: props.announcementData || {}\r\n });\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { toTitleCasedKeys } from '@agilepoint/utils-common';\r\nimport { IAnnouncementParam, useCreateAnnouncementQuery } from 'modules/shared/queries';\r\nimport React from 'react';\r\nimport { CreateAccouncement } from '../component/parts/user-details/create-announcement';\r\nimport { useConfigScopeSelectors } from '../scopes';\r\n\r\nexport function CreateAnnouncementContainer(props: { removePopup: (id: string) => void }) {\r\n const { mutateAsync } = useCreateAnnouncementQuery();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n\r\n const saveAnnouncementInfo = React.useCallback((formData: IAnnouncementParam) => mutateAsync({\r\n announcement: toTitleCasedKeys(formData),\r\n createdBy: currentUserDetails.userName\r\n }), [currentUserDetails.userName, mutateAsync]);\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { memoizeFunction, toCamelCasedKeys, toTitleCasedKeys } from '@agilepoint/utils-common';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner } from 'common';\r\nimport { IAnnouncementParam, useUpdateAnnouncementQuery } from 'modules/shared/queries';\r\nimport { CreateAccouncement } from '../component/parts/user-details/create-announcement';\r\nimport { useAllNotificationQuery } from '../queries';\r\nimport { useConfigScopeSelectors } from '../scopes';\r\n\r\nexport function EditAnnouncementContainer(props: {\r\n id: string;\r\n removePopup?: (id: string) => void;\r\n}) {\r\n const { data, isLoading, error } = useAllNotificationQuery();\r\n const { mutateAsync } = useUpdateAnnouncementQuery();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const translate = useTranslate();\r\n\r\n const saveAnnouncementInfo = React.useCallback((formData: IAnnouncementParam) => mutateAsync({\r\n announcement: {\r\n Id: props.id,\r\n ...toTitleCasedKeys(formData)\r\n },\r\n createdBy: currentUserDetails.userName\r\n }), [currentUserDetails.userName, mutateAsync, props.id]);\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const notificationInfo = toCamelCasedKeys(data, true);\r\n const announcementInfo = getNotificationData(notificationInfo.getAllNotificationsResult, props.id);\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n <>\r\n Error: {error}\r\n \r\n );\r\n}\r\n\r\nconst getNotificationData = memoizeFunction((data: any, id: string) => (data.find((i: any) => i.id === id)));\r\n","var _path, _path2, _path3, _path4, _path5, _path6, _path7, _path8, _path9, _path10, _path11, _path12, _g, _path13, _g2, _path14, _g3, _path15, _g4, _path16, _g5, _path17, _g6, _path18, _g7, _path19, _path20, _path21, _path22, _path23, _path24, _path25, _path26, _path27, _path28, _path29, _path30, _path31, _path32, _g8, _path33, _path34, _g9, _path35, _path36, _g10, _path37, _path38, _path39, _path40, _path41, _path42, _path43, _path44, _path45, _path46, _path47, _path48, _path49, _path50, _path51, _path52, _path53, _path54, _path55, _g11, _circle, _path56, _circle2, _defs;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgResetPassword(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n width: 369,\n height: 285,\n viewBox: \"0 0 369 285\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, /*#__PURE__*/React.createElement(\"g\", {\n clipPath: \"url(#clip0_209_641)\"\n }, _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M354.687 194.369C354.517 144.642 340.932 96.8599 300.995 64.7599C251.739 25.169 182.814 25.7053 132.428 62.6417C99.4445 86.7962 76.389 123.033 63.414 162.096C50.4481 201.151 47.1416 242.942 48.5305 284.033L348.504 285.005C349.723 271.078 351.031 257.06 352.249 243.124C353.638 227.078 354.776 210.769 354.687 194.369Z\",\n fill: \"#F3F4FD\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M339.57 254.373C341.273 261.373 342.796 269.555 339.301 275.555C335.09 282.827 325.413 282.736 319.319 277.645C313.226 272.555 309.911 264.1 307.133 255.918C302.384 242.191 298.172 228.009 296.559 213.373C295.574 204.736 296.47 194.1 303.011 190.282C313.226 184.464 321.828 193.736 325.144 203.918C330.43 220.555 335.359 237.282 339.57 254.373Z\",\n fill: \"#C67766\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M308.656 164.455C311.255 167.909 313.585 171.364 315.646 175.182C318.513 180.545 320.484 186.182 322.724 191.909C323.531 193.909 330.162 211.182 328.638 212.455C320.305 219.545 312.151 227.273 302.653 231.636C302.294 231.818 304.176 240.091 304.355 240.909C304.982 244 305.61 247.091 306.147 250.182C307.223 256.364 308.029 262.636 308.925 268.818C309.463 272.273 309.911 275.727 310.448 279.182C310.628 280.727 269.23 284 265.466 284.091C254.534 284.273 237.33 287.909 230.61 274.636C228.997 271.455 228.28 267.818 227.563 264.273C223.441 243.273 221.739 221.727 222.097 200.182C222.187 195.091 222.455 190 223.441 185.182C224.964 178 228.101 171.636 231.326 165.455C234.283 159.818 239.033 156.727 244.05 153.909C259.104 145.273 274.785 149.545 296.022 153.091C305.52 154.727 306.775 161.818 308.656 164.455Z\",\n fill: \"white\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M255.251 247.455C255.789 251.182 256.326 255 256.506 258.727C256.864 263.818 256.685 269.273 253.907 273.636C252.115 276.364 249.516 278.364 246.739 279.909C242.527 282.364 235.448 284.455 230.878 281.818C226.846 279.455 224.964 273.455 223.8 269.273C221.828 262.182 220.843 254.818 220.395 247.455H255.251Z\",\n fill: \"url(#paint0_linear_209_641)\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M284.373 229C286.076 223.455 287.688 217.818 289.391 212.273C289.301 212.727 290.287 214.545 290.466 215C290.825 216 291.183 216.909 291.542 217.909C292.348 219.909 293.065 221.909 293.871 223.909C295.395 227.636 296.828 231.545 298.62 235.091C300.054 234.545 301.398 233.636 302.653 232.545C303.19 235.909 304.086 239.091 304.624 242.545C304.893 244.273 305.162 246.091 305.43 247.818C305.61 248.727 305.699 249.636 305.878 250.455C305.968 250.818 306.058 252.727 306.326 252.909C298.531 247.545 291.452 240.909 285.269 233.182C284.731 232.545 284.283 231.909 284.194 231C284.015 230.273 284.194 229.636 284.373 229Z\",\n fill: \"#E9F0FC\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M274.965 283.545C266.452 283.455 264.122 283.818 258.656 283.727C248.979 283.455 243.154 284.091 235.986 283.545C237.868 280.273 241.094 276.545 243.513 273.818C245.932 271.091 248.979 269 252.294 268.545C254.086 268.273 255.789 268.455 257.581 268.727C260.628 269.182 264.66 271.091 267.706 270.727C270.305 270.455 273.62 267.909 276.04 266.727C292.527 259 312.151 248.545 330.251 254.091C339.391 256.909 344.857 265.909 338.585 276.091C335.09 281.727 329.355 280.727 323.8 280.818C308.836 281.091 293.782 281 278.907 283C277.563 283.182 276.309 283.545 274.965 283.545Z\",\n fill: \"#C67766\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M306.147 247.555C306.327 247.282 306.416 247.009 306.595 246.736C307.671 244.918 308.656 243.191 309.642 241.282C311.076 242.736 312.42 244.1 314.122 245.282C316.273 246.736 318.155 248.555 319.947 250.464C321.022 251.645 322.097 252.827 323.172 254.009C322.904 254.645 322.635 255.282 322.366 256.009C322.276 256.373 322.097 256.645 321.918 257.009C321.201 256.736 320.484 256.555 319.767 256.282C316.094 255.191 311.344 253.736 307.312 254.373C307.133 252.1 306.237 250.009 306.058 247.736C306.147 247.736 306.147 247.645 306.147 247.555Z\",\n fill: \"url(#paint1_linear_209_641)\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M210.395 232.3C208.97 215.627 205.52 184.736 205.197 183.109C204.866 181.482 206.748 171.555 207.402 169.827C208.056 168.2 215.968 161.091 218.154 160.373C220.341 159.645 229.956 153.491 229.956 153.491C229.956 153.491 230.717 153.127 233.235 155.573C234.221 156.482 234.328 155.573 237.169 155.845C235.968 161.009 234.651 164.727 236.076 168.436C237.276 171.609 234.104 180.482 238.038 183.109L243.719 264.645C241.425 264.373 239.239 264.373 236.837 265.373C230.61 267.818 227.33 267.091 222.635 266.636C217.939 266.182 214.982 265.818 212.796 263.009C210.717 260.2 213.45 254.491 212.904 250.6C212.357 246.7 211.81 249.064 210.395 232.3Z\",\n fill: \"white\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M218.074 108.273C216.998 106.909 210.905 93.1818 215.296 87.5455C220.045 81.3636 247.644 80.9091 250.601 81.9091C254.006 83.0909 255.798 85.0909 256.246 87.9091C261.174 87.5455 263.952 89.4545 264.669 93.6364C265.386 97.8182 264.221 105.364 261.264 116.091L254.364 116C231.963 113 219.866 110.455 218.074 108.273Z\",\n fill: \"#1C2147\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M237.715 172.809C247.751 174.809 261.282 168.355 260.834 161.173C260.565 155.9 261.282 143.355 260.296 123.355C264.149 119.627 267.913 106.173 261.102 109.9C260.654 110.173 260.386 110.536 260.296 110.991C259.669 112.9 259.49 114.9 259.131 114.9C258.594 114.9 256.264 107.9 255.188 107.718C254.203 107.536 253.396 106.991 252.68 105.991C249.633 101.627 244.525 99.3545 239.328 100.082C235.117 100.627 231.712 100.991 229.024 101.173C224.364 101.445 220.153 101.082 216.479 99.9909C217.733 132.173 224.274 148.355 236.192 148.536L234.31 140.9C230.278 153.809 231.085 171.445 237.715 172.809Z\",\n fill: \"#C67766\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M242.375 147.536C249.633 144.718 254.292 140.082 256.264 133.809C258.145 139.809 255.726 146.718 249.006 154.536C242.196 162.355 239.955 159.991 242.375 147.536Z\",\n fill: \"#AA6B5E\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask0_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 216,\n y: 99,\n width: 49,\n height: 76\n }, _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M238.979 174.582C249.05 176.591 262.724 168.473 262.276 161.282C262.007 156 261.38 143.336 260.386 123.291C264.257 119.555 268.029 106.073 261.192 109.809C260.744 110.082 260.475 110.445 260.386 110.9C259.758 112.809 259.579 114.818 259.212 114.818C258.674 114.818 256.335 107.8 255.251 107.618C254.265 107.436 253.45 106.891 252.733 105.891C249.678 101.518 244.543 99.2364 239.328 99.9727C235.099 100.518 231.685 100.882 228.979 101.064C224.301 101.336 220.072 100.973 216.38 99.8818C217.644 132.136 224.203 148.355 236.174 148.536L235.099 153.091C230.959 166.118 232.222 173.318 238.97 174.591L238.979 174.582Z\",\n fill: \"white\"\n }))), _g || (_g = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask0_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M257.33 110.9C257.509 111.445 257.509 112.173 257.509 113.182C256.524 127.027 251.389 133.227 247.886 133.5C242.402 133.864 241.317 132.409 236.909 131.127C232.5 129.855 228.54 130.218 225.126 132.855C222.877 134.673 221.165 133.945 220.09 130.664C223.782 142.782 229.086 148.609 236.282 148.609C247.079 148.518 252.832 140.136 254.991 136.309C255.887 134.673 257.509 127.018 259.848 113.345L257.33 110.882V110.9Z\",\n fill: \"#1C2147\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask1_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 221,\n y: 98,\n width: 49,\n height: 81\n }, _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M234.221 121.9L235.923 126.355C224.006 128.173 219.525 145.355 222.482 178.082C226.067 176.445 230.188 175.536 234.848 175.173C237.536 174.991 241.031 174.9 245.332 174.9C250.619 174.9 255.457 171.9 257.966 167.173C258.504 166.082 259.31 165.355 260.296 165.082C261.371 164.718 262.715 157.355 263.343 157.264C263.701 157.264 264.149 159.264 265.045 161.082C265.224 161.445 265.583 161.809 266.031 162.082C273.289 164.9 267.733 151.809 263.432 148.627C261.73 128.264 260.744 115.445 260.386 110.082C259.848 102.718 245.153 96.4455 235.296 99.8091C228.755 101.991 228.396 109.355 234.221 121.9Z\",\n fill: \"white\"\n }))), _g2 || (_g2 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask1_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M232.966 135.355C234.937 135.264 236.998 136.627 239.239 139.627L233.414 138.536L228.127 140.355C229.382 137.173 230.995 135.536 232.966 135.355Z\",\n fill: \"white\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask2_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 216,\n y: 99,\n width: 49,\n height: 76\n }, _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M239.059 174.445C249.095 176.445 262.715 168.355 262.267 161.173C261.999 155.9 261.371 143.264 260.386 123.264C264.239 119.536 268.002 106.082 261.192 109.809C260.744 110.082 260.475 110.445 260.386 110.9C259.758 112.809 259.579 114.809 259.221 114.809C258.683 114.809 256.353 107.809 255.278 107.627C254.292 107.445 253.486 106.9 252.769 105.9C249.723 101.536 244.615 99.2636 239.418 99.9909C235.206 100.536 231.801 100.9 229.113 101.082C224.454 101.355 220.242 100.991 216.568 99.9C217.823 132.082 224.364 148.264 236.282 148.445L235.206 152.991C231.084 165.991 232.339 173.173 239.059 174.445Z\",\n fill: \"white\"\n }))), _g3 || (_g3 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask2_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M228.665 118.991L228.307 122.809C228.038 125.082 229.651 127.082 231.891 127.264H232.608\",\n stroke: \"#1C2147\",\n strokeWidth: 1.54,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask3_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 216,\n y: 99,\n width: 49,\n height: 76\n }, _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M239.059 174.445C249.095 176.445 262.715 168.355 262.267 161.173C261.999 155.9 261.371 143.264 260.386 123.264C264.239 119.536 268.002 106.082 261.192 109.809C260.744 110.082 260.475 110.445 260.386 110.9C259.758 112.809 259.579 114.809 259.221 114.809C258.683 114.809 256.353 107.809 255.278 107.627C254.292 107.445 253.486 106.9 252.769 105.9C249.723 101.536 244.615 99.2636 239.418 99.9909C235.206 100.536 231.801 100.9 229.113 101.082C224.454 101.355 220.242 100.991 216.568 99.9C217.823 132.082 224.364 148.264 236.282 148.445L235.206 152.991C231.084 165.991 232.339 173.173 239.059 174.445Z\",\n fill: \"white\"\n }))), _g4 || (_g4 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask3_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M233.611 117.982C233.567 117.227 234.086 116.582 234.776 116.536C235.466 116.491 236.067 117.064 236.111 117.809C236.156 118.564 235.636 119.209 234.947 119.255C234.257 119.3 233.656 118.727 233.602 117.982H233.611Z\",\n fill: \"#1C2147\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask4_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 216,\n y: 99,\n width: 49,\n height: 76\n }, _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M239.059 174.445C249.095 176.445 262.715 168.355 262.267 161.173C261.999 155.9 261.371 143.264 260.386 123.264C264.239 119.536 268.002 106.082 261.192 109.809C260.744 110.082 260.475 110.445 260.386 110.9C259.758 112.809 259.579 114.809 259.221 114.809C258.683 114.809 256.353 107.809 255.278 107.627C254.292 107.445 253.486 106.9 252.769 105.9C249.723 101.536 244.615 99.2636 239.418 99.9909C235.206 100.536 231.801 100.9 229.113 101.082C224.454 101.355 220.242 100.991 216.568 99.9C217.823 132.082 224.364 148.264 236.282 148.445L235.206 152.991C231.084 165.991 232.339 173.173 239.059 174.445Z\",\n fill: \"white\"\n }))), _g5 || (_g5 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask4_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M222.509 118.727C222.464 117.973 222.984 117.327 223.674 117.282C224.364 117.236 224.964 117.809 225.009 118.555C225.063 119.309 224.534 119.955 223.844 120C223.154 120.045 222.554 119.473 222.509 118.727Z\",\n fill: \"#1C2147\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask5_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 216,\n y: 99,\n width: 49,\n height: 76\n }, _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M239.059 174.445C249.095 176.445 262.715 168.355 262.267 161.173C261.999 155.9 261.371 143.264 260.386 123.264C264.239 119.536 268.002 106.082 261.192 109.809C260.744 110.082 260.475 110.445 260.386 110.9C259.758 112.809 259.579 114.809 259.221 114.809C258.683 114.809 256.353 107.809 255.278 107.627C254.292 107.445 253.486 106.9 252.769 105.9C249.723 101.536 244.615 99.2636 239.418 99.9909C235.206 100.536 231.801 100.9 229.113 101.082C224.454 101.355 220.242 100.991 216.568 99.9C217.823 132.082 224.364 148.264 236.282 148.445L235.206 152.991C231.084 165.991 232.339 173.173 239.059 174.445Z\",\n fill: \"white\"\n }))), _g6 || (_g6 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask5_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M231.533 112.173C233.862 110.9 236.013 110.627 238.163 111.355\",\n stroke: \"#1C2147\",\n strokeWidth: 1.54,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask6_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 216,\n y: 99,\n width: 49,\n height: 76\n }, _path18 || (_path18 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M239.059 174.445C249.095 176.445 262.715 168.355 262.267 161.173C261.999 155.9 261.371 143.264 260.386 123.264C264.239 119.536 268.002 106.082 261.192 109.809C260.744 110.082 260.475 110.445 260.386 110.9C259.758 112.809 259.579 114.809 259.221 114.809C258.683 114.809 256.353 107.809 255.278 107.627C254.292 107.445 253.486 106.9 252.769 105.9C249.723 101.536 244.615 99.2636 239.418 99.9909C235.206 100.536 231.801 100.9 229.113 101.082C224.454 101.355 220.242 100.991 216.568 99.9C217.823 132.082 224.364 148.264 236.282 148.445L235.206 152.991C231.084 165.991 232.339 173.173 239.059 174.445Z\",\n fill: \"white\"\n }))), _g7 || (_g7 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask6_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M224.274 112.445C222.751 111.991 221.228 111.991 219.525 112.536\",\n stroke: \"#1C2147\",\n strokeWidth: 1.54,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), _path19 || (_path19 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M261.022 172.3C256.183 170.391 253.047 169.936 251.613 170.845C250.18 171.755 249.283 169.936 249.015 165.118L258.423 164.664L261.022 172.3Z\",\n fill: \"#C0BFE4\"\n })), _path20 || (_path20 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M260.905 175.727C258.665 171.636 253.647 167.545 250.153 167.091C253.916 165.182 261.801 154 261.443 150.545C260.995 147.091 260.995 146.545 260.995 146.545C260.995 146.545 265.117 148.636 266.282 150.818C267.178 156.273 264.669 168.364 260.905 175.727Z\",\n fill: \"#E9F0FC\"\n })), _path21 || (_path21 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M230.744 153.464C230.637 155.636 232.348 159.536 233.316 164.791C233.746 166.782 234.597 168.145 235.78 169.864C236.425 170.864 237.384 172.4 238.352 173.127C234.92 173.491 232.993 169.318 231.497 171.673C229.463 174.845 226.999 181.191 224.212 183.455C224.427 178.018 223.244 167.227 224.964 163.155C226.676 159.073 229.355 155.718 230.753 153.455L230.744 153.464Z\",\n fill: \"white\"\n })), _path22 || (_path22 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M235.538 183.273C235.717 180.273 236.792 174.909 237.509 171.636C237.868 169.909 238.136 168.909 238.136 168.909C238.136 168.909 236.703 168.182 234.015 166.455L232.85 175.273C235.09 182.182 235.269 186.364 235.538 183.273Z\",\n fill: \"#E8ECF6\"\n })), _path23 || (_path23 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M240.735 238L238.853 253.909C238.136 253.636 237.599 253.273 237.42 252.909C236.434 251.455 237.688 245.636 240.735 238ZM236.792 256.364L245.843 180.727L246.739 187.364C246.739 187.545 246.828 188 246.918 188.545C247.545 193 249.516 206.455 249.158 209.545C248.8 212.909 246.918 223.091 246.111 226.909C245.843 228.182 244.857 231 243.692 234.364C242.348 238 240.825 242.364 239.839 245.909L236.792 256.364Z\",\n stroke: \"#F1F2F7\",\n strokeWidth: 1.91,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path24 || (_path24 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M366.757 283.736H1.5233C0.716847 283.736 0 283.1 0 282.191C0 281.373 0.627241 280.645 1.5233 280.645H366.757C367.563 280.645 368.28 281.282 368.28 282.191C368.19 283.1 367.563 283.736 366.757 283.736Z\",\n fill: \"#2F386A\"\n })), _path25 || (_path25 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M198.459 217.264L197.688 241.327L186.04 225.382L197.715 216.464L198.459 217.273V217.264Z\",\n fill: \"#AA6B5E\"\n })), _path26 || (_path26 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M137.599 280.727H277.563C279.086 280.727 280.43 279.455 280.43 277.818V276.818C280.43 275.273 279.176 273.909 277.563 273.909H137.509C135.986 273.909 134.642 275.182 134.642 276.818V277.818C134.731 279.364 135.986 280.727 137.599 280.727Z\",\n fill: \"#616EAE\"\n })), _path27 || (_path27 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M154.803 196.273C155.52 192.909 155.878 189.545 155.878 186.182C155.878 182.818 155.341 180.455 153.19 177.909C151.756 176.182 149.606 174 147.903 172.636C142.975 168.636 141.093 161.182 143.423 155.273\",\n stroke: \"#8CA4D4\",\n strokeWidth: 2.53,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path28 || (_path28 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M144.409 186.545C145.036 183.727 143.513 180.818 141.541 178.636C139.57 176.455 137.151 174.818 135.448 172.455C131.774 167.364 131.954 162.636 132.67 153.273C133.118 146.636 133.029 139.182 128.28 134.545\",\n stroke: \"#8CA4D4\",\n strokeWidth: 2.53,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path29 || (_path29 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M69.1399 256.573C70.3944 258.845 71.1112 261.391 71.1112 264.027C71.1112 273.573 62.061 281.3 50.8603 281.3C39.6596 281.3 30.6094 273.573 30.6094 264.027C30.6094 261.209 31.4158 258.573 32.8495 256.209C41.7205 257.664 59.6417 257.573 69.1399 256.573Z\",\n fill: \"#CDCAE8\"\n })), _path30 || (_path30 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M50.941 252.8C61.156 252.8 69.3998 254.8 69.3998 257.255C69.3998 259.709 61.156 261.709 50.941 261.709C40.7259 261.709 32.5718 259.618 32.5718 257.164C32.5718 254.709 40.8155 252.8 50.941 252.8Z\",\n fill: \"#BAB4DF\"\n })), _path31 || (_path31 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.4535 253.918C48.4678 246.827 45.6901 236.645 37.3567 225.645C32.4284 219.191 32.4284 203.373 31.7115 201.645C35.5646 203.009 42.4642 206.464 49.4535 216.191C56.7116 226.464 52.1417 247.373 49.4535 253.918Z\",\n fill: \"#B7E7F4\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask7_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 31,\n y: 201,\n width: 23,\n height: 53\n }, _path32 || (_path32 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.4535 253.918C48.4678 246.827 45.6901 236.645 37.3567 225.645C32.4284 219.191 32.4284 203.373 31.7115 201.645C35.5646 203.009 42.4642 206.464 49.4535 216.191C56.7116 226.464 52.1417 247.373 49.4535 253.918Z\",\n fill: \"white\"\n }))), _g8 || (_g8 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask7_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M35.7438 207.827C43.8083 215.282 48.2886 227.827 49.1847 245.555\",\n stroke: \"#2DBBCD\",\n strokeWidth: 1.1,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), _path33 || (_path33 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.4625 261.209C46.3263 256.118 40.8603 249.3 30.8245 243.755C24.9105 240.482 19.7133 228.482 18.5485 227.391C21.9535 227.118 28.3155 227.391 36.9177 232.482C45.9678 237.755 49.2833 255.3 49.4625 261.209Z\",\n fill: \"#B7E7F4\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask8_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 18,\n y: 227,\n width: 32,\n height: 35\n }, _path34 || (_path34 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M49.4625 261.209C46.3263 256.118 40.8603 249.3 30.8245 243.755C24.9105 240.482 19.7133 228.482 18.5485 227.391C21.9535 227.118 28.3155 227.391 36.9177 232.482C45.9678 237.755 49.2833 255.3 49.4625 261.209Z\",\n fill: \"white\"\n }))), _g9 || (_g9 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask8_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M23.9248 231.118C30.9141 232.936 38.0825 240.209 45.5198 253.118\",\n stroke: \"#2DBBCD\",\n strokeWidth: 1.1,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), _path35 || (_path35 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M51.7474 261.891C54.1667 256.436 58.8262 248.891 68.0556 242.073C73.5216 238.073 77.1954 225.345 78.1811 224.164C74.7761 224.345 68.4141 225.436 60.5287 231.618C52.1954 238.073 51.1201 255.982 51.7474 261.891Z\",\n fill: \"#B7E7F4\"\n })), /*#__PURE__*/React.createElement(\"mask\", {\n id: \"mask9_209_641\",\n style: {\n maskType: \"luminance\"\n },\n maskUnits: \"userSpaceOnUse\",\n x: 51,\n y: 224,\n width: 28,\n height: 38\n }, _path36 || (_path36 = /*#__PURE__*/React.createElement(\"path\", {\n fillRule: \"evenodd\",\n clipRule: \"evenodd\",\n d: \"M51.7474 261.891C54.1667 256.436 58.8262 248.891 68.0556 242.073C73.5216 238.073 77.1954 225.345 78.1811 224.164C74.7761 224.345 68.4141 225.436 60.5287 231.618C52.1954 238.073 51.1201 255.982 51.7474 261.891Z\",\n fill: \"white\"\n }))), _g10 || (_g10 = /*#__PURE__*/React.createElement(\"g\", {\n mask: \"url(#mask9_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M71.4606 229.709C64.8298 232.436 58.7366 240.709 53.0914 254.527\",\n stroke: \"#2DBBCD\",\n strokeWidth: 1.1,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n }))), _path37 || (_path37 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M197.249 154.764L202.142 150.055C202.142 150.055 205.153 147.709 206.309 147.164C207.16 146.755 209.05 146.255 210 146.245C210.744 146.236 212.106 146.327 212.76 146.509C213.136 146.618 214.059 147.145 214.059 147.145C214.059 147.145 217.025 146.455 218.056 146.291C218.692 146.191 220.153 146.009 220.78 146.127C221.138 146.191 221.658 146.255 221.9 146.509C222.025 146.645 222.097 146.836 222.16 147.009C222.249 147.245 222.312 147.482 222.375 147.727C222.42 147.927 222.464 148.136 222.473 148.336C222.482 148.491 222.473 148.645 222.464 148.8L222.42 149.345L222.375 149.691C222.357 149.809 222.348 149.927 222.33 150.045C222.321 150.1 222.303 150.164 222.294 150.218C222.294 150.255 222.285 150.245 222.33 150.264C222.357 150.264 222.393 150.273 222.429 150.273C222.509 150.273 222.581 150.236 222.662 150.209C222.742 150.182 222.814 150.164 222.895 150.145L223.782 149.882C224.131 149.782 224.49 149.755 224.848 149.7L225.628 149.645C225.726 149.645 225.816 149.645 225.914 149.645C226.085 149.645 226.255 149.645 226.425 149.664C226.506 149.682 226.586 149.7 226.658 149.727C226.721 149.745 226.792 149.764 226.855 149.809C226.918 149.855 226.963 149.909 226.999 149.964C227.115 150.118 227.16 150.336 227.124 150.527C227.088 150.718 226.909 150.864 226.873 151.055L226.228 151.991L225.063 153.236L223.056 155.136C220.995 156.673 219.033 158.4 216.73 159.564C216.73 159.564 214.812 160.664 214.803 160.664C213.746 161.264 212.617 161.718 211.479 162.145C210.466 162.527 209.355 162.755 208.414 163.3C207.644 163.745 206.927 164.336 206.192 164.855L195.242 157.145L196.515 155.609L197.214 154.755L197.249 154.764Z\",\n fill: \"#C67766\"\n })), _path38 || (_path38 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M187.488 220.448L200.732 245.229C170.033 265.329 153.124 267.329 150.006 251.211C144.8 224.239 183.689 168.039 196.099 156.339L206.207 164.839L187.497 220.448H187.488Z\",\n fill: \"#C67766\"\n })), _path39 || (_path39 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M207.034 163.455C206.084 164.145 205.395 165.118 203.934 165C202.24 164.864 200.493 164.591 198.782 164.391\",\n stroke: \"#9C584B\",\n strokeWidth: 0.7,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path40 || (_path40 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M134.283 280.727H258.746L247.903 208.182C247.545 205.636 245.395 203.818 242.975 203.818H128.369C125.412 203.818 123.172 206.545 123.62 209.545L134.283 280.727Z\",\n fill: \"#616EAE\"\n })), _path41 || (_path41 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M133.477 279.636H255.341L244.498 210.636C244.14 208.182 241.989 206.364 239.57 206.364H128.548C125.592 206.364 123.351 209 123.799 211.909L133.477 279.636Z\",\n fill: \"#39447A\"\n })), _path42 || (_path42 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M207.473 150.155L207.706 150.427L207.886 150.636C207.966 150.727 208.011 150.782 208.02 150.882C208.038 151.127 207.984 151.373 207.903 151.591C207.85 151.736 207.76 151.864 207.688 152C207.411 152.5 207.034 152.955 206.819 153.482C206.783 153.582 206.694 153.691 206.792 153.809C206.828 153.845 206.864 153.882 206.9 153.918C206.927 153.955 206.954 153.991 206.989 154.018C207.016 154.036 207.052 154.045 207.079 154.055C207.312 154.127 207.617 154.236 207.85 154.227C208.253 154.218 208.486 154.073 208.764 153.909C208.943 153.809 209.131 153.709 209.292 153.591C209.498 153.445 210.179 152.691 210.179 152.691C210.771 152.091 211.273 151.491 211.497 150.655C211.694 149.927 211.541 149.136 211.04 148.564\",\n stroke: \"#9C584B\",\n strokeWidth: 0.75,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path43 || (_path43 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M210.905 152.927C211.067 153.391 211.237 153.827 211.47 154.273C211.568 154.455 211.855 154.773 212.115 154.809C212.455 154.864 212.706 154.673 212.895 154.509C214.167 153.436 214.696 151.855 215.179 150.4\",\n stroke: \"#9C584B\",\n strokeWidth: 0.75,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path44 || (_path44 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M215.395 152.627C215.278 153.091 215.278 153.618 215.475 154.055C215.574 154.264 215.735 154.455 215.95 154.555C216.201 154.673 216.443 154.573 216.667 154.427C216.909 154.264 217.142 154.091 217.357 153.9C217.832 153.482 218.226 152.982 218.531 152.445C218.809 151.955 219.05 151.445 219.203 150.9C219.292 150.573 219.355 149.473 219.337 149.109\",\n stroke: \"#9C584B\",\n strokeWidth: 0.75,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path45 || (_path45 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M218.835 153.536C219.015 153.827 219.319 154.091 219.767 154.064C220.332 154.027 220.663 153.682 220.887 153.318C221.147 152.873 221.353 152.418 221.551 151.955C221.748 151.491 221.981 151.045 222.196 150.582\",\n stroke: \"#9C584B\",\n strokeWidth: 0.75,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n })), _path46 || (_path46 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M20.1709 87C16.3897 87 12.7634 88.6857 10.0897 91.6863C7.41601 94.6869 5.91394 98.7565 5.91394 103C5.91394 107.243 7.41601 111.313 10.0897 114.314C12.7634 117.314 16.3897 119 20.1709 119H146.657C150.438 119 154.064 117.314 156.738 114.314C159.412 111.313 160.914 107.243 160.914 103C160.914 98.7565 159.412 94.6869 156.738 91.6863C154.064 88.6857 150.438 87 146.657 87H20.1709Z\",\n fill: \"#E5E5E5\"\n })), _path47 || (_path47 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M22.4581 90.4286C18.9975 90.4286 15.6787 91.7531 13.2317 94.1107C10.7847 96.4683 9.41003 99.6659 9.41003 103C9.41003 106.334 10.7847 109.532 13.2317 111.889C15.6787 114.247 18.9975 115.571 22.4581 115.571H144.369C147.83 115.571 151.149 114.247 153.596 111.889C156.043 109.532 157.418 106.334 157.418 103C157.418 99.6659 156.043 96.4683 153.596 94.1107C151.149 91.7531 147.83 90.4286 144.369 90.4286H22.4581Z\",\n fill: \"white\"\n })), _path48 || (_path48 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M49.3634 110.782H25.0167C24.9394 110.782 24.8627 110.768 24.7911 110.739C24.7194 110.711 24.6543 110.668 24.5994 110.615C24.5446 110.561 24.501 110.498 24.4713 110.428C24.4416 110.358 24.4263 110.283 24.4263 110.207C24.4263 110.131 24.4416 110.056 24.4713 109.986C24.501 109.916 24.5446 109.852 24.5994 109.799C24.6543 109.745 24.7194 109.703 24.7911 109.674C24.8627 109.646 24.9394 109.631 25.0167 109.632H49.3634C49.5182 109.633 49.6664 109.694 49.7755 109.802C49.8846 109.909 49.9459 110.055 49.9459 110.207C49.9459 110.359 49.8846 110.504 49.7755 110.612C49.6664 110.72 49.5182 110.781 49.3634 110.782Z\",\n fill: \"#6E40CF\"\n })), _path49 || (_path49 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M80.2488 110.974H55.9021C55.8247 110.974 55.748 110.96 55.6764 110.931C55.6048 110.902 55.5397 110.86 55.4848 110.806C55.43 110.753 55.3864 110.689 55.3567 110.619C55.3269 110.549 55.3116 110.474 55.3116 110.398C55.3116 110.323 55.3269 110.248 55.3567 110.177C55.3864 110.107 55.43 110.044 55.4848 109.99C55.5397 109.937 55.6048 109.895 55.6764 109.866C55.748 109.837 55.8247 109.823 55.9021 109.823H80.2488C80.3261 109.823 80.4028 109.837 80.4744 109.866C80.546 109.895 80.6112 109.937 80.666 109.99C80.7209 110.044 80.7645 110.107 80.7942 110.177C80.8239 110.248 80.8392 110.323 80.8392 110.398C80.8392 110.474 80.8239 110.549 80.7942 110.619C80.7645 110.689 80.7209 110.753 80.666 110.806C80.6112 110.86 80.546 110.902 80.4744 110.931C80.4028 110.96 80.3261 110.974 80.2488 110.974Z\",\n fill: \"#6E40CF\"\n })), _path50 || (_path50 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M111.134 111.165H86.7873C86.6325 111.164 86.4843 111.103 86.3752 110.995C86.2661 110.888 86.2048 110.742 86.2048 110.59C86.2048 110.438 86.2661 110.293 86.3752 110.185C86.4843 110.077 86.6325 110.016 86.7873 110.015H111.134C111.211 110.015 111.288 110.029 111.36 110.058C111.431 110.086 111.496 110.129 111.551 110.182C111.606 110.236 111.65 110.299 111.679 110.369C111.709 110.439 111.724 110.514 111.724 110.59C111.724 110.666 111.709 110.741 111.679 110.811C111.65 110.881 111.606 110.945 111.551 110.998C111.496 111.052 111.431 111.094 111.36 111.123C111.288 111.151 111.211 111.166 111.134 111.165Z\",\n fill: \"#6E40CF\"\n })), _path51 || (_path51 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M142.019 111.357H117.673C117.518 111.356 117.37 111.295 117.26 111.187C117.151 111.079 117.09 110.934 117.09 110.782C117.09 110.63 117.151 110.484 117.26 110.377C117.37 110.269 117.518 110.208 117.673 110.207H142.019C142.174 110.208 142.322 110.269 142.431 110.377C142.54 110.484 142.602 110.63 142.602 110.782C142.602 110.934 142.54 111.079 142.431 111.187C142.322 111.295 142.174 111.356 142.019 111.357Z\",\n fill: \"#6E40CF\"\n })), _path52 || (_path52 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M37.1366 105.489C39.6357 105.489 41.6616 103.503 41.6616 101.052C41.6616 98.6011 39.6357 96.6144 37.1366 96.6144C34.6375 96.6144 32.6116 98.6011 32.6116 101.052C32.6116 103.503 34.6375 105.489 37.1366 105.489Z\",\n fill: \"#6E40CF\"\n })), _path53 || (_path53 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M68.2085 105.489C70.7076 105.489 72.7335 103.503 72.7335 101.052C72.7335 98.6011 70.7076 96.6144 68.2085 96.6144C65.7094 96.6144 63.6835 98.6011 63.6835 101.052C63.6835 103.503 65.7094 105.489 68.2085 105.489Z\",\n fill: \"#6E40CF\"\n })), _path54 || (_path54 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M99.2803 105.489C101.779 105.489 103.805 103.503 103.805 101.052C103.805 98.6011 101.779 96.6144 99.2803 96.6144C96.7812 96.6144 94.7552 98.6011 94.7552 101.052C94.7552 103.503 96.7812 105.489 99.2803 105.489Z\",\n fill: \"#6E40CF\"\n })), _path55 || (_path55 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M130.352 105.489C132.851 105.489 134.877 103.503 134.877 101.052C134.877 98.6011 132.851 96.6144 130.352 96.6144C127.853 96.6144 125.827 98.6011 125.827 101.052C125.827 103.503 127.853 105.489 130.352 105.489Z\",\n fill: \"#6E40CF\"\n }))), _g11 || (_g11 = /*#__PURE__*/React.createElement(\"g\", {\n filter: \"url(#filter0_d_209_641)\"\n }, /*#__PURE__*/React.createElement(\"path\", {\n d: \"M191 71C209.225 71 224 56.2254 224 38C224 19.7746 209.225 5 191 5C172.775 5 158 19.7746 158 38C158 56.2254 172.775 71 191 71Z\",\n fill: \"white\"\n }))), _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 191,\n cy: 38,\n r: 19,\n fill: \"#FFF6D5\",\n stroke: \"#F1C411\",\n strokeWidth: 2\n })), _path56 || (_path56 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M197.687 26.8951C195.892 25.3745 193.606 24.614 191.289 24.7679C188.974 24.6208 186.675 25.3422 184.833 26.7854C183.205 28.2651 182.272 30.3876 182.275 32.6107L187.302 32.6536C187.277 31.6229 187.703 30.6308 188.454 29.9425C189.251 29.3009 190.236 28.9619 191.253 28.9706C192.281 28.8983 193.295 29.2659 194.034 29.9901C194.727 30.8297 195.068 31.9094 194.98 33.0086C194.972 33.9811 194.67 34.928 194.109 35.7221C193.698 36.2976 192.843 37.1471 191.578 38.5604C190.518 39.6166 189.615 40.8131 188.893 42.1269C188.354 43.0254 188.108 44.0654 188.178 45.108L192.775 45.1473L192.774 45.2978C192.792 43.2254 193.356 43.2302 194.201 42.1838L196.753 39.6119C198.632 37.9028 199.759 35.4925 199.86 32.9229C200.038 30.6782 199.243 28.4715 197.687 26.8951Z\",\n fill: \"#F1C411\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 190.569,\n cy: 49.314,\n r: 2.56766,\n transform: \"rotate(0.489033 190.569 49.314)\",\n fill: \"#F1C411\"\n })), _defs || (_defs = /*#__PURE__*/React.createElement(\"defs\", null, /*#__PURE__*/React.createElement(\"filter\", {\n id: \"filter0_d_209_641\",\n x: 149,\n y: 0,\n width: 80,\n height: 80,\n filterUnits: \"userSpaceOnUse\",\n colorInterpolationFilters: \"sRGB\"\n }, /*#__PURE__*/React.createElement(\"feFlood\", {\n floodOpacity: 0,\n result: \"BackgroundImageFix\"\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n in: \"SourceAlpha\",\n type: \"matrix\",\n values: \"0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0\",\n result: \"hardAlpha\"\n }), /*#__PURE__*/React.createElement(\"feOffset\", {\n dx: -2,\n dy: 2\n }), /*#__PURE__*/React.createElement(\"feGaussianBlur\", {\n stdDeviation: 3.5\n }), /*#__PURE__*/React.createElement(\"feColorMatrix\", {\n type: \"matrix\",\n values: \"0 0 0 0 0.223529 0 0 0 0 0.266667 0 0 0 0 0.478431 0 0 0 0.252322 0\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in2: \"BackgroundImageFix\",\n result: \"effect1_dropShadow_209_641\"\n }), /*#__PURE__*/React.createElement(\"feBlend\", {\n mode: \"normal\",\n in: \"SourceGraphic\",\n in2: \"effect1_dropShadow_209_641\",\n result: \"shape\"\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint0_linear_209_641\",\n x1: 251.73,\n y1: 286.091,\n x2: 235.258,\n y2: 250.726,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n stopColor: \"#201B59\",\n stopOpacity: 0.91\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.56,\n stopColor: \"#FFCC00\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"linearGradient\", {\n id: \"paint1_linear_209_641\",\n x1: 309.095,\n y1: 262.482,\n x2: 319.165,\n y2: 242.315,\n gradientUnits: \"userSpaceOnUse\"\n }, /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.27,\n stopColor: \"#201B59\",\n stopOpacity: 0.91\n }), /*#__PURE__*/React.createElement(\"stop\", {\n offset: 0.56,\n stopColor: \"#FF735F\",\n stopOpacity: 0\n })), /*#__PURE__*/React.createElement(\"clipPath\", {\n id: \"clip0_209_641\"\n }, /*#__PURE__*/React.createElement(\"rect\", {\n width: 368.28,\n height: 250,\n fill: \"white\",\n transform: \"translate(0 35)\"\n })))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgResetPassword);\nexport default __webpack_public_path__ + \"static/media/reset-password.d0af6aa7.svg\";\nexport { ForwardRef as ReactComponent };","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { ActionButton, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { TextBoxField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { StyledPrimaryButton } from 'common';\r\n\r\ninterface IResetPasswordcontrolsProps {\r\n\r\n}\r\n\r\n\r\nconst StyledForm = styled.form`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 350px;\r\n height: 100%;\r\n`;\r\n\r\nconst LoginControlsBaseWrapper = styled(StackPanel)`\r\n margin-left 80px;\r\n justify-content: center;\r\n align-items: center;\r\n display: grid;\r\n width: 320px;\r\n row-gap:5px;\r\n`;\r\n\r\nconst Heading = styled(Typography.H2)`\r\n font-style: normal;\r\n font-weight: 500;\r\n font-size: 24px;\r\n line-height: 10px;\r\n text-align: left;\r\n padding-bottom: 20px;\r\n`;\r\n\r\nconst ResetMessage = styled(Typography.H6)`\r\n font-family: RobotoRegular, sans-serif;\r\n line-height: 20px;\r\n font-size:14px;\r\n font-weight:400;\r\n`;\r\n\r\nconst StyledFormInputs = styled(StackPanel)`\r\n padding-top: 20px;\r\n`;\r\n\r\nconst StyledTextBoxField = styled(TextBoxField)`\r\n .ap-textbox-wrapper {\r\n width: 300px;\r\n height: 40px;\r\n padding:0px;\r\n .ap-textbox{\r\n padding:0px 16px !important;\r\n }\r\n }\r\n .ap-formField-label {\r\n margin-bottom:10px;\r\n }\r\n .ap-formField-label span {\r\n font-size: 16px;\r\n font-weight:500;\r\n line-height: 19px;\r\n color:${({ theme: { semantics: { palette } } }) => palette.neutralPrimary};\r\n }\r\n }\r\n`;\r\n\r\nconst ActionButtonsWrapper = styled(StackPanel)`\r\n margin-top: 28px;\r\n`;\r\n\r\nconst StyledGoBackButton = styled(ActionButton)`\r\n color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant3};\r\n \r\n .ap-button-label {\r\n font-weight: 500;\r\n padding-left:50px;\r\n }\r\n`;\r\n\r\nconst ResetButton = styled(StyledPrimaryButton)`\r\n margin-right:11px;\r\n height: 40px;\r\n cursor: pointer;\r\n background-color: #0077d9;\r\n border: 0 #0077d9;\r\n border-radius: 22px\r\n color: #ffff;\r\n font-size: 16px;\r\n font-weight: 500;\r\n line-height: 19px;\r\n`;\r\n\r\nconst ResetControlsBase = React.memo(() => (\r\n\r\n \r\n \r\n Forgot Password ?\r\n \r\n Please enter your account username below and click reset to receive a link to reset your account password in your registered email address.\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n));\r\n\r\n\r\nexport const ResetPasswordControls = (props: IResetPasswordcontrolsProps) => {\r\n const methods = useForm({\r\n mode: 'onBlur'\r\n });\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\n","import React, { useCallback, useState } from 'react';\r\nimport styled from 'styled-components';\r\nimport { Icon, StackPanel, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { TextBoxField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { IChangePasswordFields } from 'modules/login/types';\r\nimport { useValidatePasswordHook } from 'lib/hooks/validate-password-hook';\r\nimport { IChangePasswordPayload } from 'modules/shared/queries';\r\nimport { CenteredSpinner, clearCookies, StyledPrimaryButton } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\n\r\ninterface IChangePasswordControlProps {\r\n changePasswordHandler: (formData: IChangePasswordPayload) => Promise;\r\n}\r\n\r\nconst StyledForm = styled.form`\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n width: 380px;\r\n height: 100%;\r\n`;\r\n\r\nconst LoginControlsBaseWrapper = styled(StackPanel)`\r\n margin-left 80px;\r\n justify-content: center;\r\n align-items: center;\r\n display: grid;\r\n width: 345px;\r\n row-gap:5px;\r\n`;\r\n\r\n\r\nconst StyledFormInputs = styled(StackPanel)`\r\n padding-top: 20px;\r\n`;\r\n\r\nconst RelativeDiv = styled.div`\r\n position: relative;\r\n`;\r\n\r\nconst StyledTextBoxField = styled(TextBoxField)`\r\n .ap-textbox-wrapper {\r\n width: 350px;\r\n height: 40px;\r\n padding:0px;\r\n .ap-textbox{\r\n padding:0px 16px !important;\r\n }\r\n }\r\n .ap-formField-label {\r\n margin-bottom:10px;\r\n }\r\n .ap-formField-label span {\r\n font-size: 16px;\r\n font-weight:500;\r\n line-height: 19px;\r\n color:${({ theme: { semantics: { palette } } }) => palette.neutralPrimary};\r\n }\r\n }\r\n`;\r\n\r\nconst ActionButtonsWrapper = styled(StackPanel)`\r\n margin-top: 20px;\r\n`;\r\n\r\nconst ChangePasswordButton = styled(StyledPrimaryButton)`\r\n margin-right:20px;\r\n height: 40px;\r\n cursor: pointer;\r\n background-color: ${({ theme }) => theme.semantics.palette.themePrimary};\r\n border: 0 ${({ theme }) => theme.semantics.palette.themePrimary};\r\n border-radius: 22px\r\n color: ${({ theme }) => theme.semantics.palette.white};\r\n font-size: 16px;\r\n font-weight: 500;\r\n line-height: 19px;\r\n`;\r\n\r\nconst ShowPasswordIcon = styled(Icon) <{ $isError?: string }>`\r\n position: absolute;\r\n right: 16px;\r\n top:40px;\r\n fill: ${({ theme }) => theme.mobileAppAccelerator.semanticColors.eyeIconfillColor};\r\n cursor: pointer;\r\n`;\r\n\r\nconst ChangeControlsBase = React.memo((props: IChangePasswordControlProps) => {\r\n const translate = useTranslate();\r\n const { changePasswordHandler } = props;\r\n const [isSavingData, setIsSavingData] = React.useState(false);\r\n const { showNotifications } = useNotificationEvents();\r\n const { selectBasePathURL } = useConfigScopeSelectors('config');\r\n const baseURL = selectBasePathURL();\r\n\r\n const [showCurrentPassword, setShowCurrentPassword] = useState(false);\r\n const [showNewPassword, setShowNewPassword] = useState(false);\r\n const [showConfirmPassword, setShowConfirmPassword] = useState(false);\r\n\r\n const onShowCurrentPasswordClick = React.useCallback(() => (setShowCurrentPassword((prevValue) => !prevValue)), []);\r\n const onShowNewPasswordClick = React.useCallback(() => (setShowNewPassword((prevValue) => !prevValue)), []);\r\n const onConfirmPasswordClick = React.useCallback(() => (setShowConfirmPassword((prevValue) => !prevValue)), []);\r\n\r\n const { formState, handleSubmit, watch } = useFormContext();\r\n const confirmPassword = watch('confirmPassword');\r\n const { validatePasswordPattern, validatePasswordMatch } = useValidatePasswordHook({ password: watch('newPassword'), confirmPassword });\r\n\r\n const onFormSubmit = useCallback((formData: IChangePasswordFields) => {\r\n setIsSavingData(true);\r\n changePasswordHandler({\r\n newPassword: formData.newPassword,\r\n oldPassword: formData.currentPassword\r\n }).then((res) => {\r\n setIsSavingData(false);\r\n if (res?.ChangeUserPasswordResult) {\r\n showNotifications({ message: 'Password changed successfully.' });\r\n clearCookies();\r\n window.open(baseURL, '_self');\r\n }\r\n else {\r\n throw new Error('Error');\r\n }\r\n }).catch(() => {\r\n setIsSavingData(false);\r\n // Note: need to localize this text\r\n showNotifications({ message: 'Error - Something went wrong!' });\r\n });\r\n }, [baseURL, changePasswordHandler, showNotifications]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n {isSavingData ?\r\n :\r\n }\r\n \r\n \r\n );\r\n});\r\n\r\nexport const ChangePasswordControl = (props: IChangePasswordControlProps) => {\r\n const methods = useForm({\r\n mode: 'onBlur'\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\n\r\nexport function useValidatePasswordHook(props?: any) {\r\n const { password } = props;\r\n const translate = useTranslate();\r\n\r\n const validatePasswordPattern = React.useCallback((value: string) => {\r\n if (value && !/^(?=.*[a-z])(?=.*[A-Z])(?=.*\\d)(?=.*[_\\W])[A-Za-z\\d_\\W](?!.*\\s).{8,15}$/.test(value)) {\r\n return translate('modules.createNewApp.steps.basicSettings.validationMessages.passwordCharacterLength');\r\n }\r\n }, [translate]);\r\n\r\n const validatePasswordMatch = React.useCallback((value: string) => {\r\n if (password !== value) {\r\n return translate('modules.createNewApp.steps.basicSettings.validationMessages.passwordMismatch');\r\n }\r\n return undefined;\r\n }, [password, translate]);\r\n\r\n return {\r\n validatePasswordPattern,\r\n validatePasswordMatch\r\n };\r\n}\r\n","import styled from 'styled-components';\r\nimport { ReactComponent as ResetPasswordIllustration } from '../../../../assets/svg/reset-password.svg';\r\nimport { ResetPasswordControls } from './reset-password-controls';\r\nimport { ChangePasswordControl } from './change-password-controls';\r\nimport { IChangePasswordPayload } from 'modules/shared/queries';\r\n\r\ninterface IResetOrChangePasswordPaneProps {\r\n isReset: boolean;\r\n changePasswordHandler: (formData: IChangePasswordPayload) => Promise;\r\n}\r\n\r\nconst IllustrationWrapper = styled.div`\r\n width: 400px;\r\n height: 100%;\r\n display: flex;\r\n align-items: flex-start;\r\n justify-content:flex-start;\r\n align-items:center;\r\n`;\r\n\r\nexport const ResetOrChangePasswordPane = (props: IResetOrChangePasswordPaneProps) => {\r\n const { isReset, changePasswordHandler } = props;\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n {isReset ? : }\r\n\r\n \r\n );\r\n};\r\n\r\n","import React from 'react';\r\nimport { StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { ResetOrChangePasswordPane } from 'modules/reset-or-change-password/component/parts/reset-or-change-password-pane';\r\nimport { IChangePasswordPayload } from 'modules/shared/queries';\r\n\r\ninterface IChangePasswordProps {\r\n changePasswordHandler: (formData: IChangePasswordPayload) => Promise;\r\n}\r\n\r\nexport const ChangePassword = React.memo((props: IChangePasswordProps) => {\r\n const { changePasswordHandler } = props;\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n","import { IChangePasswordPayload, useChangePasswordQuery } from 'modules/shared/queries';\r\nimport React from 'react';\r\nimport { ChangePassword } from '../component/parts/user-details/change-password';\r\n\r\nexport function ChangePasswordContainer() {\r\n const { mutateAsync } = useChangePasswordQuery();\r\n const changePasswordHandler = React.useCallback((formData: IChangePasswordPayload) => mutateAsync({\r\n oldPassword: formData.oldPassword,\r\n newPassword: formData.newPassword\r\n }), [mutateAsync]);\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import React from 'react';\r\nimport { MenuItemsContext } from './context';\r\nimport { IModuleManifest, INavigationMenuItem } from 'types';\r\n\r\ninterface IMenuItemsProviderProps {\r\n modules: IModuleManifest[];\r\n children?: React.ReactNode;\r\n}\r\n\r\nconst modulesMap = (i: IModuleManifest) => i.menuItems || [];\r\n\r\nconst reduceMappedMenuItems = (prev: INavigationMenuItem[], curr: INavigationMenuItem[]) => prev.concat(curr);\r\n\r\nexport function MenuItemsProvider(props: IMenuItemsProviderProps) {\r\n const { children, modules } = props;\r\n const menuItemsInfo = React.useMemo(() => ({ menuItems: modules.map(modulesMap).reduce(reduceMappedMenuItems, []) }), [modules]);\r\n\r\n return (\r\n \r\n {children}\r\n \r\n );\r\n}\r\n","import { Navigate, Route } from 'react-router-dom';\r\nimport { IRouteBuilderContext } from '../../types';\r\n\r\nfunction OpenDashboardPage() {\r\n return ;\r\n}\r\n\r\nexport default function (context: IRouteBuilderContext) {\r\n return (\r\n <>\r\n } />\r\n \r\n );\r\n}\r\n","import { IModuleManifest } from '../../types';\r\n\r\nimport routes from './routes';\r\n\r\nexport const CoreModule: IModuleManifest = {\r\n name: 'core',\r\n version: '1.0.0',\r\n description: 'Core Module',\r\n routes\r\n};\r\n","import React from 'react';\r\n\r\ntype ComponentLoader = () => Promise<{ default: React.ComponentType; }>;\r\n\r\nexport function asLazyLoadable(loader: ComponentLoader): React.ComponentType {\r\n return (props: TProps) => {\r\n const component: any = React.useMemo(() => React.lazy(loader), []);\r\n return React.createElement(component, props);\r\n };\r\n}\r\n","import { IRouteBuilderContext } from 'types';\r\nimport { asLazyLoadable } from 'lib/module';\r\nimport { Route } from 'react-router-dom';\r\n\r\nconst DashboardPage = asLazyLoadable(() => import('./pages/dashboard-page'));\r\n\r\nexport default (context: IRouteBuilderContext) => (\r\n <>\r\n } />\r\n \r\n);\r\n","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const DashboardModule: IModuleManifest = {\r\n name: 'dashboard',\r\n version: '1.0.0',\r\n description: 'Dashboard Module',\r\n routes,\r\n menuItems: [{\r\n id: 'dashboard',\r\n label: 'app:menus.dashboard',\r\n iconName: 'ap-home.solid',\r\n order: 200,\r\n data: {\r\n route: '/dashboard'\r\n }\r\n }]\r\n};\r\n","import { IRouteBuilderContext } from 'types';\r\nimport { Route } from 'react-router-dom';\r\nimport { asLazyLoadable } from 'lib/module';\r\n\r\nconst MyAppsPage = asLazyLoadable(() => import('./pages/my-apps-page'));\r\n\r\nexport default (context: IRouteBuilderContext) => (\r\n <>\r\n } />\r\n \r\n);\r\n","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const MyAppsModule: IModuleManifest = {\r\n name: 'my-apps',\r\n version: '1.0.0',\r\n description: 'My-Apps Module',\r\n routes,\r\n menuItems: [{\r\n id: 'my-apps',\r\n label: 'app:menus.myApps',\r\n iconName: 'maa-myapps.solid',\r\n order: 200,\r\n data: {\r\n route: '/my-apps'\r\n }\r\n }]\r\n};\r\n","import { IRouteBuilderContext } from 'types';\r\nimport { asLazyLoadable } from 'lib/module';\r\nimport { Route } from 'react-router-dom';\r\n\r\nconst ArchiveAppsPage = asLazyLoadable(() => import('./pages/archive-apps-page'));\r\n\r\nexport default (context: IRouteBuilderContext) => (\r\n <>\r\n } />\r\n \r\n);\r\n","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const ArchiveAppsModule: IModuleManifest = {\r\n name: 'archive',\r\n version: '1.0.0',\r\n description: 'Archive-apps Module',\r\n routes,\r\n menuItems: [{\r\n id: 'archive-apps',\r\n label: 'app:menus.archive',\r\n iconName: 'maa-archive.solid',\r\n order: 200,\r\n data: {\r\n route: '/archive-apps'\r\n }\r\n }]\r\n};\r\n","import { IRouteBuilderContext } from 'types';\r\nimport { Route } from 'react-router-dom';\r\nimport { asLazyLoadable } from 'lib/module';\r\n\r\nconst DefaultAppSettings = asLazyLoadable(() => import('./pages/default-app-settings-page'));\r\n\r\nexport default (context: IRouteBuilderContext) => (\r\n <>\r\n } />\r\n \r\n);\r\n","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const DefaultAppSettingsModule: IModuleManifest = {\r\n name: 'default-app-settings-module',\r\n version: '1.0.0',\r\n description: 'Default AppSettings Module',\r\n routes,\r\n menuItems: [{\r\n id: 'default-app-settings',\r\n label: 'app:menus.defaultAppSettings',\r\n iconName: 'ap-settings.solid',\r\n iconSize: '16',\r\n order: 200,\r\n data: {\r\n route: '/default-app-settings'\r\n }\r\n },\r\n {\r\n id: 'help',\r\n label: 'app:menus.help',\r\n iconName: 'maa-help.solid',\r\n iconSize: '16',\r\n order: 300,\r\n data: {\r\n route: '/help'\r\n }\r\n }\r\n ]\r\n};\r\n","import { Route } from 'react-router-dom';\r\nimport { asLazyLoadable } from 'lib/module';\r\n\r\nconst CreateNewAppPage = asLazyLoadable(() => import('./pages/create-new-app-page'));\r\nconst EditMobileAppAppPage = asLazyLoadable(() => import('./pages/edit-mobile-app-page'));\r\n\r\nexport default () => (\r\n <>\r\n } />\r\n } />\r\n \r\n);\r\n","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const CreateNewAppModule: IModuleManifest = {\r\n name: 'create-new-app',\r\n version: '1.0.0',\r\n description: 'Create New App Module',\r\n routes,\r\n menuItems: [{\r\n id: 'create-new-app',\r\n label: 'app:menus.addApp',\r\n iconName: 'maa-create-new-app.solid',\r\n order: 200,\r\n data: {\r\n route: '/create-new-app'\r\n }\r\n }]\r\n};\r\n","import { IRouteBuilderContext } from 'types';\r\nimport { Route } from 'react-router-dom';\r\nimport { asLazyLoadable } from 'lib/module';\r\n\r\nconst ReportsPage = asLazyLoadable(() => import('./pages/reports-page'));\r\n\r\nexport default (context: IRouteBuilderContext) => (\r\n <>\r\n } />\r\n \r\n);\r\n","import { CoreModule } from './core';\r\nimport { IModuleManifest } from '../types';\r\nimport { DashboardModule } from './dashboard';\r\nimport { MyAppsModule } from './my-apps';\r\nimport { ArchiveAppsModule } from './archive';\r\nimport { DefaultAppSettingsModule } from './default-app-settings';\r\nimport { CreateNewAppModule } from './create-new-app';\r\nimport { ReportsModule } from './reports';\r\n\r\nconst allModules: IModuleManifest[] = [CoreModule, DashboardModule, CreateNewAppModule, MyAppsModule, ArchiveAppsModule, ReportsModule, DefaultAppSettingsModule];\r\n\r\nexport default allModules.slice();\r\n","import { IModuleManifest } from 'types';\r\nimport routes from './routes';\r\n\r\nexport const ReportsModule: IModuleManifest = {\r\n name: 'reports',\r\n version: '1.0.0',\r\n description: 'Reports Module',\r\n routes,\r\n menuItems: [{\r\n id: 'reports',\r\n label: 'app:menus.reports',\r\n iconName: 'maa-dashboard.solid',\r\n order: 200,\r\n data: {\r\n route: '/reports'\r\n }\r\n }]\r\n};\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { StackPanel, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { copyTextToClipboard } from '@agilepoint/utils-html';\r\nimport { getErrorMessage } from 'common/utils/error-message-utils';\r\nimport styled from 'styled-components';\r\nimport { ErrorInfo } from './api-error';\r\nimport { StyledPrimaryButton } from '../styled-components';\r\n\r\ninterface IErrorFallBackProps {\r\n error: any;\r\n resetErrorBoundary: any;\r\n}\r\n\r\nconst ErrorFallbackWrapper = styled.div`\r\n width: 100%;\r\n height: 100%;\r\n display: flex;\r\n justify-content: center;\r\n align-items: center;\r\n flex-direction: column;\r\n`;\r\n\r\nexport function ReloadButton() {\r\n return ( window.location.reload()} label=\"Try Again\" title='Reload' />);\r\n}\r\n\r\nexport function ErrorFallback(props: IErrorFallBackProps) {\r\n const { error } = props;\r\n const errorMessage = getErrorMessage(error);\r\n const translate = useTranslate();\r\n const { showNotifications } = useNotificationEvents();\r\n\r\n const copyText = React.useCallback(() => {\r\n copyTextToClipboard(errorMessage);\r\n showNotifications({\r\n message: 'Error message copied to clipboard.'\r\n });\r\n }, [errorMessage, showNotifications]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n}\r\n","import { BrowserRouter } from 'react-router-dom';\r\nimport { ILocalizer } from '@agilepoint/wat-react';\r\nimport { RestateProvider, ScopeRegistrar } from '@agilepoint/react-restate';\r\nimport { IAppContext, IAuthorizationContext, IConfigurationBase } from '@agilepoint/wat';\r\nimport {\r\n WatReactAppContainer, PopupMessageHost, WindowSizeProvider, WithNotificationList, WithPopup, IIconSprite\r\n} from '@agilepoint/wat-react-ux';\r\nimport { memo, Component } from 'react';\r\nimport { Store } from 'redux';\r\nimport { IIocContainerBuilder } from '@agilepoint/restate-core/lib/ioc-container';\r\nimport { combineUrl, memoizeFunction } from '@agilepoint/utils-common';\r\nimport styled from 'styled-components';\r\nimport { PermissionCode } from './lib/authorization';\r\nimport { CoreAppLayoutContainer } from './modules/core/containers';\r\nimport { createConfigScopeBuilder } from './modules/core/scopes';\r\nimport { appContextDependency } from './dependencies';\r\nimport { IApplicationConfig } from './types';\r\nimport { LoadingIllustration, ServiceClientProvider } from './common';\r\nimport { QueryClient, QueryClientProvider } from 'react-query';\r\nimport { MenuItemsProvider } from 'modules/core/providers/provider';\r\nimport modules from 'modules';\r\nimport '@agilepoint/icons-mobile-app-accelerator';\r\nimport { ErrorBoundary } from 'react-error-boundary';\r\nimport { ErrorFallback } from 'common/components/api-error/error-fallback';\r\n\r\nexport interface IAppProps {\r\n appContext: IAppContext;\r\n authorizationContext: IAuthorizationContext;\r\n localizer: ILocalizer;\r\n store: Store;\r\n routes: React.ReactNode[];\r\n}\r\n\r\nconst BottomRightNotificationList = styled(WithNotificationList)`\r\n bottom: 50px;\r\n right: 32px;\r\n top: unset;\r\n left: unset;\r\n width: auto;\r\n`;\r\n\r\ninterface IAppRouterProps {\r\n appContext: IAppContext;\r\n children: any;\r\n}\r\n\r\nconst AppRouter = memo(({ appContext, children }: IAppRouterProps) => (\r\n \r\n {children}\r\n \r\n));\r\n\r\nfunction getIconsPath(basePath: string) {\r\n const genericIconsSpritePath = combineUrl(basePath, '/assets/icons/generic/sprite.symbol.svg');\r\n const mobileAppAcceleratorIconsSpritePath = combineUrl(basePath, '/assets/icons/mobile-app-accelerator/sprite.symbol.svg');\r\n const iconSpriteAddons: IIconSprite[] = [\r\n { name: 'workcenter', src: mobileAppAcceleratorIconsSpritePath }\r\n ];\r\n return { genericIconsSpritePath, iconSpriteAddons };\r\n}\r\n\r\n// Create a client\r\nconst queryClient = new QueryClient({ defaultOptions: { queries: { refetchOnWindowFocus: false, cacheTime: 0 } } });\r\n\r\nexport class App extends Component>{\r\n private configScopeFactory: any;\r\n\r\n private loaderFallback = memoizeFunction((error?: Error) => (\r\n error\r\n ? {error.message}\r\n : \r\n ));\r\n\r\n constructor(props: IAppProps) {\r\n super(props);\r\n const { appContext: { configuration } } = props;\r\n this.configScopeFactory = createConfigScopeBuilder(configuration);\r\n }\r\n\r\n render() {\r\n const { store, routes, appContext, localizer } = this.props;\r\n const { genericIconsSpritePath, iconSpriteAddons } = getIconsPath(appContext.configuration.basePath);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n private onBuildIocContainer = (builder: IIocContainerBuilder) => {\r\n appContextDependency.inject(builder, this.props.appContext);\r\n };\r\n}\r\n","import { IAccessRight } from '@agilepoint/wat';\r\nimport { PermissionCode } from './permissions';\r\n\r\nexport enum AccessRightKeys {\r\n\r\n}\r\n\r\nexport const accessRights: IAccessRight[] = [\r\n\r\n];\r\n","import * as React from 'react';\r\nimport { Store, createStore, compose } from 'redux';\r\nimport { createAuthorizationContext, IAppContext, IConfigurationBase, isProduction } from '@agilepoint/wat';\r\nimport {\r\n createLocalizer, injectAuthorizationProvider, injectLocalizationProvider, ILocalizer\r\n} from '@agilepoint/wat-react';\r\nimport { composeWithDevTools } from 'redux-devtools-extension';\r\nimport { App } from './app';\r\nimport { IApplicationConfig, IRouteBuilderContext, MenuGroup } from './types';\r\nimport modules from './modules';\r\nimport { accessRights, PermissionCode } from './lib/authorization';\r\nimport { LoadingIllustration } from './common/components';\r\nimport { deepMerge } from '@agilepoint/utils-common';\r\n\r\ninterface IAppLoadingContext {\r\n loading?: boolean;\r\n localizer?: ILocalizer;\r\n accessCodes?: string[];\r\n store?: Store;\r\n error?: Error;\r\n}\r\n\r\nconst createRoutes = (appContext: IAppContext) => {\r\n const routeContext: IRouteBuilderContext = {\r\n baseUrl: appContext.configuration.baseUrl,\r\n appContext,\r\n getMenuItemsByGroup(group: MenuGroup) {\r\n return [];\r\n }\r\n };\r\n return modules.map(i => i.routes(routeContext).props.children).reduce((prev, curr) => prev.concat(curr), []);\r\n};\r\n\r\nconst AppWithAuthorizerLocalizer = injectLocalizationProvider(injectAuthorizationProvider(App));\r\n\r\nexport function AppLoader(props: {\r\n appContext: IAppContext;\r\n culture: string;\r\n}) {\r\n const { appContext, culture } = props;\r\n const routes = React.useMemo(() => createRoutes(appContext), [appContext]);\r\n const [appLoadingContext, setAppLoadingContext] = React.useState({ loading: true });\r\n const isInProduction = isProduction(appContext.configuration.environment);\r\n\r\n const config: IConfigurationBase = React.useMemo(() =>\r\n deepMerge({\r\n ...appContext.configuration,\r\n ...{\r\n agilepoint: {\r\n ...appContext.configuration.agilepoint,\r\n culture\r\n }\r\n }\r\n }), [appContext.configuration, culture]);\r\n\r\n React.useMemo(() => {\r\n Promise.all(\r\n [\r\n createLocalizer({\r\n configuration: config,\r\n namespacesToLoad: ['app'],\r\n waitTillInitialized: true,\r\n debug: !isInProduction\r\n })\r\n ]).then(([localizer]) => {\r\n setAppLoadingContext({ loading: false, localizer });\r\n })\r\n .catch(r => setAppLoadingContext({ loading: false, error: r }));\r\n\r\n }, [config, isInProduction]);\r\n\r\n const store = React.useMemo(() => {\r\n const enhancer = compose();\r\n const composed = isInProduction ? enhancer : composeWithDevTools(enhancer);\r\n return createStore((state) => (state === undefined ? {} : state), composed);\r\n\r\n }, [isInProduction]);\r\n\r\n const authorizationContext = React.useMemo(() => {\r\n const accessCodes = (appLoadingContext.accessCodes ? appLoadingContext.accessCodes : []) as PermissionCode[];\r\n const authContext = createAuthorizationContext();\r\n authContext.authorizer.registerAccessRights(...accessRights);\r\n authContext.permissionStore.add(...accessCodes);\r\n return authContext;\r\n }, [appLoadingContext.accessCodes]);\r\n\r\n const appProps = React.useMemo(() => ({\r\n appContext,\r\n authorizationContext,\r\n localizer: appLoadingContext.localizer!,\r\n store,\r\n routes\r\n }), [appContext, authorizationContext, appLoadingContext.localizer, store, routes]);\r\n\r\n if (appLoadingContext.loading) {\r\n return (\r\n \r\n );\r\n }\r\n\r\n if (appLoadingContext.error) {\r\n return (\r\n

{appLoadingContext.error.toString()}

\r\n );\r\n }\r\n\r\n return React.createElement(AppWithAuthorizerLocalizer, appProps);\r\n}\r\n","import { IAppContext } from '@agilepoint/wat';\r\nimport { AppLoader } from 'app-loader';\r\nimport { CoreApiClient } from 'modules/core/clients';\r\nimport React from 'react';\r\nimport { IApplicationConfig } from 'types';\r\n\r\ninterface IAppInitializerProps {\r\n appContext: IAppContext;\r\n}\r\n\r\nconst defaultLocale = 'en-US';\r\n\r\nexport function AppInitializer(props: IAppInitializerProps) {\r\n const { appContext } = props;\r\n const [appInitialerInfo, setAppInitilizerInfo] = React.useState<{\r\n culture: string,\r\n loading: boolean\r\n }>({\r\n culture: defaultLocale,\r\n loading: true\r\n });\r\n\r\n const getCulture = React.useCallback(() => {\r\n const { configuration: { agilepoint: { userDetails: { userName } } }, client } = appContext;\r\n const apiClient = new CoreApiClient(client);\r\n return apiClient.getLoggedUserDetails(userName).then((r) => (r ? r.locale : defaultLocale));\r\n }, [appContext]);\r\n\r\n React.useEffect(() => {\r\n getCulture().then((res) => {\r\n setAppInitilizerInfo({\r\n culture: res,\r\n loading: false\r\n });\r\n })\r\n .catch(r => setAppInitilizerInfo({\r\n culture: defaultLocale,\r\n loading: false\r\n }));\r\n\r\n // eslint-disable-next-line react-hooks/exhaustive-deps\r\n }, []);\r\n\r\n if (appInitialerInfo.loading) {\r\n return (\r\n <>\r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n}\r\n","import * as ReactDOM from 'react-dom';\r\nimport { createAppContext, ConfigSource, IConfigSource, ICreateAppContextOptions } from '@agilepoint/wat';\r\nimport { combineUrl, memoizeFunction } from '@agilepoint/utils-common';\r\nimport './themes';\r\nimport { IApplicationConfig } from './types';\r\nimport * as serviceWorkerRegistration from './serviceWorkerRegistration';\r\nimport { LoginPage } from 'modules/login/pages/login-page';\r\nimport { IAgilePointConfiguration } from 'modules/login/types';\r\nimport { getCookie } from 'common';\r\nimport { DEFAULT_COOKIE_EXPIRATION_VALUE } from 'modules/login/hooks';\r\nimport { AppInitializer } from 'app-initializer';\r\n\r\ndeclare global {\r\n // tslint:disable-next-line:interface-name\r\n interface Window {\r\n __AP__: {\r\n authentication?: ICreateAppContextOptions['authentication'];\r\n agilepoint: IAgilePointConfiguration,\r\n mobileAppAccelerator?: {\r\n config: IApplicationConfig;\r\n }\r\n };\r\n }\r\n}\r\n\r\nexport const COOKIE_NAME = 'MAA_AP_Auth';\r\n\r\nconst configFilePath = combineUrl(process.env.PUBLIC_URL, `config.json?${new Date()}`);\r\n\r\nconst getCookieExpirationVal = memoizeFunction((value: number | undefined): number => {\r\n const defaultCookieExpiration = 3600;\r\n try {\r\n if (!value) {\r\n return defaultCookieExpiration;\r\n }\r\n const date = new Date();\r\n // here days are converted to milliseconds\r\n date.setTime(date.getTime() + ((value || DEFAULT_COOKIE_EXPIRATION_VALUE) * 24 * 60 * 60 * 1000));\r\n return Number(date.toUTCString());\r\n }\r\n catch (err) {\r\n return defaultCookieExpiration;\r\n }\r\n});\r\n\r\nexport default async function boot() {\r\n const cookieValue = getCookie(COOKIE_NAME);\r\n const configValue = cookieValue && JSON.parse(cookieValue || '');\r\n\r\n const configSource: IConfigSource = configValue ?\r\n ConfigSource.from(configValue) :\r\n ConfigSource.fromFile(configFilePath);\r\n\r\n async function getAuthInfo() {\r\n return { auth: configValue?.agilepoint?.auth, expires: getCookieExpirationVal(configValue?.agilepoint?.cookieExpirationDays) };\r\n }\r\n\r\n const appContext = await createAppContext({\r\n configSource, authentication: {\r\n getToken: getAuthInfo,\r\n renewToken: getAuthInfo\r\n }\r\n });\r\n\r\n const { rootSelector = '#mobile-app-accelerator-root' } = appContext.configuration;\r\n\r\n const host = document.querySelector(rootSelector);\r\n\r\n if (!host) {\r\n throw new Error('Invalid host. Please check rootSelector value in your configuration');\r\n }\r\n\r\n ReactDOM.render(\r\n <>\r\n {!configValue ? : }\r\n , host);\r\n}\r\n\r\nboot();\r\n\r\nserviceWorkerRegistration.unregister();\r\n\r\n","export interface IAuthenticationFormFields {\r\n authentication: string[];\r\n serverInstanceURL: string;\r\n [AuthenticationProviderKeys.ActiveDirectory]: {\r\n domain: string;\r\n enableJWT: boolean;\r\n audienceURL: string;\r\n };\r\n [AuthenticationProviderKeys.IdentityServer]: {\r\n clientId: string;\r\n authority: string;\r\n };\r\n [AuthenticationProviderKeys.GoogleConfiguration]: {\r\n clientId: string;\r\n resource: string;\r\n returnURL: string;\r\n };\r\n [AuthenticationProviderKeys.Okta]: {\r\n clientId: string;\r\n authority: string;\r\n };\r\n [AuthenticationProviderKeys.Salesforce]: {\r\n consumerKey: string;\r\n consumerSecret: string;\r\n };\r\n [AuthenticationProviderKeys.MSAzureActiveDirectory]: {\r\n clientId: string;\r\n returnURL: string;\r\n resource: string;\r\n useMSAuthenticatorApp: boolean;\r\n };\r\n [AuthenticationProviderKeys.MSAzureActiveDirectoryChina]: {\r\n clientId: string;\r\n returnURL: string;\r\n resource: string;\r\n useMSAuthenticatorApp: boolean;\r\n };\r\n [AuthenticationProviderKeys.PingFederate]: {\r\n clientId: string,\r\n authority: string,\r\n usernameClaimType: string\r\n };\r\n [AuthenticationProviderKeys.AmazonCognito]: {\r\n clientId: string,\r\n authority: string,\r\n userImpersonationScopeURL: string\r\n }\r\n}\r\n\r\nexport enum AuthenticationProviderKeys {\r\n ActiveDirectory = 'activeDirectoryConfiguration',\r\n AgilePointID = 'agilePiontNXConfiguration', //API is sending 'agilePiontNXConfiguration'\r\n GoogleConfiguration = 'googleConfiguration',\r\n IdentityServer = 'identityServerConfiguration',\r\n Okta = 'oktaConfiguration',\r\n Salesforce = 'salesforceConfiguration',\r\n MSAzureActiveDirectory = 'officeConfiguration',\r\n MSAzureActiveDirectoryChina = 'officeConfigurationChina',\r\n PingFederate = 'pingFederateConfiguration',\r\n AmazonCognito = 'amazonCognitoConfiguration'\r\n}\r\n","export enum PredefinedColors {\r\n Blue = '#0077D9',\r\n Orange = '#D96F2B',\r\n Green = '#6DAA26',\r\n Red = '#C22C3E',\r\n Purple = '#4937BD'\r\n}\r\n\r\ntype ColorInfo = {\r\n isSelected: boolean;\r\n}\r\n\r\nexport interface IStyleAPIData {\r\n Blue: ColorInfo;\r\n Green: ColorInfo;\r\n Orange: ColorInfo;\r\n Red: ColorInfo;\r\n Custom: ColorInfo;\r\n buttonColorCode: string;\r\n menuColorCode: string;\r\n previewImage: string;\r\n}\r\n\r\nexport interface IStylingFormFields {\r\n appStyles: 'predefinedColor' | 'customColor';\r\n predefinedColor: {\r\n color?: string;\r\n }\r\n customColor: {\r\n menuColor: string;\r\n buttonColor: string;\r\n }\r\n}\r\n","export interface IUploadImagesFormFields {\r\n androidAppIconHDPIPortrait: string;\r\n androidAppIconXHDPIPortrait: string;\r\n androidAppIconXXHDPIPortrait: string;\r\n androidAppLogoHDPIPortrait: string;\r\n androidAppLogoXHDPIPortrait: string;\r\n androidSplashScreenHDPIPortrait: string;\r\n androidSplashScreenXHDPIPortrait: string;\r\n androidSplashScreenXXHDPIPortrait: string;\r\n iOS_AppDefaultIcon: string;\r\n // iosSplashScreenipad: string\r\n iOS_SplashScreeniphone: string;\r\n iOS_AppApplicationLogo: string;\r\n}\r\n\r\nexport enum UploadImagesFormFields {\r\n androidAppIconHDPIPortrait = 'androidAppIconHDPIPortrait',\r\n androidAppIconXHDPIPortrait = 'androidAppIconXHDPIPortrait',\r\n androidAppIconXXHDPIPortrait = 'androidAppIconXXHDPIPortrait',\r\n androidAppLogoHDPIPortrait = 'androidAppLogoHDPIPortrait',\r\n androidAppLogoXHDPIPortrait = 'androidAppLogoXHDPIPortrait',\r\n androidSplashScreenHDPIPortrait = 'androidSplashScreenHDPIPortrait',\r\n androidSplashScreenXHDPIPortrait = 'androidSplashScreenXHDPIPortrait',\r\n androidSplashScreenXXHDPIPortrait = 'androidSplashScreenXXHDPIPortrait',\r\n // iosAppIconipad = 'iosAppIconipad',\r\n // iosAppIconiphone = 'iosAppIconiphone',\r\n iosAppDefaultIcon = 'iOS_AppDefaultIcon',\r\n iosAppApplicationLogo = 'iOS_AppApplicationLogo',\r\n // iosSplashScreenipad = 'iosSplashScreenipad',\r\n iosSplashScreeniphone = 'iOS_SplashScreeniphone'\r\n}\r\n\r\nexport enum UploadImageNativeFileNames {\r\n androidAppLogoHDPIPortrait = 'Android_hdpi_Logo',\r\n androidAppLogoXHDPIPortrait = 'Android_xhdpi_Logo',\r\n androidAppIconHDPIPortrait = 'Android_hdpi_Icon',\r\n androidAppIconXHDPIPortrait = 'Android_xhdpi_Icon',\r\n androidAppIconXXHDPIPortrait = 'Android_xxhdpi_Icon',\r\n androidSplashScreenHDPIPortrait = 'Android_hdpi_Background',\r\n androidSplashScreenXHDPIPortrait = 'Android_xhdpi_Background',\r\n androidSplashScreenXXHDPIPortrait = 'Android_xxhdpi_Background',\r\n // iosAppIconipad = 'iOS_Icon_iPad',\r\n // iosAppIconiphone = 'iOS_Icon-iPhone@2x',\r\n iosAppDefaultIcon = 'iOS_AppDefaultIcon',\r\n // iosSplashScreenipad = 'iOS_SplashScreen_iPad',\r\n iosSplashScreeniphone = 'iOS_SplashScreeniphone',\r\n iosAppApplicationLogo = 'iOS_AppApplicationLogo'\r\n}\r\n","import { createDependency } from '@agilepoint/restate-core/lib/ioc-container';\r\nimport { IAppContext, IConfigurationBase } from '@agilepoint/wat';\r\n\r\nexport const appContextDependency = createDependency>(Symbol('AppContext'));\r\n","import { DateTime, getLocaleDateString, IDateFormat } from '@agilepoint/utils-date-time';\r\nimport { emailRegExp } from './regular-expressions';\r\n\r\nexport const validateEmail = (email: string) => emailRegExp.test(email);\r\n\r\nexport function setCookie(cookieName: string, cookieValue: string, expireDays: number, keepMeSignedIn: boolean) {\r\n const date = new Date();\r\n // here days are converted to milliseconds\r\n date.setTime(date.getTime() + (expireDays * 24 * 60 * 60 * 1000));\r\n const expires = 'expires=' + date.toUTCString();\r\n const cookieExpireValue = keepMeSignedIn ? expires : '';\r\n const encodedCookieValue = encodeURI(cookieValue);\r\n document.cookie = cookieName + '=' + encodedCookieValue + ';' + cookieExpireValue + ';path=/';\r\n}\r\n\r\nexport function getCookie(cookieName: string) {\r\n const name = cookieName + '=';\r\n const cookieList = document.cookie.split(';');\r\n for (let i = 0; i < cookieList.length; i++) {\r\n let cookie = cookieList[i];\r\n while (cookie.charAt(0) === ' ') {\r\n cookie = cookie.substring(1);\r\n }\r\n if (cookie.indexOf(name) === 0) {\r\n const decodedCookieValue = decodeURI(cookie.substring(name.length, cookie.length) || '');\r\n return decodedCookieValue;\r\n }\r\n }\r\n return '';\r\n}\r\n\r\nexport function isCookieSupported() {\r\n return typeof document === 'object' && typeof document.cookie === 'string';\r\n}\r\n\r\nexport function clearCookies() {\r\n const cookiesList = document.cookie.split(';');\r\n for (let i = 0; i < cookiesList.length; i++) {\r\n const cookie = cookiesList[i];\r\n const eqPos = cookie.indexOf('=');\r\n const name = eqPos > -1 ? cookie.substr(0, eqPos) : cookie;\r\n document.cookie = name + '=;Path=/;expires=Thu, 01 Jan 1970 00:00:00 GMT';\r\n }\r\n}\r\n\r\n\r\nexport const getFormattedTime = (date: string) => DateTime.fromISO(date).toLocaleString(DateTime.TIME_24_WITH_SECONDS);\r\n\r\nexport const getFormattedDateTime = (date: string, format?: IDateFormat) => `${getLocaleDateString(new Date(Number(date)), (format || 'MM/dd/yyyy'))} ${getFormattedTime(date)}`;\r\n\r\nexport const toBoolean = (value: any) => {\r\n switch (value) {\r\n case true:\r\n case 'true':\r\n case 1:\r\n case '1':\r\n case 'on':\r\n case 'yes':\r\n return true;\r\n default:\r\n return false;\r\n }\r\n};\r\n","/* eslint-disable no-useless-escape */\r\nexport const websiteRegExp = /^(https?:\\/\\/)?([a-zA-Z0-9-]+\\.)+[a-zA-Z]{2,}(\\/[^\\s]*)?$/;\r\n\r\nexport const emailRegExp = new RegExp(/^(([^<>()[\\]\\\\.,;:\\s@\"]+(\\.[^<>()[\\]\\\\.,;:\\s@\"]+)*)|(\".+\"))@((\\[[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\.[0-9]{1,3}\\])|(([a-zA-Z\\-0-9]+\\.)+[a-zA-Z]{2,}))$/);\r\n\r\nexport const urlRegExp = /^https?:\\/\\/(?:www\\.)?[-a-zA-Z0-9@:%._\\+~#=]{1,256}\\.[a-zA-Z0-9()]{1,6}\\b(?:[-a-zA-Z0-9()@:%_\\+.~#?&\\/=]*)$/;\r\n","var _circle, _path, _rect, _path2, _path3, _path4, _polygon, _path5, _polygon2, _path6, _path7, _path8, _path9, _path10, _circle2, _path11, _path12, _path13, _circle3, _path14, _path15, _path16, _path17, _g;\n\nvar _excluded = [\"title\", \"titleId\"];\n\nfunction _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\n\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\n\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n\nimport * as React from \"react\";\n\nfunction SvgError(_ref, svgRef) {\n var title = _ref.title,\n titleId = _ref.titleId,\n props = _objectWithoutProperties(_ref, _excluded);\n\n return /*#__PURE__*/React.createElement(\"svg\", _extends({\n xmlns: \"http://www.w3.org/2000/svg\",\n width: \"100%\",\n height: \"100%\",\n viewBox: \"0 0 586.47858 659.29778\",\n xmlnsXlink: \"http://www.w3.org/1999/xlink\",\n ref: svgRef,\n \"aria-labelledby\": titleId\n }, props), title ? /*#__PURE__*/React.createElement(\"title\", {\n id: titleId\n }, title) : null, _circle || (_circle = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 332.47856,\n cy: 254,\n r: 254.00001,\n fill: \"#f2f2f2\"\n })), _path || (_path = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M498.46363,113.58835H33.17063c-.99774-.02133-1.78931-.84746-1.76797-1.84521,.02069-.96771,.80026-1.74727,1.76797-1.76796H498.46363c.99774,.02133,1.78931,.84746,1.76794,1.84521-.02069,.96771-.80023,1.74727-1.76794,1.76796Z\",\n fill: \"#cacaca\"\n })), _rect || (_rect = /*#__PURE__*/React.createElement(\"rect\", {\n x: 193.77441,\n y: 174.47256,\n width: 163.61147,\n height: 34.98639,\n rx: 17.49318,\n ry: 17.49318,\n fill: \"#fff\"\n })), _path2 || (_path2 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.17493,244.44534H422.98542c9.66122,0,17.49316,7.83197,17.49316,17.49319h0c0,9.66122-7.83194,17.49319-17.49316,17.49319H128.17493c-9.66122,0-17.49318-7.83197-17.49318-17.49319h0c0-9.66122,7.83196-17.49319,17.49318-17.49319Z\",\n fill: \"#fff\"\n })), _path3 || (_path3 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M128.17493,314.41812H422.98542c9.66122,0,17.49316,7.83197,17.49316,17.49319h0c0,9.66122-7.83194,17.49319-17.49316,17.49319H128.17493c-9.66122,0-17.49318-7.83197-17.49318-17.49319h0c0-9.66122,7.83196-17.49319,17.49318-17.49319Z\",\n fill: \"#fff\"\n })), _path4 || (_path4 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M91.64085,657.75932l-.69385-.06793c-23.54068-2.42871-44.82135-15.08929-58.18845-34.61835-3.66138-5.44159-6.62299-11.32251-8.815-17.50409l-.21069-.58966,.62375-.05048c7.44699-.59924,15.09732-1.86292,18.49585-2.46417l-21.91473-7.42511-.1355-.65033c-1.29926-6.10406,1.24612-12.38458,6.4285-15.86176,5.19641-3.64447,12.08731-3.76111,17.40405-.29449,2.38599,1.52399,4.88162,3.03339,7.29489,4.49359,8.29321,5.01636,16.8688,10.20337,23.29828,17.30121,9.74951,10.97778,14.02298,25.76984,11.63,40.25562l4.7829,17.47595Z\",\n fill: \"#f2f2f2\"\n })), _polygon || (_polygon = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"171.30016 646.86102 182.10017 646.85999 187.23916 605.198 171.29716 605.19897 171.30016 646.86102\",\n fill: \"#a0616a\"\n })), _path5 || (_path5 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M170.9192,658.12816l33.21436-.00122v-.41998c-.00049-7.13965-5.78833-12.92737-12.92798-12.92773h-.00079l-6.06702-4.60278-11.3197,4.60345-2.89941,.00012,.00055,13.34814Z\",\n fill: \"#2f2e41\"\n })), _polygon2 || (_polygon2 = /*#__PURE__*/React.createElement(\"polygon\", {\n points: \"84.74116 616.94501 93.38016 623.42603 122.49316 593.185 109.74116 583.61902 84.74116 616.94501\",\n fill: \"#a0616a\"\n })), _path6 || (_path6 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M77.67448,625.72966l26.569,19.93188,.25208-.336c4.2843-5.71136,3.12799-13.81433-2.58279-18.09937l-.00064-.00049-2.09079-7.32275-11.81735-3.11102-2.31931-1.73993-8.01019,10.67767Z\",\n fill: \"#2f2e41\"\n })), _path7 || (_path7 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M120.64463,451.35271s.59625,16.26422,1.3483,29.30737c.12335,2.13916-4.88821,4.46301-4.75842,6.7901,.08609,1.54395,1.02808,3.04486,1.1156,4.65472,.09235,1.69897-1.20822,3.20282-1.1156,4.95984,.09052,1.71667,1.57422,3.6853,1.66373,5.44244,.96317,18.9093,4.45459,41.54633,.9584,47.87439-1.72299,3.11871-23.68533,46.32446-23.68533,46.32446,0,0,12.23666,18.35498,15.73285,12.23663,4.61771-8.08099,40.20615-45.88745,40.20615-53.10712,0-7.21088,8.23346-61.25323,8.23346-61.25323l5.74103,31.98169,2.63239,6.33655-.82715,3.71997,1.70117,5.02045,.09192,4.96838,1.65619,9.22614s-4.98199,71.88159-2.17633,73.88312c2.81439,2.01038,16.44086,5.62018,18.04901,2.01038,1.59955-3.6098,12.0108-75.01947,12.0108-75.01947,0,0,1.6781-32.72424,3.49622-63.14111,.1048-1.76556,1.34607-3.89825,1.4422-5.63763,.11365-2.01898-.67297-4.64111-.56818-6.599,.11365-2.24628,1.11005-3.82831,1.20618-5.97852,.74292-16.6156-3.42761-36.84912-4.7561-38.84192-4.01202-6.01343-7.62177-10.82074-7.62177-10.82074,0,0-54.03558-17.75403-68.47485,.28625l-3.30185,25.37585Z\",\n fill: \"#2f2e41\"\n })), _path8 || (_path8 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.53779,284.10378l-21.4209-4.28418-9.9964,13.56656h0c-18.65262,18.34058-18.93359,34.52753-15.60379,60.47382v36.41553l-2.41,24.41187s-8.53156,17.84521,.26788,22.00006,66.59857,3.80066,72.117,2.14209,.73517-3.69482-.71399-11.4245c-2.72211-14.51929-.90131-7.51562-.71399-12.13849,2.68585-66.31363-3.57013-93.5379-4.20544-100.69376l-10.89398-19.75858-6.42639-10.71042Z\",\n fill: \"#3f3d56\"\n })), _path9 || (_path9 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M287.43909,337.57097c-2.23248,4.23007-7.47144,5.84943-11.70148,3.61694-.45099-.23804-.88013-.51541-1.28229-.82895l-46.26044,29.37308,.13336-15.9924,44.93842-26.07846c3.20093-3.58887,8.70514-3.90332,12.29401-.70239,3.00305,2.67844,3.7796,7.0657,1.87842,10.61218Z\",\n fill: \"#a0616a\"\n })), _path10 || (_path10 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M157.62488,302.62425l-5.26666-.55807c-4.86633-.50473-9.64093,1.57941-12.57947,5.491-1.12549,1.48346-1.9339,3.18253-2.37491,4.99164l-.00317,.01447c-1.32108,5.44534,.75095,11.15201,5.25803,14.48117l18.19031,13.41101c12.76544,17.24899,36.75653,28.69272,64.89832,37.98978l43.74274-27.16666-15.47186-18.73843-30.00336,16.0798-44.59833-34.52374-.0257-.02075-16.97424-10.936-4.79169-.5152Z\",\n fill: \"#3f3d56\"\n })), _circle2 || (_circle2 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 167.29993,\n cy: 248.60526,\n r: 24.9798,\n fill: \"#a0616a\"\n })), _path11 || (_path11 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M167.8769,273.59047c-.20135,.00662-.4032,.01108-.6048,.01657-.0863,.22388-.17938,.44583-.2868,.66357l.8916-.68015Z\",\n fill: \"#2f2e41\"\n })), _path12 || (_path12 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M174.73243,249.29823c.03918,.24612,.09912,.48846,.17914,.72449-.03302-.24731-.09308-.49026-.17914-.72449Z\",\n fill: \"#2f2e41\"\n })), _path13 || (_path13 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M192.59852,224.6942c-1.0282,3.19272-1.94586-.85715-5.32825-.12869-4.06885,.87625-8.80377,.57532-12.13586-1.91879-4.96478-3.64273-11.39874-4.62335-17.22333-2.62509-5.70154,2.01706-15.25348,3.43933-16.73907,9.30179-.51642,2.03781-.7215,4.24933-1.97321,5.9382-1.09436,1.47662-2.82166,2.31854-4.26608,3.45499-4.87726,3.83743-1.14954,14.73981,1.15881,20.50046,2.30838,5.76065,7.60355,9.95721,13.42526,12.10678,5.63281,2.07977,11.7464,2.44662,17.75531,2.28317,1.04517-2.7106,.59363-5.84137-.26874-8.65134-.93359-3.04199-2.31592-5.97791-2.70593-9.13599s.46643-6.74527,3.11444-8.50986c2.4339-1.62192,6.39465-.63388,7.32062,1.98843-.54028-3.27841,2.7807-6.4509,6.20508-7.00882,3.67651-.599,7.35291,.72833,11.01886,1.38901s2.36475-14.77301,.64209-18.98425Z\",\n fill: \"#2f2e41\"\n })), _circle3 || (_circle3 = /*#__PURE__*/React.createElement(\"circle\", {\n cx: 281.3585,\n cy: 285.71051,\n r: 51.12006,\n transform: \"translate(-26.58509 542.54478) rotate(-85.26884)\",\n fill: \"#6c63ff\"\n })), _path14 || (_path14 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M294.78675,264.41051l-13.42828,13.42828-13.42828-13.42828c-2.17371-2.17374-5.69806-2.17374-7.87177,0s-2.17371,5.69803,0,7.87177l13.42828,13.42828-13.42828,13.42828c-2.17169,2.17575-2.1684,5.70007,.00739,7.87177,2.17285,2.16879,5.69153,2.16879,7.86438-.00003l13.42828-13.42828,13.42828,13.42828c2.17578,2.17169,5.70007,2.1684,7.87177-.00735,2.16882-2.17288,2.16882-5.6915,0-7.86438l-13.42828-13.42828,13.42828-13.42828c2.17371-2.17374,2.17371-5.69803,0-7.87177s-5.69806-2.17374-7.87177,0h0Z\",\n fill: \"#fff\"\n })), _path15 || (_path15 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M261.21387,242.74385c1.5069,4.53946-.95154,9.44101-5.49097,10.94791-.48401,.16064-.9812,.27823-1.4859,.35141l-10.83051,53.71692-11.44788-11.16785,12.29266-50.48209c-.37366-4.7944,3.21008-8.98395,8.00452-9.3576,4.01166-.31265,7.71509,2.16425,8.95807,5.9913Z\",\n fill: \"#a0616a\"\n })), _path16 || (_path16 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M146.12519,312.22478l-4.04883,3.41412c-3.73322,3.16214-5.53476,8.05035-4.74649,12.87888,.29129,1.83917,.95773,3.59879,1.95786,5.16949l.00824,.0123c3.01477,4.72311,8.5672,7.17865,14.08978,6.23117l22.27075-3.84171c21.28461,2.72995,46.15155-6.65967,72.34302-20.53055l10.67969-50.37274-24.23297-1.80811-9.16821,32.78271-55.78815,8.28149-.03278,.00415-19.64294,4.67767-3.68896,3.1011Z\",\n fill: \"#3f3d56\"\n })), _path17 || (_path17 = /*#__PURE__*/React.createElement(\"path\", {\n d: \"M272.93684,658.99046l-271.75,.30731c-.65759-.00214-1.18896-.53693-1.18683-1.19452,.00211-.6546,.53223-1.18469,1.18683-1.18683l271.75-.30731c.65759,.00214,1.18896,.53693,1.18683,1.19452-.00208,.6546-.53223,1.18469-1.18683,1.18683Z\",\n fill: \"#cacaca\"\n })), _g || (_g = /*#__PURE__*/React.createElement(\"g\", null, /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 56.77685,\n cy: 82.05834,\n rx: 8.45661,\n ry: 8.64507,\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 85.9906,\n cy: 82.05834,\n rx: 8.45661,\n ry: 8.64507,\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"ellipse\", {\n cx: 115.20435,\n cy: 82.05834,\n rx: 8.45661,\n ry: 8.64507,\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M148.51577,88.89113c-.25977,0-.51904-.10059-.71484-.30078l-5.70605-5.83301c-.38037-.38867-.38037-1.00977,0-1.39844l5.70605-5.83252c.38721-.39453,1.021-.40088,1.41406-.01562,.39502,.38623,.40186,1.01953,.01562,1.41406l-5.02197,5.1333,5.02197,5.13379c.38623,.39453,.37939,1.02783-.01562,1.41406-.19434,.19043-.44678,.28516-.69922,.28516Z\",\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M158.10415,88.89113c-.25244,0-.50488-.09473-.69922-.28516-.39502-.38623-.40186-1.01904-.01562-1.41406l5.02148-5.13379-5.02148-5.1333c-.38623-.39453-.37939-1.02783,.01562-1.41406,.39404-.38672,1.02783-.37939,1.41406,.01562l5.70557,5.83252c.38037,.38867,.38037,1.00977,0,1.39844l-5.70557,5.83301c-.1958,.2002-.45508,.30078-.71484,.30078Z\",\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M456.61398,74.41416h-10.60999c-1.21002,0-2.19,.97998-2.19,2.19v10.62c0,1.21002,.97998,2.19,2.19,2.19h10.60999c1.21002,0,2.20001-.97998,2.20001-2.19v-10.62c0-1.21002-.98999-2.19-2.20001-2.19Z\",\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M430.61398,74.41416h-10.60999c-1.21002,0-2.19,.97998-2.19,2.19v10.62c0,1.21002,.97998,2.19,2.19,2.19h10.60999c1.21002,0,2.20001-.97998,2.20001-2.19v-10.62c0-1.21002-.98999-2.19-2.20001-2.19Z\",\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M481.11398,74.91416h-10.60999c-1.21002,0-2.19,.97998-2.19,2.19v10.62c0,1.21002,.97998,2.19,2.19,2.19h10.60999c1.21002,0,2.20001-.97998,2.20001-2.19v-10.62c0-1.21002-.98999-2.19-2.20001-2.19Z\",\n fill: \"#3f3d56\"\n }), /*#__PURE__*/React.createElement(\"path\", {\n d: \"M321.19229,78.95414h-84.81c-1.48004,0-2.67004,1.20001-2.67004,2.67004s1.19,2.66998,2.67004,2.66998h84.81c1.46997,0,2.66998-1.20001,2.66998-2.66998s-1.20001-2.67004-2.66998-2.67004Z\",\n fill: \"#3f3d56\"\n }))));\n}\n\nvar ForwardRef = /*#__PURE__*/React.forwardRef(SvgError);\nexport default __webpack_public_path__ + \"static/media/error.d99c5559.svg\";\nexport { ForwardRef as ReactComponent };","import styled from 'styled-components';\r\nimport { StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { getErrorMessage } from 'common/utils/error-message-utils';\r\nimport { ReactComponent as ErrorIllustration } from '../../../assets/svg/error.svg';\r\n\r\ninterface IAPIErrorProps {\r\n errorObject: unknown;\r\n headerMessage?: string;\r\n showReloadButton?: boolean;\r\n}\r\n\r\nconst StyledStackPanel = styled(StackPanel)`\r\n max-height: 600px;\r\n margin: 12px;\r\n`;\r\n\r\nconst IllustrationWrapper = styled.div`\r\n width: 70%;\r\n height: 50%;\r\n text-align: center;\r\n padding: 16px 12px 2px;\r\n border-radius: 12px;\r\n margin-bottom: 12px;\r\n`;\r\n\r\nconst StyledErrorMessage = styled.div`\r\n font-size: 14px;\r\n width: 60%;\r\n color: #B6383E;\r\n white-space: pre-wrap;\r\n max-height: 225px;\r\n overflow: auto;\r\n`;\r\n\r\nexport function ErrorInfo(props: IAPIErrorProps) {\r\n const { errorObject, headerMessage } = props;\r\n const errorMessage = getErrorMessage(errorObject);\r\n return (\r\n \r\n
\r\n {\r\n headerMessage ?\r\n \r\n {headerMessage}\r\n : <>}\r\n
\r\n \r\n \r\n \r\n \r\n {errorMessage}\r\n \r\n
\r\n );\r\n}\r\n","import { memoizeFunction } from '@agilepoint/utils-common';\r\n\r\nconst defaultErrorMessage = 'Error: Something went wrong!';\r\nexport const getErrorMessage = memoizeFunction((error: any): string => {\r\n try {\r\n if (error) {\r\n if (typeof(error) === 'string') {\r\n return error;\r\n } else if (error && error.stack) {\r\n return (error).stack || defaultErrorMessage;\r\n }\r\n\r\n return (error).message || defaultErrorMessage;\r\n }\r\n return defaultErrorMessage;\r\n } catch {\r\n return defaultErrorMessage;\r\n }\r\n});\r\n","import React, { CSSProperties } from 'react';\r\nimport { StackPanel, FlexBox, Typography } from '@agilepoint/wat-react-ux';\r\nimport { IconButton, ImageUploadField } from 'common';\r\nimport { useFormContext } from 'react-hook-form';\r\nimport { LogoTileWrapper, StyledImage } from '../styled-components';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { UploadImagesFormFields } from '../types';\r\n\r\ninterface IAppLogoTileProps {\r\n imageType: string;\r\n imageSize: string;\r\n imagePickerFieldName: string;\r\n resetImageURL: string;\r\n backgroundColor: CSSProperties;\r\n}\r\n\r\nexport const AppLogoTile = (props: IAppLogoTileProps) => {\r\n const { imageSize, imageType, resetImageURL, imagePickerFieldName, backgroundColor } = props;\r\n const loadBackgroudColor = (imagePickerFieldName === UploadImagesFormFields.androidSplashScreenHDPIPortrait || imagePickerFieldName === UploadImagesFormFields.androidSplashScreenXXHDPIPortrait || imagePickerFieldName === UploadImagesFormFields.androidSplashScreenXHDPIPortrait)\r\n ? backgroundColor : {};\r\n const [imgURL, setImgURL] = React.useState(resetImageURL);\r\n const { watch, resetField } = useFormContext();\r\n const imageValue = watch(imagePickerFieldName);\r\n const translate = useTranslate();\r\n\r\n React.useEffect(() => {\r\n if (imageValue) {\r\n setImgURL(imageValue);\r\n }\r\n }, [imageValue]);\r\n\r\n const onUndoClick = React.useCallback(() => {\r\n setImgURL(resetImageURL);\r\n resetField(imagePickerFieldName, { keepDirty: false, defaultValue: resetImageURL });\r\n }, [imagePickerFieldName, resetField, resetImageURL]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {imageType}\r\n {imageSize}\r\n \r\n \r\n );\r\n};\r\n","import { StackPanel, Typography, FlexBox, Illustration } from '@agilepoint/wat-react-ux';\r\nimport { Illustartions } from '@agilepoint/web-components';\r\nimport { CSSProperties } from 'styled-components';\r\nimport { DefaultUploadImages } from '../defaults';\r\nimport { ContentWrapper } from '../styled-components';\r\nimport { AppLogoTile } from './app-logo-tile';\r\n\r\ninterface IAppLogoTilePreviewLayoutProps {\r\n appTileMetadata: {\r\n headingLabel: string;\r\n logoTileDetails: {\r\n imageType: string;\r\n imageSize: string;\r\n imagePickerFieldName: string;\r\n resetImageURL: DefaultUploadImages;\r\n }[];\r\n appIllustrationName: keyof Illustartions;\r\n }[];\r\n isAndroid?: boolean;\r\n menuColor?: string;\r\n}\r\n\r\nexport const AppLogoTilePreviewLayout = (props: IAppLogoTilePreviewLayoutProps) => {\r\n const { appTileMetadata, menuColor } = props;\r\n const backgroundColor: CSSProperties = (menuColor) ? { backgroundColor: menuColor } : {};\r\n return (\r\n \r\n {\r\n appTileMetadata.map((app) => (\r\n \r\n {app.headingLabel}\r\n \r\n \r\n <>\r\n {\r\n app.logoTileDetails.map((logoDetails) => (\r\n \r\n ))\r\n }\r\n \r\n \r\n \r\n \r\n \r\n ))\r\n }\r\n \r\n );\r\n};\r\n","import { useTranslate } from '@agilepoint/wat-react';\r\nimport { Illustartions } from '@agilepoint/web-components';\r\nimport { DefaultUploadImages } from '../defaults';\r\nimport { UploadImagesFormFields } from '../types';\r\nimport { AppLogoTilePreviewLayout } from './app-logo-tile-preview-layout';\r\n\r\n\r\nexport const useAppTileInfo = () => {\r\n const translate = useTranslate();\r\n\r\n return [{\r\n headingLabel: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.appLogoforAppHeader'),\r\n logoTileDetails: [\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.imageTypeInfo'),\r\n imageSize: '550 x 75',\r\n imagePickerFieldName: UploadImagesFormFields.androidAppLogoHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppLogo\r\n },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.imageLogoTileInfo'),\r\n imageSize: '733 x 100',\r\n imagePickerFieldName: UploadImagesFormFields.androidAppLogoXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppLogo\r\n }\r\n ],\r\n appIllustrationName: 'maa-android-logo-illustration' as keyof Illustartions\r\n },\r\n {\r\n headingLabel: translate('modules.createNewApp.steps.uploadImages.appLogoIconDetails.logoIconHeader'),\r\n logoTileDetails: [\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.imageTypeInfo'),\r\n imageSize: '72 x 72',\r\n imagePickerFieldName: UploadImagesFormFields.androidAppIconHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.imageLogoTileInfo'),\r\n imageSize: '96 x 96',\r\n imagePickerFieldName: UploadImagesFormFields.androidAppIconXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoIconDetails.portraitDetailsLabel'),\r\n imageSize: '144 x 144',\r\n imagePickerFieldName: UploadImagesFormFields.androidAppIconXXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n }\r\n ],\r\n appIllustrationName: 'maa-android-app-icon-illustration' as keyof Illustartions\r\n },\r\n {\r\n headingLabel: translate('modules.createNewApp.steps.uploadImages.splashScreenAppDetails.splashScreenHeader'),\r\n logoTileDetails: [\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.imageTypeInfo'),\r\n imageSize: '72 x 72',\r\n imagePickerFieldName: UploadImagesFormFields.androidSplashScreenHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortraitHDPI\r\n },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.imageLogoTileInfo'),\r\n imageSize: '96 x 96',\r\n imagePickerFieldName: UploadImagesFormFields.androidSplashScreenXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortraitXHDPI\r\n },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.xxHDPIPortrait'),\r\n imageSize: '144 x 144',\r\n imagePickerFieldName: UploadImagesFormFields.androidSplashScreenXXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortraitXXHDPI\r\n }\r\n ],\r\n appIllustrationName: 'maa-android-splashscreen-illustration' as keyof Illustartions\r\n }];\r\n};\r\n\r\nexport const AndroidTabContent = (props: { menuColor?: string }) => {\r\n const appTileMetadata = useAppTileInfo();\r\n return (\r\n \r\n );\r\n};\r\n\r\n","import { DefaultUploadImages } from '../defaults';\r\nimport { Illustartions } from '@agilepoint/web-components';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { AppLogoTilePreviewLayout } from './app-logo-tile-preview-layout';\r\nimport { UploadImagesFormFields } from '../types';\r\n\r\nexport const useIosAppTileInfo = () => {\r\n const translate = useTranslate();\r\n\r\n return [{\r\n headingLabel: translate('modules.createNewApp.steps.uploadImages.iosCustomImagesDetails.iosAppInfo'),\r\n logoTileDetails: [\r\n // {\r\n // imageType: translate('modules.createNewApp.steps.uploadImages.iosCustomImagesDetails.iphoneLabel'),\r\n // imageSize: '120 x 120',\r\n // imagePickerFieldName: UploadImagesFormFields.iosAppIconiphone,\r\n // resetImageURL: DefaultUploadImages.AppIcon\r\n // },\r\n // {\r\n // imageType: translate('modules.createNewApp.steps.uploadImages.iosCustomImagesDetails.ipadLabel'),\r\n // imageSize: '152 x 152',\r\n // imagePickerFieldName: UploadImagesFormFields.iosAppIconipad,\r\n // resetImageURL: DefaultUploadImages.AppIcon\r\n // },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.iosCustomImagesDetails.defaultIconLabel'),\r\n imageSize: '1024 x 1024',\r\n imagePickerFieldName: UploadImagesFormFields.iosAppDefaultIcon,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.appLogoDetails.appLogoText'),\r\n imageSize: '175 x 40',\r\n imagePickerFieldName: UploadImagesFormFields.iosAppApplicationLogo,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n }\r\n ],\r\n appIllustrationName: 'maa-ios-app-icon-illustration' as keyof Illustartions\r\n },\r\n {\r\n headingLabel: translate('modules.createNewApp.steps.uploadImages.iosCustomImagesDetails.splashScreenHeader'),\r\n logoTileDetails: [\r\n // {\r\n // imageType: 'iPhone',\r\n // imageSize: '640 x 1136',\r\n // imagePickerFieldName: UploadImagesFormFields.iosSplashScreeniphone,\r\n // resetImageURL: DefaultUploadImages.SplashScreenPortrait\r\n // },\r\n {\r\n imageType: translate('modules.createNewApp.steps.uploadImages.splashScreenAppDetails.splashScreenText'),\r\n imageSize: '375 x 811',\r\n imagePickerFieldName: UploadImagesFormFields.iosSplashScreeniphone,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortrait\r\n }\r\n ],\r\n appIllustrationName: 'maa-ios-splashscreen-illustration' as keyof Illustartions\r\n }];\r\n};\r\n\r\nexport const IOSTabContent = () => {\r\n const appTileMetadata = useIosAppTileInfo();\r\n return (\r\n \r\n );\r\n};\r\n","import { useCallback, useMemo, useState } from 'react';\r\nimport { useFormContext } from 'react-hook-form';\r\nimport { IActiveTabDetails, TabItem, Typography } from '@agilepoint/wat-react-ux';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { PlatformTypes } from 'modules/create-new-app/components/app-wizard/steps';\r\nimport { StyledActionButton, StyledPrimaryButton, StyledStackPanel } from 'common';\r\nimport { useCustomPopupEvents } from 'lib/hooks';\r\nimport { AndroidTabContent } from './android-tab-content';\r\nimport { IOSTabContent } from './ios-tab-content';\r\nimport { AndroidDescription, RelativePositionedFlexBox, ResetButton, StyledTabsPanel } from '../styled-components';\r\nimport { UploadImagesFormFields } from '../types';\r\nimport { DefaultUploadImages } from '../defaults';\r\nimport { createGlobalStyle } from 'styled-components';\r\n\r\ninterface IUploadImagesTabProps {\r\n platformTypes: string[];\r\n containerHeight?: string;\r\n headerLabel?: string;\r\n menuColor?: string;\r\n}\r\n\r\nconst androidDetails = [{\r\n imagePickerFieldName: UploadImagesFormFields.androidAppLogoHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppLogo\r\n},\r\n{\r\n imagePickerFieldName: UploadImagesFormFields.androidAppLogoXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppLogo\r\n},\r\n{\r\n imagePickerFieldName: UploadImagesFormFields.androidAppIconHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n},\r\n{\r\n imagePickerFieldName: UploadImagesFormFields.androidAppIconXXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n},\r\n{\r\n imagePickerFieldName: UploadImagesFormFields.androidAppIconXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n},\r\n{\r\n imagePickerFieldName: UploadImagesFormFields.androidSplashScreenHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortraitHDPI\r\n},\r\n{\r\n imagePickerFieldName: UploadImagesFormFields.androidSplashScreenXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortraitXHDPI\r\n},\r\n{\r\n imagePickerFieldName: UploadImagesFormFields.androidSplashScreenXXHDPIPortrait,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortraitXXHDPI\r\n}];\r\n\r\nconst iosDetails = [\r\n // {\r\n // imagePickerFieldName: UploadImagesFormFields.iosAppIconiphone,\r\n // resetImageURL: DefaultUploadImages.AppIcon\r\n // },\r\n // {\r\n // imagePickerFieldName: UploadImagesFormFields.iosAppIconipad,\r\n // resetImageURL: DefaultUploadImages.AppIcon\r\n // },\r\n {\r\n imagePickerFieldName: UploadImagesFormFields.iosAppDefaultIcon,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n },\r\n {\r\n imagePickerFieldName: UploadImagesFormFields.iosSplashScreeniphone,\r\n resetImageURL: DefaultUploadImages.SplashScreenPortrait\r\n },\r\n {\r\n imagePickerFieldName: UploadImagesFormFields.iosAppApplicationLogo,\r\n resetImageURL: DefaultUploadImages.AppIcon\r\n }\r\n // {\r\n // imagePickerFieldName: UploadImagesFormFields.iosSplashScreenipad,\r\n // resetImageURL: DefaultUploadImages.SplashScreenPortrait\r\n // }\r\n];\r\n// Note: temp code need to fix later\r\nconst BasicSettingsGlobalStyle1 = createGlobalStyle`\r\n .ap-tabsPanel-tabContentContainer {\r\n padding-top: 0px !important;\r\n }\r\n`;\r\n\r\nexport const UploadImagesTab = (props: IUploadImagesTabProps) => {\r\n const { platformTypes, containerHeight, headerLabel, menuColor } = props;\r\n const { resetField } = useFormContext();\r\n const { showCustomPopup, removePopup } = useCustomPopupEvents();\r\n const [activeTab, setActiveTab] = useState('android' as React.Key);\r\n const translate = useTranslate();\r\n\r\n const removePopupHandler = useCallback(() => removePopup('reset-all-images'), [removePopup]);\r\n\r\n const onOKClick = useCallback(() => {\r\n if (activeTab === 'android') {\r\n androidDetails.forEach(({ imagePickerFieldName, resetImageURL }) => resetField(imagePickerFieldName, { keepDirty: false, defaultValue: resetImageURL }));\r\n removePopupHandler();\r\n return;\r\n }\r\n iosDetails.forEach(({ imagePickerFieldName, resetImageURL }) => resetField(imagePickerFieldName, { keepDirty: false, defaultValue: resetImageURL }));\r\n removePopupHandler();\r\n }, [activeTab, removePopupHandler, resetField]);\r\n\r\n const onTabChange = useCallback((tabDetails: IActiveTabDetails) => setActiveTab(tabDetails.activeTab), []);\r\n\r\n const onResetAllClick = useCallback(() => {\r\n showCustomPopup({\r\n headerTitle: translate('common.title'),\r\n id: 'reset-all-images',\r\n height: '185px',\r\n width: '536px',\r\n showModal: true,\r\n onRenderContent: () => ({activeTab === 'android'\r\n ? translate('modules.createNewApp.steps.uploadImages.messages.clearAndroidImages')\r\n : translate('modules.createNewApp.steps.uploadImages.messages.cleariOSimages')}),\r\n onRenderFooter: () => (\r\n <>\r\n \r\n \r\n \r\n )\r\n });\r\n }, [activeTab, onOKClick, removePopupHandler, showCustomPopup, translate]);\r\n\r\n const androidTab = useMemo(() => (\r\n \r\n \r\n \r\n ), [menuColor, translate]);\r\n\r\n const iosTab = useMemo(() => (\r\n \r\n \r\n \r\n ), [translate]);\r\n\r\n const renderPlatformType = () => (\r\n platformTypes.includes(PlatformTypes.Android) ? androidTab : iosTab\r\n );\r\n\r\n return (\r\n \r\n \r\n {headerLabel ? headerLabel : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n <>\r\n {platformTypes.includes(PlatformTypes.Android) && platformTypes.includes(PlatformTypes.IOS) ?\r\n <>\r\n {androidTab}\r\n {iosTab}\r\n \r\n : renderPlatformType()}\r\n \r\n\r\n \r\n \r\n \r\n );\r\n};\r\n\r\n","import { AgilePointServiceClient } from '@agilepoint/wat';\r\nimport { toCamelCasedKeys } from '@agilepoint/utils-common';\r\nimport { createDependency } from '@agilepoint/restate-core';\r\nimport { getUserProfilePayloadDefault } from '../defaults';\r\nexport class CoreApiClient {\r\n static create(agilepointServiceClient: AgilePointServiceClient) {\r\n return new CoreApiClient(agilepointServiceClient);\r\n }\r\n\r\n constructor(private agilepointServiceClient: AgilePointServiceClient) { }\r\n\r\n getLoggedUserDetails(userName: string) {\r\n return this.agilepointServiceClient.getJSON(`GetTextData/UserProfile_${userName.replace('\\\\', '_')}`)\r\n .then(userDetails => toCamelCasedKeys(JSON.parse(userDetails.TextData), true))\r\n .catch((e) => {\r\n console.log('User details is empty');\r\n console.log('Error', e);\r\n return (getUserProfilePayloadDefault(userName));\r\n }) as Promise;\r\n }\r\n}\r\n\r\nexport const coreApiClientDependency = createDependency(Symbol('CoreApiClient'));\r\n","import { memoizeFunction } from '@agilepoint/utils-common';\r\n\r\nexport const getUserProfilePayloadDefault = memoizeFunction((userName: string = '') => ({\r\n displayName: userName,\r\n userName: userName,\r\n locale: 'en-US',\r\n email: '',\r\n profileImage: ''\r\n}));\r\n","export enum MyAppsEndPoints {\r\n GET_MY_APPS = 'GetMobileApps',\r\n GET_APP_LOGO = 'GetAppLogo',\r\n ARCHIVE_APP = 'TrashOrRestoreApplication',\r\n CREATE_MOBILE_BUILD = 'CreateMobileBuild',\r\n GET_BUILD_HISTORY = 'GetBuildHistory',\r\n GET_MOBILE_BUILD = 'GetMobileBuild',\r\n DOWNLOAD_MOBILE_PACKAGE = 'DownloadMobilePackage',\r\n GET_BUILD_REQUEST = 'GetBuildRequestByStatusOrBuildReqID',\r\n SHARE_LINK = 'SendMail',\r\n AUTHENTICATE = 'Authenticate'\r\n}\r\n\r\nexport enum MyAppsQueryKey {\r\n GET_MY_APPS = 'GET_MY_APPS',\r\n GET_APP_LOGO = 'GET_APP_LOGO',\r\n ARCHIVE_APP = 'ARCHIVE_APPS',\r\n CREATE_MOBILE_BUILD = 'CREATE_MOBILE_BUILD',\r\n GET_BUILD_HISTORY = 'GET_BUILD_HISTORY',\r\n GET_MOBILE_BUILD = 'GET_MOBILE_BUILD',\r\n DOWNLOAD_MOBILE_PACKAGE = 'DOWNLOAD_MOBILE_PACKAGE',\r\n GET_BUILD_REQUEST = 'GET_BUILD_REQUEST',\r\n SHARE_LINK = 'SHARE_LINK',\r\n AUTHENTICATE = 'AUTHENTICATE'\r\n}\r\n","import React from 'react';\r\nimport { useServiceClient } from 'common';\r\nimport { useQuery } from 'react-query';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\nimport { ToCamelCasedKeys } from 'lib/types';\r\n\r\nexport interface IAppMetadataCased {\r\n Android: boolean;\r\n AppAutoNewVersion: string;\r\n AppBaseId: string;\r\n AppCompanyName: string;\r\n AppCompanyWebsite: string;\r\n AppCreatedBy: string;\r\n AppCreatedDate: string;\r\n AppDescription: string;\r\n AppDisplayName: string;\r\n AppDistributionList: string;\r\n AppId: string;\r\n AppInternalName: string;\r\n AppIsAutoDeploy: boolean;\r\n AppLastModifiedBy: string;\r\n AppLastModifiedDate: string;\r\n AppLockedBy: string;\r\n AppLockedDate: string;\r\n AppLogo: string;\r\n AppOwner: string;\r\n AppStatus?: number;\r\n AppVersion: string;\r\n LastBuildRequestedDate: string;\r\n Windows: boolean;\r\n iOS: boolean;\r\n}\r\n\r\nexport type IAppMetadata = ToCamelCasedKeys;\r\n\r\nexport const useGetMyAppQuery = () => {\r\n const { getData } = useServiceClient();\r\n const getMyApps = React.useCallback(() => getData(MyAppsEndPoints.GET_MY_APPS).then((res) => {\r\n if (res === null) {\r\n return [];\r\n }\r\n return res.json();\r\n }), [getData]);\r\n return useQuery(MyAppsQueryKey.GET_MY_APPS, getMyApps);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\n\r\nexport const useGetAppLogoQuery = (appId: string) => {\r\n const { getData } = useServiceClient();\r\n const getAppLogo = React.useCallback(() => getData(`${MyAppsEndPoints.GET_APP_LOGO}/${appId}`)\r\n .then(response => response.blob())\r\n .then(imageBlob => URL.createObjectURL(imageBlob)), [appId, getData]);\r\n\r\n return useQuery(`${MyAppsQueryKey.GET_APP_LOGO}/${appId}`, getAppLogo);\r\n};\r\n","import React from 'react';\r\nimport { useServiceClient } from 'common';\r\nimport { useMutation, useQueryClient } from 'react-query';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\n\r\nexport const useArchiveAppQuery = (appId: string) => {\r\n const { postData } = useServiceClient();\r\n const queryClient = useQueryClient();\r\n const archiveApps = React.useCallback(() => postData(`${MyAppsEndPoints.ARCHIVE_APP}/${appId}/3`).then((res) => res.json()), [appId, postData]);\r\n return useMutation(MyAppsQueryKey.ARCHIVE_APP, archiveApps, {\r\n onSuccess: () => {\r\n queryClient.invalidateQueries(MyAppsQueryKey.GET_MY_APPS);\r\n }\r\n });\r\n};\r\n","import React from 'react';\r\nimport { useServiceClient } from 'common';\r\nimport { useMutation } from 'react-query';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\n\r\ninterface ICreateMobileBuildPayload {\r\n AppBuildVersion: string,\r\n AppFileDescription: string,\r\n AppFileDisplayName: string,\r\n AppFileName: string,\r\n AppId: string,\r\n AppName: string,\r\n AppType: string,\r\n AppVersion: string,\r\n BuildRequestedDate: string,\r\n BuildRequestedBy: string,\r\n IsSystemAutorequested: string,\r\n NoOfTimesDownloaded: string,\r\n BuildStatus: number\r\n}\r\n\r\ninterface ICreateMobileBuildResposne {\r\n CreateMobileBuildResult: {\r\n AppBuildVersion: string,\r\n AppDownloadURL: string | null,\r\n AppFileDescription: string,\r\n AppFileDisplayName: string,\r\n AppFileName: string,\r\n AppId: string,\r\n AppName: string,\r\n AppType: string,\r\n AppVersion: string,\r\n BuildFailedErrorMessage: null,\r\n BuildRequestDetails: null,\r\n BuildRequestId: string,\r\n BuildRequestedBy: string,\r\n BuildRequestedDate: string,\r\n BuildStatus: number,\r\n IsSystemAutorequested: string,\r\n NoOfTimesDownloaded: string\r\n }\r\n}\r\n\r\nexport const useCreateMobileBuildQuery = () => {\r\n const { postData } = useServiceClient();\r\n const createMobileBuild = React.useCallback((payload: ICreateMobileBuildPayload) => postData(MyAppsEndPoints.CREATE_MOBILE_BUILD, payload).then((res) => res.json()), [postData]);\r\n return useMutation(MyAppsQueryKey.CREATE_MOBILE_BUILD, createMobileBuild);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\n\r\nexport interface IBuildHistoryData {\r\n buildHistory: {\r\n appIdVersion: string;\r\n appVersion: string;\r\n build: {\r\n appVersion: string;\r\n apps: {\r\n id: string;\r\n status: string;\r\n type: string;\r\n }[];\r\n date: string;\r\n requestedBy: string;\r\n version: string;\r\n }[] | null;\r\n id: string;\r\n }[]\r\n}\r\nexport const useGetBuildHistoryQuery = (appBaseId: string) => {\r\n const { getData } = useServiceClient();\r\n const getBuildHistory = React.useCallback(() => getData(`${MyAppsEndPoints.GET_BUILD_HISTORY}/${appBaseId}`).then((res) => res.json()), [appBaseId, getData]);\r\n return useQuery(MyAppsQueryKey.GET_BUILD_HISTORY, getBuildHistory);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\n\r\nexport interface IMobileBuild {\r\n appBuildVersion: string;\r\n appDownloadURL: string;\r\n appFileDescription: string;\r\n appFileDisplayName: string;\r\n appFileName: string;\r\n appId: string;\r\n appName: string;\r\n appType: string;\r\n appVersion: string;\r\n buildFailedErrorMessage: string;\r\n buildRequestDetails: string;\r\n buildRequestId: string;\r\n buildRequestedBy: string;\r\n buildRequestedDate: string;\r\n buildStatus: number\r\n isSystemAutorequested: string;\r\n noOfTimesDownloaded: string;\r\n}\r\n\r\nexport const useGetMobileBuildQuery = (appId: string) => {\r\n const { getData } = useServiceClient();\r\n const getMobileBuild = React.useCallback(() => getData(`${MyAppsEndPoints.GET_MOBILE_BUILD}/${appId}`).then((res) => res.json()), [appId, getData]);\r\n return useQuery(MyAppsQueryKey.GET_MOBILE_BUILD, getMobileBuild, { cacheTime: 0, notifyOnChangeProps: 'tracked' });\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\n\r\nexport const useDownloadMobilePackageQuery = (buildRequestId: string) => {\r\n const { getData } = useServiceClient();\r\n const appDetails = React.useCallback(() => getData(`${MyAppsEndPoints.DOWNLOAD_MOBILE_PACKAGE}/${buildRequestId}`), [buildRequestId, getData]);\r\n return useQuery(MyAppsQueryKey.DOWNLOAD_MOBILE_PACKAGE, appDetails, {\r\n refetchOnWindowFocus: false,\r\n enabled: false\r\n });\r\n};\r\n\r\nexport const useOptionalDownloadMobilePackageQuery = () => {\r\n const { getData } = useServiceClient();\r\n const appDetails = React.useCallback((buildRequestId) => getData(`${MyAppsEndPoints.DOWNLOAD_MOBILE_PACKAGE}/${buildRequestId}`), [getData]);\r\n return [appDetails];\r\n};\r\n","import React from 'react';\r\nimport { useServiceClient } from 'common';\r\nimport { useMutation } from 'react-query';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\n\r\nexport const useSendMailQuery = () => {\r\n const { postData } = useServiceClient();\r\n const archiveApps = React.useCallback((args: { buildRequestId: string, emailRecepients: string }) => postData(MyAppsEndPoints.SHARE_LINK, {\r\n BodyTemplate: 'CustomMobileAppDownload',\r\n BuildRequestId: args.buildRequestId,\r\n To: args.emailRecepients\r\n }).then((res) => res.json()), [postData]);\r\n return useMutation(MyAppsQueryKey.SHARE_LINK, archiveApps);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { MyAppsEndPoints, MyAppsQueryKey } from './query-enums';\r\nimport { IMobileBuild } from './get-mobile-build-query';\r\nimport { useSearchParams } from 'react-router-dom';\r\n\r\nexport const useGetBuildRequestByStatusOrBuildIdQuery = () => {\r\n const [searchParams] = useSearchParams();\r\n const buildRequestId = searchParams.get('buildId');\r\n const { getData } = useServiceClient();\r\n const appDetails = React.useCallback(() => getData(`${MyAppsEndPoints.GET_BUILD_REQUEST}?BuildId=${buildRequestId}&status=All`).then((res) => res.json()).catch((err) => err), [buildRequestId, getData]);\r\n return useQuery(MyAppsQueryKey.GET_BUILD_REQUEST, appDetails, {\r\n refetchOnWindowFocus: false,\r\n enabled: false\r\n });\r\n};\r\n","import React from 'react';\r\nimport { createSelector } from 'reselect';\r\nimport { createScopeFactory, createModel, createDependency } from '@agilepoint/restate-core';\r\nimport { IAgilePointConfiguration, isProduction, IUserDetails } from '@agilepoint/wat';\r\nimport { useScope, useSelectors, ScopeRegistrar } from '@agilepoint/react-restate';\r\nimport { combineUrl, deepMerge, memoizeFunction } from '@agilepoint/utils-common';\r\nimport { IApplicationConfig, IHelpLinks } from '../../../types';\r\nimport { appContextDependency } from '../../../dependencies';\r\nimport { CoreApiClient } from '../clients';\r\n\r\nconst coreApiClientDependency = createDependency(Symbol('CoreApiClient'));\r\n\r\nconst configFilePath = combineUrl(process.env.PUBLIC_URL, `config.json?${new Date()}`);\r\n\r\nexport function getConfig() {\r\n return fetch(configFilePath).then((r) => r.json());\r\n}\r\n\r\nexport function createConfigScopeBuilder(initialState: Partial) {\r\n const modelBuilder = createModel({\r\n initialState: initialState as IApplicationConfig\r\n }, slice => {\r\n\r\n const selectAppConfig = createSelector(slice, config => config);\r\n const selectBasePathURL = createSelector(slice, config => config.basePath);\r\n const selectAgilePointConfig = createSelector(selectAppConfig, config => config.agilepoint);\r\n const selectMobileAppAcceleratorConfig = createSelector(selectAppConfig, config => config.mobileAppAccelerator);\r\n\r\n const selectCurrentUserDetails = createSelector(selectAgilePointConfig, agp => agp.userDetails);\r\n const selectCulture = createSelector(selectAgilePointConfig, selectCurrentUserDetails, (agp, userDetails) => agp.userLocale || userDetails.locale || agp.culture);\r\n\r\n const selectHelpBaseUrl = createSelector(selectAppConfig, config => config.mobileAppAccelerator.helpBaseUrl);\r\n\r\n const selectHelpLinks = createSelector(selectAppConfig, config => config.mobileAppAccelerator.helpLinks);\r\n const selectHelpLinkIdByType = createSelector(selectHelpLinks, (helpLinks) => memoizeFunction((type: keyof IHelpLinks) => helpLinks[type]));\r\n\r\n const selectAPIEndPoint = createSelector(slice, config => config.apiEndPoint);\r\n const isUserTypeAdmin = createSelector(selectAgilePointConfig, config => (config.userType === 'sysadmin'));\r\n\r\n return {\r\n isProduction: createSelector(selectAppConfig, config => isProduction(config.environment)),\r\n selectAgilePointConfig,\r\n selectMobileAppAcceleratorConfig,\r\n selectCurrentUserDetails,\r\n selectCulture,\r\n selectHelpBaseUrl,\r\n selectHelpLinkIdByType,\r\n selectBasePathURL,\r\n selectAPIEndPoint,\r\n isUserTypeAdmin\r\n };\r\n });\r\n\r\n const actionCreatorsFactory = modelBuilder.registerActions(selectors => ({\r\n loadConfig(state, config: Partial) {\r\n return { ...state, ...config };\r\n }\r\n }), (context, actions) => ({\r\n async initAsync() {\r\n const { configuration: { agilepoint } } = appContextDependency.from(context.iocContainer);\r\n const coreApiClient = coreApiClientDependency.from(context.iocContainer);\r\n const userDetails = await coreApiClient.getLoggedUserDetails(agilepoint.userDetails.userName);\r\n const config = await getConfig();\r\n const userDetailsConfig = getUserDetailsConfig(userDetails);\r\n actions.loadConfig({\r\n agilepoint: deepMerge({ ...agilepoint }, {\r\n userDetails: userDetailsConfig\r\n } as IAgilePointConfiguration,\r\n { userType: agilepoint.userType || '' }),\r\n mobileAppAccelerator: config.mobileAppAccelerator\r\n } as Partial);\r\n }\r\n }));\r\n\r\n return createScopeFactory({\r\n actionCreatorsFactory,\r\n modelFactory: modelBuilder.modelFactory,\r\n onBuildIocContainer: (builder) => {\r\n const { client } = appContextDependency.from(builder);\r\n coreApiClientDependency.inject(builder, new CoreApiClient(client));\r\n }\r\n });\r\n}\r\n\r\nconst getUserDetailsConfig = memoizeFunction((userDetails: any): IUserDetails => ({\r\n fullName: userDetails?.displayName || '',\r\n userName: userDetails?.userName || '',\r\n locale: userDetails?.locale || '',\r\n eMailAddress: userDetails?.email || '',\r\n userOrgInfo: userDetails?.profileImage || '',\r\n ...userDetails\r\n}));\r\n\r\nexport type ConfigScopeType = ReturnType;\r\n\r\nconst scopeId = 'config';\r\n\r\nexport const useConfigScope = (scopeName: string = scopeId) => useScope(scopeName);\r\n\r\nexport const useConfigScopeSelectors = (scopeName: string = scopeId) => useSelectors(scopeName);\r\n\r\nexport const useConfigScopeActions = (scopeName: string = scopeId) => useConfigScope(scopeName).actions;\r\n\r\nexport const ConfigScopeRegistrar = ({ children, name = scopeId }: React.PropsWithChildren<{ name?: string }>) => (\r\n {children} \r\n);\r\n","export * from './api-error';\r\n","import React from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { IWizardStepRendererProps, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { MenuOptionsForm } from 'modules/shared/forms';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { useMenuOptionsDefaultValues } from 'modules/shared/hooks';\r\nimport { IMenuOptionsFormFields, MenuOption } from 'modules/shared/types';\r\nimport { MobileAppHelpLink } from 'common';\r\n\r\ninterface IMenuOptionsProps extends IWizardStepRendererProps {\r\n menuOptions: MenuOption[] | IMenuOptionsFormFields;\r\n onSaveMenuOptionsDetails: (formData: IMenuOptionsFormFields) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>;\r\n}\r\n\r\nexport const MenuOptions = React.memo((props: IMenuOptionsProps) => {\r\n const { menuOptions, stepId, onSaveMenuOptionsDetails } = props;\r\n const { data, saveData } = useWizardStep(stepId);\r\n const defaultValues = useMenuOptionsDefaultValues(menuOptions);\r\n const translate = useTranslate();\r\n const subHeading = translate('modules.createNewApp.steps.menuOptions.MenuOptionsSubtitle');\r\n\r\n const form = useForm({\r\n mode: 'onChange',\r\n defaultValues\r\n });\r\n\r\n const { trigger, getValues, reset } = form;\r\n\r\n const onNext = React.useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues();\r\n\r\n return onSaveMenuOptionsDetails(formData).then((res) => {\r\n saveData({ updateMobileAppRsponse: res.UpdateMobileAppResult, formData });\r\n return true;\r\n }).catch(() => false);\r\n }, [trigger, getValues, onSaveMenuOptionsDetails, saveData]);\r\n\r\n React.useEffect(() => {\r\n data && reset(data.formData);\r\n }, [reset, data]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","export enum SharedEndPoints {\r\n GET_COMPANY_DETAILS = 'GetTextData/CompanyDetails_',\r\n GET_MENU_OPTIONS = 'GetTextData/AppMenus_',\r\n GET_AUTHENTICATION_SETTINGS = 'GetTextData/AuthenticationSettings_',\r\n GET_APP_THEME = 'GetTextData/AppTheme_',\r\n GET_APPLICATION_LIST = 'GetTextData/ApplicationList_',\r\n GET_GLOBAL_APP_IMAGE = 'GetTextData/GlobalAppImages_',\r\n GET_PUSH_NOTIFICAITONS = 'GetTextData/PushNotifications_',\r\n GET_BINARY_DATA = 'GetBinaryData/',\r\n GET_NOTIFICATION_LIST = 'GetTextData/NotificationList_',\r\n SAVE_TEXT_DATA = 'SaveTextData',\r\n SAVE_BINARY_DATA = 'SaveBinaryData',\r\n GET_TEXT_DATA = 'GetTextData/AppSettings_',\r\n SAVE_ANNOUNCEMENT = 'SaveNotification',\r\n UPDATE_ANNOUNCEMENT = 'UpdateNotification',\r\n CHANGE_PASSWORD = 'ChangeUserPassword'\r\n}\r\n\r\nexport enum SharedReactQueryKey {\r\n GET_COMPANY_DETAILS = 'GET_COMPANY_DETAILS_BYUSER',\r\n GET_MENU_OPTIONS = 'GET_MENU_OPTIONS',\r\n GET_AUTHENTICATION_SETTINGS = 'GET_AUTHENTICATION_SETTINGS',\r\n GET_APP_THEME = 'GET_APP_THEME',\r\n GET_APPLICATION_LIST = 'GET_APPLICATION_LIST',\r\n GET_GLOBAL_APP_IMAGE = 'GET_GLOBAL_APP_IMAGE',\r\n GET_PUSH_NOTIFICAITONS = 'GET_PUSH_NOTIFICAITONS',\r\n GET_BINARY_DATA = 'GET_BINARY_DATA',\r\n GET_NOTIFICATION_LIST = 'GET_NOTIFICATION_LIST',\r\n SAVE_TEXT_DATA = 'SAVE_TEXT_DATA',\r\n SAVE_BINARY_DATA = 'SAVE_BINARY_DATA',\r\n GET_TEXT_DATA = 'GET_TEXT_DATA',\r\n SAVE_ANNOUNCEMENT = 'SAVE_ANNOUNCEMENT',\r\n UPDATE_ANNOUNCEMENT = 'UPDATE_ANNOUNCEMENT',\r\n CHANGE_PASSWORD = 'CHANGE_PASSWORD'\r\n}\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetCompanyDetailsQuery = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const getCompanyDetails = React.useCallback((): any => (\r\n getData(`${SharedEndPoints.GET_COMPANY_DETAILS}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('company-details').companyDetails)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_COMPANY_DETAILS, getCompanyDetails);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetMenuOptionsQuery = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const getMenuOptions = React.useCallback(() => (\r\n getData(`${SharedEndPoints.GET_MENU_OPTIONS}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('menu-options').appMenusSettings)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_MENU_OPTIONS, getMenuOptions);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\n\r\n/**\r\n * @IAuthenticationSettingsTextData\r\n * this interface contains types for textdata after parsing it.\r\n */\r\nexport interface IAuthenticationSettingsTextData {\r\n activeDirectoryConfiguration: { domain: string, audienceURL: string, enableJWT: boolean, isSelected: boolean }\r\n agilePiontNXConfiguration: { isSelected: boolean }\r\n googleConfiguration: { clientId: string, returnURL: string, resource: string, isSelected: boolean }\r\n identityServerConfiguration: { clientId: string, authority: string, isSelected: boolean }\r\n officeConfiguration: { clientId: string, returnURL: string, resource: string, useMSAuthenticatorApp: boolean, isSelected: boolean }\r\n officeConfigurationChina: { clientId: string, returnURL: string, resource: string, useMSAuthenticatorApp: boolean, isSelected: boolean }\r\n oktaConfiguration: { clientId: string, authority: string, isSelected: boolean }\r\n salesforceConfiguration: { consumerKey: string, consumerSecret: string, isSelected: boolean },\r\n pingFederateConfiguration: { clientId: string, authority: string, usernameClaimType: string, isSelected: boolean },\r\n amazonCognitoConfiguration: { clientId: string, authority: string, userImpersonationScopeURL: string, isSelected: boolean },\r\n serverConfiguration: { developmentServerInstanceUrl?: string, stagingServerInstanceUrl?: string, productionServerInstanceUrl: string }\r\n defaultConfig: string\r\n}\r\n\r\nexport const useGetAuthenticationSettingsQuery = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n const getAuthenticationSettings = React.useCallback(() => (getData(`${SharedEndPoints.GET_AUTHENTICATION_SETTINGS}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('authentication').authenticationSettings)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_AUTHENTICATION_SETTINGS, getAuthenticationSettings, { retry: 0, cacheTime: 0 });\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetAppTheme = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const getAppTheme = React.useCallback(() => (\r\n getData(`${SharedEndPoints.GET_APP_THEME}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('styling').appThemeSettings)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_APP_THEME, getAppTheme);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetApplicationListQuery = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const getApplicationListDetails = React.useCallback(() => (\r\n getData(`${SharedEndPoints.GET_APPLICATION_LIST}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('app-list').applicationListSettings)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_APPLICATION_LIST, getApplicationListDetails);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetGlobalAppImageQuery = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const getGlobalAppImage = React.useCallback(() => (\r\n getData(`${SharedEndPoints.GET_GLOBAL_APP_IMAGE}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('upload-images').globalAppImagesSettings)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_GLOBAL_APP_IMAGE, getGlobalAppImage);\r\n};\r\n","import React from 'react';\r\nimport { useServiceClient } from 'common';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { readFileAsDataUrl } from '@agilepoint/utils-common';\r\nimport { useQuery } from 'react-query';\r\n\r\nexport interface IImageMetadata {\r\n ID: string;\r\n Name: string;\r\n}\r\n\r\nexport const useGetUploadedImagesQuery = (selectedIds?: IImageMetadata[]) => {\r\n const { getData } = useServiceClient();\r\n\r\n const getURL = React.useCallback(async (imageDataResponse: Response, name: string) => {\r\n const blob = await imageDataResponse.clone().blob();\r\n const file = new File([blob], name);\r\n return await readFileAsDataUrl(file);\r\n }, []);\r\n\r\n const getImageData = React.useCallback(async (id, name) => {\r\n const response = await getData(`${SharedEndPoints.GET_BINARY_DATA}${id}`);\r\n const imageUrl = await getURL(response, name);\r\n return { name, imageUrl };\r\n }, [getData, getURL]);\r\n\r\n const getQueryFunction = () => {\r\n if (selectedIds) {\r\n return Promise.all(selectedIds.map(({ ID, Name }) => getImageData(ID, Name)));\r\n }\r\n return Promise.reject('Id not found');\r\n };\r\n\r\n return useQuery(SharedReactQueryKey.GET_BINARY_DATA, getQueryFunction, { enabled: !!selectedIds });\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetNotificationListQuery = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const getNotificationListDetails = React.useCallback(() => (\r\n getData(`${SharedEndPoints.GET_NOTIFICATION_LIST}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('notification-list').notificationListSettings)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_NOTIFICATION_LIST, getNotificationListDetails);\r\n};\r\n","import React from 'react';\r\nimport { useMutation } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData, ISaveTextDataResponse } from 'modules/shared/queries';\r\n\r\nexport const useSaveTextDataQuery = () => {\r\n const { postData } = useServiceClient();\r\n const saveTextData = React.useCallback((args: IGetTextData) => postData(SharedEndPoints.SAVE_TEXT_DATA, args).then((res) => res.json()), [postData]);\r\n return useMutation(SharedReactQueryKey.SAVE_TEXT_DATA, saveTextData);\r\n};\r\n","import React from 'react';\r\nimport { useMutation } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IBinaryDataPayload, ISaveBinaryDataResponse } from './query-interfaces';\r\n\r\nexport const useSaveBinaryDataQuery = () => {\r\n const { postData } = useServiceClient();\r\n const saveBinaryData = React.useCallback((args: IBinaryDataPayload) =>\r\n postData(SharedEndPoints.SAVE_BINARY_DATA, args).then((res) => res.json()).then((res) => ({ ...res, fileName: args.FileName }))\r\n , [postData]);\r\n return useMutation(SharedReactQueryKey.SAVE_BINARY_DATA, saveBinaryData);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { SharedEndPoints } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetTextDataQuery = (appId: string) => {\r\n const { getData } = useServiceClient();\r\n const getTextData = React.useCallback(() =>\r\n getData(`${SharedEndPoints.GET_TEXT_DATA}${appId}`)\r\n .then((res) => res.json())\r\n .catch((error) => {\r\n console.error(error);\r\n return null;\r\n })\r\n , [appId, getData]);\r\n\r\n return useQuery(SharedEndPoints.GET_TEXT_DATA, getTextData, { retry: 0 });\r\n};\r\n","import React from 'react';\r\nimport { useMutation } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IAnnouncementPayload } from 'modules/shared/queries';\r\n\r\nexport const useCreateAnnouncementQuery = () => {\r\n const { postData } = useServiceClient();\r\n const saveAnnouncement = React.useCallback((args: IAnnouncementPayload) => postData(SharedEndPoints.SAVE_ANNOUNCEMENT, args).then((res) => res.json()), [postData]);\r\n return useMutation(SharedReactQueryKey.SAVE_ANNOUNCEMENT, saveAnnouncement);\r\n};\r\n","import React from 'react';\r\nimport { useMutation } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IAnnouncementPayload } from 'modules/shared/queries';\r\n\r\nexport const useUpdateAnnouncementQuery = () => {\r\n const { postData } = useServiceClient();\r\n const updateAnnouncement = React.useCallback((args: IAnnouncementPayload) => postData(SharedEndPoints.UPDATE_ANNOUNCEMENT, args).then((res) => res.json()), [postData]);\r\n return useMutation(SharedReactQueryKey.UPDATE_ANNOUNCEMENT, updateAnnouncement);\r\n};\r\n","import React from 'react';\r\nimport { useQuery } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useDefaultSettingsPayload } from 'modules/default-app-settings/containers';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\nimport { IGetTextData } from './query-interfaces';\r\n\r\nexport const useGetPushNotificationsQuery = () => {\r\n const { getData } = useServiceClient();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const getPushNotifications = React.useCallback(() => (\r\n getData(`${SharedEndPoints.GET_PUSH_NOTIFICAITONS}${currentUserDetails.userName.replace(/\\\\/g, '_')}`)\r\n .then((res) => res.json())\r\n .catch(() => getPayloadDetailsByType('push-notifications').pushNotificationsSettings)\r\n ), [getData, currentUserDetails.userName, getPayloadDetailsByType]);\r\n return useQuery(SharedReactQueryKey.GET_PUSH_NOTIFICAITONS, getPushNotifications, { cacheTime: 0 });\r\n};\r\n","import React from 'react';\r\nimport { useMutation } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { SharedEndPoints, SharedReactQueryKey } from './query-enum';\r\n\r\nexport interface IChangePasswordPayload {\r\n oldPassword: string;\r\n newPassword: string;\r\n}\r\n\r\nexport const useChangePasswordQuery = () => {\r\n const { postData } = useServiceClient();\r\n const changePassword = React.useCallback((args: IChangePasswordPayload) => postData(SharedEndPoints.CHANGE_PASSWORD, args).then((res) => res.json()), [postData]);\r\n return useMutation(SharedReactQueryKey.CHANGE_PASSWORD, changePassword);\r\n};\r\n","import { FlexBox, StackPanel } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\nimport { commonStyles } from 'common';\r\n\r\nexport const UncheckedState = styled.span<{ $isActive: boolean, $size?: string, $borderSize?: string }>`\r\n width: ${({ $size }) => $size ?? '12px'};\r\n height: ${({ $size }) => $size ?? '12px'};\r\n border: ${({ $borderSize }) => $borderSize ?? '1px'} solid ${({ $isActive, theme: { mobileAppAccelerator: { semanticColors } } }) => ($isActive ? semanticColors.wizard.activeStepColor : semanticColors.grayVariant2)};\r\n border-radius: 30px;\r\n ${commonStyles.outlineColor};\r\n`;\r\n\r\nexport const ScrollableStackPanel = styled(StackPanel)`\r\n overflow-y: auto;\r\n`;\r\n\r\nexport const SectionLabel = styled(FlexBox).attrs({ justifyContent: 'center', alignItems: 'center', width: '100%' })`\r\n height: ${({ height }) => height ?? '30px'};\r\n color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant3};\r\n background-color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant6};\r\n border-radius: ${({ theme: { semantics: { borderRadius } } }) => borderRadius.curvedMedium};\r\n`;\r\n\r\nexport const AuthFieldWrapper = styled(FlexBox)`\r\n flex-wrap: wrap;\r\n gap: 20px;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { FlexBox, Icon, StackPanel, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { CheckboxField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { CheckboxGroupField, commonStyles } from 'common/components';\r\n\r\nexport const AuthenicationProvidersGroup = styled(CheckboxGroupField)`\r\n width: 100%;\r\n\r\n .ap-checkboxGroup {\r\n width: 100%;\r\n }\r\n\r\n .ap-checkboxGroup-options {\r\n gap: 20px;\r\n align-items: center;\r\n justify-content: center;\r\n width: 100%;\r\n }\r\n\r\n .ap-formField-errorMessage {\r\n text-align: center;\r\n ${typographyPresets.textStyles.small};\r\n ${commonStyles.fullWidth};\r\n }\r\n`;\r\n\r\nexport const AuthenicationTypeWrapper = styled(FlexBox).attrs({\r\n width: '253px',\r\n height: '185px'\r\n}) <{ $isSelected: boolean | 'intermediate' }>`\r\n border-radius: 26px;\r\n padding: 15px;\r\n box-sizing: border-box;\r\n margin: 0 !important;\r\n cursor: pointer;\r\n background-color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant6};\r\n border: ${({ $isSelected, theme: { semantics: { palette }, mobileAppAccelerator } }) => {\r\n const borderColor = $isSelected ? palette.themePrimary : mobileAppAccelerator.semanticColors.grayVariant6;\r\n return `1px solid ${borderColor}`;\r\n }};\r\n ${commonStyles.outlineColor};\r\n :hover {\r\n background: #FFFFFF;\r\n border: 1px solid ${({ $isSelected, theme: { mobileAppAccelerator: { semanticColors }, semantics } }) => ($isSelected ? semantics.palette.themePrimary : semanticColors.grayVariant5)};\r\n box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.0688374);\r\n border-radius: 26px;\r\n }\r\n`;\r\n\r\nexport const AuthenticationProviderIcon = styled(Icon)`\r\n margin: 0px 0px 30px 0px;\r\n`;\r\n\r\nexport const AuthenticationFormWrapper = styled(StackPanel)`\r\n ${commonStyles.boldTextLabel};\r\n`;\r\n\r\nexport const StyledCheckboxField = styled(CheckboxField)`\r\n width: calc(50% - 10px);\r\n display: flex;\r\n align-items: baseline;\r\n margin-top: 32px;\r\n .ap-checkbox-wrapper {\r\n display: flex;\r\n align-items: center;\r\n flex-direction: row;\r\n gap: 6px;\r\n \r\n .ap-checkbox-label {\r\n padding-left: 0px;\r\n ${typographyPresets.headings.h5};\r\n }\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport { FlexBox, StackPanel, Typography, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { ColorPickerCalloutField, IconButton, RadioGroupField } from 'common';\r\n\r\nexport const AppStyleFields = styled(RadioGroupField)`\r\n width: auto;\r\n box-sizing: border-box;\r\n padding: 30px;\r\n justify-content: center;\r\n\r\n .ap-radioGroup-options-wrapper {\r\n width: 100%;\r\n }\r\n\r\n .ap-radio-child-items {\r\n gap: 15px;\r\n }\r\n \r\n .ap-radiobutton > span {\r\n ${typographyPresets.headings.h4};\r\n }\r\n`;\r\n\r\nexport const ColorSetWrapper = styled(FlexBox) <{ $borderColor: string, $isSelected?: boolean, $isDisabled?: boolean }>`\r\n width: 50px;\r\n height: 50px;\r\n border-radius: 50%;\r\n margin: 0 !important;\r\n border: 1px solid ${({ $borderColor }) => $borderColor};\r\n cursor: pointer;\r\n box-sizing: border-box;\r\n pointer-events: ${({ $isDisabled }) => ($isDisabled ? 'none' : 'auto')};\r\n outline: ${({ $isSelected, theme }) => ($isSelected ? '3px solid ' + theme.semantics.palette.themePrimary : 'none')};\r\n outline-offset: 5px;\r\n background: ${({ $borderColor }) => `linear-gradient(90deg, #fff 50%, ${$borderColor} 50%)`};\r\n`;\r\n\r\nexport const CustomColorSetWrapper = styled(FlexBox)`\r\n width: 310px;\r\n height: 40px;\r\n border-radius: 6px;\r\n box-sizing: border-box;\r\n padding: 0px 15px; \r\n gap: 15px;\r\n border: 1px solid ${({ theme: { mobileAppAccelerator } }) => mobileAppAccelerator.semanticColors.grayVariant4};\r\n\r\n h6 {\r\n opacity: 0.6;\r\n text-transform: capitalize;\r\n };\r\n`;\r\n\r\nexport const StyledIcon = styled(IconButton) <{ fill: string }>`\r\n .ap-icon {\r\n fill: ${({ fill }) => fill} !important;\r\n }\r\n cursor: pointer;\r\n`;\r\n\r\nexport const PredefinedColorsRadioGroupField = styled(RadioGroupField)`\r\n .ap-radioGroup-options-wrapper {\r\n gap: 15px;\r\n flex-direction: row;\r\n }\r\n`;\r\n\r\nexport const StyledColorPickerCalloutField = styled(ColorPickerCalloutField) <{ $isDisabled?: boolean }>`\r\n pointer-events: ${({ $isDisabled }) => ($isDisabled ? 'none' : 'visible')};\r\n width: auto;\r\n .ap-color-picker-callout {\r\n display: flex;\r\n }\r\n`;\r\n\r\nexport const PreviewWrapper = styled(StackPanel)`\r\n padding: 30px;\r\n overflow-x: auto;\r\n box-sizing: border-box;\r\n background-color: ${({ theme }) => theme.mobileAppAccelerator.semanticColors.grayVariant6};\r\n overflow-x: hidden;\r\n max-width: calc(100% - 455px);\r\n`;\r\n\r\nexport const StyledSeparatorLabel = styled(Typography.H5)`\r\n color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant3};\r\n`;\r\n\r\nexport const StyledStylingContainer = styled(FlexBox)`\r\n border: 1px solid ${({ theme }) => theme.mobileAppAccelerator.semanticColors.grayVariant5};\r\n box-sizing: border-box;\r\n border-radius: ${(props)=>props.theme.semantics.borderRadius.curvedLarge};\r\n`;\r\n\r\nexport const StyledNavigationButtons = styled(IconButton)`\r\n box-shadow: 0 1px 3px 0 rgba(0,0,0,0.1), 0 1px 2px 0 rgba(0,0,0,0.06);\r\n border-radius: 100%;\r\n width: 30px;\r\n height: 30px;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { FlexBox, StackPanel, TabsPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { NegativeActionButton } from 'common';\r\n\r\nexport const ContentWrapper = styled(StackPanel)`\r\n background: ${({ theme: { mobileAppAccelerator } }) => mobileAppAccelerator.semanticColors.grayVariant6};\r\n padding: 25px 0px 0px 30px;\r\n border-radius: 8px;\r\n box-sizing: border-box;\r\n`;\r\n\r\nexport const LogoTileWrapper = styled(StackPanel)`\r\n background: ${({ theme: { semantics } }) => semantics.palette.white};\r\n width: 150px;\r\n height: 150px;\r\n padding: 20px;\r\n box-sizing: border-box;\r\n border: 1px solid ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant5};\r\n border-radius: 16px;\r\n`;\r\n\r\nexport const StyledImage = styled.img`\r\n min-width: 50px;\r\n max-width: 80px;\r\n max-height: 60px;\r\n`;\r\n\r\nexport const StyledTabsPanel = styled(TabsPanel)`\r\n height: 100%;\r\n width: 100%;\r\n position: relative;\r\n box-sizing: border-box;\r\n\r\n .ap-tabsPanel-tabHeaderContainer {\r\n height: 30px;\r\n }\r\n\r\n .ap-tabsPanel-tabContentContainer {\r\n height: calc(100% - 50px) !important;\r\n margin: 20px 0px 0px 0px !important;\r\n overflow-y: auto !important;\r\n border: none;\r\n }\r\n .ap-tabsPanel-tabItemWrapper {\r\n z-index: 1;\r\n }\r\n\r\n .ap-tabsPanel-tabItemWrapper:first-child {\r\n border-radius: 6px 0px 0px 6px;\r\n }\r\n .ap-tabsPanel-tabItemWrapper:last-child {\r\n border-radius: 0px 6px 6px 0px;\r\n }\r\n .ap-tabsPanel-tabItemWrapper:only-child {\r\n border-radius: 6px;\r\n }\r\n\r\n`;\r\n\r\nexport const AndroidDescription = styled(Typography.Medium)`\r\n margin-top: 10px;\r\n box-sizing: border-box;\r\n display: block;\r\n text-align: center;\r\n max-width: 612px;\r\n line-height: 24px;\r\n`;\r\n\r\nexport const RelativePositionedFlexBox = styled(FlexBox)`\r\n position: relative;\r\n max-width: 1060px;\r\n margin-top: 30px\r\n`;\r\n\r\nexport const ResetButton = styled(NegativeActionButton)`\r\n position: absolute;\r\n right: 0px;\r\n z-index: 5;\r\n`;\r\n","import { EmailInputControl } from 'common';\r\nimport styled from 'styled-components';\r\n\r\nexport const StyledEmailInputControl = styled(EmailInputControl)`\r\n width: 660px;\r\n .ap-tagInput-tagLabel {\r\n max-width: unset;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport { StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { commonStyles } from 'common';\r\n\r\nexport const PushNotificationsWrapper = styled(StackPanel)`\r\n ${commonStyles.boldTextLabel};\r\n overflow-y: auto;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { Typography } from '@agilepoint/wat-react-ux';\r\nimport { DropdownField, ToggleInputField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { GridLayout } from 'common';\r\n\r\nconst StyledGrid = styled(GridLayout)`\r\n padding-right: 40px;\r\n height: 100%;\r\n`;\r\n\r\nconst MenuOptionsWrapper = styled.div`\r\n width: 665px;\r\n height: calc(100% - 157px);\r\n background-color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant6};\r\n border-radius: 6px;\r\n padding: 30px 0px 30px 40px;\r\n box-sizing: border-box;\r\n`;\r\n\r\nconst StyledToggledInput = styled(ToggleInputField)`\r\n margin-left: 20px;\r\n`;\r\n\r\nconst StyledText = styled(Typography.H5)`\r\n margin-right: 50px;\r\n`;\r\n\r\nconst LocaleDropdownField = styled(DropdownField)`\r\n width: 326px;\r\n`;\r\n\r\nexport { StyledGrid, MenuOptionsWrapper, StyledToggledInput, StyledText, LocaleDropdownField };\r\n","import styled from 'styled-components';\r\nimport { memoizeFunction } from '@agilepoint/utils-common';\r\n\r\nexport interface ISeparatorProps {\r\n showBeak?: boolean;\r\n inverseBeak?: boolean;\r\n orientation?: 'horizontal' | 'vertical';\r\n beakPosition?: 'start' | 'center' | 'flex-end';\r\n color?: string;\r\n beakColor?: string;\r\n}\r\n\r\ninterface IBeakProps extends Pick {\r\n}\r\n\r\nconst FlexLine = styled.div.attrs({\r\n className: String('ap-separator')\r\n}) `\r\n display: inline-flex;\r\n position: relative;\r\n width: ${({ orientation }) => (isVerticalOrientation(orientation!) ? '1px' : '100%')};\r\n height: ${({ orientation }) => (isVerticalOrientation(orientation!) ? '100%' : '1px')};\r\n background-color: ${({ color, theme: { semantics: { palette } } }) => color ?? palette.black};\r\n justify-content: ${({ orientation, beakPosition }) => (isVerticalOrientation(orientation!) ? 'unset' : beakPosition)};\r\n align-items: ${({ orientation, beakPosition }) => (isVerticalOrientation(orientation!) ? beakPosition : 'unset')};\r\n`;\r\n\r\nconst getBeakDirection = memoizeFunction((orientation: 'horizontal' | 'vertical', isInverse?: boolean) => {\r\n if (isVerticalOrientation(orientation)) {\r\n if (isInverse) {\r\n return 'rotate(225deg)';\r\n }\r\n return 'rotate(45deg)';\r\n }\r\n if (isInverse) {\r\n return 'rotate(315deg)';\r\n }\r\n return 'rotate(135deg)';\r\n});\r\n\r\nconst Beak = styled.div.attrs(() => ({\r\n className: String('ap-wc-separatorBeak')\r\n})) `\r\n position: absolute;\r\n width: 15px;\r\n height: 15px;\r\n left: ${({ orientation }) => (isVerticalOrientation(orientation!) ? '-7px' : 'unset')};\r\n top: ${({ orientation }) => (isVerticalOrientation(orientation!) ? 'unset' : '-7px')};\r\n transform: ${({ inverseBeak, orientation }) => getBeakDirection(orientation!, inverseBeak)};\r\n background-color: ${({ beakColor, theme: { semantics: { palette } } }) => beakColor ?? palette.white};\r\n border-top: 1px solid ${({ color, theme: { semantics: { palette } } }) => color ?? palette.black};\r\n border-right: 1px solid ${({ color, theme: { semantics: { palette } } }) => color ?? palette.black};\r\n`;\r\n\r\nconst isVerticalOrientation = memoizeFunction((orientation: 'horizontal' | 'vertical') => orientation === 'vertical');\r\n\r\nexport function Separator(props: ISeparatorProps) {\r\n const { orientation = 'vertical', showBeak = false, ...rest } = props;\r\n return (\r\n \r\n {!showBeak ? null :\r\n }\r\n \r\n );\r\n}\r\n\r\nexport const VerticalSeparator = styled(Separator).attrs({\r\n orientation: 'vertical',\r\n beakPosition: 'center'\r\n})`\r\n right: 0;\r\n position: absolute;\r\n`;\r\n\r\nexport const HorizontalSeparator = styled(Separator).attrs({\r\n orientation: 'horizontal',\r\n beakPosition: 'center'\r\n})`\r\n bottom: 0;\r\n position: absolute;\r\n opacity: 0.15;\r\n width: calc(100% - 30px);\r\n`;\r\n","/* eslint-disable max-len */\r\nexport enum DefaultUploadImages {\r\n AppLogo = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAggAAACCCAYAAAAjSDD0AAAACXBIWXMAAAsTAAALEwEAmpwYAAAHcWlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgNi4wLWMwMDIgNzkuMTY0MzUyLCAyMDIwLzAxLzMwLTE1OjUwOjM4ICAgICAgICAiPiA8cmRmOlJERiB4bWxuczpyZGY9Imh0dHA6Ly93d3cudzMub3JnLzE5OTkvMDIvMjItcmRmLXN5bnRheC1ucyMiPiA8cmRmOkRlc2NyaXB0aW9uIHJkZjphYm91dD0iIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtbG5zOnhtcE1NPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvbW0vIiB4bWxuczpzdEV2dD0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlRXZlbnQjIiB4bWxuczpzdFJlZj0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL3NUeXBlL1Jlc291cmNlUmVmIyIgeG1sbnM6ZGM9Imh0dHA6Ly9wdXJsLm9yZy9kYy9lbGVtZW50cy8xLjEvIiB4bWxuczpwaG90b3Nob3A9Imh0dHA6Ly9ucy5hZG9iZS5jb20vcGhvdG9zaG9wLzEuMC8iIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMC0wNC0yMVQxODozMzoyMSswNTozMCIgeG1wOk1ldGFkYXRhRGF0ZT0iMjAyMC0wNC0yMVQxODozMzoyMSswNTozMCIgeG1wOk1vZGlmeURhdGU9IjIwMjAtMDQtMjFUMTg6MzM6MjErMDU6MzAiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDEzZTg4ZTItMDYzMy01YzRlLWFjMzItZmYwNGYwOTM4NDE0IiB4bXBNTTpEb2N1bWVudElEPSJhZG9iZTpkb2NpZDpwaG90b3Nob3A6NzAxMzI1YjMtY2IzMi0yYjQ0LTkxZjEtZGZjNWZjNjg1ZDI1IiB4bXBNTTpPcmlnaW5hbERvY3VtZW50SUQ9InhtcC5kaWQ6MDA3NTFhODMtYTQ1MC02ZTRiLTlkM2MtMGEwMWZlNGRhOGUyIiBkYzpmb3JtYXQ9ImltYWdlL3BuZyIgcGhvdG9zaG9wOkNvbG9yTW9kZT0iMyIgcGhvdG9zaG9wOklDQ1Byb2ZpbGU9InNSR0IgSUVDNjE5NjYtMi4xIj4gPHhtcE1NOkhpc3Rvcnk+IDxyZGY6U2VxPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0iY3JlYXRlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDowMDc1MWE4My1hNDUwLTZlNGItOWQzYy0wYTAxZmU0ZGE4ZTIiIHN0RXZ0OndoZW49IjIwMjAtMDQtMjFUMTg6MzM6MjErMDU6MzAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyMS4xIChXaW5kb3dzKSIvPiA8cmRmOmxpIHN0RXZ0OmFjdGlvbj0ic2F2ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6NDEzZTg4ZTItMDYzMy01YzRlLWFjMzItZmYwNGYwOTM4NDE0IiBzdEV2dDp3aGVuPSIyMDIwLTA0LTIxVDE4OjMzOjIxKzA1OjMwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjEuMSAoV2luZG93cykiIHN0RXZ0OmNoYW5nZWQ9Ii8iLz4gPC9yZGY6U2VxPiA8L3htcE1NOkhpc3Rvcnk+IDx4bXBNTTpJbmdyZWRpZW50cz4gPHJkZjpCYWc+IDxyZGY6bGkgc3RSZWY6bGlua0Zvcm09IlJlZmVyZW5jZVN0cmVhbSIgc3RSZWY6ZmlsZVBhdGg9ImNsb3VkLWFzc2V0Oi8vY2MtYXBpLXN0b3JhZ2UuYWRvYmUuaW8vYXNzZXRzL2Fkb2JlLWxpYnJhcmllcy84ZTU2NjQxZi1lM2U5LTQ4OWQtOWI1Ny0wZGVlMGFhY2VmOTY7bm9kZT1kMjgxMWM2YS02MjFiLTQ2MmYtOTdhMi0yMzYz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',\r\n AppIcon = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAABAAAAAQACAYAAAB/HSuDAAAAAXNSR0IArs4c6QAAAERlWElmTU0AKgAAAAgAAYdpAAQAAAABAAAAGgAAAAAAA6ABAAMAAAABAAEAAKACAAQAAAABAAAEAKADAAQAAAABAAAEAAAAAADT3eodAABAAElEQVR4AezdCZheZXkw/mdmMpNkMtlXEgiRHQQEUUFQqyJqURDrWrXu7WftolVrl6/L5df26/e31VZba6tii6h1rSiIiqACyi4gSMKekH3PJDOZffmfMwEkkGS2d3nOeX7nut5rMvO+7zn3/bsPzLz3ec7zNAxnW7ARIECAAAECBAgQIECAAAECpRZoLHV2kiNAgAABAgQIECBAgAABAgRGBDQAnAgECBAgQIAAAQIECBAgQCABAQ2ABIosRQIECBAgQIAAAQIECBAgoAHgHCBAgAABAgQIECBAgAABAgkIaAAkUGQpEiBAgAABAgQIECBAgAABDQDnAAECBAgQIECAAAECBAgQSEBAAyCBIkuRAAECBAgQIECAAAECBAhoADgHCBAgQIAAAQIECBAgQIBAAgIaAAkUWYoECBAgQIAAAQIECBAgQEADwDlAgAABAgQIECBAgAABAgQSENAASKDIUiRAgAABAgQIECBAgAABAhoAzgECBAgQIECAAAECBAgQIJCAgAZAAkWWIgECBAgQIECAAAECBAgQ0ABwDhAgQIAAAQIECBAgQIAAgQQENAASKLIUCRAgQIAAAQIECBAgQICABoBzgAABAgQIECBAgAABAgQIJCCgAZBAkaVIgAABAgQIECBAgAABAgQ0AJwDBAgQIECAAAECBAgQIEAgAQENgASKLEUCBAgQIECAAAECBAgQIKAB4BwgQIAAAQIECBAgQIAAAQIJCGgAJFBkKRIgQIAAAQIECBAgQIAAAQ0A5wABAgQIECBAgAABAgQIEEhAQAMggSJLkQABAgQIECBAgAABAgQIaAA4BwgQIECAAAECBAgQIECAQAICGgAJFFmKBAgQIECAAAECBAgQIEBAA8A5QIAAAQIECBAgQIAAAQIEEhDQAEigyFIkQIAAAQIECBAgQIAAAQIaAM4BAgQIECBAgAABAgQIECCQgIAGQAJFliIBAgQIECBAgAABAgQIENAAcA4QIECAAAECBAgQIECAAIEEBDQAEiiyFAkQIECAAAECBAgQIECAgAaAc4AAAQIECBAgQIAAAQIECCQgoAGQQJGlSIAAAQIECBAgQIAAAQIENACcAwQIECBAgAABAgQIECBAIAEBDYAEiixFAgQIECBAgAABAgQIECCgAeAcIECAAAECBAgQIECAAAECCQhoACRQZCkSIECAAAECBAgQIECAAAENAOcAAQIECBAgQIAAAQIECBBIQEADIIEiS5EAAQIECBAgQIAAAQIECGgAOAcIECBAgAABAgQIECBAgEACAhoACRRZigQIECBAgAABAgQIECBAQAPAOUCAAAECBAgQIECAAAECBBIQ0ABIoMhSJECAAAECBAgQIECAAAECGgDOAQIECBAgQIAAAQIECBAgkICABkACRZYiAQIECBAgQIAAAQIECBDQAHAOECBAgAABAgQIECBAgACBBAQ0ABIoshQJECBAgAABAgQIECBAgIAGgHOAAAECBAgQIECAAAECBAgkIKABkECRpUiAAAECBAgQIECAAAECBDQAnAMECBAgQIAAAQIECBAgQCABAQ2ABIosRQIECBAgQIAAAQIECBAgoAHgHCBAgAABAgQIECBAgAABAgkIaAAkUGQpEiBAgAABAgQIECBAgAABDQDnAAECBAgQIECAAAECBAgQSEBAAyCBIkuRAAECBAgQIECAAAECBAhoADgHCBAgQIAAAQIECBAgQIBAAgIaAAkUWYoECBAgQIAAAQIECBAgQEADwDlAgAABAgQIECBAgAABAgQSENAASKDIUiRAgAABAgQIECBAgAABAhoAzgECBAgQIECAAAECBAgQIJCAgAZAAkWWIgECBAgQIECAAAECBAgQ0ABwDhAgQIAAAQIECBAgQIAAgQQENAASKLIUCRAgQIAAAQIECBAgQICABoBzgAABAgQIECBAgAABAgQIJCCgAZBAkaVIgAABAgQIECBAgAABAgQ0AJwDBAgQIECAAAECBAgQIEAgAQENgASKLEUCBAgQIECAAAECBAgQIKAB4BwgQIAAAQIECBAgQIAAAQIJCGgAJFBkKRIgQIAAAQIECBAgQIAAAQ0A5wABAgQIECBAgAABAgQIEEhAQAMggSJLkQABAgQIECBAgAABAgQIaAA4BwgQIECAAAECBAgQIECAQAICGgAJFFmKBAgQIECAAAECBAgQIEBAA8A5QIAAAQIECBAgQIAAAQIEEhDQAEigyFIkQIAAAQIECBAgQIAAAQIaAM4BAgQIECBAgAABAgQIECCQgIAGQAJFliIBAgQIECBAgAABAgQIENAAcA4QIECAAAECBAgQIECAAIEEBDQAEiiyFAkQIECAAAECBAgQIECAgAaAc4AAAQIECBAgQIAAAQIECCQgoAGQQJGlSIAAAQIECBAgQIAAAQIENACcAwQIECBAgAABAgQIECBAIAEBDYAEiixFAgQIECBAgAABAgQIECCgAeAcIECAAAECBAgQIECAAAECCQhoACRQZCkSIECAAAECBAgQIECAAAENAOcAAQIECBAgQIAAAQIECBBIQEADIIEiS5EAAQIECBAgQIAAAQIECGgAOAcIECBAgAABAgQIECBAgEACAhoACRRZigQIECBAgAABAgQIECBAQAPAOUCAAAECBAgQIECAAAECBBIQ0ABIoMhSJECAAAECBAgQIECAAAECGgDOAQIECBAgQIAAAQIECBAgkICABkACRZYiAQIECBAgQIAAAQIECBDQAHAOECBAgAABAgQIECBAgACBBAQ0ABIoshQJECBAgAABAgQIECBAgIAGgHOAAAECBAgQIECAAAECBAgkIKABkECRpUiAAAECBAgQIECAAAECBDQAnAMECBAgQIAAAQIECBAgQCABAQ2ABIosRQIECBAgQIAAAQIECBAgoAHgHCBAgAABAgQIECBAgAABAgkIaAAkUGQpEiBAgAABAgQIECBAgAABDQDnAAECBAgQIECAAAECBAgQSEBAAyCBIkuRAAECBAgQIECAAAECBAhoADgHCBAgQIAAAQIECBAgQIBAAgIaAAkUWYoECBAgQIAAAQIECBAgQEADwDlAgAABAgQIECBAgAABAgQSENAASKDIUiRAgAABAgQIECBAgAABAhoAzgECBAgQIECAAAECBAgQIJCAgAZAAkWWIgECBAgQIECAAAECBAgQ0ABwDhAgQIAAAQIECBAgQIAAgQQENAASKLIUCRAgQIAAAQIECBAgQICABoBzgAABAgQIECBAgAABAgQIJCCgAZBAkaVIgAABAgQIECBAgAABAgQ0AJwDBAgQIECAAAECBAgQIEAgAQENgASKLEUCBAgQIECAAAECBAgQIKAB4BwgQIAAAQIECBAgQIAAAQIJCGgAJFBkKRIgQIAAAQIECBAgQIAAAQ0A5wABAgQIECBAgAABAgQIEEhAQAMggSJLkQABAgQIECBAgAABAgQIaAA4BwgQIECAAAECBAgQIECAQAICGgAJFFmKBAgQIECAAAECBAgQIEBAA8A5QIAAAQIECBAgQIAAAQIEEhDQAEigyFIkQIAAAQIECBAgQIAAAQIaAM4BAgQIECBAgAABAgQIECCQgIAGQAJFliIBAgQIECBAgAABAgQIENAAcA4QIECAAAECBAgQIECAAIEEBDQAEiiyFAkQIECAAAECBAgQIECAgAaAc4AAAQIECBAgQIAAAQIECCQgoAGQQJGlSIAAAQIECBAgQIAAAQIENACcAwQIECBAgAABAgQIECBAIAEBDYAEiixFAgQIECBAgAABAgQIECCgAeAcIECAAAECBAgQIECAAAECCQhoACRQZCkSIECAAAECBAgQIECAAAENAOcAAQIECBAgQIAAAQIECBBIQEADIIEiS5EAAQIECBAgQIAAAQIECGgAOAcIECBAgAABAgQIECBAgEACAhoACRRZigQIECBAgAABAgQIECBAQAPAOUCAAAECBAgQIECAAAECBBIQ0ABIoMhSJECAAAECBAgQIECAAAECGgDOAQIECBAgQIAAAQIECBAgkICABkACRZYiAQIECBAgQIAAAQIECBDQAHAOECBAgAABAgQIECBAgACBBAQ0ABIoshQJECBAgAABAgQIECBAgIAGgHOAAAECBAgQIECAAAECBAgkIKABkECRpUiAAAECBAgQIECAAAECBDQAnAMECBAgQIAAAQIECBAgQCABAQ2ABIosRQIECBAgQIAAAQIECBAgoAHgHCBAgAABAgQIECBAgAABAgkIaAAkUGQpEiBAgAABAgQIECBAgAABDQDnAAECBAgQIECAAAECBAgQSEBAAyCBIkuRAAECBAgQIECAAAECBAhoADgHCBAgQIAAAQIECBAgQIBAAgIaAAkUWYoECBAgQIAAAQIECBAgQEADwDlAgAABAgQIECBAgAABAgQSENAASKDIUiRAgAABAgQIECBAgAABAhoAzgECBAgQIECAAAECBAgQIJCAgAZAAkWWIgECBAgQIECAAAECBAgQ0ABwDhAgQIAAAQIECBAgQIAAgQQENAASKLIUCRAgQIAAAQIECBAgQICABoBzgAABAgQIECBAgAABAgQIJCCgAZBAkaVIgAABAgQIECBAgAABAgQ0AJwDBAgQIECAAAECBAgQIEAgAQENgASKLEUCBAgQIECAAAECBAgQIKAB4BwgQIAAAQIECBAgQIAAAQIJCGgAJFBkKRIgQIAAAQIECBAgQIAAAQ0A5wABAgQIECBAgAABAgQIEEhAQAMggSJLkQABAgQIECBAgAABAgQIaAA4BwgQIECAAAECBAgQIECAQAICGgAJFFmKBAgQIECAAAECBAgQIEBAA8A5QIAAAQIECBAgQIAAAQIEEhDQAEigyFIkQIAAAQIECBAgQIAAAQIaAM4BAgQIECBAgAABAgQIECCQgIAGQAJFliIBAgQIECBAgAABAgQIENAAcA4QIECAAAECBAgQIECAAIEEBDQAEiiyFAkQIECAAAECBAgQIECAgAaAc4AAAQIECBAgQIAAAQIECCQgoAGQQJGlSIAAAQIECBAgQIAAAQIENACcAwQIECBAgAABAgQIECBAIAEBDYAEiixFAgQIECBAgAABAgQIECCgAeAcIECAAAECBAgQIECAAAECCQhoACRQZCkSIECAAAECBAgQIECAAAENAOcAAQIECBAgQIAAAQIECBBIQEADIIEiS5EAAQIECBAgQIAAAQIECGgAOAcIECBAgAABAgQIECBAgEACAhoACRRZigQIECBAgAABAgQIECBAQAPAOUCAAAECBAgQIECAAAECBBIQ0ABIoMhSJECAAAECBAgQIECAAAECGgDOAQIECBAgQIAAAQIECBAgkICABkACRZYiAQIECBAgQIAAAQIECBDQAHAOECBAgAABAgQIECBAgACBBAQ0ABIoshQJECBAgAABAgQIECBAgIAGgHOAAAECBAgQIECAAAECBAgkIKABkECRpUiAAAECBAgQIECAAAECBDQAnAMECBAgQIAAAQIECBAgQCABAQ2ABIosRQIECBAgQIAAAQIECBAgoAHgHCBAgAABAgQIECBAgAABAgkIaAAkUGQpEiBAgAABAgQIECBAgAABDQDnAAECBAgQIECAAAECBAgQSEBAAyCBIkuRAAECBAgQIECAAAECBAhoADgHCBAgQIAAAQIECBAgQIBAAgIaAAkUWYoECBAgQIAAAQIECBAgQEADwDlAgAABAgQIECBAgAABAgQSENAASKDIUiRAgAABAgQIECBAgAABAhoAzgECBAgQIECAAAECBAgQIJCAgAZAAkWWIgEC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AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIEAJOfysAAAFdUlEQVSAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBAgQIAAAQIlENAAKEGRpUiAAAECBAgQIECAAAECBDQAHAMECBAgQIAAAQIECBAgQKAEAhoAJSiyFAkQIECAAAECBAgQIECAgAaAY4AAAQIECBAgQIAAAQIECJRAQAOgBEWWIgECBAgQIECAAAECBAgQ0ABwDBAgQIAAAQIECBAgQIAAgRIIaACUoMhSJECAAAECBAgQIECAAAECGgCOAQIECBAgQIAAAQIECBAgUAIBDYASFFmKBAgQIECAAAECBAgQIEBAA8AxQIAAAQIECBAgQIAAAQIESiCgAVCCIkuRAAECBAgQIECAAAECBAhoADgGCBAgQIAAAQIECBAgQIBACQQ0AEpQZCkSIECAAAECBAgQIECAAAENAMcAAQIECBAgQIAAAQIECBAogYAGQAmKLEUCBAgQIECAAAECBAgQIKAB4BggQIAAAQIECBD4/+3YMQEAAACCsP6tCcIiOL0kQIAAAQIDAQfAoGQRCRAgQIAAAQIECBAgQICAA8AGCBAgQIAAAQIECBAgQIDAQMABMChZRAIECBAgQIAAAQIECBAg4ACwAQIECBAgQIAAAQIECBAgMBBwAAxKFpEAAQIECBAgQIAAAQIECDgAbIAAAQIECBAgQIAAAQIECAwEHACDkkUkQIAAAQIECBAgQIAAAQIBH9kIKO7T2gMAAAAASUVORK5CYII=',\r\n SplashScreenPortrait = 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADwAAABQCAYAAABFyhZTAAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAAIXSURBVHgB7Zo5TwJREMfH2zUeeMSrEbC0wIRSEymwNGpBaeAbQGcprR18AtHagkRLC0ywJEJhYYNUEDUGMEbAA2VeFHcXAtWQOMwv2YR3FPx4/3n72GwP7N9+QRfRC12GCHNHhLkjwtwRYe6IMHdEmDsizB0R5o4Ic0eEuSPC3BFh7ogwd0SYOyLMna4T7ocOYRnuhQ27BhatDzL5d0hlK1AoV9WY1zlen4djl+kSUEEubJ0cgCPPHLjsIw1jkUQRwvECRDzzhj5KYdJIOxaH4Nq/1FQW8TknYEIzfoVCqQqUkAnjykb3FlWUW4ER1/MbcyrIIu1ftyhpPaF4HlK5N3AsDMLOyqjqM89J5ipACZmwOcaBswcIXxXqbfyMm5XLphnmJbNloIQs0qsLQ4a2XhbB3fg48Qyu5b8fBle3+F9r2FyLzWrZ6xwz9EdvXmD7J+pUkAmbo3mwOW1oo2zQPWPoi6Vfa6WgASVkNRzBuOrqOLA2qWIeq91jUcpc48GLJ3WbAqB9MZBshbE+zTsuSgbd0w2yWM94+XQnLipIDx67J1kl0gqMPu7goa1Z6ASkwihrO7yDwPljgzhuairGp/c12Tl1wsrkP9RFSU8n36bFHdk6NViT+2y78lR07N8SgqtKfbBohzwA4I4Ic0eEuSPC3BFh7ogwd0SYOyLMHRHmjghzR4S5I8LcEWHuiDB3RJg7IsydbzBWoyaQjqciAAAAAElFTkSuQmCC',\r\n SplashScreenPortraitHDPI = 'data:image/png;base64,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',\r\n SplashScreenPortraitXHDPI = 'data:image/png;base64,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',\r\n SplashScreenPortraitXXHDPI = 'data:image/png;base64,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',\r\n}\r\n","import { FlexBox, StackPanel } from '@agilepoint/wat-react-ux';\r\nimport styled from 'styled-components';\r\n\r\nexport const UncheckedState = styled.span<{ $isActive: boolean, $size?: string }>`\r\n width: ${({ $size }) => $size ?? '12px'};\r\n height: ${({ $size }) => $size ?? '12px'};\r\n border: ${({ $isActive }) => ($isActive ? '2px' : '1px')} solid ${({ $isActive, theme: { mobileAppAccelerator: { semanticColors } } }) => ($isActive ? semanticColors.wizard.activeStepColor : semanticColors.grayVariant2)};\r\n border-radius: 30px;\r\n`;\r\n\r\nexport const ScrollableStackPanel = styled(StackPanel)`\r\n overflow-y: auto;\r\n`;\r\n\r\nexport const SectionLabel = styled(FlexBox).attrs({ justifyContent: 'center', alignItems: 'center', width: '100%' })`\r\n height: ${({ height }) => height ?? '30px'};\r\n color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant3};\r\n background-color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant6};\r\n border-radius: ${({ theme: { semantics: { borderRadius } } }) => borderRadius.curvedMedium};\r\n`;\r\n\r\nexport const FooterBlock = styled(FlexBox)`\r\n border-top: 1px solid ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant5};\r\n padding-top: 20px;\r\n box-sizing: border-box;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { FlexBox, ListView, StackPanel, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { CheckboxField } from '@agilepoint/wat-react-ux-form-fields';\r\nimport { SectionLabel } from './common-styles';\r\nimport { RadioGroupField } from 'common';\r\n\r\nexport const AppListOptionsWrapper = styled(SectionLabel)`\r\n padding: 12px;\r\n box-sizing: border-box;\r\n height: 75px;\r\n`;\r\n\r\nexport const StyledRadioGroupField = styled(RadioGroupField)`\r\n color: ${({ theme: { semantics: { palette } } }) => palette.neutralPrimary};\r\n .ap-radioGroup-wrapper {\r\n width: 100%;\r\n }\r\n .ap-radioGroup-options-wrapper {\r\n flex-direction: column;\r\n gap: 15px;\r\n flex-wrap: unset;\r\n width: 100%;\r\n }\r\n .ap-radioButton-wrapper {\r\n margin: 0 !important;\r\n }\r\n\r\n .ap-radiobutton {\r\n display: flex;\r\n .ap-radioButton-label {\r\n ${typographyPresets.textStyles.small}\r\n width: calc(100% - 20px);\r\n display: block;\r\n }\r\n }\r\n`;\r\n\r\nexport const StyledListView = styled(ListView)`\r\n border: none !important;\r\n height: calc(100% - 40px);\r\n .ap-listView-itemContentWrapper {\r\n border-color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant5};\r\n margin-right: ${({ theme: { semantics: { gap} } }) => gap.xxxxl};\r\n width: calc(100% - 30px);\r\n border-right: 0px;\r\n }\r\n`;\r\n\r\nexport const AppSelecionWrapper = styled(FlexBox) <{ $padding?: string }>`\r\n border: 1px solid ${({ theme: { mobileAppAccelerator: { semanticColors: { wizard } } } }) => wizard.stepSeparatorColor};\r\n padding: ${({ $padding }) => $padding ?? '0px 0px 0px 30px'};\r\n box-sizing: border-box;\r\n border-radius: 6px;\r\n`;\r\n\r\nexport const AppSelectionHeaderWrapper = styled(StackPanel)`\r\n color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant2};\r\n`;\r\n\r\nexport const StyledCheckboxField = styled(CheckboxField)`\r\n .ap-checkbox {\r\n background-color: ${({ disabled, theme }) => (disabled && theme.mobileAppAccelerator.semanticColors.grayVariant4)};\r\n border-color: ${({ disabled, theme }) => (disabled && theme.mobileAppAccelerator.semanticColors.grayVariant4)};\r\n opacity: unset;\r\n }\r\n .ap-icon {\r\n fill: #fff;\r\n }\r\n`;\r\n","import styled from 'styled-components';\r\nimport { Icon, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\n\r\nexport const Label = styled(Typography.Medium) <{ $isActive: boolean, $checked: boolean }>`\r\n color: ${({ $isActive, $checked, theme: { mobileAppAccelerator: { semanticColors }, semantics } }) => {\r\n const uncheckedStyles = $isActive ? semanticColors.wizard.activeStepColor : semanticColors.grayVariant2;\r\n return $checked ? semantics.palette.neutralPrimary : uncheckedStyles;\r\n }}; \r\n`;\r\n\r\nexport const CompletedStepIcon = styled(Icon) <{ $checked: boolean }>`\r\n fill: ${({ theme, $checked }) => $checked && theme.mobileAppAccelerator.semanticColors.wizard.checkedStepColor};\r\n`;\r\n\r\nexport const HeaderWrapper = styled(StackPanel)`\r\n padding: 0 16px;\r\n box-sizing: border-box;\r\n`;\r\n","import styled from 'styled-components';\r\nimport { FlexBox, StackPanel, typographyPresets } from '@agilepoint/wat-react-ux';\r\nimport { CheckboxGroupField, commonStyles, RadioGroupField } from 'common';\r\n\r\nexport const PlatformTypeWrapper = styled(StackPanel) <{ $isSelected: boolean | 'intermediate' }>`\r\n width: 370px;\r\n min-height: 224px;\r\n max-height: 100%;\r\n padding: 25px 30px 30px 30px;\r\n margin: 0 !important;\r\n box-sizing: border-box;\r\n border: ${({ $isSelected }) => ($isSelected ? '1px solid #F1F2F4' : 'none')};\r\n box-shadow: ${({ $isSelected }) => ($isSelected ? '0px 5px 15px rgba(0, 0, 0, 0.0688374)' : 'none')};\r\n background-color: ${({ theme: { mobileAppAccelerator: { semanticColors }, semantics }, $isSelected }) => ($isSelected ? semantics.palette.white : semanticColors.grayVariant6)}; \r\n border-radius: 26px;\r\n overflow-y: auto;\r\n overflow-x: hidden;\r\n position: relative;\r\n ${commonStyles.boldTextLabel};\r\n ${commonStyles.outlineColor};\r\n\r\n .ap-checkmark-container {\r\n position: absolute;\r\n top: 25px;\r\n right: 25px;\r\n margin-bottom: 0px;\r\n }\r\n :hover{\r\n box-shadow: 0px 5px 15px rgba(0, 0, 0, 0.0688374);\r\n background: ${({ theme }) => theme.semantics.palette.white};\r\n border: 1px solid ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant5};\r\n }\r\n`;\r\n\r\nexport const PlatformSelectionFields = styled(CheckboxGroupField)`\r\n width: auto;\r\n max-height: calc(100% - 97px);\r\n\r\n .ap-checkboxGroup-options {\r\n gap: 30px;\r\n align-items: flex-start;\r\n }\r\n\r\n .ap-checkboxGroup, .ap-checkboxGroup-options {\r\n height: 100%;\r\n }\r\n`;\r\n\r\nexport const BuildDetailsFields = styled(RadioGroupField)`\r\n margin-bottom: 25px !important;\r\n .ap-radioGroup-options-wrapper {\r\n gap: 15px;\r\n }\r\n .ap-radioButton-wrapper {\r\n margin: 0 !important;\r\n }\r\n .ap-radioButton-label {\r\n ${typographyPresets.textStyles.small};\r\n }\r\n`;\r\n\r\nexport const RelativePositionedFlexbox = styled(FlexBox)`\r\n position: relative;\r\n width:100%;\r\n .ap-helpicon-wrapper {\r\n position: absolute;\r\n right: 0px;\r\n }\r\n .ap-textbox-wrapper {\r\n padding:0px;\r\n .ap-textbox{\r\n padding:0 16px !important;\r\n }\r\n }\r\n .ap-file-upload-field {\r\n height: 100%;\r\n }\r\n`;\r\n","import styled, { createGlobalStyle } from 'styled-components';\r\nimport { FlexBox, StackPanel, Typography } from '@agilepoint/wat-react-ux';\r\nimport { commonStyles } from 'common';\r\nimport { DropdownField } from '@agilepoint/wat-react-ux-form-fields';\r\n\r\n\r\nexport const BasicSettingsGlobalStyle = createGlobalStyle`\r\n .core-app-content-area {\r\n overflow-y: hidden;\r\n }\r\n`;\r\n\r\nexport const FieldWrapper = styled(FlexBox)`\r\n position: relative;\r\n\r\n .ap-helpicon-wrapper {\r\n position: absolute;\r\n right: 0;\r\n }\r\n`;\r\n\r\nexport const BasicSettingsWrapper = styled(StackPanel)` \r\n ${commonStyles.boldTextLabel};\r\n padding-right: 10px;\r\n`;\r\n\r\nexport const StyledDropdownField = styled(DropdownField)`\r\n .ap-dropdown-field {\r\n padding: 0px 15px;\r\n }\r\n`;\r\n\r\nexport const TextAreaWrapper = styled.div`\r\n position: relative;\r\n width: 100%;\r\n`;\r\n\r\nexport const TextCounter = styled(Typography.Small)`\r\n position: absolute;\r\n bottom: 8px;\r\n right: 10px;\r\n color: ${(props) => props.theme.mobileAppAccelerator.semanticColors.grayVariant2};\r\n`;\r\n","export enum DefaultAppSettingsEndPoints {\r\n CLEAR_APP_LIST = 'DeleteApplicationList/ApplicationList_',\r\n}\r\n\r\nexport enum DefaultAppSettingsReactQueryKey {\r\n CLEAR_APP_LIST = 'CLEAR_APP_LIST'\r\n}\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner, getCurrentDate, ErrorInfo } from 'common';\r\nimport { useGetCompanyDetailsQuery, useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { CompanyDetails, ICompanyDetailsFormFields } from '../components';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\n\r\nexport const CompanyDetailsContainer = React.memo(() => {\r\n const { data, isLoading, isFetching, error } = useGetCompanyDetailsQuery();\r\n const { mutateAsync, isLoading: mutationLoading } = useSaveTextDataQuery();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const translate = useTranslate();\r\n\r\n const onSaveCompanyDetails = React.useCallback((formData: ICompanyDetailsFormFields) => mutateAsync({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n CreatedDate: getCurrentDate(),\r\n ELEMENTID: '',\r\n SecondaryReference: `CompanyDetails_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n TextData: JSON.stringify({\r\n CompanyInfoEmail: { Content: formData.companyInfoEmail },\r\n CompanyName: { Content: formData.companyName },\r\n CompanySupportEmail: { Content: formData.companySupportEmail },\r\n CompanyWebsite: { Content: formData.companyWebsite },\r\n CopyrightInfo: { Content: formData.copyrightInfo },\r\n EULALink: { Content: formData.eulaLink },\r\n EULAText: { Content: formData.eulaText }\r\n })\r\n }), [currentUserDetails.userName, mutateAsync]);\r\n\r\n if (isLoading || isFetching) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData } = data;\r\n const compayDetails = TextData ? JSON.parse(TextData) : {};\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner } from 'common/components/centered-spinner';\r\nimport { MenuOptions } from '../components';\r\nimport { useGetMenuOptionsQuery, useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { getCurrentDate, ErrorInfo } from 'common';\r\nimport { IMenuOptionsFormFields } from 'modules/shared/types';\r\n\r\nexport const MenuOptionsContainer = React.memo(() => {\r\n const { data, isLoading, isFetching, error } = useGetMenuOptionsQuery();\r\n const { mutateAsync, isLoading: mutationLoading } = useSaveTextDataQuery();\r\n const translate = useTranslate();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n\r\n const onSaveCompanyDetails = React.useCallback((args: IMenuOptionsFormFields) => mutateAsync({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n CreatedDate: getCurrentDate(),\r\n ELEMENTID: '',\r\n SecondaryReference: `AppMenus_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n TextData: JSON.stringify(args)\r\n }), [currentUserDetails.userName, mutateAsync]);\r\n\r\n if (isLoading || isFetching) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData } = data;\r\n const menuOPtions = TextData ? JSON.parse(TextData) : [];\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { toCamelCasedKeys } from '@agilepoint/utils-common';\r\nimport { useGetAuthenticationSettingsQuery, useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { AuthenticationSettingsResponse } from 'modules/shared/functions';\r\nimport { CenteredSpinner, getCurrentDate, ErrorInfo } from 'common';\r\nimport { Authentication } from '../components';\r\n\r\ninterface IAuthenticationSettingsContainerProps { }\r\n\r\nexport const AuthenticationSettingsContainer = React.memo((props: IAuthenticationSettingsContainerProps) => {\r\n const { data, isLoading, isFetching, error } = useGetAuthenticationSettingsQuery();\r\n const { mutateAsync, isLoading: mutationLoading } = useSaveTextDataQuery();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const translate = useTranslate();\r\n\r\n const onSaveAuthenticationSettingsDetails = React.useCallback((args: AuthenticationSettingsResponse) => mutateAsync({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n CreatedDate: getCurrentDate(),\r\n ELEMENTID: '',\r\n SecondaryReference: `AuthenticationSettings_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n TextData: JSON.stringify(args)\r\n }), [currentUserDetails.userName, mutateAsync]);\r\n\r\n if (isLoading || isFetching) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData } = data;\r\n const authMetadata = TextData ? toCamelCasedKeys(JSON.parse(TextData), true) : {};\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { toCamelCasedKeys } from '@agilepoint/utils-common';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner, ErrorInfo } from 'common';\r\nimport { IGetTextData, useGetApplicationListQuery, useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { AppList } from '../components';\r\ninterface IAppListContianerProps {\r\n}\r\n\r\nexport const AppListContainer = React.memo((props: IAppListContianerProps) => {\r\n const { data, isLoading, isFetching, error } = useGetApplicationListQuery();\r\n const { mutateAsync, isLoading: mutationLoading } = useSaveTextDataQuery();\r\n const translate = useTranslate();\r\n const onSaveAppListDetails = React.useCallback((args: IGetTextData) => mutateAsync(args), [mutateAsync]);\r\n\r\n if (isLoading || isFetching) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData, ...rest } = data;\r\n const appList = JSON.parse(TextData);\r\n // NOTE: For backward compactability we are reading ApplicationList props, in previous releases ApplicationList is saving in api, to support this we are reading ApplicationList props.\r\n const applicationLists = appList.ApplicationList ? appList.ApplicationList : appList;\r\n const appMetadata = applicationLists.map((item: any) => toCamelCasedKeys(item));\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { useMutation } from 'react-query';\r\nimport { useServiceClient } from 'common';\r\nimport { DefaultAppSettingsEndPoints, DefaultAppSettingsReactQueryKey } from './query-enum';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\n\r\nexport const useClearAppListQuery = () => {\r\n const { postData } = useServiceClient();\r\n const { selectCurrentUserDetails } = useConfigScopeSelectors();\r\n const currentUserDetails = selectCurrentUserDetails();\r\n\r\n const clearAppList = React.useCallback(() => postData(`${DefaultAppSettingsEndPoints.CLEAR_APP_LIST}${currentUserDetails.userName.replace(/\\\\/g, '_')}`).then((res) => res), [currentUserDetails.userName, postData]);\r\n return useMutation(DefaultAppSettingsReactQueryKey.CLEAR_APP_LIST, clearAppList);\r\n};\r\n","import React from 'react';\r\nimport { ClearList } from '../components';\r\nimport { useClearAppListQuery } from '../queries';\r\nimport { Spinner } from '@agilepoint/wat-react-ux';\r\n\r\ninterface IClearAppListContianerProps {\r\n onClearInternalState: () => void;\r\n}\r\n\r\nexport const ClearAppListContainer = React.memo((props: IClearAppListContianerProps) => {\r\n const { mutateAsync, isLoading } = useClearAppListQuery();\r\n\r\n if (isLoading) {\r\n return ;\r\n }\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { useGetAppTheme, useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { StylingResponseType } from 'modules/shared/functions';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { CenteredSpinner, getCurrentDate, ErrorInfo } from 'common';\r\nimport { Styling } from '../components';\r\n\r\nexport const StylingContainer = () => {\r\n const { data, isLoading, isFetching, error } = useGetAppTheme();\r\n const { mutateAsync, isLoading: mutationLoading } = useSaveTextDataQuery();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const translate = useTranslate();\r\n\r\n const onSaveStylingDetails = React.useCallback((args: StylingResponseType) => mutateAsync({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n ELEMENTID: '',\r\n SecondaryReference: `AppTheme_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n CreatedDate: getCurrentDate(),\r\n TextData: JSON.stringify(args)\r\n }), [currentUserDetails.userName, mutateAsync]);\r\n\r\n if (isLoading || isFetching) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData } = data;\r\n const styleData = TextData ? JSON.parse(data.TextData) : {};\r\n\r\n return (\r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n","import { useCallback } from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { IBinaryDataPayload, useSaveBinaryDataQuery, useGetGlobalAppImageQuery, useGetUploadedImagesQuery, useSaveTextDataQuery, useGetAppTheme } from 'modules/shared/queries';\r\nimport { CenteredSpinner, getCurrentDate, ErrorInfo } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { UploadImages } from '../components';\r\nimport { IStyleAPIData } from 'modules/shared/types';\r\n\r\ninterface IUploadImagesContainerProps { }\r\n\r\nexport const UploadImagesContainer = (props: IUploadImagesContainerProps) => {\r\n const { data: appTheme, isLoading: isAppThemeLoading, isFetching: isAppthemeFeatching } = useGetAppTheme();\r\n const { data, isLoading, isFetching, error } = useGetGlobalAppImageQuery();\r\n const { data: imageData, isLoading: imageDataLoading } = useGetUploadedImagesQuery(data?.TextData ? JSON.parse(JSON.parse(data?.TextData)) : undefined);\r\n const { mutateAsync, isLoading: binaryDataMutationLoading } = useSaveBinaryDataQuery();\r\n const { mutateAsync: saveTextDataMutation, isLoading: saveDataMutationLoading } = useSaveTextDataQuery();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const translate = useTranslate();\r\n\r\n const onSaveBinaryData = useCallback(async (binaryDataPayload: IBinaryDataPayload[]) => {\r\n const ids = await Promise.all(binaryDataPayload.map((payload) => mutateAsync(payload)));\r\n return saveTextDataMutation({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n ELEMENTID: '',\r\n SecondaryReference: `GlobalAppImages_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n CreatedDate: getCurrentDate(),\r\n TextData: JSON.stringify(JSON.stringify(ids.map((id, index) => ({ ID: id.SaveBinaryDataResult, Name: binaryDataPayload[index].FileName })))) //API does not accept single time stringified data\r\n });\r\n }, [currentUserDetails.userName, mutateAsync, saveTextDataMutation]);\r\n\r\n if (isLoading || imageDataLoading || isFetching || isAppThemeLoading || isAppthemeFeatching) {\r\n return ;\r\n\r\n }\r\n if (imageData && appTheme) {\r\n const { TextData } = appTheme;\r\n const styleData:IStyleAPIData = TextData ? JSON.parse(appTheme.TextData) : {};\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n};\r\n","import React from 'react';\r\nimport { CenteredSpinner } from 'common/components/centered-spinner';\r\nimport { useGetNotificationListQuery, useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { getCurrentDate, ErrorInfo } from 'common';\r\nimport { NotificationList } from '../components';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\n\r\nexport const NotificationsListContainer = React.memo(() => {\r\n const { data, isLoading, isFetching, error } = useGetNotificationListQuery();\r\n const { mutateAsync, isLoading: mutationLoading } = useSaveTextDataQuery();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const translate = useTranslate();\r\n\r\n const onSaveNotificationListDetails = React.useCallback((recepients: string) => mutateAsync({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n ELEMENTID: '',\r\n SecondaryReference: `NotificationList_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n CreatedDate: getCurrentDate(),\r\n TextData: JSON.stringify(recepients)\r\n }), [currentUserDetails.userName, mutateAsync]);\r\n\r\n if (isLoading || isFetching) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData } = data;\r\n const parsedTextData = JSON.parse(TextData);\r\n const notificationData = parsedTextData.length ? parsedTextData.split(',') : [];\r\n const notificationList = TextData ? notificationData : [];\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { ResetButton, useDefaultSettingsContext } from '../components';\r\nimport { getCurrentDate } from 'common';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { useQueryClient } from 'react-query';\r\nimport { SharedReactQueryKey } from 'modules/shared/queries/query-enum';\r\n\r\nconst getCommonPayloadData = () => ({\r\n 'BinaryData': [],\r\n 'ContentType': 'json',\r\n 'CreatedDate': getCurrentDate(),\r\n 'ELEMENTID': ''\r\n});\r\n\r\nexport const useDefaultSettingsPayload = () => {\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n const companyDetails = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `CompanyDetails_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': '{\"CompanyName\":{\"Content\":\"\"},\"CompanyWebsite\":{\"Content\":\"\"},\"CompanySupportEmail\":{\"Content\":\"\"},\"CompanyInfoEmail\":{\"Content\":\"\"},\"CopyrightInfo\":{\"Content\":\"\"}}'\r\n });\r\n const authenticationSettings = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `AuthenticationSettings_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': JSON.stringify({\r\n 'ServerConfiguration': {\r\n 'DevelopmentServerInstanceUrl': '',\r\n 'StagingServerInstanceUrl': '',\r\n 'ProductionServerInstanceUrl': ''\r\n },\r\n 'SalesforceConfiguration': {\r\n 'ConsumerKey': '',\r\n 'ConsumerSecret': '',\r\n 'isSelected': false\r\n },\r\n 'OfficeConfiguration': {\r\n 'ClientId': '',\r\n 'ReturnURL': '',\r\n 'Resource': '',\r\n 'isSelected': false\r\n },\r\n 'OfficeConfigurationChina': {\r\n 'ClientId': '',\r\n 'ReturnURL': '',\r\n 'Resource': '',\r\n 'isSelected': false\r\n },\r\n 'IdentityServerConfiguration': {\r\n 'ClientId': '',\r\n 'Authority': '',\r\n 'isSelected': false\r\n },\r\n 'OktaConfiguration': {\r\n 'ClientId': '',\r\n 'Authority': '',\r\n 'isSelected': false\r\n },\r\n 'GoogleConfiguration': {\r\n 'ClientId': '',\r\n 'ReturnURL': '',\r\n 'Resource': '',\r\n 'isSelected': false\r\n },\r\n 'ActiveDirectoryConfiguration': {\r\n 'Domain': '',\r\n 'isSelected': false\r\n },\r\n 'AgilePiontNXConfiguration': {\r\n 'isSelected': true\r\n },\r\n 'PingFederateConfiguration': {\r\n 'ClientId': '',\r\n 'Authority': '',\r\n 'UsernameClaimType': '',\r\n 'isSelected': false\r\n },\r\n 'AmazonCognitoConfiguration': {\r\n 'ClientId': '',\r\n 'Authority': '',\r\n 'UserImpersonationScopeURL': '',\r\n 'isSelected': false\r\n },\r\n 'defaultConfig': 'AgilePiontNXConfiguration'\r\n })\r\n });\r\n const applicationListSettings = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `ApplicationList_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': '[]'\r\n });\r\n const notificationListSettings = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `NotificationList_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': JSON.stringify('')\r\n });\r\n const appMenusSettings = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `AppMenus_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': JSON.stringify({\r\n locales: 'default',\r\n menuOptions: {\r\n default: {\r\n 'MyApps': { 'fieldValue': 'My Apps', 'isEnabled': true },\r\n 'MyTasks': { 'fieldValue': 'My Tasks', 'isEnabled': true },\r\n 'Outbox': { 'fieldValue': 'Outbox', 'isEnabled': true },\r\n 'TeamTasks': { 'fieldValue': 'Team Tasks', 'isEnabled': true },\r\n 'PlannedTasks': { 'fieldValue': 'Planned Tasks', 'isEnabled': true },\r\n 'Watchlist': { 'fieldValue': 'Watchlist', 'isEnabled': true },\r\n 'ExternalApps': { 'fieldValue': 'ExternalApps', 'isEnabled': true },\r\n 'ProcessesIStarted': { 'fieldValue': 'Processes I Started', 'isEnabled': true },\r\n 'ProcessesIWorked': { 'fieldValue': 'Processes I\\'ve Worked', 'isEnabled': true },\r\n 'Delegations': { 'fieldValue': 'Delegations', 'isEnabled': true },\r\n 'Settings': { 'fieldValue': 'Settings', 'isEnabled': true },\r\n 'Help': { 'fieldValue': 'Help', 'isEnabled': true },\r\n 'About': { 'fieldValue': 'About', 'isEnabled': true }\r\n }\r\n }\r\n })\r\n });\r\n const appThemeSettings = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `AppTheme_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': JSON.stringify({\r\n 'Blue': { 'isSelected': true },\r\n 'Red': { 'isSelected': false },\r\n 'Green': { 'isSelected': false },\r\n 'Orange': { 'isSelected': false },\r\n 'Custom': { 'isSelected': false },\r\n 'previewImage': 'Blue',\r\n 'backgroundColorCode': '#537db3',\r\n 'menuColorCode': '#1f7cf5',\r\n 'buttonColorCode': '#15437E'\r\n })\r\n });\r\n const globalAppImagesSettings = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `GlobalAppImages_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': '\"[]\"'\r\n });\r\n const pushNotificationsSettings = () => ({\r\n ...getCommonPayloadData(),\r\n 'SecondaryReference': `PushNotifications_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n 'TextData': JSON.stringify({\r\n hostUrl: '',\r\n domain: '',\r\n value1: '',\r\n value2: ''\r\n })\r\n });\r\n const getPayloadDetailsByType = (type?: string) => {\r\n switch (type) {\r\n case 'company-details':\r\n return { companyDetails: companyDetails() };\r\n case 'authentication':\r\n return { authenticationSettings: authenticationSettings() };\r\n case 'app-list':\r\n return { applicationListSettings: applicationListSettings() };\r\n case 'menu-options':\r\n return { appMenusSettings: appMenusSettings() };\r\n case 'styling':\r\n return { appThemeSettings: appThemeSettings() };\r\n case 'upload-images':\r\n return { globalAppImagesSettings: globalAppImagesSettings() };\r\n case 'notification-list':\r\n return { notificationListSettings: notificationListSettings() };\r\n case 'push-notifications':\r\n return { pushNotificationsSettings: pushNotificationsSettings() };\r\n default:\r\n return {\r\n companyDetails: companyDetails(),\r\n authenticationSettings: authenticationSettings(),\r\n applicationListSettings: applicationListSettings(),\r\n appMenusSettings: appMenusSettings(),\r\n appThemeSettings: appThemeSettings(),\r\n globalAppImagesSettings: globalAppImagesSettings(),\r\n notificationListSettings: notificationListSettings(),\r\n pushNotificationsSettings: pushNotificationsSettings()\r\n };\r\n }\r\n };\r\n return { getPayloadDetailsByType };\r\n};\r\n\r\nexport const ResetDefaultSettingsContainer = React.memo(() => {\r\n const { activeTab } = useDefaultSettingsContext();\r\n const { mutateAsync } = useSaveTextDataQuery();\r\n const { mutateAsync: saveAuthenticationSettings } = useSaveTextDataQuery();\r\n const { mutateAsync: saveApplicationListSettings } = useSaveTextDataQuery();\r\n const { mutateAsync: saveNotificationListSettings } = useSaveTextDataQuery();\r\n const { mutateAsync: saveAppMenusSettings } = useSaveTextDataQuery();\r\n const { mutateAsync: saveAppThemeSettings } = useSaveTextDataQuery();\r\n const { mutateAsync: saveGlobalAppImagesSettings } = useSaveTextDataQuery();\r\n const { mutateAsync: savePushNotificationSettings } = useSaveTextDataQuery();\r\n const queryClient = useQueryClient();\r\n const { setDefaultSettingsConfig } = useDefaultSettingsContext();\r\n const { getPayloadDetailsByType } = useDefaultSettingsPayload();\r\n\r\n const invokeQueryInvalidation = React.useCallback(() => {\r\n switch (activeTab) {\r\n case 'company-details':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_COMPANY_DETAILS);\r\n break;\r\n case 'authentication':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_AUTHENTICATION_SETTINGS);\r\n break;\r\n case 'app-list':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_APPLICATION_LIST);\r\n break;\r\n case 'menu-options':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_MENU_OPTIONS);\r\n break;\r\n case 'styling':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_APP_THEME);\r\n break;\r\n case 'upload-images':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_GLOBAL_APP_IMAGE);\r\n break;\r\n case 'notification-list':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_NOTIFICATION_LIST);\r\n break;\r\n case 'push-notifications':\r\n queryClient.invalidateQueries(SharedReactQueryKey.GET_PUSH_NOTIFICAITONS);\r\n break;\r\n default:\r\n }\r\n }, [activeTab, queryClient]);\r\n\r\n const onReset = React.useCallback(async () => {\r\n const { companyDetails, authenticationSettings, applicationListSettings, notificationListSettings,\r\n appMenusSettings, appThemeSettings, globalAppImagesSettings, pushNotificationsSettings } = getPayloadDetailsByType();\r\n\r\n await Promise.all([\r\n mutateAsync(companyDetails!),\r\n saveAuthenticationSettings(authenticationSettings!),\r\n saveApplicationListSettings(applicationListSettings!),\r\n saveNotificationListSettings(notificationListSettings!),\r\n saveAppMenusSettings(appMenusSettings!),\r\n saveAppThemeSettings(appThemeSettings!),\r\n saveGlobalAppImagesSettings(globalAppImagesSettings!),\r\n savePushNotificationSettings(pushNotificationsSettings!)]);\r\n\r\n invokeQueryInvalidation();\r\n setDefaultSettingsConfig({ doesNotIncludesAppListConfig: true, doesNotIncludesNotificationList: true });\r\n\r\n }, [getPayloadDetailsByType, mutateAsync, saveAuthenticationSettings, saveApplicationListSettings,\r\n saveNotificationListSettings, saveAppMenusSettings, saveAppThemeSettings, saveGlobalAppImagesSettings,\r\n savePushNotificationSettings, invokeQueryInvalidation, setDefaultSettingsConfig]);\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { CenteredSpinner } from 'common/components/centered-spinner';\r\nimport { PushNotifications } from '../components';\r\nimport { useGetPushNotificationsQuery, useSaveTextDataQuery } from 'modules/shared/queries';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\nimport { IPushNotificationFormFields } from 'modules/shared/types';\r\nimport { getCurrentDate, ErrorInfo } from 'common';\r\n\r\nexport const PushNotificationsContainer = React.memo(() => {\r\n const { data, isLoading, isFetching, error } = useGetPushNotificationsQuery();\r\n const { mutateAsync, isLoading: mutationLoading } = useSaveTextDataQuery();\r\n const translate = useTranslate();\r\n const currentUserDetails = useConfigScopeSelectors().selectCurrentUserDetails();\r\n\r\n const onSavePushNotificationsDetails = React.useCallback((args: IPushNotificationFormFields) => mutateAsync({\r\n BinaryData: [],\r\n ContentType: 'json',\r\n CreatedDate: getCurrentDate(),\r\n ELEMENTID: '',\r\n SecondaryReference: `PushNotifications_${currentUserDetails.userName.replace(/\\\\/g, '_')}`,\r\n TextData: JSON.stringify(args)\r\n }), [currentUserDetails.userName, mutateAsync]);\r\n\r\n if (isLoading || isFetching) {\r\n return ;\r\n }\r\n\r\n if (data) {\r\n const { TextData } = data;\r\n const pushNotifications = TextData ? JSON.parse(TextData) : [];\r\n\r\n return (\r\n \r\n );\r\n }\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { IAgilePointConfiguration } from '@agilepoint/wat';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\n\r\nclass ServiceClient {\r\n private restURL: string | undefined;\r\n private headers = new Headers();\r\n\r\n constructor(apConfig: IAgilePointConfiguration) {\r\n this.restURL = apConfig.apiUrl;\r\n this.headers.append('Content-Type', 'application/json');\r\n this.headers.append('Authorization', apConfig.auth);\r\n }\r\n\r\n private fetchData = (endPoint: string, init?: Pick, headers?: HeadersInit) => fetch(`${this.restURL}${endPoint}`, {\r\n headers: this.headers,\r\n body: init?.body,\r\n method: init?.method\r\n }).then((res) => {\r\n if (res.status === 200) {\r\n return res;\r\n }\r\n throw new Error(`Something went wrong! Status Code: ${res.status} Message: ${res.statusText}`);\r\n }).catch((err) => {\r\n throw new Error(err);\r\n });\r\n\r\n public getData = (endPoint: string, headers?: HeadersInit) => this.fetchData(endPoint, { method: 'GET' }, headers)\r\n\r\n public postData = (endPoint: string, body?: Object, headers?: HeadersInit) => this.fetchData(endPoint, {\r\n method: 'POST',\r\n body: JSON.stringify(body)\r\n },\r\n headers)\r\n}\r\n\r\nconst arg: Pick = {\r\n getData: (endPoint: string, headers?: HeadersInit) => new Promise((res) => res),\r\n postData: (endPoint: string, body?: Object, headers?: HeadersInit) => new Promise((res) => res)\r\n};\r\n\r\nconst ServiceClientContext = React.createContext(arg);\r\n\r\nexport const ServiceClientProvider = React.memo((props: { children: React.ReactNode }) => {\r\n const { selectAgilePointConfig } = useConfigScopeSelectors();\r\n const apConfig = selectAgilePointConfig();\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n});\r\n\r\nexport const useServiceClient = () => React.useContext(ServiceClientContext);\r\n\r\n\r\n","import { toCamelCase } from '@agilepoint/utils-common';\r\n\r\ninterface ICommonTextDataArgs {\r\n mobileAppName: string | null;\r\n mobileAppVersion: string | null;\r\n mobileAppDescription: string | null;\r\n companyName: string | null;\r\n companyInfoEmail: string | null;\r\n companySupportEmail: string | null;\r\n companyWebsite: string | null;\r\n copyRightInfo: string | null;\r\n defaultLocale: string | null;\r\n}\r\n\r\ninterface IAppXMLData extends ICommonTextDataArgs {\r\n features: {\r\n name: string | null;\r\n enabled: string | null;\r\n displayName: string | null;\r\n isLocalized: string | null;\r\n }[];\r\n styles: {\r\n themeName: string | null;\r\n menuBackgroundColor: string | null;\r\n buttonColor: string | null;\r\n };\r\n mobileAppPlatforms: {\r\n ios: boolean;\r\n android: boolean;\r\n };\r\n appFilters: string;\r\n isNewApp: boolean;\r\n}\r\n\r\nconst dom = new DOMParser();\r\n\r\nconst getFeatures = (args: HTMLCollection) => {\r\n const features = [];\r\n for (const element of args) {\r\n if (element.getAttribute('Enabled') === 'true') {\r\n features.push({\r\n name: element?.getAttribute('Name'),\r\n enabled: element?.getAttribute('Enabled'),\r\n displayName: element?.getAttribute('DisplayName'),\r\n isLocalized: element?.getAttribute('IsLocalized')\r\n });\r\n }\r\n }\r\n return features;\r\n};\r\n\r\nconst getStyles = (appTheme: Element) => {\r\n const themeName = appTheme.getAttribute('ThemeName');\r\n const menuBackgroundColor = appTheme.getAttribute('MenuBackgroundColor');\r\n const buttonColor = appTheme.getAttribute('ButtonColor');\r\n return { themeName, menuBackgroundColor, buttonColor };\r\n};\r\n\r\nconst getMobileAppPlatforms = (mobileApp: Element) => {\r\n const ios = mobileApp.getAttribute('IOS');\r\n const android = mobileApp.getAttribute('Android');\r\n return { ios: ios === 'true', android: android === 'true' };\r\n};\r\n\r\nconst getFilters = (appFilters: Element) => {\r\n const foundAppFilters = [];\r\n const appFilterNodes = (appFilters.getElementsByTagName('ApplicationFilters')[0]);\r\n for (const element of appFilterNodes.children) {\r\n foundAppFilters.push(element.textContent);\r\n }\r\n\r\n return foundAppFilters.join(', ');\r\n};\r\n\r\nconst checkForNewApp = (xml: Document) => {\r\n const res = xml.getElementsByTagName('AuthenticationProviders')[0].getElementsByTagName('AuthProvider');\r\n\r\n const arr = [];\r\n for (const value of res) {\r\n const nameAttributeValue = (value?.attributes?.getNamedItem('Name')!.nodeValue);\r\n arr.push(nameAttributeValue);\r\n }\r\n\r\n return arr.includes('PingFederate') || arr.includes('AmazonCognito');\r\n};\r\n\r\nconst xmlTagNames = ['MobileAppName', 'MobileAppVersion', 'MobileAppDescription', 'CompanyName',\r\n 'CompanyWebsite', 'CompanySupportEmail', 'CompanyInfoEmail', 'CopyRightInfo', 'DefaultLocale'];\r\n\r\nexport const getAppDataFromXML = (xmlStringContent: string): IAppXMLData => {\r\n const xml = dom.parseFromString(xmlStringContent, 'text/xml');\r\n const getTagValue = (tagName: string) => xml.getElementsByTagName(tagName)[0].textContent;\r\n const commonTextData = xmlTagNames.reduce((accumulator, xmlTag) => {\r\n const tagValue = getTagValue(xmlTag);\r\n accumulator[toCamelCase(xmlTag)] = tagValue;\r\n return accumulator;\r\n }, {} as ICommonTextDataArgs);\r\n\r\n const features = getFeatures(xml.getElementsByTagName('MobileAppMenu')[0].children);\r\n\r\n //We are directly reading ApplicationTheme tag attribute value as all the platform values are same (IOS, Android, Windows).\r\n const styles = getStyles(xml.getElementsByTagName('ApplicationTheme')[0]);\r\n\r\n const appFilters = getFilters(xml.getElementsByTagName('MobileAppCommonSettings')[0]);\r\n\r\n const mobileAppPlatforms = getMobileAppPlatforms(xml.getElementsByTagName('MobileAppPlatform')[0]);\r\n\r\n return {\r\n ...commonTextData,\r\n features,\r\n styles: styles,\r\n mobileAppPlatforms: mobileAppPlatforms,\r\n appFilters,\r\n isNewApp: checkForNewApp(xml)\r\n };\r\n};\r\n","export const getCurrentDate = () => `/Date(${Date.now()})/`;\r\n","/* eslint-disable dot-notation */\r\nimport { xml2json } from 'xml-js';\r\nimport { IXMLJSON } from './types';\r\nimport { isArray } from '@agilepoint/utils-common';\r\nimport { IAppFiltersFormFields, IAppMetadata, IBasicSettingsFormFields, IPlatformTypesFormFields } from 'modules/create-new-app/components/app-wizard/steps';\r\nimport { AuthenticationSettingsResponse, StylingResponseType } from 'modules/shared/functions';\r\nimport { IAuthenticationSettingsTextData, IImageMetadata } from 'modules/shared/queries';\r\nimport { IMenuOptionsFormFields, IPushNotificationFormFields, IStylingFormFields, MenuOption, PredefinedColors } from 'modules/shared/types';\r\n\r\nexport const xmlJSONOptions = { compact: true, textKey: 'value', cdataKey: 'cdata', attributesKey: 'attribute', spaces: ' ' };\r\n\r\nexport const getBasicSettingsXMLMappedValues = (xmlJSON: IXMLJSON, formData: IBasicSettingsFormFields, otherProperties: { mobileAppBaseId: string }) => {\r\n const appData = xmlJSON.AppData;\r\n\r\n //Change the basic settings value to 'true'\r\n appData.WizardStepState.BasicSettings.attribute.complete = true;\r\n\r\n //MobileAppCommonSettings\r\n const mobileAppCommonSettings = appData.MobileAppCommonSettings;\r\n\r\n mobileAppCommonSettings.CompanyInfoEmail.cdata = formData.companyInfoEmail;\r\n mobileAppCommonSettings.CompanyName.cdata = formData.companyName;\r\n mobileAppCommonSettings.CompanySupportEmail.cdata = formData.companySupportEmail;\r\n mobileAppCommonSettings.CompanyWebsite.cdata = formData.companyWebsite;\r\n mobileAppCommonSettings.CopyRightInfo.cdata = formData.copyrightInfo;\r\n mobileAppCommonSettings.DefaultLocale.cdata = formData.defaultLocale;\r\n mobileAppCommonSettings.MobileAppDescription.cdata = formData.mobileAppDescription;\r\n mobileAppCommonSettings.MobileAppName.cdata = formData.mobileAppName;\r\n mobileAppCommonSettings.MobileAppVersion.cdata = formData.mobileAppVersion;\r\n mobileAppCommonSettings.MobileAppBaseId.cdata = otherProperties.mobileAppBaseId;\r\n mobileAppCommonSettings['EULA'] = {\r\n cdata: formData.eulaLink\r\n };\r\n mobileAppCommonSettings.EULALabel.cdata = formData.eulaText;\r\n\r\n return xmlJSON;\r\n};\r\n\r\nexport const getBasicSettingsValuesFromXML = (xmlJSON: IXMLJSON) => {\r\n const mobileAppCommonSettings = xmlJSON.AppData.MobileAppCommonSettings;\r\n\r\n return {\r\n companyInfoEmail: mobileAppCommonSettings.CompanyInfoEmail.cdata,\r\n companyName: mobileAppCommonSettings.CompanyName.cdata,\r\n companySupportEmail: mobileAppCommonSettings.CompanySupportEmail.cdata,\r\n companyWebsite: mobileAppCommonSettings.CompanyWebsite.cdata,\r\n copyrightInfo: mobileAppCommonSettings.CopyRightInfo.cdata,\r\n eulaLink: mobileAppCommonSettings?.EULA?.cdata,\r\n mobileAppName: mobileAppCommonSettings.MobileAppName.cdata,\r\n mobileAppDescription: mobileAppCommonSettings.MobileAppDescription.cdata,\r\n mobileAppVersion: mobileAppCommonSettings.MobileAppVersion.cdata,\r\n defaultLocale: mobileAppCommonSettings.DefaultLocale.cdata,\r\n eulaText: mobileAppCommonSettings?.EULALabel?.cdata\r\n };\r\n};\r\nexport const getAuthenticationXMLMappedValues = (xmlJSON: IXMLJSON, parsedAuthData: AuthenticationSettingsResponse, isStepCompleted?: boolean) => {\r\n const productionURL = xmlJSON.AppData.MobileAppCommonSettings.serverURLs.serverURL.find((item: any) => item.attribute.name === 'Production'); //Gets production node\r\n productionURL!.cdata = parsedAuthData.ServerConfiguration.ProductionServerInstanceUrl;\r\n\r\n if (isStepCompleted) {\r\n //Change the authentication settings value to 'true'\r\n xmlJSON.AppData.WizardStepState.Authentication.attribute.complete = true;\r\n }\r\n\r\n const authProviders = xmlJSON.AppData.MobileAppCommonSettings.AuthenticationProviders.AuthProvider;\r\n\r\n const pingFedAuthProvider = authProviders.find((item) => item.attribute.Name === 'PingFederate');\r\n !pingFedAuthProvider && authProviders.push({\r\n attribute: {\r\n Name: 'PingFederate',\r\n ClientId: '',\r\n Authority: '',\r\n UsernameClaimType: '',\r\n Selected: '',\r\n Default: ''\r\n }\r\n });\r\n\r\n const amazonCogAuthProvider = authProviders.find((item) => item.attribute.Name === 'AmazonCognito');\r\n !amazonCogAuthProvider && authProviders.push({\r\n attribute: {\r\n Name: 'AmazonCognito',\r\n ClientId: '',\r\n Authority: '',\r\n UserImpersonationScopeURL: '',\r\n Selected: '',\r\n Default: ''\r\n }\r\n });\r\n\r\n authProviders?.forEach((item) => {\r\n switch (item.attribute.Name) {\r\n case 'ActiveDirectory':\r\n item.attribute.Domain = parsedAuthData.ActiveDirectoryConfiguration.Domain;\r\n item.attribute.EnableJWT = parsedAuthData.ActiveDirectoryConfiguration.EnableJWT;\r\n item.attribute.AudienceURL = parsedAuthData.ActiveDirectoryConfiguration.AudienceURL;\r\n item.attribute.Selected = parsedAuthData.ActiveDirectoryConfiguration.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'ActiveDirectoryConfiguration';\r\n break;\r\n case 'AgilePointID':\r\n item.attribute.Selected = parsedAuthData.AgilePiontNXConfiguration.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'AgilePiontNXConfiguration';\r\n break;\r\n case 'IdentityServer':\r\n item.attribute.ClientId = parsedAuthData.IdentityServerConfiguration.ClientId;\r\n item.attribute.Authority = parsedAuthData.IdentityServerConfiguration.Authority;\r\n item.attribute.Selected = parsedAuthData.IdentityServerConfiguration.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'IdentityServerConfiguration';\r\n break;\r\n case 'Okta':\r\n item.attribute.ClientId = parsedAuthData.OktaConfiguration.ClientId;\r\n item.attribute.Authority = parsedAuthData.OktaConfiguration.Authority;\r\n item.attribute.Selected = parsedAuthData.OktaConfiguration.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'OktaConfiguration';\r\n break;\r\n case 'Salesforce':\r\n item.attribute.ClientId = parsedAuthData.SalesforceConfiguration.ConsumerKey;\r\n item.attribute.ReturnURL = parsedAuthData.SalesforceConfiguration.ConsumerSecret;\r\n item.attribute.Selected = parsedAuthData.SalesforceConfiguration.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'SalesforceConfiguration';\r\n break;\r\n case 'WAAD':\r\n item.attribute.ClientId = parsedAuthData.OfficeConfiguration.ClientId;\r\n item.attribute.ReturnURL = parsedAuthData.OfficeConfiguration.ReturnURL;\r\n item.attribute.Resource = parsedAuthData.OfficeConfiguration.Resource;\r\n item.attribute.UseMSAuthenticatorApp = parsedAuthData.OfficeConfiguration.UseMSAuthenticatorApp;\r\n item.attribute.Selected = parsedAuthData.OfficeConfiguration.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'OfficeConfiguration';\r\n break;\r\n case 'WAADChina':\r\n item.attribute.ClientId = parsedAuthData.OfficeConfigurationChina.ClientId;\r\n item.attribute.ReturnURL = parsedAuthData.OfficeConfigurationChina.ReturnURL;\r\n item.attribute.Resource = parsedAuthData.OfficeConfigurationChina.Resource;\r\n item.attribute.UseMSAuthenticatorApp = parsedAuthData.OfficeConfigurationChina.UseMSAuthenticatorApp;\r\n item.attribute.Selected = parsedAuthData.OfficeConfigurationChina.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'OfficeConfigurationChina';\r\n break;\r\n case 'Google':\r\n item.attribute.ClientId = parsedAuthData.GoogleConfiguration.ClientId;\r\n item.attribute.ReturnURL = parsedAuthData.GoogleConfiguration.ReturnURL;\r\n item.attribute.Resource = parsedAuthData.GoogleConfiguration.Resource;\r\n item.attribute.Selected = parsedAuthData.GoogleConfiguration.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'GoogleConfiguration';\r\n break;\r\n case 'PingFederate':\r\n item.attribute.ClientId = parsedAuthData?.PingFederateConfiguration?.ClientId;\r\n item.attribute.Authority = parsedAuthData?.PingFederateConfiguration?.Authority;\r\n item.attribute.UsernameClaimType = parsedAuthData?.PingFederateConfiguration?.UsernameClaimType;\r\n item.attribute.Selected = parsedAuthData?.PingFederateConfiguration?.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'PingFederateConfiguration';\r\n break;\r\n case 'AmazonCognito':\r\n item.attribute.ClientId = parsedAuthData?.AmazonCognitoConfiguration?.ClientId;\r\n item.attribute.Authority = parsedAuthData?.AmazonCognitoConfiguration?.Authority;\r\n item.attribute.UserImpersonationScopeURL = parsedAuthData?.AmazonCognitoConfiguration?.UserImpersonationScopeURL;\r\n item.attribute.Selected = parsedAuthData?.AmazonCognitoConfiguration?.isSelected;\r\n item.attribute.Default = parsedAuthData.defaultConfig === 'AmazonCognitoConfiguration';\r\n break;\r\n default: break;\r\n }\r\n });\r\n return xmlJSON;\r\n};\r\n\r\nconst setDefaultValue = (currentDefaultValue: string | boolean, accumulatedValues: IAuthenticationSettingsTextData, key: string) => { if (currentDefaultValue === 'true') { accumulatedValues.defaultConfig = key; } };\r\n\r\nexport const getAuthenticationValuesFromXML = (xmlJSON: IXMLJSON): IAuthenticationSettingsTextData => {\r\n const authProviders = xmlJSON.AppData.MobileAppCommonSettings.AuthenticationProviders;\r\n const productionURL = xmlJSON.AppData.MobileAppCommonSettings.serverURLs.serverURL.find((item) => item.attribute.name === 'Production'); //Gets production node\r\n\r\n const result = authProviders.AuthProvider.reduce((accumulatedValues, currentValue) => {\r\n switch (currentValue.attribute.Name) {\r\n case 'ActiveDirectory':\r\n accumulatedValues['activeDirectoryConfiguration'] = {\r\n domain: currentValue.attribute.Domain,\r\n enableJWT: currentValue.attribute.EnableJWT,\r\n audienceURL: currentValue.attribute.AudienceURL,\r\n isSelected: currentValue.attribute.Selected === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'ActiveDirectoryConfiguration');\r\n break;\r\n case 'AgilePointID':\r\n accumulatedValues['agilePiontNXConfiguration'] = {\r\n isSelected: currentValue.attribute.Selected === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'AgilePiontNXConfiguration');\r\n break;\r\n case 'IdentityServer':\r\n accumulatedValues['identityServerConfiguration'] = {\r\n clientId: currentValue.attribute.ClientId,\r\n authority: currentValue.attribute.Authority,\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'IdentityServerConfiguration');\r\n break;\r\n case 'Okta':\r\n accumulatedValues['oktaConfiguration'] = {\r\n clientId: currentValue.attribute.ClientId,\r\n authority: currentValue.attribute.Authority,\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'OktaConfiguration');\r\n break;\r\n case 'Salesforce':\r\n accumulatedValues['salesforceConfiguration'] = {\r\n consumerKey: currentValue.attribute.ClientId,\r\n consumerSecret: currentValue.attribute.ReturnURL,\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'SalesforceConfiguration');\r\n break;\r\n case 'WAAD':\r\n accumulatedValues['officeConfiguration'] = {\r\n clientId: currentValue.attribute.ClientId,\r\n resource: currentValue.attribute.Resource,\r\n returnURL: currentValue.attribute.ReturnURL,\r\n useMSAuthenticatorApp: currentValue.attribute.UseMSAuthenticatorApp === 'true',\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'OfficeConfiguration');\r\n break;\r\n case 'WAADChina':\r\n accumulatedValues['officeConfigurationChina'] = {\r\n clientId: currentValue.attribute.ClientId,\r\n resource: currentValue.attribute.Resource,\r\n returnURL: currentValue.attribute.ReturnURL,\r\n useMSAuthenticatorApp: currentValue.attribute.UseMSAuthenticatorApp === 'true',\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'OfficeConfigurationChina');\r\n break;\r\n case 'Google':\r\n accumulatedValues['googleConfiguration'] = {\r\n clientId: currentValue.attribute.ClientId,\r\n returnURL: currentValue.attribute.ReturnURL,\r\n resource: currentValue.attribute.Resource,\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'GoogleConfiguration');\r\n break;\r\n case 'PingFederate':\r\n accumulatedValues['pingFederateConfiguration'] = {\r\n clientId: currentValue.attribute.ClientId,\r\n authority: currentValue.attribute.Authority,\r\n usernameClaimType: currentValue.attribute.UsernameClaimType,\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'PingFederateConfiguration');\r\n break;\r\n case 'AmazonCognito':\r\n accumulatedValues['amazonCognitoConfiguration'] = {\r\n clientId: currentValue.attribute.ClientId,\r\n authority: currentValue.attribute.Authority,\r\n userImpersonationScopeURL: currentValue.attribute.UserImpersonationScopeURL,\r\n isSelected: (currentValue.attribute.Selected) === 'true'\r\n };\r\n setDefaultValue(currentValue.attribute.Default, accumulatedValues, 'AmazonCognitoConfiguration');\r\n break;\r\n default: break;\r\n }\r\n\r\n return accumulatedValues;\r\n }, {} as IAuthenticationSettingsTextData);\r\n\r\n result['serverConfiguration'] = {\r\n productionServerInstanceUrl: productionURL?.cdata!\r\n };\r\n\r\n return result;\r\n};\r\n\r\nexport const getAppFiltersXMLMappedValues = (xmlJSON: IXMLJSON, formData: IAppFiltersFormFields, isStepCompleted?: boolean) => {\r\n const { appListOptions, showApps } = formData;\r\n\r\n if (isStepCompleted) {\r\n //Change the ApplicationFilters settings value to 'true'\r\n xmlJSON.AppData.WizardStepState.ApplicationFilters.attribute.complete = true;\r\n }\r\n\r\n if (appListOptions === 'show-only-selected-below') {\r\n xmlJSON.AppData.MobileAppCommonSettings.ApplicationFilters.attribute.Enabled = 'true';\r\n\r\n const filterValues = Object.entries(showApps).filter(([, value]) => value === true).map(([filterName]) => ({ value: filterName }));\r\n xmlJSON.AppData.MobileAppCommonSettings.ApplicationFilters.Filter = filterValues;\r\n }\r\n else {\r\n xmlJSON.AppData.MobileAppCommonSettings.ApplicationFilters.attribute.Enabled = 'false';\r\n xmlJSON.AppData.MobileAppCommonSettings.ApplicationFilters.Filter = [];\r\n }\r\n return xmlJSON;\r\n};\r\n\r\nexport const getAppFiltersFromXML = (xmlJSON: IXMLJSON, appListAPIData: IAppMetadata[]) => {\r\n const appFilters = xmlJSON.AppData.MobileAppCommonSettings.ApplicationFilters;\r\n let result = [] as IAppMetadata[];\r\n let appListOptions: 'show-only-selected-below' | 'show-all' = 'show-all';\r\n\r\n if (appFilters.attribute.Enabled === 'true') {\r\n appListOptions = 'show-only-selected-below';\r\n const appFiltersArrayCheck = isArray(appFilters?.Filter) ? appFilters?.Filter : [appFilters?.Filter];\r\n const filtersArray = appFilters?.Filter === undefined ? [] : appFiltersArrayCheck;\r\n result = filtersArray?.map((item) => {\r\n const foundItem = appListAPIData.find((apiItem) => apiItem.name === item.value);\r\n if (foundItem) {\r\n return foundItem;\r\n }\r\n return { appID: '', description: '', guid: 0, name: item.value, value: item.value };\r\n });\r\n } else {\r\n result = appListAPIData;\r\n }\r\n\r\n return {\r\n appListOptions,\r\n showApps: result.reduce((acc, curr) => {\r\n acc[curr.name] = true;\r\n return acc;\r\n }, {})\r\n };\r\n};\r\n\r\nexport const getMenuOptionsXMLMappedValues = (xmlJSON: IXMLJSON, parsedAppMenus: MenuOption[] | IMenuOptionsFormFields, isStepCompleted?: boolean) => {\r\n if (isStepCompleted) {\r\n //Change the MenuOptions settings value to 'true'\r\n xmlJSON.AppData.WizardStepState.MenuOptions.attribute.complete = true;\r\n }\r\n\r\n if (isArray(parsedAppMenus)) {\r\n //Backward compaitable code\r\n const menusToBeInjected = parsedAppMenus.map((menu) => ({\r\n attribute: {\r\n Name: menu.Name,\r\n Enabled: menu.isEnabled,\r\n DisplayName: menu.Value,\r\n IsLocalized: 'false'\r\n }\r\n }));\r\n\r\n const newFormat = [\r\n {\r\n attribute: { 'locale': 'default' },\r\n Menu: menusToBeInjected\r\n }\r\n ];\r\n\r\n xmlJSON.AppData.MobileAppCommonSettings.MobileAppMenu = newFormat;\r\n return xmlJSON;\r\n }\r\n\r\n const arrayLikeObject = Array.from(Object.entries(parsedAppMenus.menuOptions), ([locales, menuOptions]) => ({\r\n locales,\r\n menuOptions: Array.from(Object.entries(menuOptions), ([menuName, { fieldValue, isEnabled }]) => ({\r\n attribute: {\r\n Name: menuName,\r\n Enabled: isEnabled,\r\n DisplayName: fieldValue,\r\n IsLocalized: 'true'\r\n }\r\n }))\r\n }));\r\n xmlJSON.AppData.MobileAppCommonSettings.MobileAppMenu = arrayLikeObject.map((menuObj) => ({\r\n attribute: {\r\n locale: menuObj.locales\r\n },\r\n Menu: menuObj.menuOptions\r\n }));\r\n return xmlJSON;\r\n};\r\n\r\nexport const getMenuOptionsFromXML = (xmlJSON: IXMLJSON): MenuOption[] | IMenuOptionsFormFields => {\r\n if (!isArray(xmlJSON.AppData.MobileAppCommonSettings.MobileAppMenu)) {\r\n const menus = xmlJSON.AppData.MobileAppCommonSettings.MobileAppMenu.Menu;\r\n return menus.map((item) => ({ isEnabled: item.attribute.Enabled === 'true', Name: item.attribute.Name, Value: item.attribute.DisplayName }));\r\n }\r\n\r\n const res = {} as IMenuOptionsFormFields;\r\n res.locales = xmlJSON.AppData.MobileAppCommonSettings.MobileAppMenu[0].attribute.locale;\r\n res.menuOptions = xmlJSON.AppData.MobileAppCommonSettings.MobileAppMenu.reduce((acc, curr) => {\r\n acc[curr.attribute.locale] = curr.Menu.reduce((_acc, _curr) => {\r\n _acc[_curr.attribute.Name] = {\r\n 'isEnabled': _curr.attribute.Enabled,\r\n 'fieldValue': _curr.attribute.DisplayName\r\n };\r\n return _acc;\r\n }, {});\r\n return acc;\r\n }, {});\r\n\r\n return res;\r\n};\r\n\r\nexport const getPlatformCertificateXMLMappedValues = (xmlJSON: IXMLJSON, formData: IPlatformTypesFormFields, certificateDetails: { androidCertificateId?: string, iosP12CertificateId?: string, iosProvisioningCertificateId?: string }) => {\r\n const { Android, iOS, platformTypes } = formData;\r\n\r\n //Change the Platform settings value to 'true'\r\n xmlJSON.AppData.WizardStepState.Platform.attribute.complete = true;\r\n\r\n //Android\r\n if (platformTypes.includes('Android')) {\r\n //Setting android atrribute to true\r\n xmlJSON.AppData.MobileAppPlatform.attribute.Android = 'true';\r\n xmlJSON.AppData.MobileAppPlatform.attribute.IOS = platformTypes.includes('iOS') ? 'true' : 'false';\r\n\r\n const androidNode = xmlJSON.AppData.AndroidAppSettings;\r\n androidNode.MobileBuildType.value = Android.buildTypes;\r\n androidNode.PackageName.value = Android.packageName;\r\n\r\n if (Android.buildTypes === 'Store') {\r\n androidNode.StoreCertificate.CertificateFile.value = certificateDetails?.androidCertificateId;\r\n androidNode.StoreCertificate.CertificateFileName.value = Android.certificate.selectedFiles[0].name;\r\n androidNode.StoreCertificate.storePassword.cdata = Android.storePassword;\r\n androidNode.StoreCertificate.keyAlias.cdata = Android.keyAlias;\r\n androidNode.StoreCertificate.keyPassword.cdata = Android.keyPassword;\r\n }\r\n }\r\n\r\n //IOS\r\n if (platformTypes.includes('iOS')) {\r\n //Setting ios atrribute to true\r\n xmlJSON.AppData.MobileAppPlatform.attribute.IOS = 'true';\r\n xmlJSON.AppData.MobileAppPlatform.attribute.Android = platformTypes.includes('Android') ? 'true' : 'false';\r\n\r\n const iosNode = xmlJSON.AppData.IOSAppSettings;\r\n iosNode.MobileBuildType.value = iOS.buildTypes;\r\n iosNode.StoreCertificate.CertificateFile.value = certificateDetails?.iosP12CertificateId;\r\n iosNode.StoreCertificate.CertificateFileName.value = iOS.certificate?.selectedFiles[0].name;\r\n iosNode.StoreCertificate.Password.cdata = iOS.password;\r\n iosNode.StoreCertificate.ProvisioningProfile.value = certificateDetails?.iosProvisioningCertificateId;\r\n iosNode.StoreCertificate.ProvisioningProfileCertificateFileName.value = iOS.provisioningProfile?.selectedFiles[0].name;\r\n }\r\n\r\n return xmlJSON;\r\n};\r\n\r\nexport const setPlatformValuesToXML = (xmlJSON: IXMLJSON, certificateDetails: { androidCertificateId?: string, iosP12CertificateId?: string, iosProvisioningCertificateId?: string }) => {\r\n const iosNode = xmlJSON.AppData.IOSAppSettings;\r\n\r\n if (certificateDetails.iosP12CertificateId) {\r\n iosNode.StoreCertificate.CertificateFile.value = certificateDetails?.iosP12CertificateId;\r\n }\r\n if (certificateDetails.iosProvisioningCertificateId) {\r\n iosNode.StoreCertificate.ProvisioningProfile.value = certificateDetails?.iosProvisioningCertificateId;\r\n }\r\n if (certificateDetails.androidCertificateId) {\r\n xmlJSON.AppData.AndroidAppSettings.StoreCertificate.CertificateFile.value = certificateDetails?.androidCertificateId;\r\n }\r\n return xmlJSON;\r\n};\r\n\r\nexport const getPlatformValuesFromXML = (xmlJSON: IXMLJSON) => {\r\n const android = xmlJSON.AppData.MobileAppPlatform.attribute.Android;\r\n const ios = xmlJSON.AppData.MobileAppPlatform.attribute.IOS;\r\n const platformTypes = [];\r\n const platformData: Omit = {\r\n Android: {\r\n buildTypes: 'MDM',\r\n packageName: '',\r\n certificate: {\r\n action: 'add',\r\n changedFileIds: [''],\r\n selectedFiles: []\r\n },\r\n keyAlias: '',\r\n keyPassword: '',\r\n storePassword: ''\r\n },\r\n iOS: {\r\n buildTypes: 'MDM',\r\n certificate: {\r\n action: 'add',\r\n changedFileIds: [],\r\n selectedFiles: []\r\n },\r\n password: undefined,\r\n provisioningProfile: {\r\n action: 'add',\r\n changedFileIds: [],\r\n selectedFiles: []\r\n }\r\n }\r\n };\r\n\r\n if (android === 'true') {\r\n platformTypes.push('Android');\r\n\r\n const androidNode = xmlJSON.AppData.AndroidAppSettings;\r\n platformData.Android.packageName = androidNode.PackageName.value;\r\n platformData.Android.buildTypes = androidNode.MobileBuildType.value;\r\n\r\n if (androidNode.MobileBuildType.value === 'Store') {\r\n platformData.Android.certificate.selectedFiles.push({\r\n name: androidNode.StoreCertificate.CertificateFileName.value,\r\n id: androidNode.StoreCertificate.CertificateFile.value!,\r\n type: '',\r\n size: 0\r\n });\r\n platformData.Android.storePassword = androidNode.StoreCertificate.storePassword.cdata;\r\n platformData.Android.keyAlias = androidNode.StoreCertificate.keyAlias.cdata;\r\n platformData.Android.keyPassword = androidNode.StoreCertificate.keyPassword.cdata;\r\n }\r\n }\r\n\r\n if (ios === 'true') {\r\n platformTypes.push('iOS');\r\n\r\n const iosNode = xmlJSON.AppData.IOSAppSettings;\r\n platformData.iOS.buildTypes = iosNode.MobileBuildType.value!;\r\n platformData.iOS.certificate!.selectedFiles.push({\r\n name: iosNode.StoreCertificate.CertificateFileName.value!,\r\n id: iosNode.StoreCertificate.CertificateFile.value!,\r\n type: '',\r\n size: 0\r\n });\r\n platformData.iOS.password = iosNode.StoreCertificate.Password.cdata;\r\n platformData.iOS.provisioningProfile!.selectedFiles.push({\r\n name: iosNode.StoreCertificate.ProvisioningProfileCertificateFileName.value!,\r\n id: iosNode.StoreCertificate.ProvisioningProfile.value!,\r\n type: '',\r\n size: 0\r\n });\r\n }\r\n\r\n return {\r\n platformTypes,\r\n ...platformData\r\n };\r\n};\r\n\r\nexport const getApplicationThemeXMLMappedValues = (xmlJSON: IXMLJSON, parsedAppThemeValues: StylingResponseType, isStepCompleted?: boolean) => {\r\n\r\n if (isStepCompleted) {\r\n xmlJSON.AppData.WizardStepState.Theme.attribute.complete = true;\r\n }\r\n\r\n const androidAppThemeAttributes = xmlJSON.AppData.AndroidAppSettings.ApplicationTheme.attribute;\r\n androidAppThemeAttributes.AppBackgroundColor = parsedAppThemeValues.menuColorCode!;\r\n androidAppThemeAttributes.MenuBackgroundColor = parsedAppThemeValues.menuColorCode!;\r\n androidAppThemeAttributes.ThemeName = parsedAppThemeValues.previewImage;\r\n\r\n const iosAppThemeAttributes = xmlJSON.AppData.IOSAppSettings.ApplicationTheme.attribute;\r\n iosAppThemeAttributes.AppBackgroundColor = parsedAppThemeValues.menuColorCode!;\r\n iosAppThemeAttributes.MenuBackgroundColor = parsedAppThemeValues.menuColorCode!;\r\n iosAppThemeAttributes.ThemeName = parsedAppThemeValues.previewImage;\r\n\r\n const windowsAppThemeAttributes = xmlJSON.AppData.WindowsAppSettings.ApplicationTheme.attribute;\r\n windowsAppThemeAttributes.AppBackgroundColor = parsedAppThemeValues.menuColorCode!;\r\n windowsAppThemeAttributes.MenuBackgroundColor = parsedAppThemeValues.menuColorCode!;\r\n windowsAppThemeAttributes.ThemeName = parsedAppThemeValues.previewImage;\r\n return xmlJSON;\r\n};\r\n\r\nexport const getStylingThemeValuesFromXML = (xmlJSON: IXMLJSON): IStylingFormFields => {\r\n const appThemeNode = xmlJSON.AppData.AndroidAppSettings.ApplicationTheme;\r\n\r\n const getColor = () => {\r\n switch (appThemeNode.attribute.ThemeName) {\r\n case 'Blue':\r\n return PredefinedColors.Blue;\r\n case 'Orange':\r\n return PredefinedColors.Orange;\r\n case 'Green':\r\n return PredefinedColors.Green;\r\n case 'Red':\r\n return PredefinedColors.Red;\r\n default: return undefined;\r\n }\r\n };\r\n\r\n return {\r\n appStyles: appThemeNode.attribute.ThemeName === 'Custom' ? 'customColor' : 'predefinedColor',\r\n customColor: {\r\n buttonColor: appThemeNode.attribute.ButtonColor,\r\n menuColor: appThemeNode.attribute.MenuBackgroundColor\r\n },\r\n predefinedColor: {\r\n color: getColor()\r\n\r\n }\r\n };\r\n};\r\n\r\nexport const getUploadImagesXMLMappedValues = (xmlJSON: IXMLJSON, parsedUploadImages: { ID: string, Name: string }[], isStepCompleted?: boolean) => {\r\n\r\n if (isStepCompleted) {\r\n //Change the UploadImages settings value to 'true'\r\n xmlJSON.AppData.WizardStepState.UploadImages.attribute.complete = true;\r\n }\r\n\r\n const reducedImages = parsedUploadImages.reduce((acc, curr) => {\r\n acc[curr.Name] = curr.ID;\r\n return acc;\r\n }, {});\r\n\r\n\r\n //for android:\r\n const androidMobileAppImages = xmlJSON.AppData.AndroidAppSettings.MobileAppImages;\r\n\r\n //xxhdpi\r\n androidMobileAppImages.xxhdpi.IconFile.value = reducedImages['Android_xxhdpi_Icon'];\r\n androidMobileAppImages.xxhdpi.Logo.value = reducedImages[''];\r\n androidMobileAppImages.xxhdpi.BackgroundImage.value = reducedImages['Android_xxhdpi_Background'];\r\n androidMobileAppImages.xxhdpi.StoreLogo.value = reducedImages[''];\r\n androidMobileAppImages.xxhdpi.WhiteLogo.value = reducedImages['Android_xxhdpi_Background'];\r\n\r\n //xhdpi\r\n androidMobileAppImages.xhdpi.IconFile.value = reducedImages['Android_xhdpi_Icon'];\r\n androidMobileAppImages.xhdpi.Logo.value = reducedImages['Android_xhdpi_Logo'];\r\n androidMobileAppImages.xhdpi.BackgroundImage.value = reducedImages['Android_xhdpi_Background'];\r\n androidMobileAppImages.xhdpi.StoreLogo.value = reducedImages[''];\r\n androidMobileAppImages.xhdpi.WhiteLogo.value = reducedImages['Android_xhdpi_Background'];\r\n\r\n //hdpi\r\n androidMobileAppImages.hdpi.IconFile.value = reducedImages['Android_hdpi_Icon'];\r\n androidMobileAppImages.hdpi.Logo.value = reducedImages['Android_hdpi_Logo'];\r\n androidMobileAppImages.hdpi.BackgroundImage.value = reducedImages['Android_hdpi_Background'];\r\n androidMobileAppImages.hdpi.StoreLogo.value = reducedImages[''];\r\n androidMobileAppImages.hdpi.WhiteLogo.value = reducedImages['Android_hdpi_Background'];\r\n\r\n //land-hdpi\r\n androidMobileAppImages['land-hdpi'].IconFile.value = reducedImages[''];\r\n androidMobileAppImages['land-hdpi'].Logo.value = reducedImages[''];\r\n androidMobileAppImages['land-hdpi'].BackgroundImage.value = reducedImages['Android_land-hdpi_Background'];\r\n androidMobileAppImages['land-hdpi'].StoreLogo.value = reducedImages[''];\r\n\r\n //land-xhdpi\r\n androidMobileAppImages['land-xhdpi'].IconFile.value = reducedImages[''];\r\n androidMobileAppImages['land-xhdpi'].Logo.value = reducedImages[''];\r\n androidMobileAppImages['land-xhdpi'].BackgroundImage.value = reducedImages['Android_land-xhdpi_Background'];\r\n androidMobileAppImages['land-xhdpi'].StoreLogo.value = reducedImages[''];\r\n\r\n\r\n //for ios\r\n const iosMobileAppImages = xmlJSON.AppData.IOSAppSettings.MobileAppImages;\r\n\r\n if (iosMobileAppImages?.UniversalIcon?.AppIcon) {\r\n iosMobileAppImages.UniversalIcon.AppIcon.value = reducedImages['iOS_AppDefaultIcon'];\r\n iosMobileAppImages.UniversalIcon.SplashScreen.value = reducedImages['iOS_SplashScreeniphone'];\r\n iosMobileAppImages.UniversalIcon.ApplicationLogo.value = reducedImages['iOS_AppApplicationLogo'];\r\n } else {\r\n iosMobileAppImages.UniversalIcon = {\r\n ...iosMobileAppImages.UniversalIcon,\r\n AppIcon: {\r\n value: reducedImages['iOS_AppDefaultIcon']\r\n },\r\n SplashScreen: {\r\n value: reducedImages['iOS_SplashScreeniphone']\r\n },\r\n ApplicationLogo: {\r\n value: reducedImages['iOS_AppApplicationLogo']\r\n }\r\n };\r\n }\r\n\r\n return xmlJSON;\r\n};\r\n\r\nexport const getPushNotificationsXMLMappedValue = (xmlJSON: IXMLJSON, pushNotifications: IPushNotificationFormFields, isStepCompleted?: boolean) => {\r\n if (xmlJSON.AppData.WizardStepState.PushNotifications) {\r\n if (isStepCompleted) {\r\n //Change the Push Notifiction settings value to 'true'\r\n xmlJSON.AppData.WizardStepState.PushNotifications.attribute.complete = true;\r\n }\r\n\r\n const pushNotificationTag = xmlJSON.AppData.PushNotification;\r\n\r\n pushNotificationTag.HostUrl.value = pushNotifications.hostUrl;\r\n pushNotificationTag.Domain.value = pushNotifications.domain;\r\n pushNotificationTag.Value1.value = pushNotifications.value1;\r\n pushNotificationTag.Value2.value = pushNotifications.value2;\r\n\r\n return xmlJSON;\r\n }\r\n //NOTE: Below code is for existing apps which do not have push notification tag in the xml\r\n xmlJSON.AppData.WizardStepState['PushNotifications'] = {\r\n attribute: {\r\n complete: true\r\n }\r\n };\r\n xmlJSON.AppData['PushNotification'] = {\r\n HostUrl: {\r\n value: pushNotifications.hostUrl\r\n },\r\n Domain: {\r\n value: pushNotifications.domain\r\n },\r\n Value1: {\r\n value: pushNotifications.value1\r\n },\r\n Value2: {\r\n value: pushNotifications.value2\r\n }\r\n };\r\n return xmlJSON;\r\n};\r\n\r\nexport const getPushNotificationsValuesFromXML = (xmlJSON: IXMLJSON): IPushNotificationFormFields => {\r\n const appThemeNode = xmlJSON.AppData.PushNotification;\r\n\r\n return {\r\n domain: appThemeNode?.Domain.value,\r\n hostUrl: appThemeNode?.HostUrl.value,\r\n value1: appThemeNode?.Value1.value,\r\n value2: appThemeNode?.Value2.value\r\n };\r\n};\r\n\r\nexport const getUploadedImageInfoFromXML = (xmlString?: string): IImageMetadata[] | undefined => {\r\n let selectedIDs: IImageMetadata[] | undefined;\r\n if (xmlString) {\r\n const parsedXMLJSON = JSON.parse(xml2json(xmlString, xmlJSONOptions)) as IXMLJSON;\r\n const resultObject = {};\r\n\r\n //Android\r\n const androidImageNode = parsedXMLJSON.AppData.AndroidAppSettings.MobileAppImages;\r\n resultObject['Android_xxhdpi_Icon'] = androidImageNode.xxhdpi.IconFile.value;\r\n resultObject['Android_xhdpi_Icon'] = androidImageNode.xhdpi.IconFile.value;\r\n resultObject['Android_xhdpi_Logo'] = androidImageNode.xhdpi.Logo.value;\r\n resultObject['Android_xhdpi_Background'] = androidImageNode.xhdpi.BackgroundImage.value;\r\n resultObject['Android_hdpi_Icon'] = androidImageNode.hdpi.IconFile.value;\r\n resultObject['Android_hdpi_Logo'] = androidImageNode.hdpi.Logo.value;\r\n resultObject['Android_hdpi_Background'] = androidImageNode.hdpi.BackgroundImage.value;\r\n resultObject['Android_land-hdpi_Background'] = androidImageNode['land-hdpi'].BackgroundImage.value;\r\n resultObject['Android_land-xhdpi_Background'] = androidImageNode['land-xhdpi'].BackgroundImage.value;\r\n resultObject['Android_xxhdpi_Background'] = androidImageNode.xxhdpi.BackgroundImage.value;\r\n\r\n //IOS\r\n const iosImageNode = parsedXMLJSON.AppData.IOSAppSettings.MobileAppImages;\r\n\r\n resultObject['iOS_AppDefaultIcon'] = iosImageNode.UniversalIcon?.AppIcon.value;\r\n resultObject['iOS_SplashScreeniphone'] = iosImageNode.UniversalIcon?.SplashScreen.value;\r\n resultObject['iOS_AppApplicationLogo'] = iosImageNode.UniversalIcon?.ApplicationLogo.value;\r\n\r\n selectedIDs = [];\r\n for (const [key, value] of Object.entries(resultObject)) {\r\n if (value) {\r\n selectedIDs.push({ ID: value as string, Name: key });\r\n }\r\n }\r\n\r\n }\r\n return selectedIDs;\r\n};\r\n\r\nexport const getBuildAppXMLMappedValues = (xmlJSON: IXMLJSON) => {\r\n xmlJSON.AppData.WizardStepState.BasicSettings.attribute.complete = true;\r\n return xmlJSON;\r\n};\r\n","import React from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { IChangeArgs, IWizardStepRendererProps, StackPanel, Typography, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { MobileAppHelpLink, StyledStackPanel } from 'common';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { PlatformTypesForm } from '../forms';\r\n\r\ninterface IPlatformProps extends IWizardStepRendererProps {\r\n defaultValues?: IPlatformTypesFormFields\r\n onSavePlatformDetails: (formData: IPlatformTypesFormFields) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>\r\n}\r\n\r\nexport enum PlatformTypes {\r\n Android = 'Android',\r\n IOS = 'iOS'\r\n}\r\n\r\nexport interface IPlatformTypesFormFields {\r\n platformTypes: string[];\r\n [PlatformTypes.Android]: {\r\n buildTypes: string;\r\n packageName: string;\r\n certificate: IChangeArgs;\r\n keyAlias: string;\r\n keyPassword: string;\r\n storePassword: string;\r\n };\r\n [PlatformTypes.IOS]: {\r\n buildTypes: string;\r\n certificate?: IChangeArgs;\r\n password?: string;\r\n provisioningProfile?: IChangeArgs;\r\n };\r\n}\r\n\r\nexport const Platform = React.memo((props: IPlatformProps) => {\r\n const { stepId, defaultValues, onSavePlatformDetails } = props;\r\n const { saveData, data } = useWizardStep(stepId);\r\n const translate = useTranslate();\r\n\r\n const form = useForm({\r\n mode: 'onChange',\r\n defaultValues: defaultValues ?? {\r\n Android: {\r\n buildTypes: 'MDM'\r\n },\r\n iOS: {\r\n buildTypes: 'MDM'\r\n }\r\n }\r\n });\r\n\r\n const { trigger, getValues, reset } = form;\r\n\r\n const onNext = React.useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues() as IPlatformTypesFormFields;\r\n\r\n return onSavePlatformDetails(formData).then((result) => {\r\n saveData({ updateMobileAppRsponse: result.UpdateMobileAppResult, formData });\r\n return true;\r\n }).catch(() => false);\r\n }, [trigger, getValues, onSavePlatformDetails, saveData]);\r\n\r\n React.useEffect(() => {\r\n data && reset(data.formData);\r\n }, [reset, data]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { IWizardStepRendererProps, StackPanel, Typography, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { MobileAppHelpLink, StyledStackPanel } from 'common';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { BasicSettingsForm } from '../forms';\r\n\r\ninterface IBasicSettingsProps extends IWizardStepRendererProps {\r\n basicSettingsDetails: {\r\n companyInfoEmail: string;\r\n companyName: string;\r\n companySupportEmail: string;\r\n companyWebsite: string;\r\n copyrightInfo: string;\r\n mobileAppName?: string;\r\n mobileAppDescription?: string;\r\n mobileAppVersion?: string;\r\n defaultLocale?: string;\r\n eulaLink?: string;\r\n eulaText?: string;\r\n }\r\n onSaveBasicSettingsDetails: (payload: IBasicSettingsFormFields) => Promise<{ UpdateMobileAppResult: IMobileApplicationDetails }>\r\n}\r\n\r\nexport interface IBasicSettingsFormFields {\r\n mobileAppName: string;\r\n mobileAppVersion: string;\r\n defaultLocale: string;\r\n mobileAppDescription: string;\r\n companyName: string;\r\n companyWebsite: string;\r\n companySupportEmail: string;\r\n companyInfoEmail: string;\r\n copyrightInfo: string;\r\n eulaLink: string;\r\n eulaText: string;\r\n eulaOptions: string;\r\n}\r\n\r\nexport const BasicSettings = React.memo((props: IBasicSettingsProps) => {\r\n const { stepId, basicSettingsDetails, onSaveBasicSettingsDetails } = props;\r\n const { saveData, data } = useWizardStep(stepId);\r\n const translate = useTranslate();\r\n\r\n console.log('basicSettingsDetails', basicSettingsDetails);\r\n\r\n const form = useForm({\r\n mode: 'onBlur',\r\n defaultValues: {\r\n ...basicSettingsDetails,\r\n defaultLocale: basicSettingsDetails.defaultLocale || 'default',\r\n mobileAppName: basicSettingsDetails.mobileAppName ?? '',\r\n mobileAppVersion: basicSettingsDetails.mobileAppVersion ?? '1.0',\r\n eulaOptions: basicSettingsDetails.eulaText ? 'customEULA' : 'standardEULA',\r\n eulaLink: basicSettingsDetails.eulaLink ?? '',\r\n eulaText: basicSettingsDetails.eulaText ?? ''\r\n }\r\n });\r\n\r\n const { trigger, getValues, reset } = form;\r\n\r\n const onNext = React.useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues();\r\n\r\n return onSaveBasicSettingsDetails(formData)\r\n .then((result) => {\r\n saveData({ updateMobileAppRsponse: result.UpdateMobileAppResult, formData });\r\n return true;\r\n })\r\n .catch(() => false);\r\n }, [trigger, getValues, onSaveBasicSettingsDetails, saveData]);\r\n\r\n React.useEffect(() => {\r\n data && reset(data.formData);\r\n }, [reset, data]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import { memo, useCallback, useEffect, useState } from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { IWizardStepRendererProps, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { IAuthenticationSettingsTextData } from 'modules/shared/queries';\r\nimport { AuthenticationForm } from 'modules/shared/forms';\r\nimport { IAuthenticationFormFields } from 'modules/shared/types';\r\nimport { useAuthenticationDefaultValues, useAuthenticationProviders } from 'modules/shared/hooks';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { MobileAppHelpLink } from 'common';\r\n\r\ninterface IAuthenticationProps extends IWizardStepRendererProps {\r\n authMetadata: IAuthenticationSettingsTextData;\r\n onSaveAuthDetails: (formData: IAuthenticationFormFields, optionsData: any) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>\r\n}\r\n\r\nexport const Authentication = memo((props: IAuthenticationProps) => {\r\n const { stepId, authMetadata, onSaveAuthDetails } = props;\r\n const { defaultConfig, ...rest } = authMetadata;\r\n const { saveData, data } = useWizardStep(stepId);\r\n const defaultValues = useAuthenticationDefaultValues(rest);\r\n\r\n const form = useForm({\r\n mode: 'onChange',\r\n defaultValues\r\n });\r\n\r\n const { trigger, getValues, reset } = form;\r\n\r\n const providers = useAuthenticationProviders(defaultConfig.toLocaleLowerCase());\r\n\r\n const [optionsData, setOptionsData] = useState(providers);\r\n\r\n const onMarkAsDefault = useCallback((key: React.Key) => {\r\n const clonedData = optionsData.slice();\r\n const modifiedOptionsData = clonedData.map((option) => {\r\n if (option.key === key) {\r\n option.value.markedAsDefault = true;\r\n }\r\n else option.value.markedAsDefault = false;\r\n return option;\r\n });\r\n setOptionsData(modifiedOptionsData);\r\n }, [optionsData]);\r\n\r\n const onNext = useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues();\r\n\r\n return onSaveAuthDetails(formData, optionsData).then((result) => {\r\n saveData({ updateMobileAppRsponse: result.UpdateMobileAppResult, formData, optionsData });\r\n return true;\r\n }).catch(() => false);\r\n }, [trigger, getValues, onSaveAuthDetails, optionsData, saveData]);\r\n\r\n useEffect(() => {\r\n if (data) {\r\n reset({ ...data.formData, ...data.optionsData });\r\n setOptionsData(data.optionsData);\r\n }\r\n }, [reset, data]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { IWizardStepRendererProps, StackPanel, Typography, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { MobileAppHelpLink, StyledStackPanel } from 'common';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { AppFiltersForm } from '../forms';\r\n\r\n\r\nexport interface IAppMetadata {\r\n appID: string;\r\n description: string;\r\n guid: number;\r\n name: string;\r\n value: string;\r\n}\r\n\r\ninterface IAppFiltersProps extends IWizardStepRendererProps {\r\n appMetadata: IAppMetadata[];\r\n defaultAppFilters?: {\r\n appListOptions: string;\r\n showApps: {\r\n [key: string]: boolean;\r\n }\r\n }\r\n onSaveAppFilterDetails: (formData: IAppFiltersFormFields) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>\r\n}\r\n\r\nexport interface IAppFiltersFormFields {\r\n appListOptions: string;\r\n showApps: {\r\n [key: string]: boolean;\r\n }\r\n}\r\n\r\nexport const AppFilters = React.memo((props: IAppFiltersProps) => {\r\n const { stepId, appMetadata, defaultAppFilters, onSaveAppFilterDetails } = props;\r\n const { saveData, data } = useWizardStep(stepId);\r\n const translate = useTranslate();\r\n\r\n const form = useForm({\r\n mode: 'onChange',\r\n defaultValues: {\r\n appListOptions: defaultAppFilters?.appListOptions || 'show-only-selected-below',\r\n showApps: defaultAppFilters?.showApps || {}\r\n }\r\n });\r\n\r\n const { trigger, getValues, reset } = form;\r\n\r\n const onNext = React.useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues();\r\n\r\n return onSaveAppFilterDetails(formData).then((res: Awaited>) => {\r\n saveData({ updateMobileAppRsponse: res.UpdateMobileAppResult, formData });\r\n return true;\r\n }).catch(() => false);\r\n }, [trigger, getValues, onSaveAppFilterDetails, saveData]);\r\n\r\n React.useEffect(() => {\r\n data && reset(data.formData);\r\n }, [reset, data]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { useNavigate } from 'react-router-dom';\r\nimport { IWizardStepRendererProps, StackPanel, TagValue, Typography } from '@agilepoint/wat-react-ux';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { StyledEmailInputControl } from 'modules/shared/styled-components';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { MobileAppHelpLink, StyledStackPanel } from 'common';\r\nimport { WizardNavigationActions } from '../footers';\r\n\r\n\r\ninterface IBuildAppProps extends IWizardStepRendererProps {\r\n notificationList: string[];\r\n onSaveBuildDetails: (formData: { emailList: string, saveAsDraft?: boolean }) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>;\r\n}\r\n\r\nexport const BuildApp = React.memo((props: IBuildAppProps) => {\r\n const { stepId, notificationList, onSaveBuildDetails } = props;\r\n const [tagInputItems, setTagInputItems] = React.useState(notificationList);\r\n const navigate = useNavigate();\r\n const translate = useTranslate();\r\n\r\n const onTagInputChange = React.useCallback((values: TagValue[]) => {\r\n setTagInputItems(values);\r\n }, []);\r\n\r\n const handleBuildDetails = React.useCallback((saveAsDraft?: boolean) => onSaveBuildDetails({ emailList: JSON.stringify(tagInputItems.join(',')), saveAsDraft: saveAsDraft }).then((res) => {\r\n const { AppBaseId, AppId } = res.UpdateMobileAppResult;\r\n navigate({ pathname: `/my-apps/app-details/${AppId}/${AppBaseId}`, search: saveAsDraft ? '' : 'isSuccess=true' });\r\n return true;\r\n }).catch(() => false), [navigate, onSaveBuildDetails, tagInputItems]);\r\n\r\n const onSubmit = React.useCallback(() => handleBuildDetails(), [handleBuildDetails]);\r\n\r\n const onSaveAsDraft = React.useCallback(() => handleBuildDetails(true), [handleBuildDetails]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { IWizardStepRendererProps, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { StylingForm } from 'modules/shared/forms';\r\nimport { IStylingFormFields } from 'modules/shared/types';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { MobileAppHelpLink } from 'common';\r\n\r\ninterface IStylingProps extends IWizardStepRendererProps {\r\n defaultValues?: IStylingFormFields;\r\n onSaveStylingDetails: (formData: IStylingFormFields) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>\r\n}\r\n\r\nexport const Styling = React.memo((props: IStylingProps) => {\r\n const { stepId, defaultValues, onSaveStylingDetails } = props;\r\n const { saveData, data } = useWizardStep(stepId);\r\n const translate = useTranslate();\r\n const subHeading = translate('modules.createNewApp.steps.styling.stylingSubtitle');\r\n\r\n const form = useForm({\r\n mode: 'onChange',\r\n defaultValues\r\n });\r\n\r\n const { trigger, getValues, reset } = form;\r\n\r\n const onNext = React.useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues();\r\n return onSaveStylingDetails(formData).then((result) => {\r\n saveData({ updateMobileAppRsponse: result.UpdateMobileAppResult, formData });\r\n return true;\r\n }).catch(() => false);\r\n }, [trigger, getValues, onSaveStylingDetails, saveData]);\r\n\r\n React.useEffect(() => {\r\n data && reset(data.formData);\r\n }, [reset, data]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { IWizardStepRendererProps, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { UploadImagesTab } from 'modules/shared/content';\r\nimport { useUploadImageDefaultValues } from 'modules/shared/hooks';\r\nimport { IUploadImagesFormFields } from 'modules/shared/types';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\nimport { UploadImagesDirtyFields } from 'modules/create-new-app/containers/create-mobile-app';\r\nimport { MobileAppHelpLink } from 'common';\r\n\r\ninterface IUploadImagesProps extends IWizardStepRendererProps {\r\n imageData: {\r\n name: string;\r\n imageUrl: string;\r\n }[];\r\n onSaveUploadImagesDetails: (formData: IUploadImagesFormFields, dirtyFields: UploadImagesDirtyFields) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>;\r\n platformTypes: string[];\r\n menuColor: string;\r\n}\r\n\r\nexport const UploadImages = React.memo((props: IUploadImagesProps) => {\r\n const { stepId, imageData, onSaveUploadImagesDetails, platformTypes, menuColor } = props;\r\n const { saveData, data } = useWizardStep(stepId);\r\n const defaultValues = useUploadImageDefaultValues(imageData);\r\n const form = useForm({\r\n mode: 'all',\r\n defaultValues\r\n });\r\n\r\n const { trigger, getValues, reset, formState: { dirtyFields } } = form;\r\n\r\n const onNext = React.useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues();\r\n\r\n return onSaveUploadImagesDetails(formData, dirtyFields).then((result) => {\r\n saveData({ updateMobileAppRsponse: result.UpdateMobileAppResult, formData });\r\n return true;\r\n }).catch(() => false);\r\n\r\n }, [trigger, getValues, onSaveUploadImagesDetails, dirtyFields, saveData]);\r\n\r\n React.useEffect(() => {\r\n data && reset(data.formData);\r\n }, [reset, data]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { FormProvider, useForm } from 'react-hook-form';\r\nimport { IWizardStepRendererProps, useWizardStep } from '@agilepoint/wat-react-ux';\r\nimport { MobileAppHelpLink } from 'common';\r\nimport { WizardNavigationActions } from '../footers';\r\nimport { PushNotificationForm } from 'modules/shared/forms';\r\nimport { IPushNotificationFormFields } from 'modules/shared/types';\r\nimport { IMobileApplicationDetails } from 'modules/create-new-app/queries';\r\n\r\ninterface IPushNotificationProps extends IWizardStepRendererProps {\r\n defaultValues?: IPushNotificationFormFields\r\n onSavePushNotificationsDetails: (formData: IPushNotificationFormFields) => Promise<{\r\n UpdateMobileAppResult: IMobileApplicationDetails;\r\n }>\r\n}\r\n\r\nexport const PushNotifications = React.memo((props: IPushNotificationProps) => {\r\n const { stepId, defaultValues, onSavePushNotificationsDetails } = props;\r\n const { saveData, data } = useWizardStep(stepId);\r\n\r\n const form = useForm({\r\n mode: 'onBlur',\r\n defaultValues\r\n });\r\n\r\n const { trigger, getValues, reset } = form;\r\n\r\n const onNext = React.useCallback(async () => {\r\n if (!await trigger()) {\r\n return false;\r\n }\r\n const formData = getValues() as IPushNotificationFormFields;\r\n\r\n return onSavePushNotificationsDetails(formData)\r\n .then((result) => {\r\n saveData({ updateMobileAppRsponse: result.UpdateMobileAppResult, formData });\r\n return true;\r\n }).catch(() => false);\r\n }, [trigger, getValues, onSavePushNotificationsDetails, saveData]);\r\n\r\n React.useEffect(() => {\r\n data && reset(data.formData);\r\n }, [data, reset]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React, { useState } from 'react';\r\nimport styled from 'styled-components';\r\nimport { keyType, StackPanel } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { commonStyles, ElasticTextBoxField, websiteRegExp, emailRegExp } from 'common';\r\nimport { StyledRadioGroupField } from 'modules/create-new-app/components/app-wizard/styled-components';\r\nimport { useFormContext } from 'react-hook-form';\r\nimport { ICompanyDetailsFormFields } from './company-details';\r\n\r\nconst CompanyDetailsWrapper = styled(StackPanel)`\r\n ${commonStyles.boldTextLabel};\r\n overflow-y: auto;\r\n /* // Note: temp code needs to be fixed later */\r\n padding: 0 20%;\r\n`;\r\n\r\nexport const CompanyDetailsForm = React.memo(() => {\r\n const translate = useTranslate();\r\n const { watch, setValue } = useFormContext();\r\n\r\n const eulaRadioOptions = [\r\n {\r\n name: 'Standard EULA',\r\n value: 'standardEULA',\r\n title: 'Standard EULA',\r\n key: 'standardEULA'\r\n },\r\n {\r\n name: 'Custom EULA',\r\n value: 'customEULA',\r\n title: 'Custom EULA',\r\n key: 'customEULA'\r\n }\r\n ];\r\n\r\n const [isCustomEula, setIsCustomEula] = useState(watch('eulaOptions') !== 'standardEULA');\r\n\r\n const onValueChange = React.useCallback((selectedKey: keyType) => {\r\n if (selectedKey === 'customEULA') {\r\n setIsCustomEula(true);\r\n }\r\n else {\r\n setIsCustomEula(false);\r\n setValue('eulaText', '', { shouldDirty: true, shouldTouch: true, shouldValidate: true });\r\n setValue('eulaLink', '', { shouldDirty: true, shouldTouch: true, shouldValidate: true });\r\n }\r\n }, [setValue]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {isCustomEula ?\r\n <>\r\n \r\n : <>}\r\n\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { ResetDefaultSettingsContainer } from '../containers';\r\nimport { StyledPrimaryButton, StyledStackPanel } from 'common';\r\n\r\ninterface ITabFooterButtonProps {\r\n mutationLoading?: boolean;\r\n onSubmitClickHandler: () => void;\r\n}\r\n\r\nconst FooterBlock = styled(StyledStackPanel)`\r\n border-top: 1px solid ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.grayVariant5};\r\n padding-top: 20px;\r\n box-sizing: border-box;\r\n`;\r\n\r\nexport const TabFooterButtons = React.memo((props: ITabFooterButtonProps) => {\r\n const { mutationLoading, onSubmitClickHandler } = props;\r\n const translate = useTranslate();\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { StackPanel, Typography, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { StyledFlexBox } from 'common';\r\nimport { CompanyDetailsForm } from './company-details-form';\r\nimport { TabFooterButtons } from '../tab-footer-buttons';\r\n\r\nexport interface ICompanyDetailsProps {\r\n mutationLoading: boolean;\r\n companyName: string;\r\n companyInfoEmail: string;\r\n companySupportEmail: string;\r\n companyWebsite: string;\r\n copyrightInfo: string;\r\n eulaLink: string;\r\n eulaText: string;\r\n onSaveCompanyDetails: (args: ICompanyDetailsFormFields) => Promise;\r\n}\r\n\r\nexport interface ICompanyDetailsFormFields {\r\n companyName: string;\r\n companyInfoEmail: string;\r\n companySupportEmail: string;\r\n companyWebsite: string;\r\n copyrightInfo: string;\r\n eulaLink: string;\r\n eulaText: string;\r\n eulaOptions: string;\r\n}\r\n\r\nconst CompanyDetailsBase = (props: Pick) => {\r\n const { onSaveCompanyDetails, mutationLoading } = props;\r\n const { handleSubmit } = useFormContext();\r\n const { showNotifications } = useNotificationEvents();\r\n const translate = useTranslate();\r\n\r\n const onSaveClick = React.useCallback((args: ICompanyDetailsFormFields) => {\r\n onSaveCompanyDetails(args)\r\n .then(() => showNotifications({ message: translate('modules.defaultAppSettings.companyDetails.successfulCompanyDetails'), type: 'success' }))\r\n .catch(() => showNotifications({ message: translate('modules.defaultAppSettings.companyDetails.failureinSavingCompanyDetails'), type: 'error' }));\r\n }, [onSaveCompanyDetails, showNotifications, translate]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n};\r\n\r\nexport const CompanyDetails = React.memo((props: ICompanyDetailsProps) => {\r\n const { onSaveCompanyDetails, mutationLoading, ...rest } = props;\r\n const methods = useForm({\r\n defaultValues: {\r\n eulaOptions: rest.eulaText ? 'customEULA' : 'standardEULA',\r\n ...rest\r\n },\r\n mode: 'onBlur'\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n","import React, { memo, useCallback, useState } from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { FlexBox, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { AuthenticationForm } from 'modules/shared/forms';\r\nimport { IAuthenticationSettingsTextData, ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { useAuthenticationDefaultValues, useAuthenticationProviders } from 'modules/shared/hooks';\r\nimport { IAuthenticationFormFields } from 'modules/shared/types';\r\nimport { getAuthenticationSettingsJSON, AuthenticationSettingsResponse } from 'modules/shared/functions';\r\nimport { TabFooterButtons } from './tab-footer-buttons';\r\n\r\ninterface IAuthenticationProps {\r\n authMetadata: IAuthenticationSettingsTextData;\r\n mutationLoading: boolean;\r\n onSaveAuthenticationSettingsDetails: (args: AuthenticationSettingsResponse) => Promise\r\n}\r\n\r\n\r\nconst AuthenticationBase = React.memo((props: IAuthenticationProps) => {\r\n const { authMetadata, mutationLoading, onSaveAuthenticationSettingsDetails } = props;\r\n const providers = useAuthenticationProviders(authMetadata?.defaultConfig?.toLocaleLowerCase());\r\n const [optionsData, setOptionsData] = useState(providers);\r\n const { handleSubmit } = useFormContext();\r\n const { showNotifications } = useNotificationEvents();\r\n const translate = useTranslate();\r\n const headerLabel = translate('modules.defaultAppSettings.authentication.authenticationHeaderLabel');\r\n\r\n const onMarkAsDefault = useCallback((key: React.Key) => {\r\n const clonedData = optionsData.slice();\r\n const modifiedOptionsData = clonedData.map((option) => {\r\n if (option.key === key) {\r\n option.value.markedAsDefault = true;\r\n }\r\n else option.value.markedAsDefault = false;\r\n return option;\r\n });\r\n setOptionsData(modifiedOptionsData);\r\n }, [optionsData]);\r\n\r\n const onSaveClick = useCallback((formData: IAuthenticationFormFields) => {\r\n onSaveAuthenticationSettingsDetails(getAuthenticationSettingsJSON(formData, optionsData))\r\n .then(() => showNotifications({ message: translate('modules.createNewApp.steps.authentication.savedAuthenticationDetailsSuccessful'), type: 'success' }))\r\n .catch(() => showNotifications({ message: translate('modules.createNewApp.steps.authentication.failedToSaveAuthDetails'), type: 'error' }));\r\n }, [onSaveAuthenticationSettingsDetails, optionsData, showNotifications, translate]);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport const Authentication = memo((props: IAuthenticationProps) => {\r\n const { defaultConfig, ...rest } = props.authMetadata;\r\n const defaultValues = useAuthenticationDefaultValues(rest);\r\n\r\n const form = useForm({\r\n mode: 'onChange',\r\n defaultValues\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { FlexBox, IActiveTabDetails, TabItem, TabsPanel } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { useGetApplicationListQuery, useGetNotificationListQuery } from 'modules/shared/queries';\r\nimport {\r\n AppListContainer, AuthenticationSettingsContainer, CompanyDetailsContainer, MenuOptionsContainer,\r\n NotificationsListContainer, StylingContainer, UploadImagesContainer, PushNotificationsContainer\r\n} from '../containers';\r\nimport { DefaultAppSettingsTabHelplink } from 'common';\r\nimport { IHelpLinks } from 'types';\r\nimport { useConfigScopeSelectors } from 'modules/core/scopes';\r\n\r\nconst StyledTabsPanel = styled(TabsPanel)`\r\n background-color: ${({ theme: { semantics: { palette } } }) => palette.white};\r\n padding: 30px 30px 20px 30px;\r\n height: 100%;\r\n display: flex;\r\n flex-direction: column;\r\n align-items: center;\r\n position: relative;\r\n border-radius: ${(props)=>props.theme.semantics.borderRadius.curvedLarge};\r\n .ap-tabItem-header{\r\n font-weight: 500;\r\n }\r\n .ap-tabsPanel-tabHeaderContainer {\r\n height: 30px;\r\n z-index: 1;\r\n }\r\n .ap-tabsPanel-tabContentContainer {\r\n padding-top: 30px;\r\n overflow-y: hidden;\r\n border: none;\r\n }\r\n .ap-tabsPanel-tabItemWrapper {\r\n border-color: ${({ theme: { mobileAppAccelerator: { semanticColors } } }) => semanticColors.genericBorderColor};\r\n }\r\n .ap-tabsPanel-tabItemWrapper:first-child {\r\n border-radius: 6px 0px 0px 6px;\r\n }\r\n .ap-tabsPanel-tabItemWrapper:last-child {\r\n border-radius: 0px 6px 6px 0px;\r\n }\r\n .ap-tabsPanel-tabItemWrapper:only-child {\r\n border-radius: 6px;\r\n }\r\n`;\r\n\r\nconst DefaultSettingsContext = React.createContext({\r\n activeTab: '' as React.Key,\r\n setTabValue: (value: React.Key) => {\r\n //NOOP\r\n },\r\n defaultSettingsConfig: { doesNotIncludesAppListConfig: false, doesNotIncludesNotificationList: false },\r\n setDefaultSettingsConfig: (args: { doesNotIncludesAppListConfig: boolean, doesNotIncludesNotificationList: boolean }) => {\r\n //NOOP\r\n }\r\n});\r\n\r\nconst DefaultSettingsProvider = (props: { children?: React.ReactNode }) => {\r\n const [activeTab, setActiveTab] = React.useState('');\r\n const [defaultSettingsConfig, setErrorMode] = React.useState({ doesNotIncludesAppListConfig: false, doesNotIncludesNotificationList: false });\r\n\r\n const setTabValue = React.useCallback((value: React.Key) => setActiveTab(value), []);\r\n const setDefaultSettingsConfig = React.useCallback((value) => setErrorMode(value), []);\r\n const { data } = useGetApplicationListQuery();\r\n const { data: notificationData } = useGetNotificationListQuery();\r\n\r\n const effectRenderedRef = React.useRef(true);\r\n\r\n React.useEffect(() => {\r\n if (data && notificationData && effectRenderedRef.current) {\r\n const hasNotificationsData = JSON.parse(notificationData.TextData).length > 0;\r\n const hasAppListData = JSON.parse(data.TextData).length > 0;\r\n if (!hasNotificationsData || !hasAppListData) {\r\n setErrorMode({ doesNotIncludesAppListConfig: !hasAppListData, doesNotIncludesNotificationList: !hasNotificationsData });\r\n }\r\n effectRenderedRef.current = false; //Used a ref to only reneder this effect once on mount\r\n }\r\n }, [data, notificationData]);\r\n\r\n return (\r\n \r\n {props.children}\r\n \r\n );\r\n};\r\n\r\nexport const useDefaultSettingsContext = () => React.useContext(DefaultSettingsContext);\r\n\r\nconst getHelpLinkID = (activeTab: string): keyof IHelpLinks => {\r\n switch (activeTab) {\r\n case 'company-details':\r\n return 'appSettingsCompanyDetails';\r\n case 'authentication':\r\n return 'appSettingsAuthentication';\r\n case 'app-list':\r\n return 'appSettingsAppList';\r\n case 'menu-options':\r\n return 'appSettingsMenuOptions';\r\n case 'styling':\r\n return 'appSettingsStyling';\r\n case 'upload-images':\r\n return 'appSettingsUploadImages';\r\n case 'notification-list':\r\n return 'appSettingsNotificationList';\r\n case 'push-notifications':\r\n return 'appSettingsPushNotification';\r\n default: return 'appSettingsCompanyDetails';\r\n }\r\n};\r\n\r\nconst AppSettingsLayoutBase = React.memo(() => {\r\n const translate = useTranslate();\r\n const { setTabValue, activeTab } = useDefaultSettingsContext();\r\n const { selectMobileAppAcceleratorConfig } = useConfigScopeSelectors();\r\n const { enablePushNotificationConfig } = selectMobileAppAcceleratorConfig();\r\n\r\n const onTabChange = React.useCallback((value: IActiveTabDetails) => {\r\n setTabValue(value.activeTab);\r\n }, [setTabValue]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {enablePushNotificationConfig ?\r\n \r\n \r\n : null}\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport const AppSettingsLayout = () => (\r\n \r\n \r\n \r\n);\r\n","import React, { memo, useCallback } from 'react';\r\nimport styled from 'styled-components';\r\nimport { ReadMode, StackPanel, Typography, typographyPresets, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { toCamelCasedKeys, toTitleCasedKeys } from '@agilepoint/utils-common';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { TabFooterButtons } from '../tab-footer-buttons';\r\nimport { AppSelecionWrapper, StyledListView } from 'modules/create-new-app/components/app-wizard/styled-components';\r\nimport { IGetTextData, ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { ClearAppListContainer } from 'modules/default-app-settings/containers';\r\nimport { commonStyles, CustomFileUpload, getCurrentDate, GridLayout, IllustrationMessage, StyledStackPanel } from 'common';\r\nimport { useDefaultSettingsContext } from '../app-settings-layout';\r\n\r\nexport interface IAppMetadata {\r\n appID: string;\r\n description: string;\r\n guid: number;\r\n name: string;\r\n value: string;\r\n}\r\n\r\ninterface IAppListProps {\r\n appMetadata: IAppMetadata[];\r\n restAPIData: Omit\r\n mutationLoading: boolean;\r\n onSaveAppListDetails: (args: IGetTextData) => Promise\r\n}\r\n\r\ninterface IFileInfo {\r\n name: string;\r\n content?: string;\r\n error?: string;\r\n}\r\n\r\nconst StyledFileUploadButton = styled(CustomFileUpload)`\r\n width: auto;\r\n height: auto;\r\n .ap-icon {\r\n margin-right: 10px;\r\n }\r\n .ap-button-label {\r\n margin: 0;\r\n ${typographyPresets.headings.h5};\r\n }\r\n`;\r\n\r\nconst StyledGridLayout = styled(GridLayout)`\r\n color: ${({ theme: { mobileAppAccelerator } }) => mobileAppAccelerator.semanticColors.grayVariant2};\r\n`;\r\n\r\nconst StyledText = styled(Typography.Medium)`\r\n ${commonStyles.textOverflow}; \r\n`;\r\n\r\nfunction getFileInfo(file: File, readMode: ReadMode): Promise {\r\n return new Promise((resolve, reject) => {\r\n const fileReader = new FileReader();\r\n fileReader.addEventListener('load', () => {\r\n resolve({\r\n content: fileReader.result as string,\r\n name: file.name\r\n });\r\n });\r\n fileReader.addEventListener('error', () => reject({\r\n error: 'Failed to read content.',\r\n name: file.name\r\n }));\r\n fileReader[readMode](file);\r\n });\r\n}\r\n\r\nconst validateFileContent = (fileContent: string) => {\r\n try {\r\n const parsedContent = JSON.parse(fileContent) as { [key: string]: Array<{ Name: string, Value: string, Description: string, AppID: string }> };\r\n let isValid = false,\r\n content: { Name: string; Value: string; Description: string; AppID: string; }[] = [];\r\n for (const [key, value] of Object.entries(parsedContent)) {\r\n if (key === 'ApplicationList') {\r\n isValid = value.length > 0;\r\n content = value;\r\n }\r\n else isValid = false;\r\n }\r\n return { isValid, content };\r\n } catch (error) {\r\n return { isValid: false, content: [] };\r\n }\r\n};\r\n\r\nexport const AppList = memo((props: IAppListProps) => {\r\n const { appMetadata, restAPIData, mutationLoading, onSaveAppListDetails } = props;\r\n const [appDisplaydata, setAppDisplayData] = React.useState(appMetadata);\r\n const { showNotifications } = useNotificationEvents();\r\n const { defaultSettingsConfig, setDefaultSettingsConfig } = useDefaultSettingsContext();\r\n const translate = useTranslate();\r\n\r\n const onFileUpload = useCallback(async (files: File[]) => {\r\n const [selectedFile] = files;\r\n if (selectedFile.type === 'application/json') {\r\n const fileInfo = await getFileInfo(selectedFile, 'readAsText');\r\n const { content, isValid } = validateFileContent(fileInfo.content!);\r\n if (isValid) {\r\n const uploadedFileData = content.map((item: any) => toCamelCasedKeys(item));\r\n return setAppDisplayData(uploadedFileData);\r\n }\r\n }\r\n showNotifications({ message: translate('modules.defaultAppSettings.appList.fileValidateText'), type: 'error' });\r\n }, [showNotifications, translate]);\r\n\r\n const onRenderItem = useCallback((itemProps: IAppMetadata) => , []);\r\n\r\n const onSubmitClickHandler = useCallback(() => {\r\n onSaveAppListDetails({\r\n ...restAPIData,\r\n CreatedDate: getCurrentDate(),\r\n TextData: JSON.stringify(appDisplaydata.map((app) => toTitleCasedKeys(app)))\r\n })\r\n .then(() => {\r\n showNotifications({ message: translate('modules.defaultAppSettings.appList.savedListDetails'), type: 'success' });\r\n setDefaultSettingsConfig({\r\n doesNotIncludesAppListConfig: !appDisplaydata.length,\r\n doesNotIncludesNotificationList: defaultSettingsConfig.doesNotIncludesNotificationList\r\n });\r\n })\r\n .catch(() => showNotifications({ message: translate('modules.defaultAppSettings.appList.failedListText'), type: 'error' }));\r\n }, [onSaveAppListDetails, restAPIData, appDisplaydata, showNotifications, translate, setDefaultSettingsConfig,\r\n defaultSettingsConfig.doesNotIncludesNotificationList]);\r\n\r\n const onClearInternalState = useCallback(() => {\r\n setAppDisplayData([]);\r\n }, []);\r\n\r\n return (\r\n <>\r\n \r\n \r\n \r\n \r\n \r\n {appDisplaydata.length === 0 ? <> : }\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n {appDisplaydata.length ?\r\n item.appID} />\r\n :\r\n }\r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nconst AppDetails = React.memo((props: IAppMetadata) => {\r\n const { name } = props;\r\n return (\r\n \r\n {name}\r\n {name}\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { NegativeActionButton, StyledActionButton, StyledPrimaryButton } from 'common';\r\nimport { useCustomPopupEvents } from 'lib/hooks';\r\nimport { Typography, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\n\r\ninterface IClearListProps {\r\n onClearList: () => Promise;\r\n onClearInternalState: () => void;\r\n}\r\n\r\nexport const ClearList = React.memo((props: IClearListProps) => {\r\n const { onClearList, onClearInternalState } = props;\r\n const { showCustomPopup, removePopup } = useCustomPopupEvents();\r\n const { showNotifications } = useNotificationEvents();\r\n const onCancelClick = React.useCallback(() => removePopup('clear-app-list'), [removePopup]);\r\n const translate = useTranslate();\r\n\r\n const onOKClick = React.useCallback(() => onClearList()\r\n .then(() => {\r\n removePopup('clear-app-list');\r\n showNotifications({ message: translate('modules.defaultAppSettings.messages.successfulClearList'), type: 'success' });\r\n onClearInternalState();\r\n })\r\n .catch(() => showNotifications({ message: translate('modules.defaultAppSettings.messages.failedToClearList'), type: 'error' })), [onClearInternalState, onClearList, removePopup, showNotifications, translate]);\r\n\r\n const onClearListClick = React.useCallback(() => {\r\n showCustomPopup({\r\n headerTitle: translate('modules.defaultAppSettings.appList.confirmation'),\r\n showModal: true,\r\n width: '391px',\r\n height: '185px',\r\n id: 'clear-app-list',\r\n onRenderContent: () => ,\r\n onRenderFooter: () => (\r\n <>\r\n \r\n \r\n \r\n )\r\n });\r\n }, [onCancelClick, onOKClick, showCustomPopup, translate]);\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { FlexBox, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { MenuOptionsForm } from 'modules/shared/forms';\r\nimport { TabFooterButtons } from './tab-footer-buttons';\r\nimport { useMenuOptionsDefaultValues } from 'modules/shared/hooks';\r\nimport { IMenuOptionsFormFields, MenuOption } from 'modules/shared/types';\r\n\r\nexport interface IMenuOptionsProps {\r\n mutationLoading: boolean;\r\n menuOptions: MenuOption[];\r\n onSaveCompanyDetails: (args: IMenuOptionsFormFields) => Promise;\r\n}\r\n\r\nconst MenuOptionsBase = React.memo((props: IMenuOptionsProps) => {\r\n const { mutationLoading, onSaveCompanyDetails } = props;\r\n const { handleSubmit } = useFormContext();\r\n const { showNotifications } = useNotificationEvents();\r\n const translate = useTranslate();\r\n const headerLabel = translate('modules.createNewApp.steps.menuOptions.defaultCustomFeaturesHeader');\r\n\r\n const onSaveClick = React.useCallback((formData: IMenuOptionsFormFields) => {\r\n onSaveCompanyDetails(formData)\r\n .then(() => showNotifications({ message: translate('modules.createNewApp.steps.menuOptions.successfulSaveMenuText'), type: 'success' }))\r\n .catch(() => showNotifications({ message: translate('mdoules.createNewApp.steps.menuOptions.failureMenuText'), type: 'error' }));\r\n }, [onSaveCompanyDetails, showNotifications, translate]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport const MenuOptions = React.memo((props: IMenuOptionsProps) => {\r\n const defaultValues = useMenuOptionsDefaultValues(props.menuOptions);\r\n\r\n const methods = useForm({\r\n mode: 'all',\r\n defaultValues\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n","import React, { useCallback } from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { FlexBox, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { StylingForm } from 'modules/shared/forms';\r\nimport { IStyleAPIData, IStylingFormFields } from 'modules/shared/types';\r\nimport { ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { getDefaultStylingFormValues, getStylingJSON, StylingResponseType } from 'modules/shared/functions';\r\nimport { TabFooterButtons } from './tab-footer-buttons';\r\n\r\ninterface IStylingProps {\r\n styleData: IStyleAPIData\r\n mutationLoading: boolean;\r\n onSaveStylingDetails: (args: StylingResponseType) => Promise\r\n}\r\n\r\nconst StylingBase = React.memo((props: IStylingProps) => {\r\n const { mutationLoading, onSaveStylingDetails } = props;\r\n const { handleSubmit } = useFormContext();\r\n const { showNotifications } = useNotificationEvents();\r\n const translate = useTranslate();\r\n const headerLabel = translate('modules.createNewApp.steps.styling.defaultStylingHeader');\r\n\r\n const onSubmitHandler = useCallback((formData: IStylingFormFields) => {\r\n onSaveStylingDetails(getStylingJSON(formData))\r\n .then(() => showNotifications({ message: translate('modules.createNewApp.steps.styling.styledDetailsSavedSuccessful'), type: 'success' }))\r\n .catch(() => showNotifications({ message: translate('modules.createNewApp.steps.styling.styledDetailsFailure'), type: 'error' }));\r\n }, [onSaveStylingDetails, showNotifications, translate]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport const Styling = React.memo((props: IStylingProps) => {\r\n const defaultValues = getDefaultStylingFormValues(props.styleData);\r\n\r\n const form = useForm({\r\n mode: 'onChange',\r\n defaultValues\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n","import React, { useCallback } from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { FlexBox, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { UploadImagesTab } from 'modules/shared/content';\r\nimport { useUploadImageDefaultValues } from 'modules/shared/hooks';\r\nimport { IUploadImagesFormFields } from 'modules/shared/types';\r\nimport { IBinaryDataPayload } from 'modules/shared/queries';\r\nimport { TabFooterButtons } from './tab-footer-buttons';\r\nimport { getMappedFormfieldName, getNativeFileName } from 'modules/shared/functions';\r\nimport { PlatformTypes } from 'modules/create-new-app/components/app-wizard/steps';\r\n\r\ninterface IUploadImagesProps {\r\n imageData: {\r\n name: string;\r\n imageUrl: string;\r\n }[];\r\n mutationLoading: boolean;\r\n onSaveBinaryData: (payloadArray: IBinaryDataPayload[]) => Promise;\r\n menuColor?: string;\r\n}\r\n\r\nconst UploadImagesBase = React.memo((props: IUploadImagesProps) => {\r\n const { mutationLoading, imageData: initialImageData, onSaveBinaryData, menuColor } = props;\r\n const { handleSubmit, formState } = useFormContext();\r\n const { showNotifications } = useNotificationEvents();\r\n const translate = useTranslate();\r\n const headerLabel = translate('modules.createNewApp.steps.uploadImages.defaultCustomImagesHeader');\r\n\r\n const onSubmitHandler = useCallback((formData: IUploadImagesFormFields) => {\r\n const previouslyUploadedImageFormFields = initialImageData.reduce((acc, currentImageData) => {\r\n if (formData[getMappedFormfieldName(currentImageData.name)] === currentImageData.imageUrl) {\r\n acc.push(getMappedFormfieldName(currentImageData.name));\r\n }\r\n return acc;\r\n }, [] as string[]);\r\n\r\n const dirtyFormFields = Object.keys(formState.dirtyFields);\r\n const binaryDataPayload = [...previouslyUploadedImageFormFields, ...dirtyFormFields].map((field) => ({\r\n AppId: 'Global',\r\n BinaryDataAsBase64: formData[field].split(',')[1],\r\n ContentType: 'png',\r\n FileName: getNativeFileName(field)\r\n }));\r\n onSaveBinaryData(binaryDataPayload)\r\n .then(() => showNotifications({ message: translate('modules.createNewApp.steps.uploadImages.successfulImageUpload'), type: 'success' }))\r\n .catch(() => showNotifications({ message: translate('modules.createNewApp.steps.uploadImages.imagesUploadFailed'), type: 'error' }));\r\n }, [formState.dirtyFields, initialImageData, onSaveBinaryData, showNotifications, translate]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport const UploadImages = React.memo((props: IUploadImagesProps) => {\r\n const { imageData } = props;\r\n const defaultValues = useUploadImageDefaultValues(imageData);\r\n const form = useForm({\r\n mode: 'all',\r\n defaultValues\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { FlexBox, StackPanel, TagValue, Typography, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { Localize, useTranslate } from '@agilepoint/wat-react';\r\nimport { ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { StyledEmailInputControl } from 'modules/shared/styled-components';\r\nimport { StyledStackPanel } from 'common';\r\nimport { TabFooterButtons } from './tab-footer-buttons';\r\nimport { useDefaultSettingsContext } from './app-settings-layout';\r\n\r\ninterface INotificationListProps {\r\n mutationLoading: boolean;\r\n notificationList: string[]\r\n onSaveNotificationListDetails: (args: string) => Promise;\r\n}\r\n\r\nconst NotificationListHeader = styled(Typography.H2)`\r\n max-width: 545px;\r\n text-align: center; \r\n`;\r\n\r\nexport const NotificationList = React.memo((props: INotificationListProps) => {\r\n const { notificationList, mutationLoading, onSaveNotificationListDetails } = props;\r\n const [tagInputItems, setTagInputItems] = React.useState(notificationList);\r\n const { showNotifications } = useNotificationEvents();\r\n const { defaultSettingsConfig, setDefaultSettingsConfig } = useDefaultSettingsContext();\r\n const translate = useTranslate();\r\n\r\n const onTagInputChange = React.useCallback((values: TagValue[]) => {\r\n setTagInputItems(values);\r\n }, []);\r\n\r\n const onSaveClick = React.useCallback(() => {\r\n onSaveNotificationListDetails(tagInputItems.join(','))\r\n .then(() => {\r\n showNotifications({ message: translate('modules.defaultAppSettings.notificationList.successfulListInfo'), type: 'success' });\r\n setDefaultSettingsConfig({\r\n doesNotIncludesAppListConfig: defaultSettingsConfig.doesNotIncludesAppListConfig,\r\n doesNotIncludesNotificationList: !tagInputItems.length\r\n });\r\n })\r\n .catch(() => showNotifications({ message: translate('modules.defaultAppSettings.notificationList.failureListText'), type: 'error' }));\r\n }, [onSaveNotificationListDetails, tagInputItems, showNotifications, translate, setDefaultSettingsConfig,\r\n defaultSettingsConfig.doesNotIncludesAppListConfig]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n});\r\n","import React, { useCallback } from 'react';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { SecondaryButton, Typography } from '@agilepoint/wat-react-ux';\r\nimport { useCustomPopupEvents } from 'lib/hooks';\r\nimport { StyledActionButton, StyledPrimaryButton } from 'common';\r\n\r\nconst renderPopupContent = () => (\r\n \r\n This will reset the entire Default App Settings. Do you want to continue?\r\n \r\n);\r\n\r\ninterface IResetButtonProps {\r\n onReset: () => Promise\r\n}\r\n\r\nexport const ResetButton = React.memo((props: IResetButtonProps) => {\r\n const { showCustomPopup, removePopup } = useCustomPopupEvents();\r\n const translate = useTranslate();\r\n\r\n const onOkClick = useCallback(() => {\r\n props.onReset().then(() => removePopup('reset-default-settings'));\r\n }, [props, removePopup]);\r\n\r\n const onCancelClick = useCallback(() => {\r\n removePopup('reset-default-settings');\r\n }, [removePopup]);\r\n\r\n const onReset = useCallback(() => {\r\n showCustomPopup({\r\n headerTitle: translate('modules.maaTitle.mobileAppAcceleratorTitle'),\r\n showModal: true,\r\n id: 'reset-default-settings',\r\n width: '700px',\r\n onRenderContent: renderPopupContent,\r\n onRenderFooter: () => (\r\n <>\r\n \r\n \r\n \r\n )\r\n });\r\n }, [onCancelClick, onOkClick, showCustomPopup, translate]);\r\n\r\n return (\r\n \r\n );\r\n});\r\n","import React, { useCallback } from 'react';\r\nimport { FormProvider, useForm, useFormContext } from 'react-hook-form';\r\nimport { FlexBox, useNotificationEvents } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { PushNotificationForm } from 'modules/shared/forms';\r\nimport { ISaveTextDataResponse } from 'modules/shared/queries';\r\nimport { IPushNotificationFormFields } from 'modules/shared/types';\r\nimport { TabFooterButtons } from './tab-footer-buttons';\r\n\r\ninterface IPushNotificationProps {\r\n mutationLoading: boolean;\r\n pushNotifications: IPushNotificationFormFields;\r\n onSavePushNotificationsDetails: (args: IPushNotificationFormFields) => Promise\r\n}\r\n\r\nconst PushNotificationBase = React.memo((props: IPushNotificationProps) => {\r\n const { mutationLoading, onSavePushNotificationsDetails } = props;\r\n const { handleSubmit } = useFormContext();\r\n const { showNotifications } = useNotificationEvents();\r\n const translate = useTranslate();\r\n\r\n const onSubmitHandler = useCallback((formData: IPushNotificationFormFields) => {\r\n onSavePushNotificationsDetails(formData)\r\n .then(() => showNotifications({ message: translate('modules.createNewApp.steps.pushNotification.successMessage'), type: 'success' }))\r\n .catch(() => showNotifications({ message: translate('modules.createNewApp.steps.pushNotification.failureMessage'), type: 'error' }));\r\n }, [onSavePushNotificationsDetails, showNotifications, translate]);\r\n\r\n return (\r\n \r\n \r\n \r\n \r\n );\r\n});\r\n\r\nexport const PushNotifications = React.memo((props: IPushNotificationProps) => {\r\n\r\n const form = useForm({\r\n mode: 'onBlur',\r\n defaultValues: props.pushNotifications\r\n });\r\n\r\n return (\r\n \r\n \r\n \r\n );\r\n});\r\n","var map = {\n\t\"./ap-icon_3.entry.js\": [\n\t\t447,\n\t\t2\n\t],\n\t\"./ap-resolution-guard.entry.js\": [\n\t\t448,\n\t\t3\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 __webpack_require__.e(ids[1]).then(function() {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = function webpackAsyncContextKeys() {\n\treturn Object.keys(map);\n};\nwebpackAsyncContext.id = 623;\nmodule.exports = webpackAsyncContext;","import React from 'react';\r\nimport styled from 'styled-components';\r\nimport { useWizardStep, WizardNavigationHook, SecondaryButton, StackPanel, useWizardActions, ActionButton, ProgressIndicator } from '@agilepoint/wat-react-ux';\r\nimport { useTranslate } from '@agilepoint/wat-react';\r\nimport { isFunction } from '@agilepoint/utils-common';\r\nimport { FooterBlock } from '../styled-components';\r\nimport { StyledPrimaryButton } from 'common';\r\n\r\nexport interface IWizardNavigationActionsProps {\r\n blockNext?: boolean;\r\n stepId: string;\r\n nextStepId?: string;\r\n prevStepId?: string;\r\n nextParams?: any;\r\n prevParams?: any;\r\n skippable?: boolean;\r\n showCancel?: boolean;\r\n primaryPositiveActionType?: 'build' | 'next' | 'save';\r\n secondaryPositiveActionType?: string;\r\n secondaryAction?: WizardNavigationHook;\r\n hook?: WizardNavigationHook;\r\n prevHook?: WizardNavigationHook;\r\n onCancel?(): Promise;\r\n}\r\n\r\nconst StyledProgressIndicator = styled(ProgressIndicator)`\r\n width: 100%;\r\n`;\r\n\r\nexport const WizardNavigationActions = React.memo((props: IWizardNavigationActionsProps) => {\r\n const {\r\n stepId, nextStepId, prevStepId, nextParams, prevParams, onCancel, hook, secondaryAction,\r\n prevHook, skippable, primaryPositiveActionType, blockNext, secondaryPositiveActionType, showCancel = false\r\n } = props;\r\n const { isFirst, isLast, isNavigating, next, previous } = useWizardStep(stepId);\r\n const { navigate } = useWizardActions();\r\n\r\n const positiveActionLabel = React.useMemo(() => primaryPositiveActionType ?? (isLast ? 'build' : 'next'), [isLast, primaryPositiveActionType]);\r\n const translate = useTranslate();\r\n\r\n const onPositiveActionClick = React.useCallback(() => {\r\n const navArgs = { beforeNavigate: hook, params: isFunction(nextParams) ? nextParams() : nextParams };\r\n if (nextStepId) {\r\n navigate(nextStepId, navArgs);\r\n } else {\r\n next(navArgs);\r\n }\r\n }, [nextStepId, navigate, hook, nextParams, next]);\r\n\r\n const onPreviousClick = React.useCallback(() => {\r\n const navArgs = { beforeNavigate: prevHook, params: isFunction(prevParams) ? prevParams() : prevParams };\r\n if (prevStepId) {\r\n navigate(prevStepId, navArgs);\r\n } else {\r\n previous(navArgs);\r\n }\r\n }, [prevStepId, navigate, prevHook, prevParams, previous]);\r\n\r\n const onCancelClick = React.useCallback(async (e: React.MouseEvent) => {\r\n e.preventDefault();\r\n if (onCancel) {\r\n await onCancel();\r\n }\r\n }, [onCancel]);\r\n\r\n const onSkipClick = React.useCallback(() => {\r\n if (nextStepId) {\r\n navigate(nextStepId);\r\n } else {\r\n next();\r\n }\r\n }, [next, navigate, nextStepId]);\r\n\r\n const onSecondaryPositiveActionClick = React.useCallback(async () => {\r\n const navArgs = { beforeNavigate: secondaryAction, params: isFunction(nextParams) ? nextParams() : nextParams };\r\n if (nextStepId) {\r\n navigate(nextStepId, navArgs);\r\n } else {\r\n next(navArgs);\r\n }\r\n }, [navigate, next, nextParams, nextStepId, secondaryAction]);\r\n\r\n const renderCancelButton = () => (