From f636b64893308d9304d76c207dd6543dbc4f727a Mon Sep 17 00:00:00 2001 From: Jameson Date: Mon, 24 Aug 2026 12:08:22 -0600 Subject: [PATCH 1/4] feat: migrating all @kyper/messagebox usages to MUI Alert --- package-lock.json | 96 +++++++------------ package.json | 1 - src/components/DeleteMemberSurvey.js | 6 +- src/components/MemberError.js | 13 +-- src/views/credentials/Credentials.js | 31 +++--- src/views/credentials/utils.js | 4 +- src/views/loginError/LoginError.js | 4 +- .../{MessageBoxStatus.js => StatusAlert.js} | 18 ++-- src/views/manualAccount/ManualAccountForm.tsx | 9 +- src/views/mfa/MFAStep.js | 11 +-- src/views/microdeposits/MicrodepositErrors.js | 8 +- src/views/microdeposits/VerifyDeposits.js | 10 +- src/views/oauth/OAuthError.js | 10 +- src/views/verification/VerifyError.js | 8 +- typings/kyper.d.ts | 1 - 15 files changed, 101 insertions(+), 129 deletions(-) rename src/views/loginError/{MessageBoxStatus.js => StatusAlert.js} (53%) diff --git a/package-lock.json b/package-lock.json index 23aa82ad55..67b789bf5c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12,7 +12,6 @@ "@emotion/styled": "^11.14.1", "@kyper/hooks": "^1.0.0", "@kyper/icon": "^1.18.1", - "@kyper/messagebox": "^3.1.0", "@kyper/progressindicators": "^3.1.0", "@kyper/tag": "^3.0.0", "@kyper/tokenprovider": "^4.0.1", @@ -188,6 +187,7 @@ "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.6.tgz", "integrity": "sha512-H3mcG6ZDLTlYfaSNi0iOKkigqMFvkTKlGUYlD8GW7nNOYRrevuA46iTypPyv+06V3fEmvvazfntkBU34L0azAw==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.28.6", "@babel/generator": "^7.28.6", @@ -520,33 +520,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@commitlint/load/node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "optional": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "node_modules/@commitlint/load/node_modules/cosmiconfig-typescript-loader": { "version": "6.2.0", "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-6.2.0.tgz", @@ -694,6 +667,7 @@ "url": "https://opencollective.com/csstools" } ], + "peer": true, "engines": { "node": ">=18" }, @@ -716,6 +690,7 @@ "url": "https://opencollective.com/csstools" } ], + "peer": true, "engines": { "node": ">=18" } @@ -777,6 +752,7 @@ "version": "11.14.0", "resolved": "https://registry.npmjs.org/@emotion/react/-/react-11.14.0.tgz", "integrity": "sha512-O000MLDBDdk/EohJPFUqvnp4qnHeYkVP5B0xEG0D/L7cOKP9kefu2DXn8dj74cQfsEzUqh+sr1RzFqiL1o+PpA==", + "peer": true, "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", @@ -817,6 +793,7 @@ "version": "11.14.1", "resolved": "https://registry.npmjs.org/@emotion/styled/-/styled-11.14.1.tgz", "integrity": "sha512-qEEJt42DuToa3gurlH4Qqc1kVpNq8wO8cJtDzU46TjlzWjDlsVyevtYCRijVq3SrHsROS+gVQ8Fnea108GnKzw==", + "peer": true, "dependencies": { "@babel/runtime": "^7.18.3", "@emotion/babel-plugin": "^11.13.5", @@ -1627,19 +1604,6 @@ "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@kyper/button": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@kyper/button/-/button-4.0.0.tgz", - "integrity": "sha512-ZGMGW+vpUw6Rt4BZApK5tiaPFn/r5u7LpWomumEKPTrnx/DT10Rqf8wBta/tRs/m9sCUls7uJkAeOIP1oGXvXA==", - "peer": true, - "peerDependencies": { - "@kyper/tokenprovider": "^4.0.0", - "@mxenabled/cssinjs": "^0.6.0", - "prop-types": "^15.7.2", - "react": "^16.14.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/@kyper/hooks": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/@kyper/hooks/-/hooks-1.0.0.tgz", @@ -1654,27 +1618,13 @@ "version": "1.18.1", "resolved": "https://registry.npmjs.org/@kyper/icon/-/icon-1.18.1.tgz", "integrity": "sha512-tbbIJguHU6FyWFrkBOp+hjIXDD/pxwbV/r6gU1rx2VG6F5UuG9tED8CH4h6BivlGfGV76JTdzwDslURCuSgOcQ==", + "peer": true, "peerDependencies": { "prop-types": "^15.7.2", "react": "^16.14.0 || ^17.0.0 || ^18.0.0", "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0" } }, - "node_modules/@kyper/messagebox": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@kyper/messagebox/-/messagebox-3.1.0.tgz", - "integrity": "sha512-0yrRqL+iWAtVs/tcSXNZN3xA5noWUCuO9VWD14kFJHWVK96FlQppkAXFAMRgyLu+tMuCDD7DH8DPZyAMXlN7DQ==", - "peerDependencies": { - "@kyper/button": "^4.0.0", - "@kyper/icon": "^1.7.0", - "@kyper/text": "^3.0.0", - "@kyper/tokenprovider": "^4.0.0", - "@mxenabled/cssinjs": "^0.6.0", - "prop-types": "^15.7.2", - "react": "^16.14.0 || ^17.0.0 || ^18.0.0", - "react-dom": "^16.14.0 || ^17.0.0 || ^18.0.0" - } - }, "node_modules/@kyper/progressindicators": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/@kyper/progressindicators/-/progressindicators-3.1.0.tgz", @@ -1717,6 +1667,7 @@ "version": "4.0.1", "resolved": "https://registry.npmjs.org/@kyper/tokenprovider/-/tokenprovider-4.0.1.tgz", "integrity": "sha512-uHhymuRJOrm2KqZaqWN+dJJn+Xzz1pHDgNNCDaqev/48l8zMoX0gqS4pLp20mJu4wUzdxb9FhGIFHky6MJw/Rw==", + "peer": true, "peerDependencies": { "@mxenabled/design-tokens": "^1.0.0", "prop-types": "^15.7.2", @@ -1882,6 +1833,7 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/@mui/material/-/material-6.5.0.tgz", "integrity": "sha512-yjvtXoFcrPLGtgKRxFaH6OQPtcLPhkloC0BML6rBG5UeldR0nPULR/2E2BfXdo5JNV7j7lOzrrLX2Qf/iSidow==", + "peer": true, "dependencies": { "@babel/runtime": "^7.26.0", "@mui/core-downloads-tracker": "^6.5.0", @@ -1989,6 +1941,7 @@ "version": "6.5.0", "resolved": "https://registry.npmjs.org/@mui/system/-/system-6.5.0.tgz", "integrity": "sha512-XcbBYxDS+h/lgsoGe78ExXFZXtuIlSBpn/KsZq8PtZcIkUNJInkuDqcLd2rVBQrDC1u+rvVovdaWPf2FHKJf3w==", + "peer": true, "dependencies": { "@babel/runtime": "^7.26.0", "@mui/private-theming": "^6.4.9", @@ -2413,6 +2366,7 @@ "resolved": "https://registry.npmjs.org/@mui/material/-/material-5.18.0.tgz", "integrity": "sha512-bbH/HaJZpFtXGvWg3TsBWG4eyt3gah3E7nCNU8GLyRjVoWcA91Vm/T+sjHfUcwgJSw9iLtucfHBoq+qW/T30aA==", "dev": true, + "peer": true, "dependencies": { "@babel/runtime": "^7.23.9", "@mui/core-downloads-tracker": "^5.18.0", @@ -2587,6 +2541,7 @@ "version": "0.6.0", "resolved": "https://registry.npmjs.org/@mxenabled/cssinjs/-/cssinjs-0.6.0.tgz", "integrity": "sha512-pj4/+iqyEGS1zg4i7jo7jLX+tS9h1YA5W1vLfUipuLWbxzEmoI6K2JvfhP1jT3eKTOJE3MTH+K53/t9KDyUu3Q==", + "peer": true, "dependencies": { "free-style": "^4.1.0", "insert-css": "^2.0.0" @@ -2596,6 +2551,7 @@ "version": "1.0.3", "resolved": "https://registry.npmjs.org/@mxenabled/design-tokens/-/design-tokens-1.0.3.tgz", "integrity": "sha512-8c75eOjzU7XbApGve0Msodvi6culN93orLRlS2esLhkNMt7WE6JjxWLEX/BT7kU1qseK4hlky4VryocIKMLHbg==", + "peer": true, "engines": { "node": ">=12.13.1", "npm": ">=6.14.0" @@ -3043,7 +2999,6 @@ "resolved": "https://registry.npmjs.org/@nicolo-ribaudo/eslint-scope-5-internals/-/eslint-scope-5-internals-5.1.1-v1.tgz", "integrity": "sha512-54/JRvkLIzzDWshCWfuhadfrfZVPiElY8Fcgmg1HroEly/EDSszzhBAsarCux+D/kOslTRquNzuyGSmUSTTHGg==", "dev": true, - "peer": true, "dependencies": { "eslint-scope": "5.1.1" } @@ -3097,6 +3052,7 @@ "resolved": "https://registry.npmjs.org/@octokit/core/-/core-7.0.6.tgz", "integrity": "sha512-DhGl4xMVFGVIyMwswXeyzdL4uXD5OGILGX5N8Y+f6W7LhC1Ze2poSNrkF/fedpVDHEEZ+PHFW0vL14I+mm8K3Q==", "dev": true, + "peer": true, "dependencies": { "@octokit/auth-token": "^6.0.0", "@octokit/graphql": "^9.0.3", @@ -4532,6 +4488,7 @@ "resolved": "https://registry.npmjs.org/@testing-library/dom/-/dom-10.4.1.tgz", "integrity": "sha512-o4PXJQidqJl82ckFaXUeoAW+XysPLauYI43Abki5hABd853iMhitooc6znOnczgbTYmEP6U6/y1ZyKAIsvMKGg==", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.10.4", "@babel/runtime": "^7.12.5", @@ -4707,6 +4664,7 @@ "version": "22.19.5", "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.5.tgz", "integrity": "sha512-HfF8+mYcHPcPypui3w3mvzuIErlNOh2OAG+BCeBZCEwyiD5ls2SiCwEyT47OELtf7M3nHxBdu0FsmzdKxkN52Q==", + "peer": true, "dependencies": { "undici-types": "~6.21.0" } @@ -4732,6 +4690,7 @@ "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.14.tgz", "integrity": "sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==", "license": "MIT", + "peer": true, "dependencies": { "csstype": "^3.2.2" } @@ -4742,6 +4701,7 @@ "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", "dev": true, "license": "MIT", + "peer": true, "peerDependencies": { "@types/react": "^19.2.0" } @@ -4813,6 +4773,7 @@ "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.56.1.tgz", "integrity": "sha512-klQbnPAAiGYFyI02+znpBRLyjL4/BrBd0nyWkdC0s/6xFLkXYQ8OoRrSkqacS1ddVxf/LDyODIKbQ5TgKAf/Fg==", "dev": true, + "peer": true, "dependencies": { "@typescript-eslint/scope-manager": "8.56.1", "@typescript-eslint/types": "8.56.1", @@ -5309,6 +5270,7 @@ "version": "8.16.0", "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.16.0.tgz", "integrity": "sha512-UVJyE9MttOsBQIDKw1skb9nAwQuR5wuGD3+82K6JgJlm/Y+KI92oNsMNGZCYdDsVtRHSak0pcV5Dno5+4jh9sw==", + "peer": true, "bin": { "acorn": "bin/acorn" }, @@ -5840,6 +5802,7 @@ "url": "https://github.com/sponsors/ai" } ], + "peer": true, "dependencies": { "baseline-browser-mapping": "^2.9.0", "caniuse-lite": "^1.0.30001759", @@ -6881,6 +6844,7 @@ "resolved": "https://registry.npmjs.org/date-fns/-/date-fns-4.4.0.tgz", "integrity": "sha512-+1UMbeh68lH1SegH83CGWwpb6OHHbpSgr3+s5Eww5M4CAgswBpoWS0AjTOfEJ33HiYKz1hdj/KTFprzXHmq/6w==", "license": "MIT", + "peer": true, "funding": { "type": "github", "url": "https://github.com/sponsors/kossnocorp" @@ -7503,6 +7467,7 @@ "integrity": "sha512-ypowyDxpVSYpkXr9WPv2PAZCtNip1Mv5KTW0SCurXv/9iOpcrH9PaqUElksqEB6pChqHGDRCFTyrZlGhnLNGiA==", "deprecated": "This version is no longer supported. Please see https://eslint.org/version-support for other options.", "dev": true, + "peer": true, "dependencies": { "@eslint-community/eslint-utils": "^4.2.0", "@eslint-community/regexpp": "^4.6.1", @@ -7584,6 +7549,7 @@ "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", "dev": true, + "peer": true, "dependencies": { "array-includes": "^3.1.8", "array.prototype.findlast": "^1.2.5", @@ -7739,7 +7705,6 @@ "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-2.1.0.tgz", "integrity": "sha512-0rSmRBzXgDzIsD6mGdJgevzgezI534Cer5L/vyMX0kHzT/jiB43jRhd9YUlMGYLQy2zprNmoT8qasCGtY+QaKw==", "dev": true, - "peer": true, "engines": { "node": ">=10" } @@ -10004,6 +9969,7 @@ "resolved": "https://registry.npmjs.org/jsdom/-/jsdom-24.1.3.tgz", "integrity": "sha512-MyL55p3Ut3cXbeBEG7Hcv0mVM8pp8PBNWxRqchZnSfAiES1v1mRnMeFfaHWIPULpwsYfvO+ZmMZz5tGCnjzDUQ==", "dev": true, + "peer": true, "dependencies": { "cssstyle": "^4.0.1", "data-urls": "^5.0.0", @@ -11385,6 +11351,7 @@ "resolved": "https://registry.npmjs.org/marked/-/marked-15.0.12.tgz", "integrity": "sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==", "dev": true, + "peer": true, "bin": { "marked": "bin/marked.js" }, @@ -13650,6 +13617,7 @@ "dev": true, "inBundle": true, "license": "MIT", + "peer": true, "engines": { "node": ">=12" }, @@ -14582,6 +14550,7 @@ "version": "15.8.1", "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", + "peer": true, "dependencies": { "loose-envify": "^1.4.0", "object-assign": "^4.1.1", @@ -14696,6 +14665,7 @@ "resolved": "https://registry.npmjs.org/react/-/react-19.2.4.tgz", "integrity": "sha512-9nfp2hYpCwOjAN+8TZFGhtWEwgvWHXqESH8qT89AT/lWklpLON22Lc8pEtnpsZz7VmawabSU0gCjnj8aC0euHQ==", "license": "MIT", + "peer": true, "engines": { "node": ">=0.10.0" } @@ -14719,6 +14689,7 @@ "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.4.tgz", "integrity": "sha512-AXJdLo8kgMbimY95O2aKQqsz2iWi9jMgKJhRBAxECE4IFxfcazB2LmzloIoibJI3C12IlY20+KFaLv+71bUJeQ==", "license": "MIT", + "peer": true, "dependencies": { "scheduler": "^0.27.0" }, @@ -14735,6 +14706,7 @@ "version": "9.2.0", "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-9.2.0.tgz", "integrity": "sha512-ROY9fvHhwOD9ySfrF0wmvu//bKCQ6AeZZq1nJNtbDC+kk5DuSuNX/n6YWYF/SYy7bSba4D4FSz8DJeKY/S/r+g==", + "peer": true, "dependencies": { "@types/use-sync-external-store": "^0.0.6", "use-sync-external-store": "^1.4.0" @@ -14884,7 +14856,8 @@ "node_modules/redux": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/redux/-/redux-5.0.1.tgz", - "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==" + "integrity": "sha512-M9/ELqF6fy8FwmkpnF0S3YKOqMyoWJ4+CS5Efg2ct3oY9daQvd/Pc71FpGZsVsbl3Cpb+IIcjBDUnnyBdQbq4w==", + "peer": true }, "node_modules/redux-thunk": { "version": "3.1.0", @@ -15151,6 +15124,7 @@ "integrity": "sha512-2oMpl67a3zCH9H79LeMcbDhXW/UmWG/y2zuqnF2jQq5uq9TbM9TVyXvA4+t+ne2IIkBdrLpAaRQAvo7YI/Yyeg==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "@types/estree": "1.0.8" }, @@ -15335,6 +15309,7 @@ "resolved": "https://registry.npmjs.org/semantic-release/-/semantic-release-25.0.3.tgz", "integrity": "sha512-WRgl5GcypwramYX4HV+eQGzUbD7UUbljVmS+5G1uMwX/wLgYuJAxGeerXJDMO2xshng4+FXqCgyB5QfClV6WjA==", "dev": true, + "peer": true, "dependencies": { "@semantic-release/commit-analyzer": "^13.0.1", "@semantic-release/error": "^4.0.0", @@ -16960,6 +16935,7 @@ "version": "5.9.3", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "peer": true, "bin": { "tsc": "bin/tsc", "tsserver": "bin/tsserver" @@ -17203,6 +17179,7 @@ "integrity": "sha512-Bby3NOsna2jsjfLVOHKes8sGwgl4TT0E6vvpYgnAYDIF/tie7MRaFthmKuHx1NSXjiTueXH3do80FMQgvEktRg==", "devOptional": true, "license": "MIT", + "peer": true, "dependencies": { "esbuild": "^0.27.0", "fdir": "^6.5.0", @@ -17356,6 +17333,7 @@ "integrity": "sha512-xejya+bT/j/+R/AGa1XOfRxLmNUlLtlwjRsFUILF+xHfzElmGcmFydy2gqqIrd62ptIEfwVMofd19uNWD9L7Nw==", "dev": true, "license": "MIT", + "peer": true, "dependencies": { "@types/chai": "^5.2.2", "@vitest/expect": "3.2.6", diff --git a/package.json b/package.json index 8ec254fe72..7a57b94f00 100644 --- a/package.json +++ b/package.json @@ -45,7 +45,6 @@ "@emotion/styled": "^11.14.1", "@kyper/hooks": "^1.0.0", "@kyper/icon": "^1.18.1", - "@kyper/messagebox": "^3.1.0", "@kyper/progressindicators": "^3.1.0", "@kyper/tag": "^3.0.0", "@kyper/tokenprovider": "^4.0.1", diff --git a/src/components/DeleteMemberSurvey.js b/src/components/DeleteMemberSurvey.js index 8bc60982f2..bab528bd61 100644 --- a/src/components/DeleteMemberSurvey.js +++ b/src/components/DeleteMemberSurvey.js @@ -1,9 +1,9 @@ import React, { useState, useEffect, useRef } from 'react' import PropTypes from 'prop-types' import { Icon, Text } from '@mxenabled/mxui' -import { MessageBox } from '@kyper/messagebox' import { defer } from 'rxjs' import FocusTrap from 'focus-trap-react' +import Alert from '@mui/material/Alert' import { Button, FormLabel, FormControl, Stack } from '@mui/material' import { SelectionBox } from '@mxenabled/mxui' @@ -109,13 +109,13 @@ export const DeleteMemberSurvey = (props) => { > {__('Something went wrong')} - + {__( "Oops! We weren't able to disconnect this institution. Please try again later.", )} - +