udp-react-enterprise-component-library 25.18.1-beta.46 → 25.18.1-beta.48
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/{AuthProvider-BM2MdXcx.js → AuthProvider-qWjJiYSg.js} +2 -2
- package/dist/{AuthProvider-BM2MdXcx.js.map → AuthProvider-qWjJiYSg.js.map} +1 -1
- package/dist/{Shell-N3oRzrDU.js → Shell-DFCf3oVf.js} +4 -4
- package/dist/Shell-DFCf3oVf.js.map +1 -0
- package/dist/{TenantProvider-YjlC8AtM.js → TenantProvider-C-3eqCA3.js} +3 -2
- package/dist/{TenantProvider-YjlC8AtM.js.map → TenantProvider-C-3eqCA3.js.map} +1 -1
- package/dist/{UdpAppProvider-C0VlxSna.js → UdpAppProvider-NHkopZ-S.js} +5 -4
- package/dist/{UdpAppProvider-C0VlxSna.js.map → UdpAppProvider-NHkopZ-S.js.map} +1 -1
- package/dist/{UdpFormsSubmissionGrid-C5CDtEVR.js → UdpFormsSubmissionGrid-B2V--6Rl.js} +3 -2
- package/dist/{UdpFormsSubmissionGrid-C5CDtEVR.js.map → UdpFormsSubmissionGrid-B2V--6Rl.js.map} +1 -1
- package/dist/{auth-DUOUsM9U.js → auth-DX4sNV3x.js} +2 -2
- package/dist/{auth-DUOUsM9U.js.map → auth-DX4sNV3x.js.map} +1 -1
- package/dist/index.js +7 -7
- package/dist/{profile-C0_f9put.js → profile-CXlla7mZ.js} +3 -3
- package/dist/{profile-C0_f9put.js.map → profile-CXlla7mZ.js.map} +1 -1
- package/dist/providers/index.js +1 -1
- package/dist/shell/index.js +1 -1
- package/dist/shell/ui/profile/index.js +1 -1
- package/dist/types/src/providers/UdpAppProvider.d.ts.map +1 -1
- package/dist/types/src/shell/Shell.d.ts.map +1 -1
- package/dist/types/src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.d.ts.map +1 -1
- package/dist/types/tsconfig.tsbuildinfo +1 -1
- package/dist/udp/pages/UdpFormsSubmissionGrid/index.js +1 -1
- package/dist/utilities/auth/index.js +3 -3
- package/dist/utilities/tenant/index.js +1 -1
- package/export-map.json +1 -1
- package/package.json +1 -1
- package/dist/Shell-N3oRzrDU.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth-
|
|
1
|
+
{"version":3,"file":"auth-DX4sNV3x.js","names":["useSingleLogout: () => () => void"],"sources":["../src/utilities/auth/AuthProviderWrapper.jsx","../src/utilities/auth/useSingleLogout.ts","../src/utilities/auth/useAccessToken.js"],"sourcesContent":["import React from 'react';\n// import { LocalAuthProvider } from './LocalAuthProvider';\nimport { AuthProvider } from './AuthProvider';\n\nexport const AuthProviderWrapper = props => {\n const { children } = props;\n\n return <AuthProvider {...props}> {children}</AuthProvider>\n\n};\n","import 'react';\nimport { clearStoredPath } from '../redirect/LocalRedirectUrlStorage';\nimport { clearStoredExternalPath } from '../redirect/ExternalRedirectUrlStorage';\nimport {clearStoredTenant} from '../storage/UnitySessionStorage'\nimport {useLogoutAction} from './authActions';\n\nexport const useSingleLogout: () => () => void = () => {\n const logout = useLogoutAction();\n return () => {\n clearStoredPath();\n clearStoredExternalPath();\n clearStoredTenant();\n logout()\n }\n\n};\n","import { useState } from 'react';\nimport { acquireAccessToken } from './authActions';\n\nexport const useAccessToken = () => {\n const [accessToken, setAccessToken] = useState(null);\n\n acquireAccessToken().then((token) => {\n if (accessToken !== token) {\n setAccessToken(token);\n }\n });\n\n return accessToken;\n};\n"],"mappings":";;;;;;;;AAIA,MAAa,uBAAsB,UAAS;CAC1C,MAAM,EAAE,aAAa;AAErB,QAAO,oCAAC,cAAiB,OAAO,KAAE,SAAwB;;;;;ACD5D,MAAaA,wBAA0C;CACrD,MAAM,SAAS,iBAAiB;AAChC,cAAa;AACX,mBAAiB;AACjB,2BAAyB;AACzB,qBAAmB;AACnB,UAAQ;;;;;;ACTZ,MAAa,uBAAuB;CAClC,MAAM,CAAC,aAAa,kBAAkB,SAAS,KAAK;AAEpD,qBAAoB,CAAC,MAAM,UAAU;AACnC,MAAI,gBAAgB,MAClB,gBAAe,MAAM;GAEvB;AAEF,QAAO"}
|
package/dist/index.js
CHANGED
|
@@ -158,15 +158,15 @@ import { t as UtilityBar } from "./utilityDisplay-C6c73Efx.js";
|
|
|
158
158
|
import { n as useCurrentPageReturnTo, r as useIsAuthed, t as useAuthedUser } from "./useAuthedUser-Bhr7Yhlg.js";
|
|
159
159
|
import { t as useDefaultFormValues } from "./useDefaultFormValues-4T2o8lae.js";
|
|
160
160
|
import { t as ActionProvider } from "./ActionProvider-C_rohJIr.js";
|
|
161
|
-
import { n as FluentProfileMenuCard } from "./profile-
|
|
161
|
+
import { n as FluentProfileMenuCard } from "./profile-CXlla7mZ.js";
|
|
162
162
|
import { a as storePath, i as storeInitialPath, n as getStoredPath, r as storeCurrentPath, t as clearStoredPath } from "./LocalRedirectUrlStorage-Bxz8TI-X.js";
|
|
163
163
|
import { n as getStoredExternalPath, r as storeExternalPath, t as clearStoredExternalPath } from "./ExternalRedirectUrlStorage-BM-nmI4x.js";
|
|
164
|
-
import { a as useUserActions, i as useLocalUserActions } from "./TenantProvider-
|
|
164
|
+
import { a as useUserActions, i as useLocalUserActions } from "./TenantProvider-C-3eqCA3.js";
|
|
165
165
|
import { n as corporateColorsHint, r as productCategoryColors, t as corporateColors } from "./brand-BkTzWyBS.js";
|
|
166
166
|
import { t as LoadingIndicator } from "./LoadingIndicator-BBIwYBt5.js";
|
|
167
|
-
import { n as createUser, t as AuthProvider } from "./AuthProvider-
|
|
167
|
+
import { n as createUser, t as AuthProvider } from "./AuthProvider-qWjJiYSg.js";
|
|
168
168
|
import { t as PasswordResetRedirect } from "./PasswordResetRedirect-DDOsXDPA.js";
|
|
169
|
-
import { n as useSingleLogout, r as AuthProviderWrapper, t as useAccessToken } from "./auth-
|
|
169
|
+
import { n as useSingleLogout, r as AuthProviderWrapper, t as useAccessToken } from "./auth-DX4sNV3x.js";
|
|
170
170
|
import { t as UdpStepper } from "./stepper-BaIo_Rol.js";
|
|
171
171
|
import { n as FluentSimpleTab, t as FluentSimpleTabs } from "./FluentSimpleTabs-BghyAzdO.js";
|
|
172
172
|
import { n as UtilityTabHeader, t as PAHAdditionalTitleComponent } from "./utilityHeader-XiCwxUED.js";
|
|
@@ -225,7 +225,7 @@ import { t as UdpMap } from "./maps-BgmvNpkU.js";
|
|
|
225
225
|
import { t as UdpAdvancedSearchBuilder } from "./advancedSearchBuilder-7ixhIwLW.js";
|
|
226
226
|
import { n as SapFlexibleTemplate, t as ToggleSection } from "./templates-2r09nl9N.js";
|
|
227
227
|
import { t as AlertContainer } from "./UI-Baviuqz7.js";
|
|
228
|
-
import { t as Shell } from "./Shell-
|
|
228
|
+
import { t as Shell } from "./Shell-DFCf3oVf.js";
|
|
229
229
|
import { t as UserForm } from "./UserForm-DZ1a9uqZ.js";
|
|
230
230
|
import { t as SearchMethodUdpGrid } from "./SearchMethodUdpGrid-CWYZUOx-.js";
|
|
231
231
|
import { n as UdpMaintenanceEnginePage } from "./UdpMaintenanceEnginePage-C1UcnDlL.js";
|
|
@@ -296,11 +296,11 @@ import { t as WorkflowContainer } from "./WorkflowContainer-BheQPhXt.js";
|
|
|
296
296
|
import { t as TimelineCalendar } from "./TimelineCalendar-CZ5vmO43.js";
|
|
297
297
|
import { t as CustomMenuPage_default } from "./menuPage-PIJOkANO.js";
|
|
298
298
|
import { t as StatusCellRenderer } from "./StatusCellRenderer-E7SYy9Qk.js";
|
|
299
|
-
import { t as UdpFormsSubmissionGrid } from "./UdpFormsSubmissionGrid-
|
|
299
|
+
import { t as UdpFormsSubmissionGrid } from "./UdpFormsSubmissionGrid-B2V--6Rl.js";
|
|
300
300
|
import { n as FieldType, t as FieldArrayCard } from "./FieldArrayCard-BbCCfs6l.js";
|
|
301
301
|
import { n as ApprovalIcon, t as RejectIcon } from "./RejectIcon-CpF_J5Je.js";
|
|
302
302
|
import { t as MyExportsPage } from "./MyExportsPage-DMcJRz8T.js";
|
|
303
|
-
import { n as getI18nInstance, r as initializeUnityI18n, t as UdpAppProvider } from "./UdpAppProvider-
|
|
303
|
+
import { n as getI18nInstance, r as initializeUnityI18n, t as UdpAppProvider } from "./UdpAppProvider-NHkopZ-S.js";
|
|
304
304
|
import "./errorBoundary/index.js";
|
|
305
305
|
import { UdpPagesLazy, UdpPagesLoaders } from "./udp/pages/UdpPagesLazy/index.js";
|
|
306
306
|
import React from "react";
|
|
@@ -5,8 +5,8 @@ import { t as useTenant } from "./useTenant-CGaZEBEJ.js";
|
|
|
5
5
|
import { n as useDevicePixelRatio, t as useGravatar } from "./useGravatar-BTbYdA_d.js";
|
|
6
6
|
import { t as clearStoredPath } from "./LocalRedirectUrlStorage-Bxz8TI-X.js";
|
|
7
7
|
import { t as clearStoredExternalPath } from "./ExternalRedirectUrlStorage-BM-nmI4x.js";
|
|
8
|
-
import { a as useUserActions, r as TenantSelect } from "./TenantProvider-
|
|
9
|
-
import { n as useSingleLogout } from "./auth-
|
|
8
|
+
import { a as useUserActions, r as TenantSelect } from "./TenantProvider-C-3eqCA3.js";
|
|
9
|
+
import { n as useSingleLogout } from "./auth-DX4sNV3x.js";
|
|
10
10
|
import React, { cloneElement, forwardRef, useCallback } from "react";
|
|
11
11
|
import { Avatar, Button, CardContent, IconButton, Menu, Typography, makeStyles } from "@material-ui/core";
|
|
12
12
|
import { Link as Link$1, useHistory } from "react-router-dom";
|
|
@@ -214,4 +214,4 @@ const UserProfileMenuWrapper = ({ returnTo }) => {
|
|
|
214
214
|
|
|
215
215
|
//#endregion
|
|
216
216
|
export { FluentProfileMenuCard as n, UserProfileMenuWrapper as t };
|
|
217
|
-
//# sourceMappingURL=profile-
|
|
217
|
+
//# sourceMappingURL=profile-CXlla7mZ.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profile-C0_f9put.js","names":["useStyles","useHistory","useHistoryNoType","useStyles","UserAvatar","UserProfileMenuWrapper: FC<UserProfileMenuWrapperProps>","Link","MenuOpener","UserAvatar"],"sources":["../src/shell/ui/profile/MenuOpener.jsx","../src/shell/ui/profile/UserAvatar.jsx","../src/shell/ui/profile/FluentProfileMenuCard.tsx","../src/shell/ui/profile/UserProfileMenuWrapper.tsx"],"sourcesContent":["import { Menu } from '@material-ui/core';\nimport {\n bindMenu,\n bindTrigger,\n usePopupState,\n} from 'material-ui-popup-state/hooks';\nimport React, {\n cloneElement,\n ElementType,\n FC,\n ReactElement,\n ReactNode,\n useCallback,\n} from 'react';\n\n/**\n * Helper to handle open a menu when a button is clicked\n */\nexport const MenuOpener = ({\n MenuComponent = Menu,\n name,\n button,\n menuProps,\n children,\n}) => {\n /* @fixme useId as string to bypass error */\n const popupId = 'useId(name)';\n const popupState = usePopupState({ variant: 'popover', popupId });\n const { close } = popupState;\n\n const click = useCallback(\n e => {\n const isButton = e.target.matches(\n 'a, button, input[type=\"button\"], input[type=\"image\"], [role=\"button\"], [role=\"link\"], a *, button *, [role=\"button\"] *, [role=\"link\"] *'\n );\n const isDropdownButton = e.target.matches(\n '.MuiAutocomplete-endAdornment *'\n );\n\n const closePopup = isButton && !isDropdownButton;\n\n if (closePopup) {\n close();\n }\n },\n [close]\n );\n\n return (\n <>\n {cloneElement(button, bindTrigger(popupState))}\n <MenuComponent {...menuProps} {...bindMenu(popupState)} onClick={click}>\n {children}\n </MenuComponent>\n </>\n );\n};\n\nexport default MenuOpener;\n","import { Avatar, makeStyles } from '@material-ui/core'\nimport clsx from 'clsx'\nimport React from 'react'\nimport useDevicePixelRatio from '../../../utilities/useDevicePixelRatio.ts'\nimport useGravatar from '../../../utilities/useGravatar.ts'\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {},\n default: {},\n toolbar: {\n width: 32,\n height: 32\n },\n large: {\n width: 80,\n height: 80\n }\n }),\n { name: 'UserAvatar' }\n)\n\n/**\n * Inteligent user Avatar element\n *\n * - Loads a Gravatar based on the email if one exists\n * - Falls back to a text avatar while loading and when a Gravatar does not exist\n * - Automatically chooses image size based on size prop and device pixel density (and updates if device pixel density changes)\n */\nconst UserAvatar = (props) => {\n const classes = useStyles(props)\n const { name, email, size = 'default', className, ...other } = props\n const dppx = useDevicePixelRatio()\n const dimension = { toolbar: 32, large: 80 }[size] || 40\n const avatar = useGravatar(email, { size: dimension * dppx })\n\n return (\n <Avatar\n alt={name}\n aria-label={`${name}'s avatar`}\n {...other}\n className={clsx(className, classes[size])}\n src={avatar}\n >\n {name?.trim()?.charAt(0) || '?'}\n </Avatar>\n )\n}\n\nexport default UserAvatar\n","import React, { forwardRef, useCallback } from 'react';\nimport { Button, CardContent, makeStyles, Typography } from '@material-ui/core';\nimport UserAvatar from './UserAvatar';\nimport { clearStoredPath } from '../../../utilities/redirect/LocalRedirectUrlStorage';\nimport { clearStoredExternalPath } from '../../../utilities/redirect/ExternalRedirectUrlStorage';\nimport {\n clearStoredTenant,\n storeTenant\n} from '../../../utilities/storage/UnitySessionStorage';\nimport { useTranslation } from 'react-i18next';\nimport { useUserActions } from '../../../utilities/auth/users';\nimport { User } from '../../../utilities/auth';\n// @ts-expect-error RRDv5 types are incompatible with react 18\nimport { useHistory as useHistoryNoType} from 'react-router-dom';\nimport { Tenant } from '../../../utilities';\nimport {History} from 'history';\nimport { TenantSelect } from '../../../utilities/tenant';\n\nconst useHistory = useHistoryNoType as () => History;\nconst useStyles = makeStyles((theme) => ({\n root: {\n '& > *': {\n margin: theme.spacing(1)\n },\n '&:last-child': {\n paddingBottom: theme.spacing(2)\n }\n },\n cardHeader: {\n display: 'flex',\n marginBottom: theme.spacing(3)\n },\n currentTenant: {\n margin: 'auto',\n width: '85%',\n marginBottom: theme.spacing(4)\n },\n buttonGroup: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center'\n },\n basicInfoContainer: {\n marginLeft: theme.spacing(1)\n },\n basicInfo: {\n paddingLeft: theme.spacing(1)\n },\n divider: {\n height: theme.spacing(3)\n },\n avatar: {\n fontSize: 40\n }\n}));\n\ninterface FluentProfileMenuCardProps {\n userTenants: Tenant[];\n currentTenant: Tenant | null;\n user: User | null;\n setUser: (user: User | null) => void;\n logout: () => void;\n unityUrl?: string;\n displayProfileButton?: boolean;\n}\n\nexport const FluentProfileMenuCard = forwardRef<HTMLDivElement, FluentProfileMenuCardProps>((props, ref) => {\n const classes = useStyles();\n const devUnityUrl = 'https://unity-dev.univerus.com/';\n const {\n userTenants,\n currentTenant,\n user,\n logout,\n unityUrl = devUnityUrl,\n } = props;\n const history = useHistory();\n const redirectToHome = useCallback(() => history.push('/'), [history]);\n // eslint-disable-next-line\n const { t } = useTranslation() as {t: (key: string) => string};\n const { changeTenant } = useUserActions();\n\n const handleTenantChange = useCallback(\n (tenant: Tenant) => {\n storeTenant(tenant.tenantId);\n changeTenant(tenant.tenantId);\n redirectToHome();\n },\n [changeTenant, redirectToHome]\n );\n\n\n\n // const handleProfileClick = () => {\n // // if this is unity (productid is 1), go to the profile slug, otherwise open the profile page in a new tab\n // if(ConfigService.config.UNITY_PRODUCT_ID === '1') history.push('/profile')\n // else window.open(unityUrl + '/profile');\n\n // }\n\n if (!user) return null;\n\n return (\n <CardContent ref={ref} className={classes.root}>\n <div className={classes.cardHeader}>\n <UserAvatar\n name={user?.name}\n email={user?.email}\n size='large'\n className={classes.avatar}\n />\n <div className={classes.basicInfoContainer}>\n <Typography className={classes.basicInfo} variant='subtitle2'>\n {user?.name}\n </Typography>\n <Typography className={classes.basicInfo} variant='body2'>\n {user?.email}\n </Typography>\n {/* {displayProfileButton && (\n <div className={classes.buttonGroup}>\n <Button\n id='udpRecord-FluentProfileMenuCard-MyProfile'\n udprecordid='udpRecord-FluentProfileMenuCard-MyProfile'\n onClick={handleProfileClick}\n target='_blank'\n color='secondary'\n >\n {t('My Profile')}\n </Button>\n </div>\n )} */}\n </div>\n </div>\n {userTenants && user && changeTenant && (\n <TenantSelect\n className={classes.currentTenant}\n id='current-tenant'\n tenants={userTenants}\n value={currentTenant}\n onTenantChange={handleTenantChange}\n label={t('Current Tenant')}\n recordIdPrefix='udpRecord-FluentProfileMenuCard'\n />\n )}\n <Button\n id='udpRecord-FluentProfileMenuCard-SignOut'\n // @ts-expect-error Custom automation attribute not typed by MUI\n udprecordid='udpRecord-FluentProfileMenuCard-SignOut'\n onClick={() => {\n clearStoredPath();\n clearStoredExternalPath();\n clearStoredTenant();\n logout();\n }}\n variant='outlined'\n color='secondary'\n >\n {t('Sign out')}\n </Button>\n </CardContent>\n );\n});\n\nFluentProfileMenuCard.displayName = 'FluentProfileMenuCard';\n","import React, { FC } from 'react';\nimport { Button, makeStyles, IconButton } from '@material-ui/core';\nimport { Link } from 'react-router-dom';\nimport MenuOpener from './MenuOpener';\nimport UserAvatar from './UserAvatar';\nimport { FluentProfileMenuCard } from './FluentProfileMenuCard';\nimport { ConfigService } from '../../../configService';\nimport { useSingleLogout, useUserActions } from '../../../utilities/auth';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n avatar: {\n background: theme.palette.secondary.main\n }\n}));\n\n\n\nexport interface UserProfileMenuWrapperProps {\n returnTo?: string;\n}\n\nexport const UserProfileMenuWrapper: FC<UserProfileMenuWrapperProps> = ({\n returnTo\n}) => {\n const classes = useStyles();\n const user = useUser();\n const singleLogout = useSingleLogout();\n const { setUser } = useUserActions();\n const tenantContext = useTenant();\n\n const currentTenant = tenantContext?.activeTenant ?? null;\n const availableTenants =\n tenantContext?.filteredTenantsList ??\n tenantContext?.tenantsList ??\n [];\n\n const enforcedTenantId = ConfigService.config.UNITY_TENANT_ID;\n\n const profileMenuTenants =\n !enforcedTenantId || enforcedTenantId === ''\n ? availableTenants\n : availableTenants.filter(\n (option) => option.tenantId === enforcedTenantId\n );\n\n if (!user) {\n const fallbackPath =\n returnTo ??\n (typeof window !== 'undefined' ? window.location.pathname : '/');\n\n return (\n <div className={classes.root}>\n <Button\n component={Link as React.ElementType} // react-router-dom@5 is incompatible with @types/react@18 so we have to assert the type manually\n to={{\n pathname: '/login',\n state: { returnTo: fallbackPath ?? '/' }\n }}\n color='inherit'\n >\n Sign in\n </Button>\n </div>\n );\n }\n\n return (\n <div className={classes.root}>\n <MenuOpener\n name = \"udp-user-profile-popover\"\n button={\n <IconButton>\n <UserAvatar\n name={user?.name}\n email={user?.email}\n size='toolbar'\n className={classes.avatar}\n />\n </IconButton>\n }\n menuProps={{\n keepMounted: true,\n getContentAnchorEl: null,\n variant: 'menu',\n anchorOrigin: { vertical: 'bottom', horizontal: 'right' },\n transformOrigin: { vertical: 'top', horizontal: 'right' }\n }}\n >\n <FluentProfileMenuCard\n userTenants={profileMenuTenants}\n currentTenant={currentTenant}\n user={user}\n setUser={setUser}\n logout={singleLogout}\n unityUrl={ConfigService.config.UNITY_URL}\n />\n </MenuOpener>\n </div>\n );\n};\n\nexport default UserProfileMenuWrapper;\n"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"profile-CXlla7mZ.js","names":["useStyles","useHistory","useHistoryNoType","useStyles","UserAvatar","UserProfileMenuWrapper: FC<UserProfileMenuWrapperProps>","Link","MenuOpener","UserAvatar"],"sources":["../src/shell/ui/profile/MenuOpener.jsx","../src/shell/ui/profile/UserAvatar.jsx","../src/shell/ui/profile/FluentProfileMenuCard.tsx","../src/shell/ui/profile/UserProfileMenuWrapper.tsx"],"sourcesContent":["import { Menu } from '@material-ui/core';\nimport {\n bindMenu,\n bindTrigger,\n usePopupState,\n} from 'material-ui-popup-state/hooks';\nimport React, {\n cloneElement,\n ElementType,\n FC,\n ReactElement,\n ReactNode,\n useCallback,\n} from 'react';\n\n/**\n * Helper to handle open a menu when a button is clicked\n */\nexport const MenuOpener = ({\n MenuComponent = Menu,\n name,\n button,\n menuProps,\n children,\n}) => {\n /* @fixme useId as string to bypass error */\n const popupId = 'useId(name)';\n const popupState = usePopupState({ variant: 'popover', popupId });\n const { close } = popupState;\n\n const click = useCallback(\n e => {\n const isButton = e.target.matches(\n 'a, button, input[type=\"button\"], input[type=\"image\"], [role=\"button\"], [role=\"link\"], a *, button *, [role=\"button\"] *, [role=\"link\"] *'\n );\n const isDropdownButton = e.target.matches(\n '.MuiAutocomplete-endAdornment *'\n );\n\n const closePopup = isButton && !isDropdownButton;\n\n if (closePopup) {\n close();\n }\n },\n [close]\n );\n\n return (\n <>\n {cloneElement(button, bindTrigger(popupState))}\n <MenuComponent {...menuProps} {...bindMenu(popupState)} onClick={click}>\n {children}\n </MenuComponent>\n </>\n );\n};\n\nexport default MenuOpener;\n","import { Avatar, makeStyles } from '@material-ui/core'\nimport clsx from 'clsx'\nimport React from 'react'\nimport useDevicePixelRatio from '../../../utilities/useDevicePixelRatio.ts'\nimport useGravatar from '../../../utilities/useGravatar.ts'\n\nconst useStyles = makeStyles(\n (theme) => ({\n root: {},\n default: {},\n toolbar: {\n width: 32,\n height: 32\n },\n large: {\n width: 80,\n height: 80\n }\n }),\n { name: 'UserAvatar' }\n)\n\n/**\n * Inteligent user Avatar element\n *\n * - Loads a Gravatar based on the email if one exists\n * - Falls back to a text avatar while loading and when a Gravatar does not exist\n * - Automatically chooses image size based on size prop and device pixel density (and updates if device pixel density changes)\n */\nconst UserAvatar = (props) => {\n const classes = useStyles(props)\n const { name, email, size = 'default', className, ...other } = props\n const dppx = useDevicePixelRatio()\n const dimension = { toolbar: 32, large: 80 }[size] || 40\n const avatar = useGravatar(email, { size: dimension * dppx })\n\n return (\n <Avatar\n alt={name}\n aria-label={`${name}'s avatar`}\n {...other}\n className={clsx(className, classes[size])}\n src={avatar}\n >\n {name?.trim()?.charAt(0) || '?'}\n </Avatar>\n )\n}\n\nexport default UserAvatar\n","import React, { forwardRef, useCallback } from 'react';\nimport { Button, CardContent, makeStyles, Typography } from '@material-ui/core';\nimport UserAvatar from './UserAvatar';\nimport { clearStoredPath } from '../../../utilities/redirect/LocalRedirectUrlStorage';\nimport { clearStoredExternalPath } from '../../../utilities/redirect/ExternalRedirectUrlStorage';\nimport {\n clearStoredTenant,\n storeTenant\n} from '../../../utilities/storage/UnitySessionStorage';\nimport { useTranslation } from 'react-i18next';\nimport { useUserActions } from '../../../utilities/auth/users';\nimport { User } from '../../../utilities/auth';\n// @ts-expect-error RRDv5 types are incompatible with react 18\nimport { useHistory as useHistoryNoType} from 'react-router-dom';\nimport { Tenant } from '../../../utilities';\nimport {History} from 'history';\nimport { TenantSelect } from '../../../utilities/tenant';\n\nconst useHistory = useHistoryNoType as () => History;\nconst useStyles = makeStyles((theme) => ({\n root: {\n '& > *': {\n margin: theme.spacing(1)\n },\n '&:last-child': {\n paddingBottom: theme.spacing(2)\n }\n },\n cardHeader: {\n display: 'flex',\n marginBottom: theme.spacing(3)\n },\n currentTenant: {\n margin: 'auto',\n width: '85%',\n marginBottom: theme.spacing(4)\n },\n buttonGroup: {\n display: 'flex',\n flexDirection: 'row',\n alignItems: 'center'\n },\n basicInfoContainer: {\n marginLeft: theme.spacing(1)\n },\n basicInfo: {\n paddingLeft: theme.spacing(1)\n },\n divider: {\n height: theme.spacing(3)\n },\n avatar: {\n fontSize: 40\n }\n}));\n\ninterface FluentProfileMenuCardProps {\n userTenants: Tenant[];\n currentTenant: Tenant | null;\n user: User | null;\n setUser: (user: User | null) => void;\n logout: () => void;\n unityUrl?: string;\n displayProfileButton?: boolean;\n}\n\nexport const FluentProfileMenuCard = forwardRef<HTMLDivElement, FluentProfileMenuCardProps>((props, ref) => {\n const classes = useStyles();\n const devUnityUrl = 'https://unity-dev.univerus.com/';\n const {\n userTenants,\n currentTenant,\n user,\n logout,\n unityUrl = devUnityUrl,\n } = props;\n const history = useHistory();\n const redirectToHome = useCallback(() => history.push('/'), [history]);\n // eslint-disable-next-line\n const { t } = useTranslation() as {t: (key: string) => string};\n const { changeTenant } = useUserActions();\n\n const handleTenantChange = useCallback(\n (tenant: Tenant) => {\n storeTenant(tenant.tenantId);\n changeTenant(tenant.tenantId);\n redirectToHome();\n },\n [changeTenant, redirectToHome]\n );\n\n\n\n // const handleProfileClick = () => {\n // // if this is unity (productid is 1), go to the profile slug, otherwise open the profile page in a new tab\n // if(ConfigService.config.UNITY_PRODUCT_ID === '1') history.push('/profile')\n // else window.open(unityUrl + '/profile');\n\n // }\n\n if (!user) return null;\n\n return (\n <CardContent ref={ref} className={classes.root}>\n <div className={classes.cardHeader}>\n <UserAvatar\n name={user?.name}\n email={user?.email}\n size='large'\n className={classes.avatar}\n />\n <div className={classes.basicInfoContainer}>\n <Typography className={classes.basicInfo} variant='subtitle2'>\n {user?.name}\n </Typography>\n <Typography className={classes.basicInfo} variant='body2'>\n {user?.email}\n </Typography>\n {/* {displayProfileButton && (\n <div className={classes.buttonGroup}>\n <Button\n id='udpRecord-FluentProfileMenuCard-MyProfile'\n udprecordid='udpRecord-FluentProfileMenuCard-MyProfile'\n onClick={handleProfileClick}\n target='_blank'\n color='secondary'\n >\n {t('My Profile')}\n </Button>\n </div>\n )} */}\n </div>\n </div>\n {userTenants && user && changeTenant && (\n <TenantSelect\n className={classes.currentTenant}\n id='current-tenant'\n tenants={userTenants}\n value={currentTenant}\n onTenantChange={handleTenantChange}\n label={t('Current Tenant')}\n recordIdPrefix='udpRecord-FluentProfileMenuCard'\n />\n )}\n <Button\n id='udpRecord-FluentProfileMenuCard-SignOut'\n // @ts-expect-error Custom automation attribute not typed by MUI\n udprecordid='udpRecord-FluentProfileMenuCard-SignOut'\n onClick={() => {\n clearStoredPath();\n clearStoredExternalPath();\n clearStoredTenant();\n logout();\n }}\n variant='outlined'\n color='secondary'\n >\n {t('Sign out')}\n </Button>\n </CardContent>\n );\n});\n\nFluentProfileMenuCard.displayName = 'FluentProfileMenuCard';\n","import React, { FC } from 'react';\nimport { Button, makeStyles, IconButton } from '@material-ui/core';\nimport { Link } from 'react-router-dom';\nimport MenuOpener from './MenuOpener';\nimport UserAvatar from './UserAvatar';\nimport { FluentProfileMenuCard } from './FluentProfileMenuCard';\nimport { ConfigService } from '../../../configService';\nimport { useSingleLogout, useUserActions } from '../../../utilities/auth';\nimport { useUser } from '../../../utilities/auth/useUser';\nimport { useTenant } from '../../../utilities/tenant/useTenant';\n\nconst useStyles = makeStyles((theme) => ({\n root: {},\n avatar: {\n background: theme.palette.secondary.main\n }\n}));\n\n\n\nexport interface UserProfileMenuWrapperProps {\n returnTo?: string;\n}\n\nexport const UserProfileMenuWrapper: FC<UserProfileMenuWrapperProps> = ({\n returnTo\n}) => {\n const classes = useStyles();\n const user = useUser();\n const singleLogout = useSingleLogout();\n const { setUser } = useUserActions();\n const tenantContext = useTenant();\n\n const currentTenant = tenantContext?.activeTenant ?? null;\n const availableTenants =\n tenantContext?.filteredTenantsList ??\n tenantContext?.tenantsList ??\n [];\n\n const enforcedTenantId = ConfigService.config.UNITY_TENANT_ID;\n\n const profileMenuTenants =\n !enforcedTenantId || enforcedTenantId === ''\n ? availableTenants\n : availableTenants.filter(\n (option) => option.tenantId === enforcedTenantId\n );\n\n if (!user) {\n const fallbackPath =\n returnTo ??\n (typeof window !== 'undefined' ? window.location.pathname : '/');\n\n return (\n <div className={classes.root}>\n <Button\n component={Link as React.ElementType} // react-router-dom@5 is incompatible with @types/react@18 so we have to assert the type manually\n to={{\n pathname: '/login',\n state: { returnTo: fallbackPath ?? '/' }\n }}\n color='inherit'\n >\n Sign in\n </Button>\n </div>\n );\n }\n\n return (\n <div className={classes.root}>\n <MenuOpener\n name = \"udp-user-profile-popover\"\n button={\n <IconButton>\n <UserAvatar\n name={user?.name}\n email={user?.email}\n size='toolbar'\n className={classes.avatar}\n />\n </IconButton>\n }\n menuProps={{\n keepMounted: true,\n getContentAnchorEl: null,\n variant: 'menu',\n anchorOrigin: { vertical: 'bottom', horizontal: 'right' },\n transformOrigin: { vertical: 'top', horizontal: 'right' }\n }}\n >\n <FluentProfileMenuCard\n userTenants={profileMenuTenants}\n currentTenant={currentTenant}\n user={user}\n setUser={setUser}\n logout={singleLogout}\n unityUrl={ConfigService.config.UNITY_URL}\n />\n </MenuOpener>\n </div>\n );\n};\n\nexport default UserProfileMenuWrapper;\n"],"mappings":"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"}
|
package/dist/providers/index.js
CHANGED
package/dist/shell/index.js
CHANGED
|
@@ -2,7 +2,7 @@ import { n as SiteHeaderRightComponentTarget, t as SiteHeaderRightComponent } fr
|
|
|
2
2
|
import { n as useBuildEnvironment, t as APP_RIBBON_SPACE } from "../useBuildEnvironment-2gdqpmBX.js";
|
|
3
3
|
import { t as SidebarCollapseButton } from "../SidebarCollapseButton-_UUtsftD.js";
|
|
4
4
|
import { a as LanguageSwitcher, i as HelpCenter, o as ShellDropdown, r as EnvironmentRibbon, s as AmbientProjectSwitcher, t as SiteHeaderSpacer } from "../SiteHeader-KoNZC5W5.js";
|
|
5
|
-
import { t as Shell } from "../Shell-
|
|
5
|
+
import { t as Shell } from "../Shell-DFCf3oVf.js";
|
|
6
6
|
import { r as isPasswordValid, t as UserForm } from "../UserForm-DZ1a9uqZ.js";
|
|
7
7
|
import "./ui/index.js";
|
|
8
8
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpAppProvider.d.ts","sourceRoot":"","sources":["../../../../src/providers/UdpAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGpE,OAAO,EAEL,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;
|
|
1
|
+
{"version":3,"file":"UdpAppProvider.d.ts","sourceRoot":"","sources":["../../../../src/providers/UdpAppProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAa,MAAM,OAAO,CAAC;AACpD,OAAO,EAAoB,qBAAqB,EAAE,MAAM,WAAW,CAAC;AAGpE,OAAO,EAEL,qBAAqB,EACtB,MAAM,kCAAkC,CAAC;AAK1C,MAAM,WAAW,mBAAmB;IAClC,QAAQ,EAAE,SAAS,CAAC;IACpB;;OAEG;IACH,aAAa,CAAC,EAAE,qBAAqB,CAAC;IACtC;;OAEG;IACH,SAAS,CAAC,EAAE;QACV,kBAAkB,CAAC,EAAE,OAAO,CAAC;KAC9B,CAAC;IACF;;OAEG;IACH,WAAW,CAAC,EAAE,qBAAqB,CAAC;CACrC;AAED;;;;GAIG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAsBxD,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Shell.d.ts","sourceRoot":"","sources":["../../../../src/shell/Shell.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAwFnF;;GAEG;AACH,eAAO,MAAM,KAAK;;;
|
|
1
|
+
{"version":3,"file":"Shell.d.ts","sourceRoot":"","sources":["../../../../src/shell/Shell.jsx"],"names":[],"mappings":"AAAA,OAAO,KAA8D,MAAM,OAAO,CAAC;AAwFnF;;GAEG;AACH,eAAO,MAAM,KAAK;;;QAkThB;;WAEG;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAEH;;WAEG;;QAMH;;WAEG;;QAGH;;WAEG;;;;;;;QAaH;;WAEG;;;;;;;;;;;;;;;;;;;;;;QA2CH;;WAEG;;;;;;;CA9FJ,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UdpFormsSubmissionGrid.d.ts","sourceRoot":"","sources":["../../../../../../src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.jsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"UdpFormsSubmissionGrid.d.ts","sourceRoot":"","sources":["../../../../../../src/udp/pages/UdpFormsSubmissionGrid/UdpFormsSubmissionGrid.jsx"],"names":[],"mappings":"AAAA,OAAO,KAMN,MAAM,OAAO,CAAC;AAwLf,eAAO,MAAM,sBAAsB;;;;;;uBAmzBlC,CAAC"}
|