Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
92 commits
Select commit Hold shift + click to select a range
1788f26
Fix string default values in TableCode for better formatting in docum…
PelayoFelgueroso Dec 9, 2025
a0d0b20
Adding missing tags in documentation
Jialecl Dec 4, 2025
864def5
Fix appLayout Footer prop Description
PelayoFelgueroso Dec 10, 2025
c708908
Fix header prop description
PelayoFelgueroso Dec 10, 2025
c4b6872
Add default value to logo prop in footer component
PelayoFelgueroso Dec 10, 2025
2df1b48
Bump next from 15.5.7 to 15.5.9
dependabot[bot] Dec 12, 2025
d815faa
Fix footer logo documentation
PelayoFelgueroso Dec 16, 2025
5b1703f
Fix: set max-width to 100% for Input component in TextInput
PelayoFelgueroso Dec 11, 2025
c17734e
Improve migration documentation for version 16, related to using alia…
PelayoFelgueroso Dec 11, 2025
4ae6c1f
Correct url added to DocFooter
Jialecl Dec 23, 2025
82f9d7c
Improve migration documentation for version 16, related to using alia…
PelayoFelgueroso Dec 11, 2025
820f7a4
Add
PelayoFelgueroso Jan 7, 2026
9c4a80a
Fixed tokens list and doc
Mil4n0r Feb 2, 2026
62bf0ec
Added shadow to doc
Mil4n0r Feb 2, 2026
1f7ecd3
Fix issues in Tabs component
PelayoFelgueroso Feb 2, 2026
4da90aa
Inject Fonts to storybook
PelayoFelgueroso Apr 8, 2026
ffd2cc3
Add italic font
PelayoFelgueroso Apr 8, 2026
9607ed6
Fix italic font weight
PelayoFelgueroso Apr 8, 2026
c288d1a
Add italic fonts files
PelayoFelgueroso Apr 8, 2026
af64a81
remove link to google fonts on storybook
PelayoFelgueroso Apr 8, 2026
fc17c8a
Fix condition
PelayoFelgueroso Mar 25, 2026
809143f
Fix based on comments
PelayoFelgueroso Apr 7, 2026
5b2a0ee
Remove !!
PelayoFelgueroso Apr 7, 2026
3947b42
Fix Tab visibility issue
PelayoFelgueroso Mar 30, 2026
45d2a63
Fix based on comments
PelayoFelgueroso Apr 7, 2026
5f163d2
Add Phone Number Validation Guidelines page
PelayoFelgueroso Feb 10, 2026
74c9c84
Remove unnecesary changes
PelayoFelgueroso Feb 10, 2026
e6e0222
Add Phone Number Validation example and guidelines to TextInputOvervi…
PelayoFelgueroso Feb 10, 2026
360c8ee
Add references in NumberInput OverviewPage
PelayoFelgueroso Feb 16, 2026
f8d5c5a
Remove `"` from paragraph styles
PelayoFelgueroso Mar 10, 2026
3c38a26
Change data grid to stable
Jialecl Dec 23, 2025
5d35393
Fix vulnerabilities via npm audit fix
raquelarrojo Feb 24, 2026
a79515f
Fixing dependabot vulnerabilities
Mil4n0r Feb 26, 2026
d0ac4f6
Bump rollup from 4.53.3 to 4.59.0
dependabot[bot] Feb 26, 2026
29b6b19
Bump next from 15.5.9 to 16.1.5
dependabot[bot] Jan 28, 2026
36f114e
Added rule for using webpack over turbopack
Mil4n0r Mar 5, 2026
fa3dd1b
Added rule for using webpack over turbopack
Mil4n0r Mar 5, 2026
02fd7da
Resolving minor vulnerabilities found by dependabot
Mil4n0r Mar 5, 2026
2b47b65
Updated packages to solve vulnerabilities
Mil4n0r Mar 9, 2026
d9e1d6c
Fixed quicknav test for jsdom 30+
Mil4n0r Mar 9, 2026
be00f7d
Refactor dialog test because of inconsistency clicking non-focusable …
Mil4n0r Mar 10, 2026
e385312
Vulnerabilities fixed in scripts
Jialecl Mar 11, 2026
3efff89
Bump next from 16.1.6 to 16.1.7
dependabot[bot] Mar 17, 2026
89ae8bc
Bump undici from 6.23.0 to 6.24.1 in /scripts
dependabot[bot] Mar 18, 2026
12433c8
Fix fast-xml-parser vulnerability
PelayoFelgueroso Mar 18, 2026
8ba258a
fix(security): force mout@1.2.4 to resolve prototype pollution vulner…
PelayoFelgueroso Mar 18, 2026
ca447b9
Fix mout vulnerability
PelayoFelgueroso Mar 19, 2026
7680dbc
[patch] fast-xml-parser vulnerability fix
Jialecl Mar 20, 2026
f241e90
removed ^ from override
Jialecl Mar 20, 2026
bf96755
correct version of fast-xml-parser installed
Jialecl Mar 20, 2026
54e51d2
Bump picomatch from 2.3.1 to 2.3.2
dependabot[bot] Mar 25, 2026
cc58b9d
Bump yaml from 1.10.2 to 1.10.3
dependabot[bot] Mar 25, 2026
d766edd
Bump vite from 7.3.1 to 7.3.2
dependabot[bot] Apr 6, 2026
c369102
Change footer logos and logo container height
PelayoFelgueroso Feb 19, 2026
cceea7a
Change Overview page images
PelayoFelgueroso Feb 20, 2026
6887078
fix test
PelayoFelgueroso Feb 20, 2026
62c8b96
Change sidenav and header logo in the stories and fix sidenav logo size
PelayoFelgueroso Apr 10, 2026
783ad9d
Add fillParent prop to FileInput component
PelayoFelgueroso Feb 23, 2026
0d0a82a
Changes based on comments
PelayoFelgueroso Feb 23, 2026
983eb87
Fix based on comments
PelayoFelgueroso Feb 23, 2026
9b86f2c
audit fix
PelayoFelgueroso Apr 9, 2026
36fe610
Add width: 100%; to TextInput to avoid malfunctioning when the size i…
PelayoFelgueroso Feb 19, 2026
cce1a7f
-Change Footer width on ApplicationLayout to span the full width of t…
PelayoFelgueroso Jan 28, 2026
f4620b2
Fix based on comment
PelayoFelgueroso Jan 29, 2026
7c976f8
-Fix scroll issues in ApplicationLayout
PelayoFelgueroso Jan 30, 2026
9dda421
Fix based con comments
PelayoFelgueroso Jan 30, 2026
5e0cb2d
remove unnecesary row when there is no sidenav
PelayoFelgueroso Feb 27, 2026
100200e
Add responsive collapsed sidenav story
PelayoFelgueroso Feb 27, 2026
3127962
Remove unnecesary code for this story
PelayoFelgueroso Feb 27, 2026
3953164
-Autoclose submenus in sidenav when collapsed
PelayoFelgueroso Jan 28, 2026
85551a6
Fixing build errors caused by eslint config
Jialecl Dec 10, 2025
f6f1145
Fix Item types on Header and Sidenav Code Page
PelayoFelgueroso Apr 8, 2026
b9e4eb8
Fix based on comments
PelayoFelgueroso Apr 10, 2026
d2c5979
Indent renderItem prop
PelayoFelgueroso Apr 10, 2026
864fbab
Theme generator added to documentation
Jialecl Apr 10, 2026
fa7eba5
Merge branch 'release/16.0.2' of https://github.com/dxc-technology/ha…
Jialecl Apr 10, 2026
87753cb
workflow fixed to correctly create a next version
Jialecl Apr 10, 2026
f270a78
-Adapt the ChipPreview to the previous Chip.
PelayoFelgueroso Apr 10, 2026
5acf7bd
Merge branch 'release/16.0.2' of https://github.com/dxc-technology/ha…
PelayoFelgueroso Apr 10, 2026
91fbe7b
Re install package-lock
PelayoFelgueroso Apr 10, 2026
2afefc9
new package-lock
PelayoFelgueroso Apr 10, 2026
b18f6bf
title added to logo in test
Jialecl Apr 13, 2026
cd7deb3
Merge branch 'release/16.0.2' of https://github.com/dxc-technology/ha…
Jialecl Apr 13, 2026
2f10888
Revert Body changes and fix sidenav story
PelayoFelgueroso Apr 13, 2026
e1f83a6
Fix error in storybook-test
PelayoFelgueroso Apr 13, 2026
f30737d
[patch] Select all in group fixed
Jialecl Apr 13, 2026
2859409
Merge branch 'release/16.0.2' of https://github.com/dxc-technology/ha…
Jialecl Apr 13, 2026
66ab294
change dxc logo, remove unsed svg from /public. And add new favicon
PelayoFelgueroso Apr 13, 2026
d88ce4b
Add 48x48 favicon
PelayoFelgueroso Apr 13, 2026
5769d34
Add icon to navItems creation, to GroupItems
PelayoFelgueroso Apr 14, 2026
87f1251
remove breaking workflows
Jialecl Apr 14, 2026
6885b70
Theme generator landing page moved to the correct location
Jialecl Apr 14, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 7 additions & 22 deletions .github/workflows/publish-next.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,6 @@ jobs:
node-version: 22.x
registry-url: https://registry.npmjs.org/

- name: Configure AWS Credentials
uses: aws-actions/configure-aws-credentials@v1
with:
aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
aws-region: us-west-2
role-to-assume: ${{ secrets.AWS_ROLE_SANDBOX }}
role-duration-seconds: 3600
role-skip-session-tagging: true

- name: Install dependencies
run: npm install

Expand All @@ -45,15 +35,10 @@ jobs:
- name: Test library accessibility
run: npm run test:accessibility

# - name: Publish NEXT version to npm
# run: |
# sed -i "s#\"version\": \".*\"#\"version\": \"$(jq -r .version ./packages/lib/package.json)-${GITHUB_SHA:0:7}\"#" ./packages/lib/package.json
# cd packages/lib
# npm publish --tag next --access public
# env:
# NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}

# - name: Move NEXT website to S3
# run: |
# aws s3 rm s3://design-system-react-cdk-site/halstack/next/ --recursive
# aws s3 cp ./apps/website/out/ s3://design-system-react-cdk-site/halstack/next/ --recursive
- name: Publish NEXT version to npm
run: |
sed -i "s#\"version\": \".*\"#\"version\": \"$(jq -r .version ./packages/lib/package.json)-${GITHUB_SHA:0:7}\"#" ./packages/lib/package.json
cd packages/lib
npm publish --tag next --access public
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
26 changes: 0 additions & 26 deletions .github/workflows/publish-release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,16 +18,6 @@ jobs:
node-version: 22.x
registry-url: https://registry.npmjs.org/

# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# aws-region: us-west-2
# role-to-assume: ${{ secrets.AWS_ROLE_SANDBOX }}
# role-duration-seconds: 3600
# role-skip-session-tagging: true

- name: Install dependencies
run: npm install

Expand All @@ -48,19 +38,3 @@ jobs:
env:
NODE_AUTH_TOKEN: ${{ secrets.NODE_AUTH_TOKEN }}
TAG_NAME: ${{ github.event.release.tag_name }}

# - name: Install scripts dependencies
# run: cd scripts && npm install

# - name: Move RELEASE website to S3
# run: node scripts/release-website.js $TAG_NAME
# env:
# TAG_NAME: ${{ github.event.release.tag_name }}

# - name: Execute script version
# run: node scripts/create-version.js $TAG_NAME

# - name: Deploy version to S3 Bucket
# run: |
# aws s3 rm s3://design.system.components.catalog/guidelines/version --recursive
# aws s3 cp ./catalog/version/ s3://design.system.components.catalog/guidelines/version --recursive
15 changes: 0 additions & 15 deletions .github/workflows/publish-website.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,25 +21,10 @@ jobs:
node-version: 22.x
registry-url: https://registry.npmjs.org/

# - name: Configure AWS Credentials
# uses: aws-actions/configure-aws-credentials@v1
# with:
# aws-access-key-id: ${{ secrets.AWS_ACCESS_KEY_ID }}
# aws-secret-access-key: ${{ secrets.AWS_SECRET_ACCESS_KEY }}
# aws-region: us-west-2
# role-to-assume: ${{ secrets.AWS_ROLE_SANDBOX }}
# role-duration-seconds: 3600
# role-skip-session-tagging: true

- name: Install dependencies
run: npm install

- name: Build library and website
env:
NEXT_PUBLIC_SITE_VERSION: next
run: npm run build

# - name: Move website to S3
# run: |
# aws s3 rm s3://design-system-react-cdk-site/halstack/next/ --recursive
# aws s3 cp ./apps/website/out/ s3://design-system-react-cdk-site/halstack/next/ --recursive
37 changes: 0 additions & 37 deletions .github/workflows/push-catalog-s3.yml

This file was deleted.

26 changes: 21 additions & 5 deletions apps/website/eslint.config.mjs
Original file line number Diff line number Diff line change
@@ -1,9 +1,25 @@
import nextPlugin from "@next/eslint-plugin-next";
import nextConfig from "@dxc-technology/eslint-config/next.js";
import { fileURLToPath } from "url";
import { dirname } from "path";
import js from "@eslint/js";
import path from "node:path";
import { fileURLToPath } from "node:url";

const __filename = fileURLToPath(import.meta.url);
const __dirname = dirname(__filename);
const __dirname = path.dirname(__filename);

/** @type {import("eslint").Config[]} */
export default [{ ignores: ["out/**", ".next/**", "eslint.config.mjs"] }, ...nextConfig({ tsconfigRootDir: __dirname })];
export default [
js.configs.recommended,
{
plugins: { "@next/next": nextPlugin },
rules: {
...nextPlugin.configs.recommended.rules,
},
},
...nextConfig({
tsconfigRootDir: __dirname,
tsconfigName: "tsconfig.lint.json",
}),
{
ignores: ["out/**", ".next/**"],
},
];
20 changes: 20 additions & 0 deletions apps/website/hooks/useCopyToClipboard.tsx
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
import { useToast } from "@dxc-technology/halstack-react";

const useCopyToClipboard = () => {
const toast = useToast();

const handleCopy = (text: string) => {
navigator.clipboard
.writeText(text)
.then(() => {
toast.success({ message: "Code copied to the clipboard." });
})
.catch(() => {
toast.warning({ message: "Failed to copy the text to the clipboard." });
});
};

return handleCopy;
};

export default useCopyToClipboard;
2 changes: 1 addition & 1 deletion apps/website/next-env.d.ts
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
/// <reference types="next" />
/// <reference types="next/image-types/global" />
/// <reference path="./.next/types/routes.d.ts" />
import "./.next/dev/types/routes.d.ts";

// NOTE: This file should not be edited
// see https://nextjs.org/docs/pages/api-reference/config/typescript for more information.
10 changes: 6 additions & 4 deletions apps/website/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,12 +2,13 @@
"name": "website",
"private": true,
"scripts": {
"dev": "next dev",
"build": "next build",
"dev": "next dev --webpack",
"build": "next build --webpack",
"start": "next start",
"lint": "eslint . --max-warnings 0"
},
"dependencies": {
"@adobe/leonardo-contrast-colors": "^1.0.0",
"@cloudscape-design/components": "^3.0.706",
"@dxc-technology/halstack-react": "*",
"@emotion/cache": "^11.14.0",
Expand All @@ -16,7 +17,7 @@
"@emotion/styled": "^11.14.1",
"@radix-ui/react-popover": "^1.0.7",
"cross-env": "^7.0.3",
"next": "^15.5.7",
"next": "^16.1.7",
"raw-loader": "^4.0.2",
"react": "^18",
"react-color": "^2.19.3",
Expand All @@ -29,12 +30,13 @@
},
"devDependencies": {
"@dxc-technology/typescript-config": "*",
"@eslint/js": "^9.31.1",
"@types/node": "^20",
"@types/react": "^18",
"@types/react-color": "^3.0.6",
"@types/react-dom": "^18",
"eslint": "^9.39.1",
"eslint-config-next": "16.0.5",
"eslint-config-next": "16.0.8",
"typescript": "^5.6.3"
}
}
72 changes: 48 additions & 24 deletions apps/website/pages/_app.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ import { ReactElement, ReactNode, useMemo, useState } from "react";
import type { NextPage } from "next";
import type { AppProps } from "next/app";
import Head from "next/head";
import { DxcApplicationLayout, DxcTextInput, DxcToastsQueue } from "@dxc-technology/halstack-react";
import { DxcApplicationLayout, DxcInset, DxcLink, DxcTextInput, DxcToastsQueue } from "@dxc-technology/halstack-react";
import MainContent from "@/common/MainContent";
import { useRouter } from "next/router";
import { LinkDetails, LinksSectionDetails, LinksSections } from "@/common/pagesList";
Expand Down Expand Up @@ -32,6 +32,7 @@ export default function App({ Component, pageProps, emotionCache = clientSideEmo
const [filter, setFilter] = useState("");
const [isExpanded, setIsExpanded] = useState(true);
const { asPath: currentPath } = useRouter();
const isThemeGenerator = currentPath.includes("/theme-generator");

const matchPaths = (linkPath: string) => {
const desiredPaths = [linkPath, `${linkPath}/code`];
Expand All @@ -42,6 +43,7 @@ export default function App({ Component, pageProps, emotionCache = clientSideEmo
const createNavItem = (link: LinkDetails): Item => ({
label: link.label,
href: link.path,
icon: link.icon,
selected: matchPaths(link.path),
badge: link.status && link.status !== "stable" ? <StatusBadge hasTitle status={link.status} /> : undefined,
renderItem: ({ children }: { children: ReactNode }) => (
Expand All @@ -56,6 +58,7 @@ export default function App({ Component, pageProps, emotionCache = clientSideEmo
if ("links" in link) {
return {
label: link.label,
icon: link.icon,
items: normalizeNavTabs(link.links),
} as GroupItem;
}
Expand Down Expand Up @@ -103,34 +106,55 @@ export default function App({ Component, pageProps, emotionCache = clientSideEmo
</Head>
<DxcApplicationLayout
logo={{ src: dxcLogo, alt: "DXC Technology" }}
header={<DxcApplicationLayout.Header />}
header={
isThemeGenerator ? (
<DxcApplicationLayout.Header
appTitle="Theme Generator"
sideContent={
!currentPath.includes("/theme-generator/user-guide") && (
<DxcInset horizontal="var(--spacing-padding-xs)">
<Link href="/theme-generator/user-guide" legacyBehavior passHref>
<DxcLink newWindow icon="description">
User guide
</DxcLink>
</Link>
</DxcInset>
)
}
/>
) : (
<DxcApplicationLayout.Header />
)
}
sidenav={
<DxcApplicationLayout.Sidenav
navItems={navItems}
appTitle={isExpanded && <SidenavLogo />}
topContent={
isExpanded && (
<DxcTextInput
placeholder="Search docs"
value={filter}
onChange={({ value }) => {
setFilter(value);
}}
size="fillParent"
clearable
/>
)
}
expanded={isExpanded}
onExpandedChange={() => {
setIsExpanded((currentlyExpanded) => !currentlyExpanded);
}}
/>
!isThemeGenerator && (
<DxcApplicationLayout.Sidenav
navItems={navItems}
appTitle={isExpanded && <SidenavLogo />}
topContent={
isExpanded && (
<DxcTextInput
placeholder="Search docs"
value={filter}
onChange={({ value }) => {
setFilter(value);
}}
size="fillParent"
clearable
/>
)
}
expanded={isExpanded}
onExpandedChange={() => {
setIsExpanded((currentlyExpanded) => !currentlyExpanded);
}}
/>
)
}
>
<DxcApplicationLayout.Main>
<DxcToastsQueue duration={7000}>
<MainContent>{componentWithLayout}</MainContent>
{!isThemeGenerator ? <MainContent>{componentWithLayout}</MainContent> : <>{componentWithLayout}</>}
</DxcToastsQueue>
</DxcApplicationLayout.Main>
</DxcApplicationLayout>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Head from "next/head";
import DataVisualizationPage from "screens/principles/data-visualization/DataVisualizationPage";
import DataVisualizationPage from "screens/guidelines/data-visualization/DataVisualizationPage";

const DataVisualization = () => (
<>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Head from "next/head";
import LocalizationPage from "screens/principles/localization/LocalizationPage";
import LocalizationPage from "screens/guidelines/localization/LocalizationPage";

const Localization = () => (
<>
Expand Down
13 changes: 13 additions & 0 deletions apps/website/pages/guidelines/themes.tsx
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;
2 changes: 1 addition & 1 deletion apps/website/pages/migration/16/component-updates.tsx
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
import Head from "next/head";
import Components16MigrationPage from "screens/migration/Components16MigrationPage";
import Components16MigrationPage from "screens/migration/components/Components16MigrationPage";

const Components16Migration = () => (
<>
Expand Down
Loading
Loading