From fe53306933d46f8b53485dc681cdaabd99c2ece4 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Sep 2025 17:35:11 +0000 Subject: [PATCH 1/2] Initial plan From 93dcd00d7b7885100ef62709cf79f03d53da89ae Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Fri, 12 Sep 2025 17:48:48 +0000 Subject: [PATCH 2/2] Fix accessibility issues with dark theme by replacing hardcoded colors with design tokens Co-authored-by: francinelucca <40550942+francinelucca@users.noreply.github.com> --- .../src/Portal/Portal.features.stories.tsx | 53 +++------------- .../src/Portal/Portal.stories.module.css | 62 +++++++++++++++++++ 2 files changed, 70 insertions(+), 45 deletions(-) diff --git a/packages/react/src/Portal/Portal.features.stories.tsx b/packages/react/src/Portal/Portal.features.stories.tsx index 6e5cab74bd3..4a91b0cad4d 100644 --- a/packages/react/src/Portal/Portal.features.stories.tsx +++ b/packages/react/src/Portal/Portal.features.stories.tsx @@ -101,49 +101,34 @@ export const WithPortalContext = () => {

This story demonstrates how to use PortalContext to control where Portal content is rendered.

{/* Default Portal */} -
+
Default Portal (no context): {mounted ? ( -
- Content in default portal -
+
Content in default portal
) : null}
{/* Portal with Context */} -
+
Portal with PortalContext: {mounted ? ( -
- Content in custom portal (via PortalContext) -
+
Content in custom portal (via PortalContext)
) : null}
{/* Override context with containerName prop */} -
+
Context + containerName prop override: {mounted ? ( -
- Content overriding context with containerName prop -
+
Content overriding context with containerName prop
) : null}
@@ -151,34 +136,12 @@ export const WithPortalContext = () => {
{/* Custom portal containers */} -
+
Custom Portal Container:
-
+
Override Portal Container:
diff --git a/packages/react/src/Portal/Portal.stories.module.css b/packages/react/src/Portal/Portal.stories.module.css index 73850efb469..36163852772 100644 --- a/packages/react/src/Portal/Portal.stories.module.css +++ b/packages/react/src/Portal/Portal.stories.module.css @@ -9,3 +9,65 @@ .InnerContainer { background-color: var(--bgColor-success-muted); } + +/* Portal Context Story Styles */ +.DefaultSection { + background-color: var(--bgColor-accent-muted); + margin: var(--base-size-8); + padding: var(--base-size-8); +} + +.ContextSection { + background-color: var(--bgColor-attention-muted); + margin: var(--base-size-8); + padding: var(--base-size-8); +} + +.OverrideSection { + background-color: var(--bgColor-success-muted); + margin: var(--base-size-8); + padding: var(--base-size-8); +} + +.DefaultPortalContent { + background-color: var(--bgColor-accent-emphasis); + padding: var(--base-size-4); + border: var(--borderWidth-thin) solid var(--borderColor-accent-emphasis); + color: var(--fgColor-onEmphasis); +} + +.ContextPortalContent { + background-color: var(--bgColor-attention-emphasis); + padding: var(--base-size-4); + border: var(--borderWidth-thin) solid var(--borderColor-attention-emphasis); + color: var(--fgColor-onEmphasis); +} + +.OverridePortalContent { + background-color: var(--bgColor-success-emphasis); + padding: var(--base-size-4); + border: var(--borderWidth-thin) solid var(--borderColor-success-emphasis); + color: var(--fgColor-onEmphasis); +} + +.CustomPortalContainer { + position: fixed; + bottom: var(--base-size-8); + left: var(--base-size-8); + background-color: var(--bgColor-neutral-muted); + padding: var(--base-size-8); + border: var(--borderWidth-thick) solid var(--borderColor-attention-emphasis); + border-radius: var(--borderRadius-medium); + max-width: 200px; +} + +.OverridePortalContainer { + position: fixed; + bottom: var(--base-size-8); + right: var(--base-size-8); + background-color: var(--bgColor-neutral-muted); + padding: var(--base-size-8); + border: var(--borderWidth-thick) solid var(--borderColor-success-emphasis); + border-radius: var(--borderRadius-medium); + max-width: 200px; +}