Skip to content

[Project Solar / Phase 1 / Components] DialogPrimitive/Modal/Flyout carbonization#3645

Merged
didoo merged 18 commits intoproject-solar/phase-1-main-feature-branchfrom
project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization
Mar 31, 2026
Merged

[Project Solar / Phase 1 / Components] DialogPrimitive/Modal/Flyout carbonization#3645
didoo merged 18 commits intoproject-solar/phase-1-main-feature-branchfrom
project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization

Conversation

@didoo
Copy link
Copy Markdown
Contributor

@didoo didoo commented Feb 25, 2026

📌 Summary

This PR intends to finalize the "carbonization" of the DialogPrimitive, Modal, and Flyout components.

🛠️ Detailed description

In this PR I have:

👀 Previews:

🔗 External links

Jira tickets:

Figma file: https://www.figma.com/design/GWMDKHuGr98DFxSptH6vgj/-LJ--Token-Migration


👀 Component checklist

  • Percy was checked for any visual regression
    • Note: the subtle differences in the DialogPrimitive and Modal screenshots are due to the fact that we added a 1px transparent border to the dialog primitive, which slightly shifts the layout of the element; this is not an issue in production code, since the component in horizontally/vertically centered in the screen

💬 Please consider using conventional comments when reviewing this PR.

📋 PCI review checklist
  • If applicable, I've documented a plan to revert these changes if they require more than reverting the pull request.
  • If applicable, I've worked with GRC to document the impact of any changes to security controls.
    Examples of changes to controls include access controls, encryption, logging, etc.
  • If applicable, I've worked with GRC to ensure compliance due to a significant change to the in-scope PCI environment.
    Examples include changes to operating systems, ports, protocols, services, cryptography-related components, PII processing code, etc.

@vercel
Copy link
Copy Markdown

vercel Bot commented Feb 25, 2026

The latest updates on your projects. Learn more about Vercel for GitHub.

Project Deployment Actions Updated (UTC)
hds-showcase Ready Ready Preview Mar 31, 2026 0:39am
hds-website Ready Ready Preview Mar 31, 2026 0:39am

Request Review

@dchyun
Copy link
Copy Markdown
Contributor

dchyun commented Mar 2, 2026

@didoo I've carbonized the DismissButton which is used inside components here. If you would like to cherry pick those changes you can get them from #3665

@didoo
Copy link
Copy Markdown
Contributor Author

didoo commented Mar 4, 2026

@didoo I've carbonized the DismissButton which is used inside components here. If you would like to cherry pick those changes you can get them from #3665

@dchyun probably I could rebase this branch on yours, or viceversa, so we can see the overall effect of both carbonizations (it's used also in the Alert, and hence the Toast, components(

@didoo didoo force-pushed the project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization branch from c3ba6a1 to 2abc5d1 Compare March 6, 2026 12:09
@didoo didoo changed the base branch from project-solar/phase-1-main-feature-branch to project-solar/phase-1/dchyun/dismiss-button-carbonization March 6, 2026 12:12
@didoo
Copy link
Copy Markdown
Contributor Author

didoo commented Mar 6, 2026

@dchyun update: I've rebased this PR on #3665

@didoo didoo force-pushed the project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization branch from 2abc5d1 to b50ac52 Compare March 6, 2026 12:37
@didoo didoo force-pushed the project-solar/phase-1/dchyun/dismiss-button-carbonization branch from 51554b2 to 6d1e9e8 Compare March 11, 2026 15:25
@didoo didoo force-pushed the project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization branch from b50ac52 to dfec8eb Compare March 11, 2026 15:27
@didoo didoo force-pushed the project-solar/phase-1/dchyun/dismiss-button-carbonization branch from 6d1e9e8 to f4f830d Compare March 11, 2026 18:25
@didoo didoo force-pushed the project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization branch from dfec8eb to 2ee74fb Compare March 11, 2026 18:39
@didoo didoo force-pushed the project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization branch from 2ee74fb to 9afb23f Compare March 11, 2026 18:41
@didoo didoo force-pushed the project-solar/phase-1/dchyun/dismiss-button-carbonization branch from f4f830d to 78e8666 Compare March 11, 2026 20:45
@didoo didoo force-pushed the project-solar/phase-1/HDS-6126-6085-6098/dialog-primitive-flyout-modal-carbonization branch from 9afb23f to 4789032 Compare March 11, 2026 21:07
Comment thread showcase/app/styles/showcase-pages/carbonization/dialog-primitive.scss Outdated
KristinLBradley

This comment was marked as outdated.

Comment thread packages/components/src/styles/components/dialog-primitive.scss
Comment thread packages/components/src/styles/components/dialog-primitive.scss Outdated
Comment thread packages/components/src/styles/components/dialog-primitive.scss
Comment thread showcase/app/index.html
Comment thread packages/components/src/styles/components/dialog-primitive.scss
Comment thread showcase/app/components/page-carbonization/components/modal/index.gts Outdated
Comment thread packages/tokens/src/products/shared/modal.json
Comment thread packages/tokens/src/products/shared/modal.json
Comment thread packages/tokens/src/products/shared/modal.json
Copy link
Copy Markdown
Contributor

@jorytindall jorytindall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is looking largely pretty good to me, but I have a few questions:

  • What is that comparison component on the Flyout showcase page withe the borders in the Header/Footer? Is that something coming from Carbon? I guess it's making me question some of my strategy of trying to kind of mimic the Modal for all of the styling
  • I thought the Dismiss Button was already migrated, but it doesn't look like any of the interactive states are working to test. Actually looking this it looks like pointer events are just disabled for the showcase pages, is this right?
  • I think the Tagline has the incorrect font-size, what I have is 12px

@didoo
Copy link
Copy Markdown
Contributor Author

didoo commented Mar 30, 2026

This is looking largely pretty good to me, but I have a few questions:

  • What is that comparison component on the Flyout showcase page withe the borders in the Header/Footer? Is that something coming from Carbon?

@jorytindall it's the SidePanel from the Carbon for Products library:

I guess it's making me question some of my strategy of trying to kind of mimic the Modal for all of the styling

If you refer to the horizontal dividers it's because they have some animations/special transitions: see this example and scroll the content of the sidepane/flyout https://ibm-products-web-components.carbondesignsystem.com/?path=/story/components-sidepanel--with-static-title

  • I thought the Dismiss Button was already migrated, but it doesn't look like any of the interactive states are working to test. Actually looking this it looks like pointer events are just disabled for the showcase pages, is this right?

Yes I have disabled the "click" otherwise it would remove the Modal/Flyout from the page if one accidentally (or intentionally) clicks it :)

  • I think the Tagline has the incorrect font-size, what I have is 12px

Fixed. I have now added component-level tokens for the Tagline for font-size/line-height (but I don't see them in the Figma variables? 🤔) and more importantly the foreground color (Neutral 500 for HDS, and so "faint", but Text Primary in CDS; I don't think you have this differentiation, right?)

Copy link
Copy Markdown
Contributor

@jorytindall jorytindall left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the context on this, following up on a few things:

  • Horizontal dividers in the Carbon SidePanel: looking at the examples you shared, these only seem to appear when the height of the content is greater than the height of the viewport and the content scrolls. I'm not going to change anything in the component for now
  • Dismiss buttons: sounds good, that's what I thought!
  • Tagline: I've also updated the DialogPrimitive to map to CDS text-primary instead of the default mapping for faint, that's a nice catch.

Copy link
Copy Markdown
Contributor

@KristinLBradley KristinLBradley left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

Comment thread packages/tokens/src/products/shared/dialog-primitive.json Outdated
Comment thread packages/components/src/styles/components/dialog-primitive.scss Outdated
Comment thread packages/components/src/styles/components/modal.scss
didoo and others added 18 commits March 30, 2026 20:24
… follow latest design decisions

- remove colors in “carbon” mode for the Modal headers
- reduce vertical padding of the body in “carbon” mode
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants