diff --git a/package-lock.json b/package-lock.json index 06a4cd06a2..c1c4cc4c37 100644 --- a/package-lock.json +++ b/package-lock.json @@ -16,7 +16,6 @@ "@kyper/input": "^6.1.0", "@kyper/institutionlogo": "^3.1.0", "@kyper/messagebox": "^3.1.0", - "@kyper/mui": "^4.5.0", "@kyper/progressindicators": "^3.1.0", "@kyper/select": "^2.0.0", "@kyper/selectionbox": "^2.1.0", @@ -1520,133 +1519,6 @@ "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@kyper/mui": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/@kyper/mui/-/mui-4.5.0.tgz", - "integrity": "sha512-YIlgHF1DWqyKPOXc0LagDIPotqgyd39eLaayUxWfu16hypz7rmlT3vf7dWxA/flRQEtLAldnvK0Q2A+mXUz2cQ==", - "dependencies": { - "@emotion/react": "^11.13.3", - "@emotion/styled": "^11.13.0", - "@mui/icons-material": "^5.16.7", - "@mui/material": "^5.16.7", - "@mui/system": "^5.16.7", - "@mui/x-data-grid-pro": "^7.21.0", - "@mui/x-date-pickers": "^7.21.0", - "@mui/x-date-pickers-pro": "^7.21.0", - "@mui/x-license-pro": "^6.10.2", - "@mxenabled/design-tokens": "^1.0.3", - "date-fns": "^4.1.0", - "react": "^18.3.1", - "react-dom": "^18.3.1" - } - }, - "node_modules/@kyper/mui/node_modules/@mui/core-downloads-tracker": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@mui/core-downloads-tracker/-/core-downloads-tracker-5.18.0.tgz", - "integrity": "sha512-jbhwoQ1AY200PSSOrNXmrFCaSDSJWP7qk6urkTmIirvRXDROkqe+QwcLlUiw/PrREwsIF/vm3/dAXvjlMHF0RA==", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - } - }, - "node_modules/@kyper/mui/node_modules/@mui/icons-material": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@mui/icons-material/-/icons-material-5.18.0.tgz", - "integrity": "sha512-1s0vEZj5XFXDMmz3Arl/R7IncFqJ+WQ95LDp1roHWGDE2oCO3IS4/hmiOv1/8SD9r6B7tv9GLiqVZYHo+6PkTg==", - "dependencies": { - "@babel/runtime": "^7.23.9" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@mui/material": "^5.0.0", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@kyper/mui/node_modules/@mui/material": { - "version": "5.18.0", - "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.18.0.tgz", - "integrity": "sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA==", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/core-downloads-tracker": "^5.18.0", - "@mui/system": "^5.18.0", - "@mui/types": "~7.2.15", - "@mui/utils": "^5.17.1", - "@popperjs/core": "^2.11.8", - "@types/react-transition-group": "^4.4.10", - "clsx": "^2.1.0", - "csstype": "^3.1.3", - "prop-types": "^15.8.1", - "react-is": "^19.0.0", - "react-transition-group": "^4.4.5" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@emotion/react": "^11.5.0", - "@emotion/styled": "^11.3.0", - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react-dom": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@emotion/react": { - "optional": true - }, - "@emotion/styled": { - "optional": true - }, - "@types/react": { - "optional": true - } - } - }, - "node_modules/@kyper/mui/node_modules/@mui/material/node_modules/@mui/utils": { - "version": "5.17.1", - "resolved": "https://registry.npmjs.org/@mui/utils/-/utils-5.17.1.tgz", - "integrity": "sha512-jEZ8FTqInt2WzxDV8bhImWBqeQRD99c/id/fq83H0ER9tFl+sfZlaAoCdznGvbSQQ9ividMxqSV2c7cC1vBcQg==", - "dependencies": { - "@babel/runtime": "^7.23.9", - "@mui/types": "~7.2.15", - "@types/prop-types": "^15.7.12", - "clsx": "^2.1.1", - "prop-types": "^15.8.1", - "react-is": "^19.0.0" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/mui-org" - }, - "peerDependencies": { - "@types/react": "^17.0.0 || ^18.0.0 || ^19.0.0", - "react": "^17.0.0 || ^18.0.0 || ^19.0.0" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, "node_modules/@kyper/progressindicators": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@kyper/progressindicators/-/progressindicators-3.1.0.tgz", @@ -2224,11 +2096,6 @@ } } }, - "node_modules/@mui/utils/node_modules/react-is": { - "version": "19.1.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-19.1.1.tgz", - "integrity": "sha512-tr41fA15Vn8p4X9ntI+yCyeGSf1TlYaY5vlTZfQmeLBrFo3psOPX6HhTDnFNL9uj3EhP0KAQ80cugCl4b4BERA==" - }, "node_modules/@mui/types": { "version": "7.2.24", "resolved": "https://registry.npmjs.org/@mui/types/-/types-7.2.24.tgz", @@ -8764,6 +8631,7 @@ "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", "dev": true, + "optional": true, "engines": { "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } diff --git a/package.json b/package.json index 7b39f51894..165f6c7a21 100644 --- a/package.json +++ b/package.json @@ -35,7 +35,6 @@ "@kyper/input": "^6.1.0", "@kyper/institutionlogo": "^3.1.0", "@kyper/messagebox": "^3.1.0", - "@kyper/mui": "^4.5.0", "@kyper/progressindicators": "^3.1.0", "@kyper/select": "^2.0.0", "@kyper/selectionbox": "^2.1.0", diff --git a/src/ConnectedTokenProvider.tsx b/src/ConnectedTokenProvider.tsx index 880311542a..6ff0300395 100644 --- a/src/ConnectedTokenProvider.tsx +++ b/src/ConnectedTokenProvider.tsx @@ -1,15 +1,14 @@ import React from 'react' import { RootState } from 'src/redux/Store' -import _isEmpty from 'lodash/isEmpty' import { useSelector } from 'react-redux' import { Theme, ThemeProvider } from '@mui/material' import { deepmerge } from '@mui/utils' -import { createMXTheme, Icon, IconWeight } from '@kyper/mui' +import { createMXTheme, Icon, IconWeight } from '@mxenabled/mxui' import { TokenProvider, THEMES } from '@kyper/tokenprovider' -import { getTokenProviderValues } from 'src/redux/selectors/ClientColorScheme' +import { getPrimarySeedColor } from 'src/redux/selectors/ClientColorScheme' declare module '@mui/material/styles' { interface PaletteColor { @@ -23,30 +22,6 @@ declare module '@mui/material/styles' { } } -interface ColorScheme { - Brand100?: string - Brand200?: string - Brand300?: string - Brand400?: string - Brand500?: string -} - -export const clientThemeOverrides = (colorScheme: ColorScheme) => { - if (!_isEmpty(colorScheme)) { - return { - palette: { - primary: { - lighter: colorScheme.Brand100, - light: colorScheme.Brand200, - main: colorScheme.Brand300, - dark: colorScheme.Brand400, - darker: colorScheme.Brand500, - }, - }, - } - } - return {} -} const connectThemeOverrides = (palette: Theme['palette']) => ({ components: { MuiTypography: { @@ -55,11 +30,6 @@ const connectThemeOverrides = (palette: Theme['palette']) => ({ // Sets the default color of text. Can override singluar usage with color prop. color: palette?.text?.primary, }, - // TODO: Remove once we fully migrate to @mxenabled/mxui as it would apply the right theme styles automatically. - subtitle2: { - fontSize: '13px', - lineHeight: '20px', - }, }, }, MuiAccordion: { @@ -111,12 +81,6 @@ const connectThemeOverrides = (palette: Theme['palette']) => ({ }, MuiFormLabel: { styleOverrides: { - root: { - '&.MuiFormLabel-root': { - fontSize: '13px', - lineHeight: '20px', - }, - }, asterisk: { color: '#E32727', '&$error': { @@ -149,6 +113,20 @@ const connectThemeOverrides = (palette: Theme['palette']) => ({ }, }, }, + MuiLink: { + defaultProps: { + sx: { + display: 'inline-flex', + alignItems: 'center', + '&:hover': { + textDecoration: 'underline', + }, + '&:focus': { + textDecoration: 'underline', + }, + }, + }, + }, }, }) @@ -157,27 +135,45 @@ interface Props { } export const ConnectedTokenProvider = ({ children }: Props): React.ReactNode => { - // Client custom tokens from batcave - const clientCustomTokens = useSelector(getTokenProviderValues) + // Client primary seed color from batcave + const clientPrimarySeedColor = useSelector(getPrimarySeedColor) // "Light" or "Dark" const colorScheme = useSelector((state: RootState) => state.config.color_scheme) // Dark mode: true or false const isDarkModeEnabled: boolean = colorScheme === THEMES.DARK // Theme object with MX overrides - const mxTheme = createMXTheme(isDarkModeEnabled ? 'dark' : 'light') + const mxTheme = createMXTheme(isDarkModeEnabled ? 'dark' : 'light', { + paletteOptions: { + // Override primary color with widget_brand_color from batcave if it exists or use primary_300 from batcave and + // let the rest of the palette colors be generated by MXUI. + primary: clientPrimarySeedColor, + }, + }) const combinedTheme = deepmerge( mxTheme, - deepmerge( - clientThemeOverrides(clientCustomTokens.tokenOverrides.Color), // Theme object with client custom overrides - connectThemeOverrides(mxTheme.palette as Theme['palette']), // Theme object with connect overrides - ), + connectThemeOverrides(mxTheme.palette as Theme['palette']), // Theme object with connect overrides ) + const kyperTokenOverrides = { + Color: { + Brand100: isDarkModeEnabled ? mxTheme.palette.primary[800] : mxTheme.palette.primary[100], + Brand200: mxTheme.palette.primary.light, + Brand300: mxTheme.palette.primary.main, + Brand400: mxTheme.palette.primary.dark, + Brand500: isDarkModeEnabled ? mxTheme.palette.primary[50] : mxTheme.palette.primary[900], + Primary100: isDarkModeEnabled ? mxTheme.palette.primary[800] : mxTheme.palette.primary[100], + Primary200: mxTheme.palette.primary.light, + Primary300: mxTheme.palette.primary.main, + Primary400: mxTheme.palette.primary.dark, + Primary500: isDarkModeEnabled ? mxTheme.palette.primary[50] : mxTheme.palette.primary[900], + }, + } + return ( {children} diff --git a/src/components/ActionTile.js b/src/components/ActionTile.js index ebd140ea04..3253c79e6b 100644 --- a/src/components/ActionTile.js +++ b/src/components/ActionTile.js @@ -2,8 +2,8 @@ import React from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' -import { ChevronRightIcon } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' +import { ChevronRightIcon } from '@mxenabled/mxui' import { Button } from '@mui/material' export const ActionTile = (props) => { diff --git a/src/components/ActionableUtilityRow.tsx b/src/components/ActionableUtilityRow.tsx index 4ee1284f05..a84e2b321f 100644 --- a/src/components/ActionableUtilityRow.tsx +++ b/src/components/ActionableUtilityRow.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import React from 'react' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { Button } from '@mui/material' diff --git a/src/components/ConfigError.tsx b/src/components/ConfigError.tsx index 52c4a73378..ad1b52c958 100644 --- a/src/components/ConfigError.tsx +++ b/src/components/ConfigError.tsx @@ -1,5 +1,5 @@ import React from 'react' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { Container } from 'src/components/Container' import { AttentionFilled } from '@kyper/icon/AttentionFilled' diff --git a/src/components/ConnectLogoHeader.tsx b/src/components/ConnectLogoHeader.tsx index 9d6f9553d0..7cd295af11 100644 --- a/src/components/ConnectLogoHeader.tsx +++ b/src/components/ConnectLogoHeader.tsx @@ -1,7 +1,7 @@ /* eslint-disable @typescript-eslint/no-explicit-any */ import React from 'react' import { useSelector } from 'react-redux' -import { InstitutionLogo } from '@kyper/mui' +import { InstitutionLogo } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { selectColorScheme } from 'src/redux/reducers/configSlice' diff --git a/src/components/ConnectSuccessSurvey.tsx b/src/components/ConnectSuccessSurvey.tsx index e82fd48c94..54e1b92b2f 100644 --- a/src/components/ConnectSuccessSurvey.tsx +++ b/src/components/ConnectSuccessSurvey.tsx @@ -1,5 +1,5 @@ import React, { useState, useImperativeHandle, useContext } from 'react' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button, TextField } from '@mui/material' import ToggleButton from '@mui/material/ToggleButton' import ToggleButtonGroup from '@mui/material/ToggleButtonGroup' diff --git a/src/components/DataCluster.js b/src/components/DataCluster.js index db27430feb..788dadfe4f 100644 --- a/src/components/DataCluster.js +++ b/src/components/DataCluster.js @@ -1,7 +1,7 @@ import React, { Fragment } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' export const DataCluster = (props) => { const tokens = useTokens() diff --git a/src/components/DataClusterDropDown.tsx b/src/components/DataClusterDropDown.tsx index a5f461bab5..c283a5ed17 100644 --- a/src/components/DataClusterDropDown.tsx +++ b/src/components/DataClusterDropDown.tsx @@ -1,6 +1,6 @@ import React from 'react' -import { useTokens } from '@kyper/mui' +import { useTokens } from '@mxenabled/mxui' import { Accordion, AccordionSummary, @@ -10,7 +10,7 @@ import { Icon, Stack, } from '@mui/material' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' diff --git a/src/components/DayOfMonthPicker.tsx b/src/components/DayOfMonthPicker.tsx index 4ab50c3424..dc09c84cc6 100644 --- a/src/components/DayOfMonthPicker.tsx +++ b/src/components/DayOfMonthPicker.tsx @@ -4,7 +4,7 @@ import _range from 'lodash/range' import { useTokens } from '@kyper/tokenprovider' import { Button } from '@kyper/button' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { fadeOut } from 'src/utilities/Animation' import { __ } from 'src/utilities/Intl' diff --git a/src/components/DeleteMemberSurvey.js b/src/components/DeleteMemberSurvey.js index df2296f836..6866b03454 100644 --- a/src/components/DeleteMemberSurvey.js +++ b/src/components/DeleteMemberSurvey.js @@ -1,6 +1,6 @@ import React, { useState, useEffect, useRef } from 'react' import PropTypes from 'prop-types' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { MessageBox } from '@kyper/messagebox' import { AttentionFilled } from '@kyper/icon/AttentionFilled' @@ -107,8 +107,8 @@ export const DeleteMemberSurvey = (props) => { 'Why do you want to disconnect %1?', member.name, )} + * - *
{reasonList.map((reason, i) => ( diff --git a/src/components/DetailReviewItem.js b/src/components/DetailReviewItem.js index 22890404d6..662b2d6dc3 100644 --- a/src/components/DetailReviewItem.js +++ b/src/components/DetailReviewItem.js @@ -2,7 +2,7 @@ import React from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Text as ProtectedText } from 'src/privacy/components' import { Edit } from '@kyper/icon/Edit' import { IconButton } from '@mui/material' diff --git a/src/components/FindAccountInfo.js b/src/components/FindAccountInfo.js index 4350bce5b4..61ce62daff 100644 --- a/src/components/FindAccountInfo.js +++ b/src/components/FindAccountInfo.js @@ -2,7 +2,7 @@ import React, { useRef } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { fadeOut } from 'src/utilities/Animation' diff --git a/src/components/GenericError.js b/src/components/GenericError.js index 8e2372aeaa..8be005b22a 100644 --- a/src/components/GenericError.js +++ b/src/components/GenericError.js @@ -2,7 +2,7 @@ import React, { useEffect } from 'react' import PropTypes from 'prop-types' import { AttentionFilled } from '@kyper/icon/AttentionFilled' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { isRunningE2ETests } from 'src/utilities/e2e' import { PageviewInfo } from 'src/const/Analytics' diff --git a/src/components/InstitutionBlock.js b/src/components/InstitutionBlock.js index e5583b2b39..b5fc939984 100644 --- a/src/components/InstitutionBlock.js +++ b/src/components/InstitutionBlock.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { __ } from 'src/utilities/Intl' import { useTokens } from '@kyper/tokenprovider' -import { InstitutionLogo } from '@kyper/mui' +import { InstitutionLogo } from '@mxenabled/mxui' import { formatUrl } from 'src/utilities/FormatUrl' diff --git a/src/components/InstitutionGridTile.js b/src/components/InstitutionGridTile.js index fddb34c46b..919f91541c 100644 --- a/src/components/InstitutionGridTile.js +++ b/src/components/InstitutionGridTile.js @@ -6,7 +6,7 @@ import { css } from '@mxenabled/cssinjs' import { __ } from 'src/utilities/Intl' import { useTokens } from '@kyper/tokenprovider' -import { InstitutionLogo } from '@kyper/mui' +import { InstitutionLogo } from '@mxenabled/mxui' import { Button } from '@mui/material' import { getTrueWidth } from 'src/redux/selectors/Browser' diff --git a/src/components/InstitutionTile.js b/src/components/InstitutionTile.js index e06d842039..f0a2eb6ab8 100644 --- a/src/components/InstitutionTile.js +++ b/src/components/InstitutionTile.js @@ -7,7 +7,7 @@ import { useTokens } from '@kyper/tokenprovider' import { Button, Chip } from '@mui/material' import { ChevronRight } from '@kyper/icon/ChevronRight' -import { InstitutionLogo } from '@kyper/mui' +import { InstitutionLogo } from '@mxenabled/mxui' import { formatUrl } from 'src/utilities/FormatUrl' diff --git a/src/components/InstructionList.js b/src/components/InstructionList.js index 196d0fa70c..bcc25dcc69 100644 --- a/src/components/InstructionList.js +++ b/src/components/InstructionList.js @@ -4,7 +4,7 @@ import { css } from '@mxenabled/cssinjs' import DOMPurify from 'dompurify' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { goToUrlLink } from 'src/utilities/global' diff --git a/src/components/InstructionalText.js b/src/components/InstructionalText.js index 53d85a193e..b22881af61 100644 --- a/src/components/InstructionalText.js +++ b/src/components/InstructionalText.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import DOMPurify from 'dompurify' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { goToUrlLink } from 'src/utilities/global' diff --git a/src/components/LeavingNoticeFlat.js b/src/components/LeavingNoticeFlat.js index f325ea0138..409091ca20 100644 --- a/src/components/LeavingNoticeFlat.js +++ b/src/components/LeavingNoticeFlat.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types' import { __ } from 'src/utilities/Intl' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { AttentionFilled } from '@kyper/icon/AttentionFilled' import { Button } from '@mui/material' import { useTokens } from '@kyper/tokenprovider' diff --git a/src/components/MemberError.js b/src/components/MemberError.js index fd0234e06b..ccf74fd9c9 100644 --- a/src/components/MemberError.js +++ b/src/components/MemberError.js @@ -2,7 +2,7 @@ import React, { Fragment, useEffect, useContext } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' import { MessageBox } from '@kyper/messagebox' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' import { AriaLive } from 'src/components/AriaLive' diff --git a/src/components/ThankYouMessage.tsx b/src/components/ThankYouMessage.tsx index aa06af8aa9..611c5ee7a6 100644 --- a/src/components/ThankYouMessage.tsx +++ b/src/components/ThankYouMessage.tsx @@ -3,7 +3,7 @@ import { createPortal } from 'react-dom' import { __ } from 'src/utilities/Intl' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { CheckmarkFilled } from '@kyper/icon/CheckmarkFilled' import { useTokens } from '@kyper/tokenprovider' diff --git a/src/components/ViewTitle.js b/src/components/ViewTitle.js index 725cf46c73..25644b2035 100644 --- a/src/components/ViewTitle.js +++ b/src/components/ViewTitle.js @@ -1,7 +1,7 @@ import React from 'react' import PropTypes from 'prop-types' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { InfoFilled } from '@kyper/icon/InfoFilled' import { AttentionFilled } from '@kyper/icon/AttentionFilled' diff --git a/src/components/app/IEDeprecationDialog.js b/src/components/app/IEDeprecationDialog.js index 58a69e4dce..fe8a1d0eca 100644 --- a/src/components/app/IEDeprecationDialog.js +++ b/src/components/app/IEDeprecationDialog.js @@ -4,7 +4,7 @@ import { useSelector } from 'react-redux' import { AttentionFilled } from '@kyper/icon/AttentionFilled' import { Close } from '@kyper/icon/Close' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { Button, Link } from '@mui/material' diff --git a/src/components/app/TooSmallDialog.tsx b/src/components/app/TooSmallDialog.tsx index ea153d0b16..3fa38eb8ad 100644 --- a/src/components/app/TooSmallDialog.tsx +++ b/src/components/app/TooSmallDialog.tsx @@ -6,7 +6,7 @@ import { getUnixTime } from 'date-fns' import { defer } from 'rxjs' import { AttentionFilled } from '@kyper/icon/AttentionFilled' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { Button } from '@mui/material' diff --git a/src/components/support/GeneralSupport.js b/src/components/support/GeneralSupport.js index 6beba8ce5f..a5344bf945 100644 --- a/src/components/support/GeneralSupport.js +++ b/src/components/support/GeneralSupport.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import _isEmpty from 'lodash/isEmpty' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { TextField } from 'src/privacy/input' import { Button } from '@mui/material' diff --git a/src/components/support/RequestInstitution.js b/src/components/support/RequestInstitution.js index cf6c6efaa0..dbf5eab530 100644 --- a/src/components/support/RequestInstitution.js +++ b/src/components/support/RequestInstitution.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import _isEmpty from 'lodash/isEmpty' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { TextField } from 'src/privacy/input' import { Button } from '@mui/material' diff --git a/src/components/support/SupportMenu.js b/src/components/support/SupportMenu.js index e9d670b250..9ab7ca0aae 100644 --- a/src/components/support/SupportMenu.js +++ b/src/components/support/SupportMenu.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' import { UtilityRow } from '@kyper/utilityrow' import { ChevronRight } from '@kyper/icon/ChevronRight' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' diff --git a/src/components/support/SupportSuccess.js b/src/components/support/SupportSuccess.js index db2c4c0ac3..4c3d197619 100644 --- a/src/components/support/SupportSuccess.js +++ b/src/components/support/SupportSuccess.js @@ -2,7 +2,7 @@ import React, { useEffect } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { fadeOut } from 'src/utilities/Animation' diff --git a/src/privacy/input.ts b/src/privacy/input.ts index 19981b24bf..0e36abf1cb 100644 --- a/src/privacy/input.ts +++ b/src/privacy/input.ts @@ -6,7 +6,7 @@ import { Select } from '@kyper/select' import { SelectionBox } from '@mxenabled/mxui' import { UserFeedback } from '@kyper/userfeedback' import { withProtection } from 'src/privacy/withProtection' -import { TextField } from '@kyper/mui' +import { TextField } from '@mxenabled/mxui' /* Add security to Kyper Inputs by wrapping them in a Higher Order Component that diff --git a/src/redux/selectors/ClientColorScheme.js b/src/redux/selectors/ClientColorScheme.js index ff7f1eed45..b167ab090e 100644 --- a/src/redux/selectors/ClientColorScheme.js +++ b/src/redux/selectors/ClientColorScheme.js @@ -1,79 +1,9 @@ -import _every from 'lodash/every' import { createSelector } from '@reduxjs/toolkit' -// Memoized selectors for individual pieces of state -const getTheme = (state) => state.config.color_scheme const getClientColorScheme = (state) => state.profiles.clientColorScheme - -// Memoized selector for new client colors(primary 100-500) -export const getNewClientColors = createSelector([getClientColorScheme], (colorScheme) => ({ - Brand100: colorScheme?.primary_100, - Brand200: colorScheme?.primary_200, - Brand300: colorScheme?.primary_300, - Brand400: colorScheme?.primary_400, - Brand500: colorScheme?.primary_500, -})) - -// Memoized selector for old client colors -// This should only be used in conjuction with the TokenProvider to accomodate custom brand color via `widget_brand_color`. -// Set in Batcave>Client>Client Color Scheme>Widget Brand Color -export const getOldClientColors = createSelector( - [getClientColorScheme], - ({ widget_brand_color }) => { - return widget_brand_color - ? { - Brand100: '#F8F9FB', // We couldn't come up with a consistent good looking color with the proper aspect ratio. Defaults to Neutral_100. - Brand200: adjustColor(widget_brand_color, +15), - Brand300: widget_brand_color, - Brand400: adjustColor(widget_brand_color, -15), - Brand500: adjustColor(widget_brand_color, -30), - } - : {} - }, -) - -// Main selector that combines the results -export const getTokenProviderValues = createSelector( - [getTheme, getNewClientColors, getOldClientColors], - (theme, newColors, oldColors) => { - // If we have all the new client colors from the database, use the new colors - const hasNewColors = _every(Object.values(newColors), Boolean) - - return { - tokenOverrides: { Color: hasNewColors ? newColors : oldColors }, - theme, - } - }, +export const getPrimarySeedColor = createSelector( + getClientColorScheme, + // The primary seed color is either the `widget_brand_color` or the `primary_300` + // This is used to set the primary color in the theme paletteOptions and let MXUI generate the rest of the colors(primary 100-500) + (colorScheme) => colorScheme?.widget_brand_color || colorScheme?.primary_300, ) - -// Helper function for color adjustment -export const adjustColor = (col, amt) => { - let color = col - let usePound = false - - if (color[0] === '#') { - // remove hash sign - color = color.slice(1) - usePound = true - } - - // turn it into a 6 digit string - const colorPadded = color.padStart(6, '0') - - // subtract amount from each individual red/green/blue value - let intRVal = parseInt(colorPadded.slice(0, 2), 16) + amt - let intGVal = parseInt(colorPadded.slice(2, 4), 16) + amt - let intBVal = parseInt(colorPadded.slice(4, 6), 16) + amt - - // ensure each value is between 0 and 255 - intRVal = Math.min(Math.max(intRVal, 0), 255) - intGVal = Math.min(Math.max(intGVal, 0), 255) - intBVal = Math.min(Math.max(intBVal, 0), 255) - - // pad each 2 digit hex value to ensure it is in the correct format for css - const hexR = intRVal.toString(16).padStart(2, '0') - const hexG = intGVal.toString(16).padStart(2, '0') - const hexB = intBVal.toString(16).padStart(2, '0') - - return (usePound ? '#' : '') + (hexR + hexG + hexB) -} diff --git a/src/redux/selectors/__tests__/ClientColorScheme-test.js b/src/redux/selectors/__tests__/ClientColorScheme-test.js index abaf9fc337..bb2c656adf 100644 --- a/src/redux/selectors/__tests__/ClientColorScheme-test.js +++ b/src/redux/selectors/__tests__/ClientColorScheme-test.js @@ -1,4 +1,4 @@ -import { getTokenProviderValues } from 'src/redux/selectors/ClientColorScheme' +import { getPrimarySeedColor } from 'src/redux/selectors/ClientColorScheme' describe('ClientcolorScheme Selectors', () => { let state = { @@ -11,30 +11,35 @@ describe('ClientcolorScheme Selectors', () => { }, }, } - describe('getTokenProviderValues', () => { - it('should return the theme primary color if there is no client color scheme', () => { - const res = getTokenProviderValues(state) + describe('getPrimarySeedColor', () => { + it('should return widget_brand_color if it exists', () => { + const res = getPrimarySeedColor(state) - expect(res.tokenOverrides.Color.Brand300).toEqual( - state.profiles.clientColorScheme.widget_brand_color, - ) + expect(res).toEqual(state.profiles.clientColorScheme.widget_brand_color) }) - it('should have five different colors based on widget_brand_color', () => { - const res = getTokenProviderValues(state) - const colors = [ - res.tokenOverrides.Color.Brand100, - res.tokenOverrides.Color.Brand200, - res.tokenOverrides.Color.Brand300, - res.tokenOverrides.Color.Brand400, - res.tokenOverrides.Color.Brand500, - ] - const distinctColors = [...new Set(colors)] + it('should return primary_300 if widget_brand_color does not exist', () => { + state = { + config: { + color_scheme: 'light', + }, + profiles: { + clientColorScheme: { + primary_100: '100', + primary_200: '200', + primary_300: '300', + primary_400: '400', + primary_500: '500', + }, + }, + } + + const res = getPrimarySeedColor(state) - expect(distinctColors).toHaveLength(5) + expect(res).toEqual(state.profiles.clientColorScheme.primary_300) }) - it('should use the client color scheme if it exist', () => { + it('should return undefined if neither widget_brand_color or primary_300 exist', () => { state = { config: { color_scheme: 'light', @@ -43,30 +48,14 @@ describe('ClientcolorScheme Selectors', () => { clientColorScheme: { primary_100: '100', primary_200: '200', - primary_300: '300', primary_400: '400', primary_500: '500', }, }, } + const res = getPrimarySeedColor(state) - const res = getTokenProviderValues(state) - - expect(res.tokenOverrides.Color.Brand100).toEqual( - state.profiles.clientColorScheme.primary_100, - ) - expect(res.tokenOverrides.Color.Brand200).toEqual( - state.profiles.clientColorScheme.primary_200, - ) - expect(res.tokenOverrides.Color.Brand300).toEqual( - state.profiles.clientColorScheme.primary_300, - ) - expect(res.tokenOverrides.Color.Brand400).toEqual( - state.profiles.clientColorScheme.primary_400, - ) - expect(res.tokenOverrides.Color.Brand500).toEqual( - state.profiles.clientColorScheme.primary_500, - ) + expect(res).toBeUndefined() }) }) }) diff --git a/src/views/actionableError/ActionableError.tsx b/src/views/actionableError/ActionableError.tsx index 2cfc752380..844ae5b693 100644 --- a/src/views/actionableError/ActionableError.tsx +++ b/src/views/actionableError/ActionableError.tsx @@ -1,6 +1,6 @@ import React, { useContext, useEffect, useMemo } from 'react' import { useDispatch, useSelector } from 'react-redux' -import { InstitutionLogo, Text } from '@kyper/mui' +import { InstitutionLogo, Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { Button, Badge } from '@mui/material' diff --git a/src/views/additionalProduct/AdditionalProductStep.tsx b/src/views/additionalProduct/AdditionalProductStep.tsx index de2dbfb10d..4e6e1854dd 100644 --- a/src/views/additionalProduct/AdditionalProductStep.tsx +++ b/src/views/additionalProduct/AdditionalProductStep.tsx @@ -1,5 +1,5 @@ import React, { useImperativeHandle } from 'react' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { InstitutionBlock } from 'src/components/InstitutionBlock' import { useSelector } from 'react-redux' diff --git a/src/views/connected/Connected.tsx b/src/views/connected/Connected.tsx index c132d1b459..8596f8f6b0 100644 --- a/src/views/connected/Connected.tsx +++ b/src/views/connected/Connected.tsx @@ -7,9 +7,9 @@ import { __ } from 'src/utilities/Intl' import { fadeOut } from 'src/utilities/Animation' import { Button } from '@mui/material' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' -import { Icon, IconWeight } from '@kyper/mui' +import { Icon, IconWeight } from '@mxenabled/mxui' import { SlideDown } from 'src/components/SlideDown' import { getDelay } from 'src/utilities/getDelay' diff --git a/src/views/connecting/Connecting.js b/src/views/connecting/Connecting.js index 973e0cb4fb..bf53f749f9 100644 --- a/src/views/connecting/Connecting.js +++ b/src/views/connecting/Connecting.js @@ -14,7 +14,7 @@ import { } from 'rxjs/operators' import { useSelector, useDispatch } from 'react-redux' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { SlideDown } from 'src/components/SlideDown' diff --git a/src/views/connecting/progress/ProgressMessage.js b/src/views/connecting/progress/ProgressMessage.js index d518ab594f..fc5aaa957d 100644 --- a/src/views/connecting/progress/ProgressMessage.js +++ b/src/views/connecting/progress/ProgressMessage.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { from, of } from 'rxjs' import { delay, concatMap, repeat } from 'rxjs/operators' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { JOB_TYPES } from 'src/const/consts' diff --git a/src/views/consent/ConsentModal.tsx b/src/views/consent/ConsentModal.tsx index 1958844d71..3c2c1603af 100644 --- a/src/views/consent/ConsentModal.tsx +++ b/src/views/consent/ConsentModal.tsx @@ -1,6 +1,6 @@ import React, { Dispatch, SetStateAction } from 'react' -import { Text, DialogFooter } from '@kyper/mui' +import { Text, DialogFooter } from '@mxenabled/mxui' import { Box, Dialog, DialogContent, DialogTitle } from '@mui/material' import { __ } from 'src/utilities/Intl' import { goToUrlLink } from 'src/utilities/global' diff --git a/src/views/consent/DynamicDisclosure.tsx b/src/views/consent/DynamicDisclosure.tsx index 3f9eb05c54..1ff3110383 100644 --- a/src/views/consent/DynamicDisclosure.tsx +++ b/src/views/consent/DynamicDisclosure.tsx @@ -6,9 +6,9 @@ import type { RootState } from 'reduxify/Store' import { __, getLocale, setLocale } from 'src/utilities/Intl' import { Box, Button, IconButton, Link, Stack } from '@mui/material' -import { Icon, IconWeight } from '@kyper/mui' -import { Text } from '@kyper/mui' -import { useTokens } from '@kyper/mui' +import { Icon, IconWeight } from '@mxenabled/mxui' +import { Text } from '@mxenabled/mxui' +import { useTokens } from '@mxenabled/mxui' import { SlideDown } from 'src/components/SlideDown' import { getDelay } from 'src/utilities/getDelay' @@ -210,10 +210,9 @@ export const DynamicDisclosure = React.forwardRef( 'This app and MX Technologies will only collect, use, and retain your data to help manage your finances and will protect your data as required by', )} {__('applicable open banking regulations.')} diff --git a/src/views/credentials/Credentials.js b/src/views/credentials/Credentials.js index 86c0e9fbfb..2b61cf1264 100644 --- a/src/views/credentials/Credentials.js +++ b/src/views/credentials/Credentials.js @@ -10,7 +10,7 @@ import PropTypes from 'prop-types' import _isEmpty from 'lodash/isEmpty' import { useSelector } from 'react-redux' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { MessageBox } from '@kyper/messagebox' import { useTokens } from '@kyper/tokenprovider' import { TextField } from 'src/privacy/input' diff --git a/src/views/credentials/usePasswordInputValidation.tsx b/src/views/credentials/usePasswordInputValidation.tsx index b964be6068..5751e7aab0 100644 --- a/src/views/credentials/usePasswordInputValidation.tsx +++ b/src/views/credentials/usePasswordInputValidation.tsx @@ -1,6 +1,6 @@ import React, { useState, useEffect } from 'react' import { IconButton, InputAdornment } from '@mui/material' -import { Icon } from '@kyper/mui' +import { Icon } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' import { PasswordValidations } from 'src/privacy/input' import { preventDefaultAndStopAllPropagation } from 'src/utilities/KeyPress' diff --git a/src/views/disclosure/DataAvailable.js b/src/views/disclosure/DataAvailable.js index 2073421faa..af9df0f25f 100644 --- a/src/views/disclosure/DataAvailable.js +++ b/src/views/disclosure/DataAvailable.js @@ -2,7 +2,7 @@ import React, { Fragment } from 'react' import { useSelector } from 'react-redux' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { PageviewInfo } from 'src/const/Analytics' diff --git a/src/views/disclosure/DataRequested.js b/src/views/disclosure/DataRequested.js index 864de726e0..4b9efc464d 100644 --- a/src/views/disclosure/DataRequested.js +++ b/src/views/disclosure/DataRequested.js @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { ChevronRight } from '@kyper/icon/ChevronRight' import { Link } from '@mui/material' diff --git a/src/views/disclosure/Disclosure.js b/src/views/disclosure/Disclosure.js index b6b9e75cf8..39ef584d61 100644 --- a/src/views/disclosure/Disclosure.js +++ b/src/views/disclosure/Disclosure.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { css } from '@mxenabled/cssinjs' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Lock } from '@kyper/icon/Lock' import { Link } from '@mui/material' import { Button } from '@mui/material' diff --git a/src/views/disclosure/Interstitial.js b/src/views/disclosure/Interstitial.js index 3ed6109b17..77cb971b06 100644 --- a/src/views/disclosure/Interstitial.js +++ b/src/views/disclosure/Interstitial.js @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Link as LinkIcon } from '@kyper/icon/Link' import { Lock } from '@kyper/icon/Lock' import { InfoOutline } from '@kyper/icon/InfoOutline' diff --git a/src/views/disclosure/PoweredByMXText.js b/src/views/disclosure/PoweredByMXText.js index 5b4f4bf3d6..834d3eb360 100644 --- a/src/views/disclosure/PoweredByMXText.js +++ b/src/views/disclosure/PoweredByMXText.js @@ -1,7 +1,7 @@ import React from 'react' import { MXLogo } from '@kyper/icon/MXLogo' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { __ } from 'src/utilities/Intl' diff --git a/src/views/disclosure/PrivacyPolicy.js b/src/views/disclosure/PrivacyPolicy.js index fba6e2fa1e..5ae2be0299 100644 --- a/src/views/disclosure/PrivacyPolicy.js +++ b/src/views/disclosure/PrivacyPolicy.js @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux' import { css } from '@mxenabled/cssinjs' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Link } from '@mui/material' import { SlideDown } from 'src/components/SlideDown' diff --git a/src/views/institutionDisabled/InstitutionDisabled.tsx b/src/views/institutionDisabled/InstitutionDisabled.tsx index 0dfd4f089b..0fea08f772 100644 --- a/src/views/institutionDisabled/InstitutionDisabled.tsx +++ b/src/views/institutionDisabled/InstitutionDisabled.tsx @@ -2,7 +2,7 @@ import React, { useContext, useImperativeHandle } from 'react' import { useDispatch, useSelector } from 'react-redux' import { Button } from '@mui/material' import { P, H2 } from '@mxenabled/mxui' -import { Icon, InstitutionLogo } from '@kyper/mui' +import { Icon, InstitutionLogo } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' import useAnalyticsPath from 'src/hooks/useAnalyticsPath' @@ -66,14 +66,7 @@ export const InstitutionDisabled = React.forwardRef - +

{__('Free %1 Connections Are No Longer Available', institution.name)} diff --git a/src/views/institutionDisabled/__tests__/InstitutionDisabled-test.tsx b/src/views/institutionDisabled/__tests__/InstitutionDisabled-test.tsx index 25092de312..a63301ae54 100644 --- a/src/views/institutionDisabled/__tests__/InstitutionDisabled-test.tsx +++ b/src/views/institutionDisabled/__tests__/InstitutionDisabled-test.tsx @@ -27,19 +27,22 @@ describe('InstitutionDisabled', () => { }, } + let container: HTMLElement + beforeEach(() => { // Reset the mock before each test mockDispatch.mockClear() mockedUseDispatch.mockReturnValue(mockDispatch) - render(, { + const result = render(, { preloadedState, }) + container = result.container }) it('renders institution logo with disabled icon', () => { const logo = screen.getByAltText('Logo for Gringotts') - const disabledIcon = screen.getByTestId('institution-disabled-icon') + const disabledIcon = container.querySelector('.MuiSvgIcon-colorError') expect(logo).toBeInTheDocument() expect(logo).toHaveAttribute('src', expect.stringContaining('INS-123')) diff --git a/src/views/loginError/ImpededMemberError.js b/src/views/loginError/ImpededMemberError.js index d01c599d46..bd273b56d4 100644 --- a/src/views/loginError/ImpededMemberError.js +++ b/src/views/loginError/ImpededMemberError.js @@ -7,7 +7,7 @@ import { getInstitutionLoginUrl } from 'src/utilities/Institution' import { goToUrlLink } from 'src/utilities/global' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { ChevronRight } from '@kyper/icon/ChevronRight' import { Link } from '@mui/material' diff --git a/src/views/loginError/LoginError.js b/src/views/loginError/LoginError.js index 3a4cc72108..2fbbbaca2b 100644 --- a/src/views/loginError/LoginError.js +++ b/src/views/loginError/LoginError.js @@ -9,7 +9,7 @@ import React, { import { useSelector, useDispatch } from 'react-redux' import PropTypes from 'prop-types' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' diff --git a/src/views/loginError/MessageBoxStatus.js b/src/views/loginError/MessageBoxStatus.js index 66e1dedef2..a1098842d8 100644 --- a/src/views/loginError/MessageBoxStatus.js +++ b/src/views/loginError/MessageBoxStatus.js @@ -2,7 +2,7 @@ import React from 'react' import PropTypes from 'prop-types' import { MessageBox } from '@kyper/messagebox' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' export const MessageBoxStatus = ({ variant, message }) => { diff --git a/src/views/loginError/NoEligibleAccountsError.js b/src/views/loginError/NoEligibleAccountsError.js index edd92ca40c..01306e10f7 100644 --- a/src/views/loginError/NoEligibleAccountsError.js +++ b/src/views/loginError/NoEligibleAccountsError.js @@ -2,7 +2,7 @@ import React, { useContext } from 'react' import { useDispatch, useSelector } from 'react-redux' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { AttentionFilled } from '@kyper/icon/AttentionFilled' import { Button } from '@mui/material' diff --git a/src/views/manualAccount/ManualAccountForm.tsx b/src/views/manualAccount/ManualAccountForm.tsx index ca91b56168..850fef444a 100644 --- a/src/views/manualAccount/ManualAccountForm.tsx +++ b/src/views/manualAccount/ManualAccountForm.tsx @@ -9,7 +9,7 @@ import _startsWith from 'lodash/startsWith' import _isEmpty from 'lodash/isEmpty' import Button from '@mui/material/Button' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { MessageBox } from '@kyper/messagebox' import { useTokens } from '@kyper/tokenprovider' import { Select, SelectionBox, TextField } from 'src/privacy/input' diff --git a/src/views/manualAccount/ManualAccountMenu.js b/src/views/manualAccount/ManualAccountMenu.js index 5d7dde3919..5d1e1f2458 100644 --- a/src/views/manualAccount/ManualAccountMenu.js +++ b/src/views/manualAccount/ManualAccountMenu.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { __ } from 'src/utilities/Intl' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { UtilityRow } from '@kyper/utilityrow' import { ChevronRight } from '@kyper/icon/ChevronRight' import { Check } from '@kyper/icon/Check' diff --git a/src/views/manualAccount/ManualAccountSuccess.js b/src/views/manualAccount/ManualAccountSuccess.js index eb9aefabdb..55441d7ab5 100644 --- a/src/views/manualAccount/ManualAccountSuccess.js +++ b/src/views/manualAccount/ManualAccountSuccess.js @@ -4,7 +4,7 @@ import { __ } from 'src/utilities/Intl' import { useTokens } from '@kyper/tokenprovider' import { Button } from '@kyper/button' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { fadeOut } from 'src/utilities/Animation' diff --git a/src/views/mfa/MFAImages.js b/src/views/mfa/MFAImages.js index 5d6f752762..64534aab3d 100644 --- a/src/views/mfa/MFAImages.js +++ b/src/views/mfa/MFAImages.js @@ -14,7 +14,7 @@ import { PageviewInfo, AnalyticEvents } from 'src/const/Analytics' import { CheckmarkFilled } from '@kyper/icon/CheckmarkFilled' import { AttentionFilled } from '@kyper/icon/AttentionFilled' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' export const MFAImages = (props) => { diff --git a/src/views/mfa/MFAOptions.js b/src/views/mfa/MFAOptions.js index e3d20cf01a..8594d36e5a 100644 --- a/src/views/mfa/MFAOptions.js +++ b/src/views/mfa/MFAOptions.js @@ -4,7 +4,7 @@ import PropTypes from 'prop-types' import { sha256 } from 'js-sha256' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { AttentionFilled } from '@kyper/icon/AttentionFilled' import { SelectionBox } from 'src/privacy/input' import { Button, FormLabel } from '@mui/material' diff --git a/src/views/microdeposits/AccountInfo.js b/src/views/microdeposits/AccountInfo.js index 5e0d3dd1be..0e8c59ae7a 100644 --- a/src/views/microdeposits/AccountInfo.js +++ b/src/views/microdeposits/AccountInfo.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import _isEmpty from 'lodash/isEmpty' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { ChevronRight } from '@kyper/icon/ChevronRight' import { TextField, SelectionBox } from 'src/privacy/input' import { Button, RadioGroup, FormControl, FormLabel } from '@mui/material' diff --git a/src/views/microdeposits/ComeBack.js b/src/views/microdeposits/ComeBack.js index 22f095e429..3c046d2b83 100644 --- a/src/views/microdeposits/ComeBack.js +++ b/src/views/microdeposits/ComeBack.js @@ -2,7 +2,7 @@ import React, { useContext, useRef } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Text as ProtectedText } from 'src/privacy/components' import { Button } from '@mui/material' diff --git a/src/views/microdeposits/ConfirmDetails.js b/src/views/microdeposits/ConfirmDetails.js index aced73f685..be98c997b5 100644 --- a/src/views/microdeposits/ConfirmDetails.js +++ b/src/views/microdeposits/ConfirmDetails.js @@ -4,7 +4,7 @@ import { defer } from 'rxjs' import { useSelector } from 'react-redux' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { __ } from 'src/utilities/Intl' diff --git a/src/views/microdeposits/HowItWorks.js b/src/views/microdeposits/HowItWorks.js index 6f77ad4be4..c6f2a1bdf6 100644 --- a/src/views/microdeposits/HowItWorks.js +++ b/src/views/microdeposits/HowItWorks.js @@ -2,7 +2,7 @@ import React, { useRef } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { __ } from 'src/utilities/Intl' diff --git a/src/views/microdeposits/MicrodepositErrors.js b/src/views/microdeposits/MicrodepositErrors.js index b215048486..21fb0858cd 100644 --- a/src/views/microdeposits/MicrodepositErrors.js +++ b/src/views/microdeposits/MicrodepositErrors.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { css } from '@mxenabled/cssinjs' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Text as ProtectedText } from 'src/privacy/components' import { MessageBox } from '@kyper/messagebox' import { Button } from '@mui/material' diff --git a/src/views/microdeposits/PersonalInfoForm.js b/src/views/microdeposits/PersonalInfoForm.js index bf2dff6b1c..5c7c7e3e7b 100644 --- a/src/views/microdeposits/PersonalInfoForm.js +++ b/src/views/microdeposits/PersonalInfoForm.js @@ -2,7 +2,7 @@ import React, { useEffect, useRef, useState } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { TextField } from 'src/privacy/input' import { Button } from '@mui/material' diff --git a/src/views/microdeposits/RoutingNumber.js b/src/views/microdeposits/RoutingNumber.js index d008852e7c..84568236ac 100644 --- a/src/views/microdeposits/RoutingNumber.js +++ b/src/views/microdeposits/RoutingNumber.js @@ -5,7 +5,7 @@ import { defer } from 'rxjs' import _isEmpty from 'lodash/isEmpty' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { ChevronRight } from '@kyper/icon/ChevronRight' import { TextField } from 'src/privacy/input' import { Button } from '@mui/material' diff --git a/src/views/microdeposits/SharedRoutingNumber.js b/src/views/microdeposits/SharedRoutingNumber.js index ab3b37ec73..991f36bd87 100644 --- a/src/views/microdeposits/SharedRoutingNumber.js +++ b/src/views/microdeposits/SharedRoutingNumber.js @@ -2,7 +2,7 @@ import React, { useRef } from 'react' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Accounts } from '@kyper/icon/Accounts' import { Tag } from '@kyper/tag' diff --git a/src/views/microdeposits/Verified.js b/src/views/microdeposits/Verified.js index 4114a3d847..2522e0a85d 100644 --- a/src/views/microdeposits/Verified.js +++ b/src/views/microdeposits/Verified.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { useSelector } from 'react-redux' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { __ } from 'src/utilities/Intl' diff --git a/src/views/microdeposits/VerifyDeposits.js b/src/views/microdeposits/VerifyDeposits.js index 3e2accbdfa..5fbed63b0c 100644 --- a/src/views/microdeposits/VerifyDeposits.js +++ b/src/views/microdeposits/VerifyDeposits.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { defer } from 'rxjs' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Text as ProtectedText } from 'src/privacy/components' import { MessageBox } from '@kyper/messagebox' import { TextField } from 'src/privacy/input' diff --git a/src/views/microdeposits/Verifying.js b/src/views/microdeposits/Verifying.js index f9c7f87571..f768d0350e 100644 --- a/src/views/microdeposits/Verifying.js +++ b/src/views/microdeposits/Verifying.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { defer, interval } from 'rxjs' import { filter, mergeMap, pluck, scan, switchMap, take } from 'rxjs/operators' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { __ } from 'src/utilities/Intl' diff --git a/src/views/oauth/OAuthError.js b/src/views/oauth/OAuthError.js index 2c2b36d7a6..93a553e57e 100644 --- a/src/views/oauth/OAuthError.js +++ b/src/views/oauth/OAuthError.js @@ -1,7 +1,7 @@ import React, { useEffect, useImperativeHandle, useContext } from 'react' import { useSelector } from 'react-redux' import PropTypes from 'prop-types' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { MessageBox } from '@kyper/messagebox' import { useTokens } from '@kyper/tokenprovider' import { Button } from '@mui/material' diff --git a/src/views/oauth/WaitingForOAuth.js b/src/views/oauth/WaitingForOAuth.js index c269679276..80ae02cc48 100644 --- a/src/views/oauth/WaitingForOAuth.js +++ b/src/views/oauth/WaitingForOAuth.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { of, defer } from 'rxjs' import { map, mergeMap, delay, pluck } from 'rxjs/operators' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { Button } from '@mui/material' diff --git a/src/views/search/Search.js b/src/views/search/Search.js index 8d7db80701..2213424dea 100644 --- a/src/views/search/Search.js +++ b/src/views/search/Search.js @@ -13,7 +13,7 @@ import { map, catchError } from 'rxjs/operators' import _unionBy from 'lodash/unionBy' import _debounce from 'lodash/debounce' import _find from 'lodash/find' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { CloseOutline } from '@kyper/icon/CloseOutline' import { Search as SearchIcon } from '@kyper/icon/Search' diff --git a/src/views/search/views/SearchNoResult.js b/src/views/search/views/SearchNoResult.js index 1905c5dc0e..a38ad4c1c5 100644 --- a/src/views/search/views/SearchNoResult.js +++ b/src/views/search/views/SearchNoResult.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { Button } from '@mui/material' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { useTokens } from '@kyper/tokenprovider' import { __ } from 'src/utilities/Intl' diff --git a/src/views/search/views/SearchedInstitutionsList.js b/src/views/search/views/SearchedInstitutionsList.js index 7c9d0d327c..7193fbe84a 100644 --- a/src/views/search/views/SearchedInstitutionsList.js +++ b/src/views/search/views/SearchedInstitutionsList.js @@ -3,7 +3,7 @@ import { useSelector } from 'react-redux' import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import useAnalyticsPath from 'src/hooks/useAnalyticsPath' diff --git a/src/views/verification/VerifyError.js b/src/views/verification/VerifyError.js index cdc3f8238f..c51ebfe417 100644 --- a/src/views/verification/VerifyError.js +++ b/src/views/verification/VerifyError.js @@ -3,7 +3,7 @@ import PropTypes from 'prop-types' import { useTokens } from '@kyper/tokenprovider' import { MessageBox } from '@kyper/messagebox' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { Button } from '@mui/material' import { SlideDown } from 'src/components/SlideDown' diff --git a/src/views/verification/VerifyExistingMember.tsx b/src/views/verification/VerifyExistingMember.tsx index a863282eea..022c052f50 100644 --- a/src/views/verification/VerifyExistingMember.tsx +++ b/src/views/verification/VerifyExistingMember.tsx @@ -4,7 +4,7 @@ import PropTypes from 'prop-types' import { useDispatch, useSelector } from 'react-redux' import { useTokens } from '@kyper/tokenprovider' -import { Text } from '@kyper/mui' +import { Text } from '@mxenabled/mxui' import { UtilityRow } from '@kyper/utilityrow' import { InstitutionLogo } from '@kyper/institutionlogo' import { Button } from '@mui/material'