-
Notifications
You must be signed in to change notification settings - Fork 17
[doc] Add Themes page to the site and change Principles to Guidelines #2422
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
raquelarrojo
merged 11 commits into
theme-generator
from
PelayoFelgueroso/theme_generator-doc_page
Mar 11, 2026
+165
−10
Merged
Changes from all commits
Commits
Show all changes
11 commits
Select commit
Hold shift + click to select a range
245c7f1
Add themes page to doc site
PelayoFelgueroso 2ca144f
Merge branch 'theme-generator' of https://github.com/dxc-technology/h…
PelayoFelgueroso 095d040
Change Principles to Guidelines and add Themes there
PelayoFelgueroso 6479cdf
Merge branch 'theme-generator' into PelayoFelgueroso/theme_generator-…
PelayoFelgueroso 6b8a868
change principles everywhere and Themes icon
PelayoFelgueroso 5311e3e
Remove unwanted file
PelayoFelgueroso 5e477c6
Merge branch 'theme-generator' into PelayoFelgueroso/theme_generator-…
PelayoFelgueroso 63ab256
Fix based on comments
PelayoFelgueroso dd127e0
Fix based on comments and add a paragraph about the Theme Generator i…
PelayoFelgueroso d05ab1d
Change "prop"to "property"to keep consistency
PelayoFelgueroso dede887
Merge branch 'theme-generator' into PelayoFelgueroso/theme_generator-…
PelayoFelgueroso File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...e/pages/principles/data-visualization.tsx → ...e/pages/guidelines/data-visualization.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
2 changes: 1 addition & 1 deletion
2
...website/pages/principles/localization.tsx → ...website/pages/guidelines/localization.tsx
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,13 @@ | ||
| import Head from "next/head"; | ||
| import ThemesPage from "screens/guidelines/themes/ThemesPage"; | ||
|
|
||
| const Themes = () => ( | ||
| <> | ||
| <Head> | ||
| <title>Themes — Halstack Design System</title> | ||
| </Head> | ||
| <ThemesPage /> | ||
| </> | ||
| ); | ||
|
|
||
| export default Themes; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
File renamed without changes.
File renamed without changes.
File renamed without changes
File renamed without changes
File renamed without changes.
File renamed without changes.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,133 @@ | ||
| import DocFooter from "@/common/DocFooter"; | ||
| import PageHeading from "@/common/PageHeading"; | ||
| import DxcQuickNavContainer from "@/common/QuickNavContainer"; | ||
| import { DxcBulletedList, DxcFlex, DxcHeading, DxcLink, DxcParagraph } from "@dxc-technology/halstack-react"; | ||
| import Link from "next/link"; | ||
|
|
||
| const sections = [ | ||
| { | ||
| title: "What is a theme in Halstack?", | ||
| content: ( | ||
| <> | ||
| <DxcParagraph> | ||
| In Halstack, a theme is a <strong>structured set of properties</strong> that defines how your brand is | ||
| expressed across the design system. These properties allow you to adapt core visual decisions such as colors | ||
| and logos, while preserving the consistency, accessibility, and usability standards defined by Halstack. | ||
| </DxcParagraph> | ||
| <DxcParagraph> | ||
| To understand what a theme is, it is important to recognize that the definition of colors, sizes, shapes, and | ||
| visual foundations is an intrinsic part of any design system. These elements are carefully designed to ensure | ||
| accessibility, usability, and a consistent user experience. For this reason, changing them must be done in a | ||
| controlled and intentional way. | ||
| </DxcParagraph> | ||
| <DxcParagraph> | ||
| Themes provide this controlled flexibility. They allow teams to override specific foundational decisions of | ||
| the Halstack Design System in order to adapt product to different brand identities, while still benefiting | ||
| from the structure and scalability of the system. | ||
| </DxcParagraph> | ||
| </> | ||
| ), | ||
| }, | ||
| { | ||
| title: "Why themes matter?", | ||
| content: ( | ||
| <> | ||
| <DxcParagraph> | ||
| Color, branding, and visual identity{" "} | ||
| <strong>play a key role in how users perceive and interact with a product</strong>. A consistent and | ||
| accessible visual language helps guide user behavior, improves readability, and strengthens trust. | ||
| </DxcParagraph> | ||
| <DxcParagraph> | ||
| However, unmanaged customization can quickly lead to fragmentation, accessibility issues, and higher | ||
| maintenance costs. Themes help prevent this by offering a structured way to evolve brand identity without | ||
| breaking the foundations of the design system. They support scalability, maintain accessibility, and enable | ||
| consistency across products, teams, and client implementations. | ||
| </DxcParagraph> | ||
| <DxcParagraph> | ||
| Typically, teams build their applications using the default Halstack foundations. Themes are applied only when | ||
| there is a clear need to adapt the experience to a specific brand, such as in white-label or multi-brand | ||
| environments. In this way, theming remains intentional and aligned with product and business needs. | ||
| </DxcParagraph> | ||
| </> | ||
| ), | ||
| }, | ||
| { | ||
| title: "How Halstack manages theming", | ||
| content: ( | ||
| <> | ||
| <DxcParagraph> | ||
| Halstack approaches theming through <strong>design tokens</strong>. Instead of manually adjusting styles in | ||
| each component, you define a set of core and semantic values that are applied across the system. | ||
| </DxcParagraph> | ||
| <DxcParagraph>The main customizable aspects include:</DxcParagraph> | ||
| <DxcBulletedList> | ||
| <DxcBulletedList.Item> | ||
| <strong>Core brand colors</strong> such as primary, secondary, tertiary, and neutral | ||
| </DxcBulletedList.Item> | ||
| <DxcBulletedList.Item> | ||
| <strong>Semantic colors</strong> such as info, success, warning, and error | ||
| </DxcBulletedList.Item> | ||
| <DxcBulletedList.Item> | ||
| <strong>Brand assets</strong> such as logos and favicons | ||
| </DxcBulletedList.Item> | ||
| </DxcBulletedList> | ||
| <DxcParagraph> | ||
| This approach ensures that customization remains predictable, accessible, and easy to maintain over time. | ||
| </DxcParagraph> | ||
| </> | ||
| ), | ||
| }, | ||
| { | ||
| title: "Where to manage your themes", | ||
| content: ( | ||
| <DxcParagraph> | ||
| To create and manage themes in Halstack, you can use the Theme Generator tool. You can preview how your theme | ||
| behaves across real Halstack components, validate contrast and readability, and export a structured file ready | ||
| to be integrated into your project. | ||
| </DxcParagraph> | ||
| ), | ||
| }, | ||
| { | ||
| title: "Introducing Theme Generator", | ||
| content: ( | ||
| <> | ||
| <DxcParagraph> | ||
| <Link href="/theme-generator/" passHref legacyBehavior> | ||
| <DxcLink>Theme Generator</DxcLink> | ||
| </Link>{" "} | ||
| helps you create Halstack themes without manual token configuration. Instead of defining dozens of values, you | ||
| provide your core and semantic colors, and the tool generates a complete, ready-to-use token structure. | ||
| </DxcParagraph> | ||
| <DxcParagraph> | ||
| You can also preview how your theme behaves in real Halstack components and layouts, validate contrast and | ||
| readability, and export a structured file ready to be integrated into your development workflow. | ||
| </DxcParagraph> | ||
| <DxcParagraph> | ||
| This enables designers and developers to collaborate around a shared and repeatable process, ensuring | ||
| consistency across products and brands. | ||
| </DxcParagraph> | ||
| <DxcParagraph> | ||
| For more details about how the tool works, visit the{" "} | ||
| <Link href="/theme-generator/user-guide/" passHref legacyBehavior> | ||
| <DxcLink>Theme Generator user guide</DxcLink> | ||
| </Link> | ||
| . | ||
| </DxcParagraph> | ||
| </> | ||
| ), | ||
| }, | ||
| ]; | ||
|
|
||
| const ThemesPage = () => ( | ||
| <DxcFlex direction="column" gap="4rem"> | ||
| <PageHeading> | ||
| <DxcFlex direction="column" gap="var(--spacing-gap-xl)"> | ||
| <DxcHeading level={1} text="Themes" /> | ||
| </DxcFlex> | ||
| </PageHeading> | ||
| <DxcQuickNavContainer sections={sections} startHeadingLevel={2} /> | ||
| <DocFooter githubLink="https://github.com/dxc-technology/halstack-react/blob/master/apps/website/screens/guidelines/themes/ThemesPage.tsx" /> | ||
| </DxcFlex> | ||
raquelarrojo marked this conversation as resolved.
Show resolved
Hide resolved
|
||
| ); | ||
|
|
||
| export default ThemesPage; | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.