Skip to content

Conversation

@didoo
Copy link
Contributor

@didoo didoo commented Sep 25, 2025

📌 Summary

This PR is the initial scaffolding of the showcase pages that will be used for the dry-run migrations (and subsequent actual migration) of the HDS components (as in theming/re-skinning).

This PR is based on top of #3240.

🛠️ Detailed description

In this PR I have:

  • introduced a new <ShwCarbonizationComparisonGrid> component, used to showcase an HDS component with different themes applied (HDS default + the four Carbon modes cds-g0/cds-g10/cds-g90/cds-g100) next to the equivalent Carbon web components for that specific variant/state.
  • introduced two new Shw component for the preview of colors (<ShwCarbonizationTokenPreviewColor>) and typographic styles (<ShwCarbonizationStylePreviewTypography>)
  • updated the showcase/app/index.html file to include
    • the <script> tags used to include the Carbon web components
    • the <script> tags used to import the IBM Plex font
    • the <style> tag used to hide the not-yet-loaded web components
  • added a set of "carbonized" showcase pages, dedicated to showing all the (meaningful) variants/states of a foundation or component, and compare them with the expected look&feel of the original equivalent Carbon component
    • Note: in this early phase, they are intentionally left as single file, even if they're quite long; later when we have a better idea of what we want to do and we start to see emerging patterns, we can decide what should be the final implementation for these pages
  • updated the main application logic to force a specific stylesheets combination to use when the carbonized pages are visited, and disable the theme selector accordingly; everything is reset back to its original state when leaving the carbonized page(s)

🔎 How to review

Check the different carbonized pages and how they've been implemented (also their organization as single file .gts components):

  • Foundations > Color
  • Foundations > Typography
  • Foundations > Focus Ring
  • Components > Badge
  • Components > Badge Count
  • Components > Button
  • Components > Form / TextInput
  • Components > SegmentedGroup

Note: don't focus on the actual visual style of the "carbonized" component: the proper design tokens and $modes will be implemented the #3332

Review the implementation of the <ShwCarbonizationComparisonGrid> component, and see if the API is clear to you; look also at how it's used across the "carbonized" showcase pages

Review how the Carbon Web components are instantiated in the code, and how Carbon theming is applied to them

Note: at the moment there's an open conversation about how to use the cds-icon web component in an Ember app, that has not been resolved yet, so we're using the HdsIcon component instead

👉 👉 👉 Previews:

🛠️ How to test

Note

At the moment the HDS component look the same for the different themes, because the underlying design tokens are all the same; once we start the dry-run migrations (in the follow-up PR) they will start to look more and more like the equivalent Carbon web components shown below

Open the different "carbonized" pages and see how the HDS components are rendered, and how the Carbon Web components are rendered

🔗 External links

Main Jira task:

Related Jira tasks


👀 Component checklist

  • Percy was checked for any visual regression
  • A changelog entry was added via Changesets if needed (see templates here)
    • changelogs will be added in the main feature branch

💬 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

vercel bot commented Sep 25, 2025

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

Project Deployment Preview Updated (UTC)
hds-showcase Ready Ready Preview Nov 21, 2025 6:34pm
hds-website Ready Ready Preview Nov 21, 2025 6:34pm

@didoo didoo changed the title [WIP] [Project solar / Phase 1 / showcase] Scaffolding of the showcase pages for the carbonization of the HDS components [WIP] [Project Solar / Phase 1 / showcase] Scaffolding of the showcase pages for the carbonization of the HDS components Sep 25, 2025
@didoo didoo changed the title [WIP] [Project Solar / Phase 1 / showcase] Scaffolding of the showcase pages for the carbonization of the HDS components [WIP] [Project Solar / Phase 1 / Showcase] Scaffolding of the showcase pages for the carbonization of the HDS components Sep 25, 2025
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from 19234bc to cd4e9ef Compare September 30, 2025 14:13
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from cd4e9ef to a0b23a9 Compare September 30, 2025 14:21
@didoo didoo force-pushed the project-solar/phase-1-main-feature-branch branch from 519a6a6 to 3863dfa Compare September 30, 2025 14:50
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from a0b23a9 to 403ac45 Compare September 30, 2025 17:24
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from 403ac45 to 9376a33 Compare September 30, 2025 17:30
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from 9376a33 to 8bc9cc9 Compare September 30, 2025 20:34
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from 8bc9cc9 to f8e77f1 Compare October 2, 2025 14:27
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from f8e77f1 to 68248e2 Compare October 7, 2025 17:14
didoo added 17 commits November 21, 2025 18:11
…onTokenPreviewColor` to show actual color values in preview item
… “carbonized” page (and restore its previous state when returning to non-carbonized pages)
@didoo didoo force-pushed the project-solar/phase-1/HDS-5242_showcase/carbonization-pages-scaffolding branch from 215bbb2 to d867ad5 Compare November 21, 2025 18:12
@didoo didoo changed the title [WIP-05] [Project Solar / Phase 1 / Showcase] Scaffolding of the showcase pages for the carbonization of the HDS components [05] [Project Solar / Phase 1 / Showcase] Scaffolding of the showcase pages for the carbonization of the HDS components Nov 21, 2025
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

Copilot reviewed 42 out of 43 changed files in this pull request and generated 4 comments.

Files not reviewed (1)
  • pnpm-lock.yaml: Language not supported
Comments suppressed due to low confidence (1)

showcase/app/components/page-components/badge/sub-sections/content.gts:1

  • Import order was changed but ShwFlex is still imported correctly after ShwTextH2. The original diff shows swapped import order which should not cause issues, but ensure this was an intentional reordering for consistency with project conventions.
/**

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.

4 participants