From 7db1f8b38b201f7f58b6c5bb8a312343c045accb Mon Sep 17 00:00:00 2001 From: Scott Williams <5209283+scott-williams-az@users.noreply.github.com> Date: Fri, 29 May 2026 10:39:59 -0700 Subject: [PATCH 1/2] fix(unity-react-core): update or remove pkg to support react 19 remove reactstrap - package is no longer updated and does not support react19 - BreadcrumbItem converted to native LI element update react-share - update prop quote to title - add aria-label - update email share to proper usage (drafts share email, rather than using mailto:authorEmail link) - add console warning if required article prop is undefined, but still allows render --- packages/unity-react-core/package.json | 3 +- .../src/components/Article/Article.jsx | 91 ++++++++++++------- 2 files changed, 60 insertions(+), 34 deletions(-) diff --git a/packages/unity-react-core/package.json b/packages/unity-react-core/package.json index e03068a21..0aed38ff5 100644 --- a/packages/unity-react-core/package.json +++ b/packages/unity-react-core/package.json @@ -103,8 +103,7 @@ }, "dependencies": { "@glidejs/glide": "^3.6.0", - "react-share": "^4.4.0", - "reactstrap": "^9" + "react-share": "^5.3" }, "peerDependencies": { "@asu/unity-bootstrap-theme": "^1.21.3", diff --git a/packages/unity-react-core/src/components/Article/Article.jsx b/packages/unity-react-core/src/components/Article/Article.jsx index add327c06..aaa3ceeb8 100644 --- a/packages/unity-react-core/src/components/Article/Article.jsx +++ b/packages/unity-react-core/src/components/Article/Article.jsx @@ -10,10 +10,9 @@ import { FacebookShareButton, LinkedinIcon, LinkedinShareButton, - TwitterIcon, - TwitterShareButton, + XIcon, + XShareButton, } from "react-share"; -import { Breadcrumb, BreadcrumbItem } from "reactstrap"; import { Button } from "../Button/Button"; import { Wrapper, EventInfoWrapper } from "./Article.styles"; @@ -119,7 +118,11 @@ export const Article = ({

Share this event:

- + - {/* @ts-ignore */} - - + - - {/* @ts-ignore */} - + + - {/* @ts-ignore */} - + {} -
+
{registrationUrl && zoomUrl && Attend on Zoom}
); }; + /** + * @param {{title?: string, url?: string, active?: boolean}} item + * @returns {JSX.Element} + */ const activeBreadcrumb = item => { return ( - - - {item.title} - - + {item.active ? ( + {item.title} + ) : ( + {item.title} + )} + ); }; - + if (!articleUrl) { + // eslint-disable-next-line no-console + console.warn( + "Warning: articleUrl prop is required for Article component for social media sharing to work properly." + ); + articleUrl = articleUrl || ""; + } return ( <> {headerImageUrl && type !== "event" && ( @@ -209,9 +236,11 @@ export const Article = ({ {breadcrumbs && (
- - {breadcrumbs.map(item => activeBreadcrumb(item))} - +
)} @@ -257,7 +286,7 @@ export const Article = ({
- + - {/* @ts-ignore */} - - + - - {/* @ts-ignore */} - + +
From 3eec4b87a7b5495085143c937a0f9e22ac700023 Mon Sep 17 00:00:00 2001 From: Scott Williams <5209283+scott-williams-az@users.noreply.github.com> Date: Fri, 29 May 2026 11:07:44 -0700 Subject: [PATCH 2/2] fix(app-rfi): remove pkg to support react 19 remove reactstrap - package is no longer updated and does not support react19 --- packages/app-rfi/package.json | 1 - .../app-rfi/src/components/AsuRfi/index.js | 4 +- .../components/stepper/RfiStepperButtons.js | 30 ++++-- yarn.lock | 98 +++---------------- 4 files changed, 33 insertions(+), 100 deletions(-) diff --git a/packages/app-rfi/package.json b/packages/app-rfi/package.json index 92b63e3e5..e75f6d20c 100644 --- a/packages/app-rfi/package.json +++ b/packages/app-rfi/package.json @@ -83,7 +83,6 @@ "formik": "^2.1.4", "prop-types": "^15.7.2", "react-phone-input-2": "2.15.1", - "reactstrap": "^9", "yup": "^0.28.1", "yup-phone": "^1.2.19" }, diff --git a/packages/app-rfi/src/components/AsuRfi/index.js b/packages/app-rfi/src/components/AsuRfi/index.js index a4d71587b..e60b9fc98 100644 --- a/packages/app-rfi/src/components/AsuRfi/index.js +++ b/packages/app-rfi/src/components/AsuRfi/index.js @@ -9,8 +9,6 @@ import React, { useEffect, useState } from "react"; // rendering, but otherwise, we only worry about using the correct markup and // tweaking a few styles -import { Progress } from "reactstrap"; - import { betterPropNames, useRfiState } from "../../core/utils/appState"; import { DATA_SOURCE } from "../../core/utils/constants"; import { RfiContext } from "../../core/utils/rfiContext"; @@ -24,7 +22,7 @@ const currentScriptPath = getCurrentScriptPath(); /** * @param {import("../../core/types/rfi-types").RFIProps} props - * @return {JSX.Element} + * @return {React.ReactElement} */ const AsuRfi = ({ appPathFolder = "", diff --git a/packages/app-rfi/src/components/stepper/RfiStepperButtons.js b/packages/app-rfi/src/components/stepper/RfiStepperButtons.js index 84adb20ab..f50c950eb 100644 --- a/packages/app-rfi/src/components/stepper/RfiStepperButtons.js +++ b/packages/app-rfi/src/components/stepper/RfiStepperButtons.js @@ -1,7 +1,6 @@ // @ts-check import PropTypes from "prop-types"; import React from "react"; -import { Button } from "reactstrap"; import { trackGAEvent } from "@asu/shared"; // Note on the spans around the FA i tags below: @@ -14,6 +13,17 @@ import { trackGAEvent } from "@asu/shared"; // The solution I hit on was to wrap the i's with spans so when the DOM // rewrite happens, the FA switcheroo is happening a layer below the element // that in this case React is trying to remove. +/** + * @param {{ + * stepNumber: number, + * totalSteps: number, + * step: { props?: { section?: string } }, + * handleBack: () => void, + * rfiSubmitting: boolean, + * formik: { isSubmitting: boolean } + * }} props + * @returns {React.ReactElement} + */ export const RfiStepperButtons = ({ stepNumber, totalSteps, @@ -28,7 +38,7 @@ export const RfiStepperButtons = ({
{stepNumber > 0 ? ( -