Skip to content

Commit dfb29de

Browse files
authored
Merge branch 'main' into Pageheader_tags
2 parents 8825571 + b8c7071 commit dfb29de

File tree

302 files changed

+4188
-2066
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

302 files changed

+4188
-2066
lines changed

.all-contributorsrc

Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1850,13 +1850,50 @@
18501850
]
18511851
},
18521852
{
1853+
18531854
"login": "murito",
18541855
"name": "Francisco Alcalá",
18551856
"avatar_url": "https://avatars.githubusercontent.com/u/2628140?v=4",
18561857
"profile": "https://github.com/murito",
18571858
"contributions": [
18581859
"code"
18591860
]
1861+
},
1862+
{
1863+
"login": "dkaushik95",
1864+
"name": "Dishant Kaushik",
1865+
"avatar_url": "https://avatars.githubusercontent.com/u/8481567?v=4",
1866+
"profile": "https://github.com/dkaushik95",
1867+
"contributions": [
1868+
"code"
1869+
]
1870+
},
1871+
{
1872+
"login": "Code-Suji",
1873+
"name": "SUJITH C S",
1874+
"avatar_url": "https://avatars.githubusercontent.com/u/43125517?v=4",
1875+
"profile": "https://www.linkedin.com/in/sujithcs",
1876+
"contributions": [
1877+
"code"
1878+
]
1879+
},
1880+
{
1881+
"login": "mariyageorge01",
1882+
"name": "Mariya George",
1883+
"avatar_url": "https://avatars.githubusercontent.com/u/166684108?v=4",
1884+
"profile": "https://github.com/mariyageorge01",
1885+
"contributions": [
1886+
"code"
1887+
]
1888+
},
1889+
{
1890+
"login": "sojinantony01",
1891+
"name": "Sojin antony",
1892+
"avatar_url": "https://avatars.githubusercontent.com/u/29255847?v=4",
1893+
"profile": "https://github.com/sojinantony01",
1894+
"contributions": [
1895+
"code"
1896+
]
18601897
}
18611898
],
18621899
"commitConvention": "none"

.github/PULL_REQUEST_TEMPLATE.md

Lines changed: 17 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,26 +2,37 @@ Closes #
22

33
{{short description}}
44

5-
#### Changelog
5+
### Changelog
66

77
**New**
88

99
- {{new thing}}
1010

1111
**Changed**
1212

13-
- {{change thing}}
13+
- {{changed thing}}
1414

1515
**Removed**
1616

1717
- {{removed thing}}
1818

1919
#### Testing / Reviewing
2020

21-
{{ Add descriptions, steps or a checklist for how reviewers can verify this PR works or not }}
21+
{{ Add steps or a checklist for how reviewers can verify this PR works or not }}
2222

23-
<!--
24-
❗ Make sure you've included everything from the PR guide:
23+
## PR Checklist
2524

26-
https://github.com/carbon-design-system/carbon/blob/main/docs/guides/reviewing-pull-requests.md
25+
<!--
26+
Do not remove checklist items. If some do not apply, ~strike out the text with tilde's~
2727
-->
28+
29+
As the author of this PR, before marking ready for review, confirm you:
30+
31+
- [ ] Reviewed every line of the diff
32+
- [ ] Updated documentation and storybook examples
33+
- [ ] Wrote passing tests that cover this change
34+
- [ ] Addressed any impact on accessibility (a11y)
35+
- [ ] Tested for cross-browser consistency
36+
- [ ] Validated that this code is ready for review and status checks should pass
37+
38+
More details can be found in the [pull request guide](https://github.com/carbon-design-system/carbon/blob/main/docs/guides/reviewing-pull-requests.md)

.github/workflows/codeql-analysis.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,12 +24,12 @@ jobs:
2424

2525
# Initializes the CodeQL tools for scanning.
2626
- name: Initialize CodeQL
27-
uses: github/codeql-action/init@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
27+
uses: github/codeql-action/init@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17
2828
with:
2929
languages: javascript-typescript
3030
config: |
3131
paths-ignore:
3232
- 'packages/cli/src/component/templates/**'
3333
3434
- name: Perform CodeQL Analysis
35-
uses: github/codeql-action/analyze@28deaeda66b76a05916b6923827895f2b14ab387 # v3.28.16
35+
uses: github/codeql-action/analyze@60168efe1c415ce0f5521ea06d5c2062adbeed1b # v3.28.17

.github/workflows/metrics-merge-rate.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
echo "- **Merge Rate**: $MERGE_RATE%" >> $GITHUB_STEP_SUMMARY
4747
4848
- name: Send message to Slack
49-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
49+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
5050
with:
5151
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
5252
webhook-type: incoming-webhook

.github/workflows/slack-announcement.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ jobs:
3737
steps:
3838
- name: Send slack announcement
3939
id: slack
40-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
40+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
4141
with:
4242
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
4343
webhook-type: incoming-webhook

.github/workflows/slack-build-notifications.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ jobs:
2424
steps:
2525
- name: Send custom JSON data to Slack
2626
id: slack-success
27-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
27+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
2828
with:
2929
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
3030
webhook-type: incoming-webhook
@@ -41,7 +41,7 @@ jobs:
4141
steps:
4242
- name: Send custom JSON data to Slack
4343
id: slack-failure
44-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
44+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
4545
with:
4646
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
4747
webhook-type: incoming-webhook

.github/workflows/slack-office-hours-design.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
steps:
1414
- name: Send custom JSON data to Slack workflow
1515
id: slack
16-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
16+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
1717
with:
1818
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
1919
webhook-type: incoming-webhook

.github/workflows/slack-office-hours-dev.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ jobs:
1212
steps:
1313
- name: Send custom JSON data to Slack workflow
1414
id: slack
15-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
15+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
1616
with:
1717
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
1818
webhook-type: incoming-webhook
@@ -104,7 +104,7 @@ jobs:
104104
steps:
105105
- name: Send custom JSON data to Slack workflow
106106
id: slack
107-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
107+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
108108
with:
109109
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
110110
webhook-type: incoming-webhook
@@ -196,7 +196,7 @@ jobs:
196196
steps:
197197
- name: Send custom JSON data to Slack workflow
198198
id: slack
199-
uses: slackapi/slack-github-action@485a9d42d3a73031f12ec201c457e2162c45d02d # v2.0.0
199+
uses: slackapi/slack-github-action@b0fa283ad8fea605de13dc3f449259339835fc52 # v2.1.0
200200
with:
201201
webhook: ${{ secrets.SLACK_WEBHOOK_URL }}
202202
webhook-type: incoming-webhook

.prettierignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -64,5 +64,6 @@ packages/upgrade/**/*.output.tsx
6464
# Accessibility Verification Testing
6565
**/.avt/**
6666

67-
# CODEOWNERS
67+
# .github files
6868
CODEOWNERS
69+
PULL_REQUEST_TEMPLATE.md

.whitesource

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"settingsInheritedFrom": "ibm-mend-config/mend-config",
33
"issueSettings": {
4-
"minSeverityLevel": "NONE"
4+
"issueRepoName": "mend-issues"
55
}
66
}
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.

README.md

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -336,7 +336,16 @@ check out our [Contributing Guide](/.github/CONTRIBUTING.md) and our
336336
<td align="center"><a href="https://github.com/maisonsmd"><img src="https://avatars.githubusercontent.com/u/16435155?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Son H. Mai (Mason)</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=maisonsmd" title="Code">💻</a></td>
337337
<td align="center"><a href="https://github.com/warrenmblood"><img src="https://avatars.githubusercontent.com/u/69060697?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Warren Blood</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=warrenmblood" title="Code">💻</a></td>
338338
<td align="center"><a href="https://github.com/vcherneny"><img src="https://avatars.githubusercontent.com/u/11604315?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Vlad Cherneny</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=vcherneny" title="Code">💻</a></td>
339+
<td align="center"><a href="https://github.com/dkaushik95"><img src="https://avatars.githubusercontent.com/u/8481567?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Dishant Kaushik</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=dkaushik95" title="Code">💻</a></td>
340+
<td align="center"><a href="https://github.com/jose-biescas"><img src="https://avatars.githubusercontent.com/u/188625806?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Jose Biescas</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=jose-biescas" title="Code">💻</a></td>
341+
</tr>
342+
<tr>
339343
<td align="center"><a href="https://github.com/murito"><img src="https://avatars.githubusercontent.com/u/2628140?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Francisco Alcalá</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=murito" title="Code">💻</a></td>
344+
<td align="center"><a href="https://www.linkedin.com/in/sujithcs"><img src="https://avatars.githubusercontent.com/u/43125517?v=4?s=100" width="100px;" alt=""/><br /><sub><b>SUJITH C S</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=Code-Suji" title="Code">💻</a></td>
345+
</tr>
346+
<tr>
347+
<td align="center"><a href="https://github.com/mariyageorge01"><img src="https://avatars.githubusercontent.com/u/166684108?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Mariya George</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=mariyageorge01" title="Code">💻</a></td>
348+
<td align="center"><a href="https://github.com/sojinantony01"><img src="https://avatars.githubusercontent.com/u/29255847?v=4?s=100" width="100px;" alt=""/><br /><sub><b>Sojin antony</b></sub></a><br /><a href="https://github.com/carbon-design-system/carbon/commits?author=sojinantony01" title="Code">💻</a></td>
340349
</tr>
341350
</table>
342351

config/eslint-config-carbon/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"name": "eslint-config-carbon",
33
"description": "ESLint configuration for Carbon",
4-
"version": "3.21.0",
4+
"version": "3.22.0",
55
"license": "Apache-2.0",
66
"main": "index.js",
77
"repository": {

config/jest-config-carbon/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "jest-config-carbon",
33
"private": true,
44
"description": "Jest configuration and preset for Carbon",
5-
"version": "1.21.0",
5+
"version": "1.22.0",
66
"license": "Apache-2.0",
77
"main": "index.js",
88
"repository": {

docs/experimental-code.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -101,8 +101,8 @@ All breaking changes will be shipped as `enable-v12-*` flags within the current
101101
major release (v11). This enables projects to opt-in to breaking changes earlier
102102
and at their own pace avoiding one huge changeset when upgrading to the next
103103
major release. In theory, if all `enable-v12-*` flags are enabled within your
104-
project before the v12 release, no changes should need to be made when updating
105-
to v12.
104+
project before the v12 release, no changes should need to be made to the
105+
affected components when updating to v12.
106106

107107
For a flag to be committed to a release and renamed to `enable-v#-*` it must:
108108

docs/guides/reviewing-pull-requests.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,11 @@
186186
- Ensure that the `#{$prefix}` is applied.
187187
- Verify that dependent style modules are imported correctly (e.g., Tooltip
188188
styles depending on Popover styles).
189+
- **Browser testing:**
190+
- Perform cross-browser test by looking at the changes in major browsers
191+
(chrome, firefox, edge, safari, opera)
192+
- Use the storybook viewport width toolbar option to ensure the changes work
193+
as expected at every major breakpoint
189194

190195
### Workflow/CI Changes
191196

docs/release-schedule.md

Lines changed: 20 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,32 @@ major versions of the Carbon Design System.
88
| `main` | unstable | unstable | unstable | unstable | unstable |
99
| v9 | End of life | 2018-06-04 | 2018-06-04 | 2019-03-29 | 2022-03-31 |
1010
| v10 | End of life | 2019-03-29 | 2019-03-29 | 2022-03-31 | 2024-09-30 |
11-
| v11 | Active | 2021-08-06 | 2022-03-31 | 2026-03-31 | 2028-03-31 |
12-
| v12 | Unreleased | 2025-08-01 | 2026-03-31 | 2028-03-31 | 2029-03-31 |
11+
| v11 | Active | 2021-08-06 | 2022-03-31 | TBD | TBD |
12+
| v12 | Preview | 2023-05-25 | TBD | TBD | TBD |
1313

1414
> Dates are subject to change
1515
16-
![schedule](https://github.com/carbon-design-system/carbon/assets/3360588/b8014b83-a743-4ace-83a3-ff1c96eef194)
16+
![schedule](https://github.com/user-attachments/assets/bc5ccd5a-8781-4ba5-9024-2aaaf0a53121)
1717

1818
## Release phases
1919

20+
### Preview
21+
22+
The preview phase allows consumers to incrementally opt in to changes that will
23+
be present in the next major, but through the current active release. This phase
24+
begins when the first feature flag is "committed" to be on-by-default in a
25+
future major version.
26+
27+
Once committed, flag names contain the version they've been committed to with
28+
the prefix `enable-v#-*`. At this point the API or functionality behind this
29+
flag is now fixed and won't change. We intend to ship this flag as "on by
30+
default" in the major version indicated in the name. e.g.
31+
`enable-v12-tile-default-icons`
32+
33+
In theory, if all `enable-v12-*` flags are enabled within your project before
34+
the v12 release, no changes should need to be made to the affected components
35+
when updating to v12.
36+
2037
### Prerelease
2138

2239
The prerelease phase is intended to be the opportunity for early adopters,

e2e/components/ContentSwitcher/ContentSwitcher-test.avt.e2e.js

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -72,4 +72,32 @@ test.describe('@avt ContentSwitcher', () => {
7272
await page.keyboard.press('ArrowRight');
7373
await expect(thirdIconTab).toBeVisible();
7474
});
75+
76+
test('@avt-low-contrast ContentSwitcher', async ({ page }) => {
77+
await visitStory(page, {
78+
component: 'ContentSwitcher',
79+
id: 'components-contentswitcher--low-contrast',
80+
globals: {
81+
theme: 'white',
82+
},
83+
args: {
84+
lowContrast: true,
85+
},
86+
});
87+
await expect(page).toHaveNoACViolations('ContentSwitcher (low contrast)');
88+
});
89+
90+
test('@avt-low-contrast ContentSwitcher icon only', async ({ page }) => {
91+
await visitStory(page, {
92+
component: 'ContentSwitcher',
93+
id: 'components-contentswitcher--low-contrast-icon-only',
94+
globals: {
95+
theme: 'white',
96+
},
97+
args: {
98+
lowContrast: true,
99+
},
100+
});
101+
await expect(page).toHaveNoACViolations('ContentSwitcher (low contrast)');
102+
});
75103
});

e2e/components/Modal/Modal-test.avt.e2e.js

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,6 @@ test.describe('@avt Modal', () => {
3434
const button = page.getByRole('button', { name: 'Launch modal' });
3535

3636
// Open the modal via keyboard navigation
37-
await expect(button).toBeFocused();
3837
button.press('Enter');
3938

4039
// The first interactive item in the modal should be focused once the modal is open

e2e/components/Tabs/Tabs-test.avt.e2e.js

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -235,4 +235,35 @@ test.describe('@avt Tabs', () => {
235235
await page.keyboard.press('Delete');
236236
await expect(page.getByRole('tab', { name: 'Tab label 4' })).toBeHidden();
237237
});
238+
239+
test('@avt-keyboard-nav - horizontal manual scroll', async ({ page }) => {
240+
await visitStory(page, {
241+
component: 'Tabs',
242+
id: 'components-tabs--default',
243+
globals: {
244+
theme: 'white',
245+
},
246+
});
247+
248+
// Set viewport size so scroll buttons appear
249+
await page.setViewportSize({
250+
width: 200,
251+
height: 480,
252+
});
253+
await page.waitForSelector('.cds--tab--overflow-nav-button--next', {
254+
state: 'visible',
255+
});
256+
257+
// Right scroll button should disappear after manually scrolling horizontally to end of tabs
258+
const tabList = page.locator('.cds--tab--list');
259+
const lastElement = page.getByText('Settings').nth(1);
260+
const nextButton = page.getByLabel('Scroll right');
261+
await tabList.hover();
262+
await lastElement.scrollIntoViewIfNeeded();
263+
await page.waitForSelector('.cds--tab--overflow-nav-button--next', {
264+
state: 'hidden',
265+
timeout: 1000,
266+
});
267+
await expect(nextButton).toBeHidden();
268+
});
238269
});

examples/class-prefix/package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,21 @@
11
{
22
"name": "class-prefix",
33
"private": true,
4-
"version": "0.78.0",
4+
"version": "0.80.0-rc.0",
55
"type": "module",
66
"scripts": {
77
"dev": "vite",
88
"build": "vite build",
99
"preview": "vite preview"
1010
},
1111
"dependencies": {
12-
"@carbon/react": "^1.81.0",
12+
"@carbon/react": "^1.83.0-rc.0",
1313
"react": "^19.0.0",
1414
"react-dom": "^19.0.0"
1515
},
1616
"devDependencies": {
1717
"@vitejs/plugin-react": "4.0.0",
1818
"sass": "^1.77.7",
19-
"vite": "^6.2.3"
19+
"vite": "^6.3.5"
2020
}
2121
}

0 commit comments

Comments
 (0)