diff --git a/.all-contributorsrc b/.all-contributorsrc
index 7d58177cff28..f4a82e66915b 100644
--- a/.all-contributorsrc
+++ b/.all-contributorsrc
@@ -1406,6 +1406,25 @@
"contributions": [
"code"
]
+ },
+ {
+ "login": "jt-helsinki",
+ "name": "J Thomas",
+ "avatar_url": "https://avatars.githubusercontent.com/u/20871336?v=4",
+ "profile": "https://jt-helsinki.github.io/blog/",
+ "contributions": [
+ "code"
+ ]
+ },
+ {
+ "login": "ggdawson",
+ "name": "Garrett Dawson",
+ "avatar_url": "https://avatars.githubusercontent.com/u/37080130?v=4",
+ "profile": "https://github.com/ggdawson",
+ "contributions": [
+ "code",
+ "doc"
+ ]
}
],
"commitConvention": "none"
diff --git a/.github/workflows/add-review-labels.yml b/.github/workflows/add-review-labels.yml
index cea99864d3de..99db0c8b26a2 100644
--- a/.github/workflows/add-review-labels.yml
+++ b/.github/workflows/add-review-labels.yml
@@ -4,7 +4,7 @@ jobs:
reviewer:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@main
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- uses: ./actions/add-review-labels
with:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
diff --git a/.github/workflows/add-to-project.yml b/.github/workflows/add-to-project.yml
index 15d54568eb4a..00ac83662212 100644
--- a/.github/workflows/add-to-project.yml
+++ b/.github/workflows/add-to-project.yml
@@ -19,7 +19,7 @@ jobs:
name: Add issue with enhancement label to the Proposals project
runs-on: ubuntu-latest
steps:
- - uses: actions/add-to-project@v0.5.0
+ - uses: actions/add-to-project@31b3f3ccdc584546fc445612dec3f38ff5edb41c #v0.5.0
with:
labeled: ${{ env.LABEL_ENHANCEMENT }}
project-url: ${{ env.PROPOSALS_PROJECT_URL }}
@@ -29,7 +29,7 @@ jobs:
name: Add issue with typescript label to the TypeScript Adoption project
runs-on: ubuntu-latest
steps:
- - uses: actions/add-to-project@v0.5.0
+ - uses: actions/add-to-project@31b3f3ccdc584546fc445612dec3f38ff5edb41c #v0.5.0
with:
labeled: ${{ env.LABEL_TYPESCRIPT }}
project-url: ${{ env.TYPESCRIPT_PROJECT_URL }}
@@ -39,7 +39,7 @@ jobs:
name: Add issue to the Design System project
runs-on: ubuntu-latest
steps:
- - uses: actions/add-to-project@v0.5.0
+ - uses: actions/add-to-project@31b3f3ccdc584546fc445612dec3f38ff5edb41c #v0.5.0
with:
labeled: ${{ env.LABEL_ENHANCEMENT }}, ${{ env.LABEL_TYPESCRIPT }}
label-operator: NOT
diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index e4f4d440cc70..8a17318f04e5 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -19,7 +19,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Run yarn dedupe
@@ -30,7 +30,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
@@ -43,7 +43,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
@@ -58,7 +58,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 #v4.0.0
@@ -85,7 +85,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 #v4.0.0
@@ -98,7 +98,7 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install --immutable --immutable-cache
- - uses: dorny/paths-filter@v2.11.1
+ - uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd #v3.0.0
id: filter
with:
filters: |
@@ -125,7 +125,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 #v4.0.0
@@ -188,7 +188,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 #v4.0.0
diff --git a/.github/workflows/cleanup-caches.yml b/.github/workflows/cleanup-caches.yml
deleted file mode 100644
index f447af3c850e..000000000000
--- a/.github/workflows/cleanup-caches.yml
+++ /dev/null
@@ -1,30 +0,0 @@
-# https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries
-name: Cleanup caches by a branch
-on:
- pull_request:
- types:
- - closed
-
-jobs:
- cleanup:
- runs-on: ubuntu-latest
- steps:
- - name: Cleanup
- run: |
- gh extension install actions/gh-actions-cache
-
- echo "Fetching list of cache key"
- cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH -L 100 | cut -f 1 )
-
- ## Setting this to not fail the workflow while deleting cache keys.
- set +e
- echo "Deleting caches..."
- for cacheKey in $cacheKeysForPR
- do
- gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
- done
- echo "Done"
- env:
- GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- REPO: ${{ github.repository }}
- BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge
diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml
index a10dca8b3847..de2e3b85b0b2 100644
--- a/.github/workflows/codeql-analysis.yml
+++ b/.github/workflows/codeql-analysis.yml
@@ -24,9 +24,9 @@ jobs:
# Initializes the CodeQL tools for scanning.
- name: Initialize CodeQL
- uses: github/codeql-action/init@v3
+ uses: github/codeql-action/init@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 #v3.24.0
with:
languages: javascript
- name: Perform CodeQL Analysis
- uses: github/codeql-action/analyze@v3
+ uses: github/codeql-action/analyze@e8893c57a1f3a2b659b6b55564fdfdbbd2982911 #v3.24.0
diff --git a/.github/workflows/deploy-packages.yml b/.github/workflows/deploy-packages.yml
index 95ac17907542..785930000e5f 100644
--- a/.github/workflows/deploy-packages.yml
+++ b/.github/workflows/deploy-packages.yml
@@ -21,7 +21,7 @@ jobs:
repository: carbon-design-system/design-language-website
ref: master
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
@@ -39,7 +39,7 @@ jobs:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Create Pull Request
- uses: peter-evans/create-pull-request@v5
+ uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 #v5.0.2
with:
branch: 'release/update-carbon-deps'
commit-message: 'chore(release): update carbon deps'
@@ -63,7 +63,7 @@ jobs:
repository: carbon-design-system/gatsby-theme-carbon
ref: main
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
@@ -82,7 +82,7 @@ jobs:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Create Pull Request
- uses: peter-evans/create-pull-request@v5
+ uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 #v5.0.2
with:
branch: 'release/update-carbon-deps'
commit-message: 'chore(release): update carbon deps'
diff --git a/.github/workflows/deploy-react-storybook.yml b/.github/workflows/deploy-react-storybook.yml
index 4cafa608a4a7..d04a0b891d6f 100644
--- a/.github/workflows/deploy-react-storybook.yml
+++ b/.github/workflows/deploy-react-storybook.yml
@@ -28,9 +28,9 @@ jobs:
build:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@main
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
@@ -42,14 +42,14 @@ jobs:
cd packages/react
yarn storybook:build
- name: Setup Pages
- uses: actions/configure-pages@v4
+ uses: actions/configure-pages@1f0c5cde4bc74cd7e1254d0cb4de8d49e9068c7d #v4.0.0
- name: Fix permissions
run: |
chmod -v -R +rX "_site/" | while read line; do
echo "::warning title=Invalid file permissions automatically fixed::$line"
done
- name: Upload artifact
- uses: actions/upload-pages-artifact@v3
+ uses: actions/upload-pages-artifact@56afc609e74202658d3ffba0e8f6dda462b719fa #v3.0.1
with:
path: 'packages/react/storybook-static'
@@ -63,4 +63,4 @@ jobs:
steps:
- name: Deploy to GitHub Pages
id: deployment
- uses: actions/deploy-pages@v4
+ uses: actions/deploy-pages@decdde0ac072f6dcbe43649d82d9c635fff5b4e4 #v4.0.4
diff --git a/.github/workflows/github-repo-stats.yml b/.github/workflows/github-repo-stats.yml
index 0748f631884e..6d61a7261445 100644
--- a/.github/workflows/github-repo-stats.yml
+++ b/.github/workflows/github-repo-stats.yml
@@ -14,6 +14,6 @@ jobs:
steps:
- name: run-ghrs
# Use latest release.
- uses: jgehrcke/github-repo-stats@RELEASE
+ uses: jgehrcke/github-repo-stats@306db38ad131cab2aa5f2cd3062bf6f8aa78c1aa #1.4.2
with:
ghtoken: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
diff --git a/.github/workflows/issue-triage-strategic-adopter.yml b/.github/workflows/issue-triage-strategic-adopter.yml
index 6e5144a4d291..6938c3720b0d 100644
--- a/.github/workflows/issue-triage-strategic-adopter.yml
+++ b/.github/workflows/issue-triage-strategic-adopter.yml
@@ -10,8 +10,8 @@ jobs:
if: |
!github.event.issue.pull_request
steps:
- - uses: actions/checkout@main
- - uses: actions-ecosystem/action-regex-match@v2
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
+ - uses: actions-ecosystem/action-regex-match@9e6c4fb3d5e898f505be7a1fb6e7b0a278f6665b #v2.0.2
id: regex-match
with:
text: ${{ github.event.issue.body }}
@@ -27,7 +27,7 @@ jobs:
Cloud|Sterling Data Exchange SaaS|TRIRIGA|Sterling Order and
Inventory Management|Supply Chain Intelligence Suite\b'
flags: g
- - uses: actions/github-script@v7
+ - uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7.0.1
if: ${{ steps.regex-match.outputs.match != '' }}
with:
script: |
diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml
index ecc74521fd8e..96beb8256489 100644
--- a/.github/workflows/issue-triage.yml
+++ b/.github/workflows/issue-triage.yml
@@ -15,7 +15,7 @@ jobs:
comment:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@main
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Generate token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0
id: generate_token
diff --git a/.github/workflows/nightly-release.yml b/.github/workflows/nightly-release.yml
index 41bc896f1d6e..2816a90fe7ae 100644
--- a/.github/workflows/nightly-release.yml
+++ b/.github/workflows/nightly-release.yml
@@ -13,9 +13,9 @@ jobs:
id-token: write
contents: write
steps:
- - uses: actions/checkout@main
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
diff --git a/.github/workflows/promote.yml b/.github/workflows/promote.yml
index 9f8e5981daa3..278c541263f0 100644
--- a/.github/workflows/promote.yml
+++ b/.github/workflows/promote.yml
@@ -18,7 +18,7 @@ jobs:
packages:
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@main
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- uses: ./actions/promote
with:
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
diff --git a/.github/workflows/pull-request-closed.yml b/.github/workflows/pull-request-closed.yml
new file mode 100644
index 000000000000..93745ed50b4a
--- /dev/null
+++ b/.github/workflows/pull-request-closed.yml
@@ -0,0 +1,50 @@
+# https://docs.github.com/en/actions/using-workflows/caching-dependencies-to-speed-up-workflows#force-deleting-cache-entries
+name: Pull resquest closed
+on:
+ pull_request:
+ types:
+ - closed
+
+jobs:
+ cleanup:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Cleanup up branch cache
+ run: |
+ gh extension install actions/gh-actions-cache
+
+ echo "Fetching list of cache keys"
+ cacheKeysForPR=$(gh actions-cache list -R $REPO -B $BRANCH -L 100 | cut -f 1 )
+
+ ## Setting this to not fail the workflow while deleting cache keys.
+ set +e
+ echo "Deleting caches..."
+ for cacheKey in $cacheKeysForPR
+ do
+ gh actions-cache delete $cacheKey -R $REPO -B $BRANCH --confirm
+ done
+ echo "Done"
+ env:
+ GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
+ REPO: ${{ github.repository }}
+ BRANCH: refs/pull/${{ github.event.pull_request.number }}/merge
+ if_merged:
+ if: github.event.pull_request.merged == true
+ runs-on: ubuntu-latest
+ steps:
+ - name: Comment the schedule release
+ id: conditional-comment
+ uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea # v7.0.1
+ with:
+ script: |
+ const commentText = "The content of this pull request will be made available as part of our next release. For the full schedule of upcoming releases, check out our [Release Radar](https://github.com/carbon-design-system/carbon/wiki/Release-radar) page."
+
+ github.rest.issues.createComment({
+ issue_number: context.issue.number,
+ owner: context.repo.owner,
+ repo: context.repo.repo,
+ body: commentText
+ });
+ - name: Set Output
+ if: steps.conditional-comment.outcome == 'success'
+ run: echo "Comment added successfully."
diff --git a/.github/workflows/release-notifications.yml b/.github/workflows/release-notifications.yml
index 78cfd9892cb4..34a57b7c3f3b 100644
--- a/.github/workflows/release-notifications.yml
+++ b/.github/workflows/release-notifications.yml
@@ -10,7 +10,7 @@ jobs:
name: Post notification comments on PRs
runs-on: ubuntu-latest
steps:
- - uses: actions/checkout@main
+ - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Generate token
uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0
id: generate_token
diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml
index 5f9d40d02c33..21ae99786698 100644
--- a/.github/workflows/release.yml
+++ b/.github/workflows/release.yml
@@ -21,7 +21,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
@@ -75,7 +75,7 @@ jobs:
- name: Create Release
id: create_release
- uses: actions/github-script@v7
+ uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7.0.1
with:
script: |
github.rest.repos.createRelease({
diff --git a/.github/workflows/slack-announcement.yml b/.github/workflows/slack-announcement.yml
index d23f1abeb786..a6cf76807a4e 100644
--- a/.github/workflows/slack-announcement.yml
+++ b/.github/workflows/slack-announcement.yml
@@ -3,7 +3,7 @@ name: Send slack announcement
on:
workflow_dispatch:
inputs:
- text:
+ text:
required: true
description: 'Announcement title'
type: string
@@ -18,35 +18,35 @@ on:
jobs:
setup:
- runs-on: ubuntu-latest
- outputs:
- matrix: ${{steps.matrix.outputs.channel}}
- steps:
- - id: matrix
- run: |
- channels="${{ github.event.inputs.channel }}"
- echo "channel=[\"${channels//', '/\",\"}\"]" >> $GITHUB_OUTPUT
-
+ runs-on: ubuntu-latest
+ outputs:
+ matrix: ${{steps.matrix.outputs.channel}}
+ steps:
+ - id: matrix
+ run: |
+ channels="${{ github.event.inputs.channel }}"
+ echo "channel=[\"${channels//', '/\",\"}\"]" >> $GITHUB_OUTPUT
+
slack-announcement:
- needs: [ setup ]
+ needs: [setup]
name: Send slack announcement
runs-on: ubuntu-latest
strategy:
matrix:
value: ${{fromJSON(needs.setup.outputs.matrix)}}
steps:
- - name: Send slack announcement
- id: slack
- uses: slackapi/slack-github-action@v1.24.0
- with:
- payload: |
- {
- "username": "Carbon Design System",
- "icon_url": "https://user-images.githubusercontent.com/3360588/192045905-5d9705af-92e2-4432-805e-15db98571e8b.png",
- "channel": "${{ matrix.value }}",
- "text": "${{ github.event.inputs.text }}",
- "blocks": ${{ toJSON(fromJSON(github.event.inputs.block-kit).blocks) }}
- }
- env:
- SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
- SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
+ - name: Send slack announcement
+ id: slack
+ uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v1.25.0
+ with:
+ payload: |
+ {
+ "username": "Carbon Design System",
+ "icon_url": "https://user-images.githubusercontent.com/3360588/192045905-5d9705af-92e2-4432-805e-15db98571e8b.png",
+ "channel": "${{ matrix.value }}",
+ "text": "${{ github.event.inputs.text }}",
+ "blocks": ${{ toJSON(fromJSON(github.event.inputs.block-kit).blocks) }}
+ }
+ env:
+ SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }}
+ SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK
diff --git a/.github/workflows/slack-build-notifications.yml b/.github/workflows/slack-build-notifications.yml
index 60dd1eb64f76..cf4a79777acb 100644
--- a/.github/workflows/slack-build-notifications.yml
+++ b/.github/workflows/slack-build-notifications.yml
@@ -19,11 +19,12 @@ jobs:
# We only want notifications for successful runs for certain workflows
if:
${{ github.event.workflow_run.conclusion == 'success' &&
- contains(fromJson('["Version", "Release", "Deploy React storybook to GitHub Pages", "promote"]'), github.event.workflow.name) }}
+ contains(fromJson('["Version", "Release", "Deploy React storybook to
+ GitHub Pages", "promote"]'), github.event.workflow.name) }}
steps:
- name: Send custom JSON data to Slack
id: slack-success
- uses: slackapi/slack-github-action@v1.24.0
+ uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v1.25.0
with:
payload: |
{
@@ -41,7 +42,7 @@ jobs:
steps:
- name: Send custom JSON data to Slack
id: slack-failure
- uses: slackapi/slack-github-action@v1.24.0
+ uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v1.25.0
with:
payload: |
{
diff --git a/.github/workflows/slack-office-hours-design.yml b/.github/workflows/slack-office-hours-design.yml
index dd200d5a3b4a..0668a8519300 100644
--- a/.github/workflows/slack-office-hours-design.yml
+++ b/.github/workflows/slack-office-hours-design.yml
@@ -13,7 +13,7 @@ jobs:
steps:
- name: Send custom JSON data to Slack workflow
id: slack
- uses: slackapi/slack-github-action@v1.24.0
+ uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v1.25.0
with:
payload: |
{
diff --git a/.github/workflows/slack-office-hours-dev.yml b/.github/workflows/slack-office-hours-dev.yml
index 03f837ca7f78..adacf01ca261 100644
--- a/.github/workflows/slack-office-hours-dev.yml
+++ b/.github/workflows/slack-office-hours-dev.yml
@@ -12,7 +12,7 @@ jobs:
steps:
- name: Send custom JSON data to Slack workflow
id: slack
- uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 #v1.24.0
+ uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v1.25.0
with:
payload: |
{
@@ -105,7 +105,7 @@ jobs:
steps:
- name: Send custom JSON data to Slack workflow
id: slack
- uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 #v1.24.0
+ uses: slackapi/slack-github-action@6c661ce58804a1a20f6dc5fbee7f0381b469e001 #v1.25.0
with:
payload: |
{
diff --git a/.github/workflows/stale.yml b/.github/workflows/stale.yml
index 04c5db674fb9..08ede3ac3f1c 100644
--- a/.github/workflows/stale.yml
+++ b/.github/workflows/stale.yml
@@ -7,7 +7,7 @@ jobs:
comment:
runs-on: ubuntu-latest
steps:
- - uses: actions/stale@v9
+ - uses: actions/stale@28ca1036281a5e5922ead5184a1bbf96e5fc984e #v9.0.0
with:
any-of-issue-labels:
"status: waiting for author's response 💬,status: needs more info 🤷♀️"
diff --git a/.github/workflows/sync-generated-files.yml b/.github/workflows/sync-generated-files.yml
index 7bc3159fb16b..5f93e2234309 100644
--- a/.github/workflows/sync-generated-files.yml
+++ b/.github/workflows/sync-generated-files.yml
@@ -9,7 +9,7 @@ jobs:
steps:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
diff --git a/.github/workflows/v10-ci.yml b/.github/workflows/v10-ci.yml
index 420e91272a3f..1bc0c4d41a4d 100644
--- a/.github/workflows/v10-ci.yml
+++ b/.github/workflows/v10-ci.yml
@@ -16,7 +16,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Run yarn dedupe
@@ -29,7 +29,7 @@ jobs:
with:
ref: v10
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
@@ -44,7 +44,7 @@ jobs:
with:
ref: v10
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
@@ -61,7 +61,7 @@ jobs:
with:
ref: v10
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 #v4.0.0
@@ -89,7 +89,7 @@ jobs:
with:
ref: v10
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- uses: actions/cache@13aacd865c20de90d75de3b17ebe84f7a17d57d2 #v4.0.0
@@ -101,7 +101,7 @@ jobs:
key: ${{ runner.os }}-yarn-${{ hashFiles('**/yarn.lock') }}
- name: Install dependencies
run: yarn install --immutable --immutable-cache
- - uses: dorny/paths-filter@v2.11.1
+ - uses: dorny/paths-filter@0bc4621a3135347011ad047f9ecf449bf72ce2bd #v3.0.0
id: filter
with:
filters: |
diff --git a/.github/workflows/v10-deploy-react-storybook.yml b/.github/workflows/v10-deploy-react-storybook.yml
index 59496f746920..1b4190f98bd1 100644
--- a/.github/workflows/v10-deploy-react-storybook.yml
+++ b/.github/workflows/v10-deploy-react-storybook.yml
@@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
- name: Install dependencies
@@ -35,7 +35,7 @@ jobs:
touch packages/react/storybook-static/CNAME
echo "v7-react.carbondesignsystem.com" > packages/react/storybook-static/CNAME
- name: Push to v7 repo
- uses: cpina/github-action-push-to-another-repository@main
+ uses: cpina/github-action-push-to-another-repository@07c4d7b3def0a8ebe788a8f2c843a4e1de4f6900 #v1.7.2
env:
API_TOKEN_GITHUB: ${{ secrets.PERSONAL_ACCESS_TOKEN }}
with:
diff --git a/.github/workflows/v10-release.yml b/.github/workflows/v10-release.yml
index 6c4417aea4b1..acc9af5c9163 100644
--- a/.github/workflows/v10-release.yml
+++ b/.github/workflows/v10-release.yml
@@ -19,7 +19,7 @@ jobs:
- uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 #v4.1.1
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
@@ -46,7 +46,7 @@ jobs:
- name: Create Release
id: create_release
- uses: actions/github-script@v7
+ uses: actions/github-script@60a0d83039c74a4aee543508d2ffcb1c3799cdea #v7.0.1
with:
script: |
github.rest.repos.createRelease({
@@ -60,7 +60,7 @@ jobs:
- name: Upload Release Asset
id: upload-release-asset
- uses: actions/upload-release-asset@v1
+ uses: actions/upload-release-asset@e8f9f06c4b078e705bd2ea027f0926603fc9b4d5 #v1.0.2
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
diff --git a/.github/workflows/version.yml b/.github/workflows/version.yml
index 4b1563eaebdc..8095a7fecace 100644
--- a/.github/workflows/version.yml
+++ b/.github/workflows/version.yml
@@ -32,7 +32,7 @@ jobs:
with:
fetch-depth: '0'
- name: Use Node.js 20.x
- uses: actions/setup-node@b39b52d1213e96004bfcb1c61a8a6fa8ab84f3e8 #v4.0.1
+ uses: actions/setup-node@60edb5dd545a775178f52524783378180af0d1f8 #v4.0.2
with:
node-version: '20.x'
registry-url: 'https://registry.npmjs.org'
@@ -64,7 +64,7 @@ jobs:
app_id: ${{ secrets.APP_ID }}
private_key: ${{ secrets.APP_PRIVATE_KEY }}
- name: Create Pull Request
- uses: peter-evans/create-pull-request@v5
+ uses: peter-evans/create-pull-request@153407881ec5c347639a548ade7d8ad1d6740e38 #v5.0.2
with:
branch: 'release/${{ github.event.inputs.tag }}'
commit-message: 'chore(release): ${{ github.event.inputs.tag }}'
diff --git a/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.2-84404cca9c-10.zip b/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.2-84404cca9c-10.zip
deleted file mode 100644
index 0a65037cf2f0..000000000000
Binary files a/.yarn/cache/@esbuild-darwin-arm64-npm-0.19.2-84404cca9c-10.zip and /dev/null differ
diff --git a/.yarn/cache/@esbuild-darwin-arm64-npm-0.20.0-7bd6004ba0-10.zip b/.yarn/cache/@esbuild-darwin-arm64-npm-0.20.0-7bd6004ba0-10.zip
new file mode 100644
index 000000000000..b23827f3175f
Binary files /dev/null and b/.yarn/cache/@esbuild-darwin-arm64-npm-0.20.0-7bd6004ba0-10.zip differ
diff --git a/.yarn/cache/@esbuild-darwin-x64-npm-0.19.2-a8bb9d2fa8-10.zip b/.yarn/cache/@esbuild-darwin-x64-npm-0.19.2-a8bb9d2fa8-10.zip
deleted file mode 100644
index 8e57ca8059d2..000000000000
Binary files a/.yarn/cache/@esbuild-darwin-x64-npm-0.19.2-a8bb9d2fa8-10.zip and /dev/null differ
diff --git a/.yarn/cache/@esbuild-darwin-x64-npm-0.20.0-0f99efeaf3-10.zip b/.yarn/cache/@esbuild-darwin-x64-npm-0.20.0-0f99efeaf3-10.zip
new file mode 100644
index 000000000000..8eca349bcc27
Binary files /dev/null and b/.yarn/cache/@esbuild-darwin-x64-npm-0.20.0-0f99efeaf3-10.zip differ
diff --git a/.yarn/cache/@esbuild-linux-arm64-npm-0.19.2-e53da2dc3a-10.zip b/.yarn/cache/@esbuild-linux-arm64-npm-0.19.2-e53da2dc3a-10.zip
deleted file mode 100644
index d0003f09fe58..000000000000
Binary files a/.yarn/cache/@esbuild-linux-arm64-npm-0.19.2-e53da2dc3a-10.zip and /dev/null differ
diff --git a/.yarn/cache/@esbuild-linux-arm64-npm-0.20.0-98fee98d37-10.zip b/.yarn/cache/@esbuild-linux-arm64-npm-0.20.0-98fee98d37-10.zip
new file mode 100644
index 000000000000..659438515c5d
Binary files /dev/null and b/.yarn/cache/@esbuild-linux-arm64-npm-0.20.0-98fee98d37-10.zip differ
diff --git a/.yarn/cache/@esbuild-linux-x64-npm-0.19.2-1d636fb5d8-10.zip b/.yarn/cache/@esbuild-linux-x64-npm-0.19.2-1d636fb5d8-10.zip
deleted file mode 100644
index 4751a6cc8811..000000000000
Binary files a/.yarn/cache/@esbuild-linux-x64-npm-0.19.2-1d636fb5d8-10.zip and /dev/null differ
diff --git a/.yarn/cache/@esbuild-linux-x64-npm-0.20.0-fccc96c928-10.zip b/.yarn/cache/@esbuild-linux-x64-npm-0.20.0-fccc96c928-10.zip
new file mode 100644
index 000000000000..90f83f529f9e
Binary files /dev/null and b/.yarn/cache/@esbuild-linux-x64-npm-0.20.0-fccc96c928-10.zip differ
diff --git a/.yarn/cache/@esbuild-win32-arm64-npm-0.19.2-fc3905537a-10.zip b/.yarn/cache/@esbuild-win32-arm64-npm-0.19.2-fc3905537a-10.zip
deleted file mode 100644
index ae08a499ae69..000000000000
Binary files a/.yarn/cache/@esbuild-win32-arm64-npm-0.19.2-fc3905537a-10.zip and /dev/null differ
diff --git a/.yarn/cache/@esbuild-win32-arm64-npm-0.20.0-26d5c18e5a-10.zip b/.yarn/cache/@esbuild-win32-arm64-npm-0.20.0-26d5c18e5a-10.zip
new file mode 100644
index 000000000000..0ccae1637cee
Binary files /dev/null and b/.yarn/cache/@esbuild-win32-arm64-npm-0.20.0-26d5c18e5a-10.zip differ
diff --git a/.yarn/cache/@esbuild-win32-x64-npm-0.19.2-faf4190546-10.zip b/.yarn/cache/@esbuild-win32-x64-npm-0.19.2-faf4190546-10.zip
deleted file mode 100644
index 16ed3c7365f5..000000000000
Binary files a/.yarn/cache/@esbuild-win32-x64-npm-0.19.2-faf4190546-10.zip and /dev/null differ
diff --git a/.yarn/cache/@esbuild-win32-x64-npm-0.20.0-c89e5115c8-10.zip b/.yarn/cache/@esbuild-win32-x64-npm-0.20.0-c89e5115c8-10.zip
new file mode 100644
index 000000000000..25ebed80d208
Binary files /dev/null and b/.yarn/cache/@esbuild-win32-x64-npm-0.20.0-c89e5115c8-10.zip differ
diff --git a/.yarn/cache/@ibm-telemetry-js-npm-1.1.0-b3b4946df0-4a7b5fcf56.zip b/.yarn/cache/@ibm-telemetry-js-npm-1.1.0-b3b4946df0-4a7b5fcf56.zip
deleted file mode 100644
index 9a94b9ece193..000000000000
Binary files a/.yarn/cache/@ibm-telemetry-js-npm-1.1.0-b3b4946df0-4a7b5fcf56.zip and /dev/null differ
diff --git a/.yarn/cache/@ibm-telemetry-js-npm-1.2.0-0868d8ad4f-dd942eaecc.zip b/.yarn/cache/@ibm-telemetry-js-npm-1.2.0-0868d8ad4f-dd942eaecc.zip
new file mode 100644
index 000000000000..e92e6c35cc7c
Binary files /dev/null and b/.yarn/cache/@ibm-telemetry-js-npm-1.2.0-0868d8ad4f-dd942eaecc.zip differ
diff --git a/.yarn/cache/@types-prop-types-npm-15.7.11-a0a5a0025c-7519ff11d0.zip b/.yarn/cache/@types-prop-types-npm-15.7.11-a0a5a0025c-7519ff11d0.zip
new file mode 100644
index 000000000000..3c7a78a8b8a3
Binary files /dev/null and b/.yarn/cache/@types-prop-types-npm-15.7.11-a0a5a0025c-7519ff11d0.zip differ
diff --git a/.yarn/cache/@types-prop-types-npm-15.7.5-2aa48aa177-5b43b8b154.zip b/.yarn/cache/@types-prop-types-npm-15.7.5-2aa48aa177-5b43b8b154.zip
deleted file mode 100644
index 38bb2b470787..000000000000
Binary files a/.yarn/cache/@types-prop-types-npm-15.7.5-2aa48aa177-5b43b8b154.zip and /dev/null differ
diff --git a/.yarn/cache/@types-react-npm-17.0.50-14eafba020-0b5482f7b0.zip b/.yarn/cache/@types-react-npm-17.0.50-14eafba020-0b5482f7b0.zip
deleted file mode 100644
index 1825b7b277c2..000000000000
Binary files a/.yarn/cache/@types-react-npm-17.0.50-14eafba020-0b5482f7b0.zip and /dev/null differ
diff --git a/.yarn/cache/@types-react-npm-18.2.33-aad7d56562-7f84dcf70e.zip b/.yarn/cache/@types-react-npm-18.2.33-aad7d56562-7f84dcf70e.zip
new file mode 100644
index 000000000000..2790a191348c
Binary files /dev/null and b/.yarn/cache/@types-react-npm-18.2.33-aad7d56562-7f84dcf70e.zip differ
diff --git a/.yarn/cache/env-paths-npm-2.2.0-ac4ed99068-ba2aea3830.zip b/.yarn/cache/env-paths-npm-2.2.0-ac4ed99068-ba2aea3830.zip
deleted file mode 100644
index f87c9d947958..000000000000
Binary files a/.yarn/cache/env-paths-npm-2.2.0-ac4ed99068-ba2aea3830.zip and /dev/null differ
diff --git a/.yarn/cache/esbuild-npm-0.19.2-84addf679d-04304b84cf.zip b/.yarn/cache/esbuild-npm-0.19.2-84addf679d-04304b84cf.zip
deleted file mode 100644
index cf33f753cd1a..000000000000
Binary files a/.yarn/cache/esbuild-npm-0.19.2-84addf679d-04304b84cf.zip and /dev/null differ
diff --git a/.yarn/cache/esbuild-npm-0.20.0-ed7bdf2043-d881b7462f.zip b/.yarn/cache/esbuild-npm-0.20.0-ed7bdf2043-d881b7462f.zip
new file mode 100644
index 000000000000..a5606745eeeb
Binary files /dev/null and b/.yarn/cache/esbuild-npm-0.20.0-ed7bdf2043-d881b7462f.zip differ
diff --git a/.yarn/cache/eslint-plugin-playwright-npm-0.22.1-2faafdc4a4-4833fe0c7b.zip b/.yarn/cache/eslint-plugin-playwright-npm-0.22.1-2faafdc4a4-4833fe0c7b.zip
new file mode 100644
index 000000000000..81a19247d0bb
Binary files /dev/null and b/.yarn/cache/eslint-plugin-playwright-npm-0.22.1-2faafdc4a4-4833fe0c7b.zip differ
diff --git a/.yarn/cache/globals-npm-13.20.0-4565a722e7-9df85cde2f.zip b/.yarn/cache/globals-npm-13.20.0-4565a722e7-9df85cde2f.zip
deleted file mode 100644
index 2620ceb8823f..000000000000
Binary files a/.yarn/cache/globals-npm-13.20.0-4565a722e7-9df85cde2f.zip and /dev/null differ
diff --git a/.yarn/cache/globals-npm-13.24.0-cc7713139c-62c5b1997d.zip b/.yarn/cache/globals-npm-13.24.0-cc7713139c-62c5b1997d.zip
new file mode 100644
index 000000000000..bac6ed348c80
Binary files /dev/null and b/.yarn/cache/globals-npm-13.24.0-cc7713139c-62c5b1997d.zip differ
diff --git a/.yarn/cache/klona-npm-2.0.5-5d403f2d77-27cc78ea2d.zip b/.yarn/cache/klona-npm-2.0.5-5d403f2d77-27cc78ea2d.zip
deleted file mode 100644
index ff2e6b944adb..000000000000
Binary files a/.yarn/cache/klona-npm-2.0.5-5d403f2d77-27cc78ea2d.zip and /dev/null differ
diff --git a/.yarn/cache/sass-loader-npm-13.0.2-ca68afd73d-d0978cc5c0.zip b/.yarn/cache/sass-loader-npm-13.0.2-ca68afd73d-d0978cc5c0.zip
deleted file mode 100644
index 3cbf7b5fa5ef..000000000000
Binary files a/.yarn/cache/sass-loader-npm-13.0.2-ca68afd73d-d0978cc5c0.zip and /dev/null differ
diff --git a/.yarn/cache/sass-loader-npm-14.0.0-4745ac7b18-9415bf9003.zip b/.yarn/cache/sass-loader-npm-14.0.0-4745ac7b18-9415bf9003.zip
new file mode 100644
index 000000000000..83f2415c7157
Binary files /dev/null and b/.yarn/cache/sass-loader-npm-14.0.0-4745ac7b18-9415bf9003.zip differ
diff --git a/README.md b/README.md
index 3636d7c35e58..a2adeec35a52 100644
--- a/README.md
+++ b/README.md
@@ -271,8 +271,12 @@ check out our [Contributing Guide](/.github/CONTRIBUTING.md) and our
SamChinellato 💻 |
stevenpatrick009 💻 |
HunterXalc 💻 |
- Alexandr Ovchinnikov 💻 |
Matias Borghi 💻 |
+ Alexandr Ovchinnikov 💻 |
+ J Thomas 💻 |
+
+
+ Garrett Dawson 💻 📖 |
diff --git a/config/eslint-config-carbon/internal.js b/config/eslint-config-carbon/internal.js
index 85e321825d58..ad91d07bb129 100644
--- a/config/eslint-config-carbon/internal.js
+++ b/config/eslint-config-carbon/internal.js
@@ -14,5 +14,6 @@ module.exports = {
require.resolve('./plugins/react'),
require.resolve('./plugins/storybook'),
require.resolve('./plugins/testing-library'),
+ require.resolve('./plugins/eslint-plugin-playwright'),
],
};
diff --git a/config/eslint-config-carbon/plugins/eslint-plugin-playwright.js b/config/eslint-config-carbon/plugins/eslint-plugin-playwright.js
new file mode 100644
index 000000000000..a43e27ce1fb5
--- /dev/null
+++ b/config/eslint-config-carbon/plugins/eslint-plugin-playwright.js
@@ -0,0 +1,34 @@
+const prefixes = [
+ '@avt-default-state',
+ '@avt-advanced-states',
+ '@avt-keyboard-nav',
+];
+const prefixesList = prefixes.join(' | \n');
+
+module.exports = {
+ plugins: ['eslint-plugin-playwright'],
+ overrides: [
+ {
+ extends: ['plugin:playwright/recommended'],
+ files: ['*-test.avt.e2e.js'],
+ rules: {
+ 'playwright/valid-title': [
+ 'error',
+ {
+ mustMatch: {
+ describe: [
+ /^(\s*@avt(\s+\S+)*\s*)$/.source,
+ `Describe titles should start with "@avt" prefix`,
+ ],
+ test: [
+ /^(\s*(@avt-default-state||@avt-advanced-states||@avt-keyboard-nav)(\s+\S+)*\s*)$/
+ .source,
+ `Test titles should start with one of the following prefixes: ${prefixesList}`,
+ ],
+ },
+ },
+ ],
+ },
+ },
+ ],
+};
diff --git a/e2e/components/Accordion/Accordion-test.avt.e2e.js b/e2e/components/Accordion/Accordion-test.avt.e2e.js
index ee836745df7d..7a224b0176a7 100644
--- a/e2e/components/Accordion/Accordion-test.avt.e2e.js
+++ b/e2e/components/Accordion/Accordion-test.avt.e2e.js
@@ -10,7 +10,7 @@
import { expect, test } from '@playwright/test';
import { visitStory } from '../../test-utils/storybook';
-test.describe('Accordion @avt', () => {
+test.describe('@avt Accordion', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'Accordion',
diff --git a/e2e/components/ChatButton/ChatButton-test.avt.e2e.js b/e2e/components/ChatButton/ChatButton-test.avt.e2e.js
new file mode 100644
index 000000000000..64f3728006dd
--- /dev/null
+++ b/e2e/components/ChatButton/ChatButton-test.avt.e2e.js
@@ -0,0 +1,24 @@
+/**
+ * Copyright IBM Corp. 2016, 2023
+ *
+ * This source code is licensed under the Apache-2.0 license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+'use strict';
+
+const { expect, test } = require('@playwright/test');
+const { visitStory } = require('../../test-utils/storybook');
+
+test.describe('ChatButton @avt', () => {
+ test('@avt-default-state', async ({ page }) => {
+ await visitStory(page, {
+ component: 'Button',
+ id: 'experimental-unstable-chatbutton--default',
+ globals: {
+ theme: 'white',
+ },
+ });
+ await expect(page).toHaveNoACViolations('ChatButton');
+ });
+});
diff --git a/e2e/components/ChatButton/ChatButton-test.e2e.js b/e2e/components/ChatButton/ChatButton-test.e2e.js
new file mode 100644
index 000000000000..506689a09c21
--- /dev/null
+++ b/e2e/components/ChatButton/ChatButton-test.e2e.js
@@ -0,0 +1,26 @@
+/**
+ * Copyright IBM Corp. 2016, 2023
+ *
+ * This source code is licensed under the Apache-2.0 license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+'use strict';
+
+const { test } = require('@playwright/test');
+const { themes } = require('../../test-utils/env');
+const { snapshotStory } = require('../../test-utils/storybook');
+
+test.describe('ChatButton', () => {
+ themes.forEach((theme) => {
+ test.describe(theme, () => {
+ test('default @vrt', async ({ page }) => {
+ await snapshotStory(page, {
+ component: 'ChatButton',
+ id: 'experimental-unstable-chatbutton--default',
+ theme,
+ });
+ });
+ });
+ });
+});
diff --git a/e2e/components/FluidComboBox/FluidComboBox-test.avt.e2e.js b/e2e/components/FluidComboBox/FluidComboBox-test.avt.e2e.js
index b8004070f044..c56f4ad3ce20 100644
--- a/e2e/components/FluidComboBox/FluidComboBox-test.avt.e2e.js
+++ b/e2e/components/FluidComboBox/FluidComboBox-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidComboBox @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidComboBox',
- id: 'experimental-unstable-fluidcombobox--default',
+ id: 'experimental-fluid-components-unstable-fluidcombobox--default',
globals: {
theme: 'white',
},
@@ -26,7 +26,7 @@ test.describe('FluidComboBox @avt', () => {
test.skip('@avt-advanced-states open', async ({ page }) => {
await visitStory(page, {
component: 'FluidComboBox',
- id: 'experimental-unstable-fluidcombobox--default',
+ id: 'experimental-fluid-components-unstable-fluidcombobox--default',
globals: {
theme: 'white',
},
@@ -47,7 +47,7 @@ test.describe('FluidComboBox @avt', () => {
test('@avt-keyboard-nav', async ({ page }) => {
await visitStory(page, {
component: 'FluidComboBox',
- id: 'experimental-unstable-fluidcombobox--default',
+ id: 'experimental-fluid-components-unstable-fluidcombobox--default',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidComboBox/FluidComboBox-test.e2e.js b/e2e/components/FluidComboBox/FluidComboBox-test.e2e.js
index 6c9ceb409f42..3d11db974a69 100644
--- a/e2e/components/FluidComboBox/FluidComboBox-test.e2e.js
+++ b/e2e/components/FluidComboBox/FluidComboBox-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidComboBox', () => {
test('fluid dropdown @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidComboBox',
- id: 'experimental-unstable-fluidcombobox--default',
+ id: 'experimental-fluid-components-unstable-fluidcombobox--default',
theme,
});
});
diff --git a/e2e/components/FluidDatePicker/FluidDatePicker-test.avt.e2e.js b/e2e/components/FluidDatePicker/FluidDatePicker-test.avt.e2e.js
index 0391adf85450..e75bb75a6ed9 100644
--- a/e2e/components/FluidDatePicker/FluidDatePicker-test.avt.e2e.js
+++ b/e2e/components/FluidDatePicker/FluidDatePicker-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidDatePicker @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--range-with-calendar',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--range-with-calendar',
globals: {
theme: 'white',
},
@@ -25,7 +25,7 @@ test.describe('FluidDatePicker @avt', () => {
test('@avt-advanced-states single', async ({ page }) => {
await visitStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--single',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--single',
globals: {
theme: 'white',
},
@@ -36,7 +36,7 @@ test.describe('FluidDatePicker @avt', () => {
test('@avt-advanced-states simple', async ({ page }) => {
await visitStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--simple',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--simple',
globals: {
theme: 'white',
},
@@ -47,7 +47,7 @@ test.describe('FluidDatePicker @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--skeleton',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--skeleton',
globals: {
theme: 'white',
},
@@ -58,7 +58,7 @@ test.describe('FluidDatePicker @avt', () => {
test('@avt-keyboard-nav single', async ({ page }) => {
await visitStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--single',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--single',
globals: {
theme: 'white',
},
@@ -79,7 +79,7 @@ test.describe('FluidDatePicker @avt', () => {
test('@avt-keyboard-nav range', async ({ page }) => {
await visitStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--range-with-calendar',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--range-with-calendar',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidDatePicker/FluidDatePicker-test.e2e.js b/e2e/components/FluidDatePicker/FluidDatePicker-test.e2e.js
index fc99c1373adf..52d855b1e9e3 100644
--- a/e2e/components/FluidDatePicker/FluidDatePicker-test.e2e.js
+++ b/e2e/components/FluidDatePicker/FluidDatePicker-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidDatePicker', () => {
test('fluid date picker (range) @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--range-with-calendar',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--range-with-calendar',
theme,
});
});
@@ -25,7 +25,7 @@ test.describe('FluidDatePicker', () => {
test('fluid date picker (single) @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--single',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--single',
theme,
});
});
@@ -33,7 +33,7 @@ test.describe('FluidDatePicker', () => {
test('fluid date picker (simple) @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidDatePicker',
- id: 'experimental-unstable-fluiddatepicker--simple',
+ id: 'experimental-fluid-components-unstable-fluiddatepicker--simple',
theme,
});
});
diff --git a/e2e/components/FluidDropdown/FluidDropdown-test.avt.e2e.js b/e2e/components/FluidDropdown/FluidDropdown-test.avt.e2e.js
index 2c3d93c63eaa..12c4f241be9a 100644
--- a/e2e/components/FluidDropdown/FluidDropdown-test.avt.e2e.js
+++ b/e2e/components/FluidDropdown/FluidDropdown-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidDropdown @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidDropdown',
- id: 'experimental-unstable-fluiddropdown--default',
+ id: 'experimental-fluid-components-unstable-fluiddropdown--default',
globals: {
theme: 'white',
},
@@ -25,7 +25,7 @@ test.describe('FluidDropdown @avt', () => {
test('@avt-advanced-states condensed', async ({ page }) => {
await visitStory(page, {
component: 'FluidDropdown',
- id: 'experimental-unstable-fluiddropdown--condensed',
+ id: 'experimental-fluid-components-unstable-fluiddropdown--condensed',
globals: {
theme: 'white',
},
@@ -36,7 +36,7 @@ test.describe('FluidDropdown @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidDropdown',
- id: 'experimental-unstable-fluiddropdown--skeleton',
+ id: 'experimental-fluid-components-unstable-fluiddropdown--skeleton',
globals: {
theme: 'white',
},
@@ -47,7 +47,7 @@ test.describe('FluidDropdown @avt', () => {
test('@avt-keyboard-nav', async ({ page }) => {
await visitStory(page, {
component: 'Dropdown',
- id: 'experimental-unstable-fluiddropdown--default',
+ id: 'experimental-fluid-components-unstable-fluiddropdown--default',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidDropdown/FluidDropdown-test.e2e.js b/e2e/components/FluidDropdown/FluidDropdown-test.e2e.js
index 3727142f5afc..375a73269cf6 100644
--- a/e2e/components/FluidDropdown/FluidDropdown-test.e2e.js
+++ b/e2e/components/FluidDropdown/FluidDropdown-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidDropdown', () => {
test('fluid dropdown @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidDropdown',
- id: 'experimental-unstable-fluiddropdown--default',
+ id: 'experimental-fluid-components-unstable-fluiddropdown--default',
theme,
});
});
diff --git a/e2e/components/FluidForm/FluidForm-test.avt.e2e.js b/e2e/components/FluidForm/FluidForm-test.avt.e2e.js
index 933cd9fcb4e5..6bfb44a8cf19 100644
--- a/e2e/components/FluidForm/FluidForm-test.avt.e2e.js
+++ b/e2e/components/FluidForm/FluidForm-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidForm @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidForm',
- id: 'experimental-fluidform--default',
+ id: 'experimental-fluid-components-fluidform--default',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidForm/FluidForm-test.e2e.js b/e2e/components/FluidForm/FluidForm-test.e2e.js
index 3726f961328a..616e9f1e8c14 100644
--- a/e2e/components/FluidForm/FluidForm-test.e2e.js
+++ b/e2e/components/FluidForm/FluidForm-test.e2e.js
@@ -16,7 +16,7 @@ test.describe('FluidForm', () => {
test('fluid form @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidForm',
- id: 'experimental-fluidform--default',
+ id: 'experimental-fluid-components-fluidform--default',
theme,
});
});
diff --git a/e2e/components/FluidMultiSelect/FluidMultiSelect-test.avt.e2e.js b/e2e/components/FluidMultiSelect/FluidMultiSelect-test.avt.e2e.js
index a72e416b4dd0..31c0507d20cd 100644
--- a/e2e/components/FluidMultiSelect/FluidMultiSelect-test.avt.e2e.js
+++ b/e2e/components/FluidMultiSelect/FluidMultiSelect-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidMultiSelect @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidMultiSelect',
- id: 'experimental-unstable-fluidmultiselect--default',
+ id: 'experimental-fluid-components-unstable-fluidmultiselect--default',
globals: {
theme: 'white',
},
@@ -27,7 +27,7 @@ test.describe('FluidMultiSelect @avt', () => {
test('@avt-advanced-states condensed', async ({ page }) => {
await visitStory(page, {
component: 'FluidMultiSelect',
- id: 'experimental-unstable-fluidmultiselect--condensed',
+ id: 'experimental-fluid-components-unstable-fluidmultiselect--condensed',
globals: {
theme: 'white',
},
@@ -38,7 +38,7 @@ test.describe('FluidMultiSelect @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidMultiSelect',
- id: 'experimental-unstable-fluidmultiselect--skeleton',
+ id: 'experimental-fluid-components-unstable-fluidmultiselect--skeleton',
globals: {
theme: 'white',
},
@@ -49,7 +49,7 @@ test.describe('FluidMultiSelect @avt', () => {
test('@avt-keyboard-nav FluidMultiSelect', async ({ page }) => {
await visitStory(page, {
component: 'FluidMultiSelect',
- id: 'experimental-unstable-fluidmultiselect--default',
+ id: 'experimental-fluid-components-unstable-fluidmultiselect--default',
globals: {
theme: 'white',
},
@@ -144,7 +144,7 @@ test.describe('FluidMultiSelect @avt', () => {
test('@avt-keyboard-nav FluidMultiSelect condensed', async ({ page }) => {
await visitStory(page, {
component: 'FluidMultiSelect',
- id: 'experimental-unstable-fluidmultiselect--condensed',
+ id: 'experimental-fluid-components-unstable-fluidmultiselect--condensed',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidMultiSelect/FluidMultiSelect-test.e2e.js b/e2e/components/FluidMultiSelect/FluidMultiSelect-test.e2e.js
index 1749b55a3478..3d2d64e2a54c 100644
--- a/e2e/components/FluidMultiSelect/FluidMultiSelect-test.e2e.js
+++ b/e2e/components/FluidMultiSelect/FluidMultiSelect-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidMultiSelect', () => {
test('fluid dropdown @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidMultiSelect',
- id: 'experimental-unstable-fluidmultiselect--default',
+ id: 'experimental-fluid-components-unstable-fluidmultiselect--default',
theme,
});
});
diff --git a/e2e/components/FluidNumberInput/FluidNumberInput-test.avt.e2e.js b/e2e/components/FluidNumberInput/FluidNumberInput-test.avt.e2e.js
index 531ac2a82ecb..a452d7e20861 100644
--- a/e2e/components/FluidNumberInput/FluidNumberInput-test.avt.e2e.js
+++ b/e2e/components/FluidNumberInput/FluidNumberInput-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidNumberInput @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidNumberInput',
- id: 'experimental-unstable-fluidnumberinput--default',
+ id: 'experimental-fluid-components-unstable-fluidnumberinput--default',
globals: {
theme: 'white',
},
@@ -27,7 +27,7 @@ test.describe('FluidNumberInput @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidNumberInput',
- id: 'experimental-unstable-fluidnumberinput--skeleton',
+ id: 'experimental-fluid-components-unstable-fluidnumberinput--skeleton',
globals: {
theme: 'white',
},
@@ -38,7 +38,7 @@ test.describe('FluidNumberInput @avt', () => {
test('@avt-keyboard-nav NumberInput', async ({ page }) => {
await visitStory(page, {
component: 'NumberInput',
- id: 'experimental-unstable-fluidnumberinput--default',
+ id: 'experimental-fluid-components-unstable-fluidnumberinput--default',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidNumberInput/FluidNumberInput-test.e2e.js b/e2e/components/FluidNumberInput/FluidNumberInput-test.e2e.js
index dcbe915ab3e9..b17140e22d0e 100644
--- a/e2e/components/FluidNumberInput/FluidNumberInput-test.e2e.js
+++ b/e2e/components/FluidNumberInput/FluidNumberInput-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidNumberInput', () => {
test('fluid text input @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidNumberInput',
- id: 'experimental-unstable-fluidnumberinput--default',
+ id: 'experimental-fluid-components-unstable-fluidnumberinput--default',
theme,
});
});
diff --git a/e2e/components/FluidSearch/FluidSearch-test.avt.e2e.js b/e2e/components/FluidSearch/FluidSearch-test.avt.e2e.js
index ab0091884621..b0d024e83f43 100644
--- a/e2e/components/FluidSearch/FluidSearch-test.avt.e2e.js
+++ b/e2e/components/FluidSearch/FluidSearch-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidSearch @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidSearch',
- id: 'experimental-unstable-fluidsearch--default',
+ id: 'experimental-fluid-components-unstable-fluidsearch--default',
globals: {
theme: 'white',
},
@@ -25,7 +25,7 @@ test.describe('FluidSearch @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidSearch',
- id: 'experimental-unstable-fluidsearch--skeleton',
+ id: 'experimental-fluid-components-unstable-fluidsearch--skeleton',
globals: {
theme: 'white',
},
@@ -36,7 +36,7 @@ test.describe('FluidSearch @avt', () => {
test('@avt-keyboard-nav', async ({ page }) => {
await visitStory(page, {
component: 'Search',
- id: 'experimental-unstable-fluidsearch--default',
+ id: 'experimental-fluid-components-unstable-fluidsearch--default',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidSearch/FluidSearch-test.e2e.js b/e2e/components/FluidSearch/FluidSearch-test.e2e.js
index 7a87188cf735..13324f2d1ad2 100644
--- a/e2e/components/FluidSearch/FluidSearch-test.e2e.js
+++ b/e2e/components/FluidSearch/FluidSearch-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidSearch', () => {
test('fluid select @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidSearch',
- id: 'experimental-unstable-fluidsearch--default',
+ id: 'experimental-fluid-components-unstable-fluidsearch--default',
theme,
});
});
diff --git a/e2e/components/FluidSelect/FluidSelect-test.avt.e2e.js b/e2e/components/FluidSelect/FluidSelect-test.avt.e2e.js
index 4af9b704e0ca..c094d207dfb5 100644
--- a/e2e/components/FluidSelect/FluidSelect-test.avt.e2e.js
+++ b/e2e/components/FluidSelect/FluidSelect-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidSelect @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidSelect',
- id: 'experimental-unstable-fluidselect--default',
+ id: 'experimental-fluid-components-unstable-fluidselect--default',
globals: {
theme: 'white',
},
@@ -25,7 +25,7 @@ test.describe('FluidSelect @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidSelect',
- id: 'experimental-unstable-fluidselect--skeleton',
+ id: 'experimental-fluid-components-unstable-fluidselect--skeleton',
globals: {
theme: 'white',
},
@@ -36,7 +36,7 @@ test.describe('FluidSelect @avt', () => {
test('@avt-keyboard-nav FluidSelect', async ({ page }) => {
await visitStory(page, {
component: 'FluidSelect',
- id: 'experimental-unstable-fluidselect--default',
+ id: 'experimental-fluid-components-unstable-fluidselect--default',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidSelect/FluidSelect-test.e2e.js b/e2e/components/FluidSelect/FluidSelect-test.e2e.js
index c853e87b0731..afd82b35cd65 100644
--- a/e2e/components/FluidSelect/FluidSelect-test.e2e.js
+++ b/e2e/components/FluidSelect/FluidSelect-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidSelect', () => {
test('fluid select @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidSelect',
- id: 'experimental-unstable-fluidselect--default',
+ id: 'experimental-fluid-components-unstable-fluidselect--default',
theme,
});
});
diff --git a/e2e/components/FluidTextArea/FluidTextArea-test.avt.e2e.js b/e2e/components/FluidTextArea/FluidTextArea-test.avt.e2e.js
index 7b6d11c06314..0846407c233e 100644
--- a/e2e/components/FluidTextArea/FluidTextArea-test.avt.e2e.js
+++ b/e2e/components/FluidTextArea/FluidTextArea-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidTextArea @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextArea',
- id: 'experimental-unstable-fluidtextarea--default',
+ id: 'experimental-fluid-components-unstable-fluidtextarea--default',
globals: {
theme: 'white',
},
@@ -25,7 +25,7 @@ test.describe('FluidTextArea @avt', () => {
test('@avt-advanced-states default-with-layers', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextArea',
- id: 'experimental-unstable-fluidtextarea--default-with-layers',
+ id: 'experimental-fluid-components-unstable-fluidtextarea--default-with-layers',
globals: {
theme: 'white',
},
@@ -38,7 +38,7 @@ test.describe('FluidTextArea @avt', () => {
test('@avt-advanced-states default-with-tooltip', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextArea',
- id: 'experimental-unstable-fluidtextarea--default-with-tooltip',
+ id: 'experimental-fluid-components-unstable-fluidtextarea--default-with-tooltip',
globals: {
theme: 'white',
},
@@ -51,7 +51,7 @@ test.describe('FluidTextArea @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextArea',
- id: 'experimental-unstable-fluidtextarea--skeleton',
+ id: 'experimental-fluid-components-unstable-fluidtextarea--skeleton',
globals: {
theme: 'white',
},
@@ -62,7 +62,7 @@ test.describe('FluidTextArea @avt', () => {
test('@avt-keyboard-nav FluidTextArea default', async ({ page }) => {
await visitStory(page, {
component: 'TextArea',
- id: 'experimental-unstable-fluidtextarea--default',
+ id: 'experimental-fluid-components-unstable-fluidtextarea--default',
globals: {
theme: 'white',
},
@@ -83,7 +83,7 @@ test.describe('FluidTextArea @avt', () => {
test('@avt-keyboard-nav FluidTextArea with tooltip', async ({ page }) => {
await visitStory(page, {
component: 'TextArea',
- id: 'experimental-unstable-fluidtextarea--default-with-tooltip',
+ id: 'experimental-fluid-components-unstable-fluidtextarea--default-with-tooltip',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidTextArea/FluidTextArea-test.e2e.js b/e2e/components/FluidTextArea/FluidTextArea-test.e2e.js
index 82bcd48e9c22..39f5c6e9dee6 100644
--- a/e2e/components/FluidTextArea/FluidTextArea-test.e2e.js
+++ b/e2e/components/FluidTextArea/FluidTextArea-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidTextArea', () => {
test('fluid textarea @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidTextArea',
- id: 'experimental-unstable-fluidtextarea--default',
+ id: 'experimental-fluid-components-unstable-fluidtextarea--default',
theme,
});
});
diff --git a/e2e/components/FluidTextInput/FluidTextInput-test.avt.e2e.js b/e2e/components/FluidTextInput/FluidTextInput-test.avt.e2e.js
index c0d3f63136d6..d552a3b1dabc 100644
--- a/e2e/components/FluidTextInput/FluidTextInput-test.avt.e2e.js
+++ b/e2e/components/FluidTextInput/FluidTextInput-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidTextInput @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextInput',
- id: 'experimental-unstable-fluidtextinput--default',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--default',
globals: {
theme: 'white',
},
@@ -25,7 +25,7 @@ test.describe('FluidTextInput @avt', () => {
test('@avt-advanced-states password input', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextInput',
- id: 'experimental-unstable-fluidtextinput--password-input',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--password-input',
globals: {
theme: 'white',
},
@@ -36,7 +36,7 @@ test.describe('FluidTextInput @avt', () => {
test('@avt-advanced-states with tooltip', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextInput',
- id: 'experimental-unstable-fluidtextinput--default-with-tooltip',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--default-with-tooltip',
globals: {
theme: 'white',
},
@@ -47,7 +47,7 @@ test.describe('FluidTextInput @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidTextInput',
- id: 'experimental-unstable-fluidtextinput--skeleton',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--skeleton',
globals: {
theme: 'white',
},
@@ -58,7 +58,7 @@ test.describe('FluidTextInput @avt', () => {
test('@avt-keyboard-nav default', async ({ page }) => {
await visitStory(page, {
component: 'TextInput',
- id: 'experimental-unstable-fluidtextinput--default',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--default',
globals: {
theme: 'white',
},
@@ -80,7 +80,7 @@ test.describe('FluidTextInput @avt', () => {
test('@avt-keyboard-nav with tooltip', async ({ page }) => {
await visitStory(page, {
component: 'TextInput',
- id: 'experimental-unstable-fluidtextinput--default-with-tooltip',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--default-with-tooltip',
globals: {
theme: 'white',
},
@@ -110,7 +110,7 @@ test.describe('FluidTextInput @avt', () => {
test('@avt-keyboard-nav for password', async ({ page }) => {
await visitStory(page, {
component: 'TextInput',
- id: 'experimental-unstable-fluidtextinput--password-input',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--password-input',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidTextInput/FluidTextInput-test.e2e.js b/e2e/components/FluidTextInput/FluidTextInput-test.e2e.js
index f8a0bae501b2..1f15e881b45e 100644
--- a/e2e/components/FluidTextInput/FluidTextInput-test.e2e.js
+++ b/e2e/components/FluidTextInput/FluidTextInput-test.e2e.js
@@ -17,13 +17,13 @@ test.describe('FluidTextInput', () => {
test('fluid text input @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidTextInput',
- id: 'experimental-unstable-fluidtextinput--default',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--default',
theme,
});
await snapshotStory(page, {
component: 'FluidTextInput',
- id: 'experimental-unstable-fluidtextinput--password-input',
+ id: 'experimental-fluid-components-unstable-fluidtextinput--password-input',
theme,
});
});
diff --git a/e2e/components/FluidTimePicker/FluidTimePicker-test.avt.e2e.js b/e2e/components/FluidTimePicker/FluidTimePicker-test.avt.e2e.js
index d8add32441eb..36353ce10e9e 100644
--- a/e2e/components/FluidTimePicker/FluidTimePicker-test.avt.e2e.js
+++ b/e2e/components/FluidTimePicker/FluidTimePicker-test.avt.e2e.js
@@ -14,7 +14,7 @@ test.describe('FluidTimePicker @avt', () => {
test('@avt-default-state', async ({ page }) => {
await visitStory(page, {
component: 'FluidTimePicker',
- id: 'experimental-unstable-fluidtimepicker--default',
+ id: 'experimental-fluid-components-unstable-fluidtimepicker--default',
globals: {
theme: 'white',
},
@@ -27,7 +27,7 @@ test.describe('FluidTimePicker @avt', () => {
test('@avt-advanced-states skeleton', async ({ page }) => {
await visitStory(page, {
component: 'FluidTimePicker',
- id: 'experimental-unstable-fluidtimepicker--skeleton',
+ id: 'experimental-fluid-components-unstable-fluidtimepicker--skeleton',
globals: {
theme: 'white',
},
@@ -38,7 +38,7 @@ test.describe('FluidTimePicker @avt', () => {
test('@avt-keyboard-nav TimePicker', async ({ page }) => {
await visitStory(page, {
component: 'TimePicker',
- id: 'experimental-unstable-fluidtimepicker--default',
+ id: 'experimental-fluid-components-unstable-fluidtimepicker--default',
globals: {
theme: 'white',
},
diff --git a/e2e/components/FluidTimePicker/FluidTimePicker-test.e2e.js b/e2e/components/FluidTimePicker/FluidTimePicker-test.e2e.js
index db85fec91e06..f73b8f9eda08 100644
--- a/e2e/components/FluidTimePicker/FluidTimePicker-test.e2e.js
+++ b/e2e/components/FluidTimePicker/FluidTimePicker-test.e2e.js
@@ -17,7 +17,7 @@ test.describe('FluidTimePicker', () => {
test('fluid text input @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'FluidTimePicker',
- id: 'experimental-unstable-fluidtimepicker--default',
+ id: 'experimental-fluid-components-unstable-fluidtimepicker--default',
theme,
});
});
diff --git a/e2e/components/Slug/Slug-test.avt.e2e.js b/e2e/components/Slug/Slug-test.avt.e2e.js
index a2e72c9e400d..7505b18527ad 100644
--- a/e2e/components/Slug/Slug-test.avt.e2e.js
+++ b/e2e/components/Slug/Slug-test.avt.e2e.js
@@ -22,7 +22,7 @@ test.describe('Slug @avt', () => {
await expect(page).toHaveNoACViolations('Slug');
});
- test('@avt-advanced-states open state', async ({ page }) => {
+ test.slow('@avt-advanced-states open state', async ({ page }) => {
await visitStory(page, {
component: 'Slug',
id: 'experimental-unstable-slug--default',
@@ -37,7 +37,7 @@ test.describe('Slug @avt', () => {
await expect(page).toHaveNoACViolations('Slug-open');
});
- test('@avt-advanced-states ai form', async ({ page }) => {
+ test.slow('@avt-advanced-states ai form', async ({ page }) => {
await visitStory(page, {
component: 'Slug',
id: 'experimental-unstable-slug-form--form-example',
diff --git a/e2e/components/Slug/Slug-test.e2e.js b/e2e/components/Slug/Slug-test.e2e.js
index fcafd00203c8..31ada475cb88 100644
--- a/e2e/components/Slug/Slug-test.e2e.js
+++ b/e2e/components/Slug/Slug-test.e2e.js
@@ -22,6 +22,14 @@ test.describe('Slug', () => {
});
});
+ test('slug callout @vrt', async ({ page }) => {
+ await snapshotStory(page, {
+ component: 'Slug',
+ id: 'experimental-unstable-slug--callout',
+ theme,
+ });
+ });
+
test('slug inside form @vrt', async ({ page }) => {
await snapshotStory(page, {
component: 'Slug',
@@ -29,6 +37,30 @@ test.describe('Slug', () => {
theme,
});
});
+
+ test('slug inside DataTable column @vrt', async ({ page }) => {
+ await snapshotStory(page, {
+ component: 'Slug',
+ id: 'experimental-unstable-slug-datatable--column-slug-sort',
+ theme,
+ });
+ });
+
+ test('slug inside DataTable row @vrt', async ({ page }) => {
+ await snapshotStory(page, {
+ component: 'Slug',
+ id: 'experimental-unstable-slug-datatable--slug-with-selection-and-expansion',
+ theme,
+ });
+ });
+
+ test('slug inside Tile @vrt', async ({ page }) => {
+ await snapshotStory(page, {
+ component: 'Slug',
+ id: 'experimental-unstable-slug-examples--tile',
+ theme,
+ });
+ });
});
});
});
diff --git a/e2e/icons-react/__snapshots__/PublicAPI-test.js.snap b/e2e/icons-react/__snapshots__/PublicAPI-test.js.snap
index 89e0bd8bcac6..83fe08a055ec 100644
--- a/e2e/icons-react/__snapshots__/PublicAPI-test.js.snap
+++ b/e2e/icons-react/__snapshots__/PublicAPI-test.js.snap
@@ -1765,6 +1765,7 @@ Array [
"SwitchLayer_2",
"SwitchLayer_3",
"Switcher",
+ "SyncSettings",
"SysProvision",
"Table",
"TableAlias",
diff --git a/e2e/icons-vue/__snapshots__/PublicAPI-test.js.snap b/e2e/icons-vue/__snapshots__/PublicAPI-test.js.snap
index f14a6dfb9bf2..30bcb63cfa22 100644
--- a/e2e/icons-vue/__snapshots__/PublicAPI-test.js.snap
+++ b/e2e/icons-vue/__snapshots__/PublicAPI-test.js.snap
@@ -7033,6 +7033,10 @@ Array [
"Switcher20",
"Switcher24",
"Switcher32",
+ "SyncSettings16",
+ "SyncSettings20",
+ "SyncSettings24",
+ "SyncSettings32",
"SysProvision16",
"SysProvision20",
"SysProvision24",
diff --git a/e2e/icons/__snapshots__/PublicAPI-test.js.snap b/e2e/icons/__snapshots__/PublicAPI-test.js.snap
index aab4b39ff00a..d94822ad6886 100644
--- a/e2e/icons/__snapshots__/PublicAPI-test.js.snap
+++ b/e2e/icons/__snapshots__/PublicAPI-test.js.snap
@@ -7032,6 +7032,10 @@ Array [
"Switcher20",
"Switcher24",
"Switcher32",
+ "SyncSettings16",
+ "SyncSettings20",
+ "SyncSettings24",
+ "SyncSettings32",
"SysProvision16",
"SysProvision20",
"SysProvision24",
diff --git a/e2e/pictograms-react/__snapshots__/PublicAPI-test.js.snap b/e2e/pictograms-react/__snapshots__/PublicAPI-test.js.snap
index 346e64c4958e..e73c789140b9 100644
--- a/e2e/pictograms-react/__snapshots__/PublicAPI-test.js.snap
+++ b/e2e/pictograms-react/__snapshots__/PublicAPI-test.js.snap
@@ -1177,4 +1177,4 @@ Array [
"Yoga_04",
"ZeroTrust",
]
-`;
+`;
\ No newline at end of file
diff --git a/examples/class-prefix/package.json b/examples/class-prefix/package.json
index 42c0403ea2b7..b20c78da3879 100644
--- a/examples/class-prefix/package.json
+++ b/examples/class-prefix/package.json
@@ -1,7 +1,7 @@
{
"name": "class-prefix",
"private": true,
- "version": "0.45.0",
+ "version": "0.48.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -9,7 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
diff --git a/examples/codesandbox-styles/package.json b/examples/codesandbox-styles/package.json
index 724c01925a6b..a9b111e1432a 100644
--- a/examples/codesandbox-styles/package.json
+++ b/examples/codesandbox-styles/package.json
@@ -1,7 +1,7 @@
{
"name": "codesandbox-styles",
"private": true,
- "version": "0.51.0",
+ "version": "0.54.0",
"type": "module",
"scripts": {
"dev": "vite"
@@ -11,6 +11,6 @@
"vite": "^4.3.8"
},
"dependencies": {
- "@carbon/styles": "^1.48.0"
+ "@carbon/styles": "^1.51.0"
}
}
diff --git a/examples/custom-theme/package.json b/examples/custom-theme/package.json
index c938371ebbe8..525dbbbaaf94 100644
--- a/examples/custom-theme/package.json
+++ b/examples/custom-theme/package.json
@@ -1,7 +1,7 @@
{
"name": "custom-theme",
"private": true,
- "version": "0.46.0",
+ "version": "0.49.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -9,7 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
diff --git a/examples/id-prefix/package.json b/examples/id-prefix/package.json
index 9ba78c6530e7..aac4311dab03 100644
--- a/examples/id-prefix/package.json
+++ b/examples/id-prefix/package.json
@@ -1,7 +1,7 @@
{
"name": "id-prefix",
"private": true,
- "version": "0.45.0",
+ "version": "0.48.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -9,7 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
diff --git a/examples/incremental-migration-vite/package.json b/examples/incremental-migration-vite/package.json
index dabad46fc721..c91cdb391c48 100644
--- a/examples/incremental-migration-vite/package.json
+++ b/examples/incremental-migration-vite/package.json
@@ -1,7 +1,7 @@
{
"name": "incremental-migration-vite",
"private": true,
- "version": "0.13.0",
+ "version": "0.16.0",
"scripts": {
"dev": "vite",
"build": "vite build",
@@ -12,7 +12,7 @@
},
"dependencies": {
"@carbon/icons-react": "^10.49.0",
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"carbon-components": "^10.57.0",
"carbon-components-react": "^7.57.0",
"carbon-icons": "^7.0.7",
diff --git a/examples/light-dark-mode/package.json b/examples/light-dark-mode/package.json
index 4996330415f4..a606b4f30d5f 100644
--- a/examples/light-dark-mode/package.json
+++ b/examples/light-dark-mode/package.json
@@ -1,7 +1,7 @@
{
"name": "examples-light-dark",
"private": true,
- "version": "0.46.0",
+ "version": "0.49.0",
"scripts": {
"build": "next build",
"dev": "next dev",
@@ -9,7 +9,7 @@
"start": "next start"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"next": "13.5.1",
"react": "18.2.0",
"react-dom": "18.2.0"
diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json
index 4c195ed55449..b27d7a22f4c9 100644
--- a/examples/nextjs/package.json
+++ b/examples/nextjs/package.json
@@ -1,7 +1,7 @@
{
"name": "examples-nextjs",
"private": true,
- "version": "0.48.0",
+ "version": "0.51.0",
"scripts": {
"build": "next build",
"dev": "next dev",
@@ -9,7 +9,7 @@
"start": "next start"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"next": "13.5.6",
"react": "18.2.0",
"react-dom": "18.2.0"
diff --git a/examples/v10-token-compat-in-v11/package.json b/examples/v10-token-compat-in-v11/package.json
index 6d2a038a62d2..ea26cfdbfa88 100644
--- a/examples/v10-token-compat-in-v11/package.json
+++ b/examples/v10-token-compat-in-v11/package.json
@@ -1,7 +1,7 @@
{
"name": "v10-token-compat-in-v11",
"private": true,
- "version": "0.46.0",
+ "version": "0.49.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -9,7 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
diff --git a/examples/vite/package.json b/examples/vite/package.json
index eb54e316d1c1..a5acd6af4978 100644
--- a/examples/vite/package.json
+++ b/examples/vite/package.json
@@ -1,7 +1,7 @@
{
"name": "vite",
"private": true,
- "version": "0.46.0",
+ "version": "0.49.0",
"type": "module",
"scripts": {
"dev": "vite",
@@ -9,7 +9,7 @@
"preview": "vite preview"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
+ "@carbon/react": "^1.51.0",
"react": "^18.2.0",
"react-dom": "^18.2.0"
},
diff --git a/package.json b/package.json
index df07ffbfe29f..7263aef5cc43 100644
--- a/package.json
+++ b/package.json
@@ -29,8 +29,8 @@
"postinstall": "husky install"
},
"resolutions": {
- "@types/react": "~17.0.2",
- "@types/prop-types": "15.7.5",
+ "@types/react": "~18.2.33",
+ "@types/prop-types": "15.7.11",
"ast-types": "^0.14.0",
"node-sass": "^9.0.0",
"react": "~18.2.0",
@@ -62,6 +62,7 @@
"cross-spawn": "^7.0.0",
"doctoc": "^2.0.0",
"eslint": "^8.40.0",
+ "eslint-plugin-playwright": "^0.22.1",
"fs-extra": "^11.0.0",
"glob": "^10.0.0",
"husky": "^8.0.0",
diff --git a/packages/carbon-components-react/package.json b/packages/carbon-components-react/package.json
index 98f6a2892b6a..72e0f3e80267 100644
--- a/packages/carbon-components-react/package.json
+++ b/packages/carbon-components-react/package.json
@@ -1,7 +1,7 @@
{
"name": "carbon-components-react",
"description": "The Carbon Design System is IBM’s open-source design system for products and experiences.",
- "version": "8.48.0",
+ "version": "8.51.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -41,8 +41,8 @@
"sass": "^1.33.0"
},
"dependencies": {
- "@carbon/react": "^1.48.0",
- "@carbon/styles": "^1.48.0",
+ "@carbon/react": "^1.51.0",
+ "@carbon/styles": "^1.51.0",
"@carbon/telemetry": "0.1.0",
"chalk": "1.1.3"
},
diff --git a/packages/carbon-components-react/scss/components/chat-button/_chat-button.scss b/packages/carbon-components-react/scss/components/chat-button/_chat-button.scss
new file mode 100644
index 000000000000..6486d7f955a4
--- /dev/null
+++ b/packages/carbon-components-react/scss/components/chat-button/_chat-button.scss
@@ -0,0 +1,9 @@
+// Code generated by carbon-components-react. DO NOT EDIT.
+//
+// Copyright IBM Corp. 2018, 2023
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward '@carbon/styles/scss/components/chat-button/chat-button';
diff --git a/packages/carbon-components-react/scss/components/chat-button/_index.scss b/packages/carbon-components-react/scss/components/chat-button/_index.scss
new file mode 100644
index 000000000000..2a93f58c0602
--- /dev/null
+++ b/packages/carbon-components-react/scss/components/chat-button/_index.scss
@@ -0,0 +1,9 @@
+// Code generated by carbon-components-react. DO NOT EDIT.
+//
+// Copyright IBM Corp. 2018, 2023
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward '@carbon/styles/scss/components/chat-button';
diff --git a/packages/carbon-components-react/scss/components/skeleton-styles/_ai-skeleton-styles.scss b/packages/carbon-components-react/scss/components/skeleton-styles/_ai-skeleton-styles.scss
new file mode 100644
index 000000000000..c07f6ee77f00
--- /dev/null
+++ b/packages/carbon-components-react/scss/components/skeleton-styles/_ai-skeleton-styles.scss
@@ -0,0 +1,9 @@
+// Code generated by carbon-components-react. DO NOT EDIT.
+//
+// Copyright IBM Corp. 2018, 2023
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward '@carbon/styles/scss/components/skeleton-styles/ai-skeleton-styles';
diff --git a/packages/carbon-components/package.json b/packages/carbon-components/package.json
index 6d9bb884f760..9a494a7f1d6f 100644
--- a/packages/carbon-components/package.json
+++ b/packages/carbon-components/package.json
@@ -1,7 +1,7 @@
{
"name": "carbon-components",
"description": "The Carbon Design System is IBM’s open-source design system for products and experiences.",
- "version": "11.48.0",
+ "version": "11.51.0",
"license": "Apache-2.0",
"repository": {
"type": "git",
@@ -42,7 +42,7 @@
"sass": "^1.33.0"
},
"dependencies": {
- "@carbon/styles": "^1.48.0",
+ "@carbon/styles": "^1.51.0",
"@carbon/telemetry": "0.1.0",
"chalk": "1.1.3"
},
diff --git a/packages/carbon-components/scss/components/chat-button/_chat-button.scss b/packages/carbon-components/scss/components/chat-button/_chat-button.scss
new file mode 100644
index 000000000000..3356ea2e1480
--- /dev/null
+++ b/packages/carbon-components/scss/components/chat-button/_chat-button.scss
@@ -0,0 +1,9 @@
+// Code generated by carbon-components. DO NOT EDIT.
+//
+// Copyright IBM Corp. 2018, 2023
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward '@carbon/styles/scss/components/chat-button/chat-button';
diff --git a/packages/carbon-components/scss/components/chat-button/_index.scss b/packages/carbon-components/scss/components/chat-button/_index.scss
new file mode 100644
index 000000000000..1c2ed0de5cdd
--- /dev/null
+++ b/packages/carbon-components/scss/components/chat-button/_index.scss
@@ -0,0 +1,9 @@
+// Code generated by carbon-components. DO NOT EDIT.
+//
+// Copyright IBM Corp. 2018, 2023
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward '@carbon/styles/scss/components/chat-button';
diff --git a/packages/carbon-components/scss/components/skeleton-styles/_ai-skeleton-styles.scss b/packages/carbon-components/scss/components/skeleton-styles/_ai-skeleton-styles.scss
new file mode 100644
index 000000000000..b75ddc45dd0a
--- /dev/null
+++ b/packages/carbon-components/scss/components/skeleton-styles/_ai-skeleton-styles.scss
@@ -0,0 +1,9 @@
+// Code generated by carbon-components. DO NOT EDIT.
+//
+// Copyright IBM Corp. 2018, 2023
+//
+// This source code is licensed under the Apache-2.0 license found in the
+// LICENSE file in the root directory of this source tree.
+//
+
+@forward '@carbon/styles/scss/components/skeleton-styles/ai-skeleton-styles';
diff --git a/packages/elements/package.json b/packages/elements/package.json
index 10fd1771456a..a7abf940c70f 100644
--- a/packages/elements/package.json
+++ b/packages/elements/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/elements",
"description": "A collection of design elements in code for the IBM Design Language",
- "version": "11.37.0",
+ "version": "11.40.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -38,10 +38,10 @@
"dependencies": {
"@carbon/colors": "^11.20.0",
"@carbon/grid": "^11.21.0",
- "@carbon/icons": "^11.34.0",
+ "@carbon/icons": "^11.36.0",
"@carbon/layout": "^11.20.0",
"@carbon/motion": "^11.16.0",
- "@carbon/themes": "^11.29.0",
+ "@carbon/themes": "^11.32.0",
"@carbon/type": "^11.25.0"
},
"devDependencies": {
diff --git a/packages/elements/src/__tests__/__snapshots__/PublicAPI-test.js.snap b/packages/elements/src/__tests__/__snapshots__/PublicAPI-test.js.snap
index 38769efa3c89..ed0294894503 100644
--- a/packages/elements/src/__tests__/__snapshots__/PublicAPI-test.js.snap
+++ b/packages/elements/src/__tests__/__snapshots__/PublicAPI-test.js.snap
@@ -2,9 +2,23 @@
exports[`Public API should only change with a semver change 1`] = `
Array [
+ "aiAuraEnd",
+ "aiAuraHoverBackground",
+ "aiAuraHoverEnd",
+ "aiAuraHoverStart",
+ "aiAuraStart",
+ "aiAuraStartTable",
+ "aiBorderEnd",
+ "aiBorderStart",
+ "aiBorderStrong",
+ "aiDropShadow",
"aiGradientEnd",
"aiGradientStart01",
"aiGradientStart02",
+ "aiInnerShadow",
+ "aiOverlay",
+ "aiSkeletonBackground",
+ "aiSkeletonElementBackground",
"background",
"backgroundActive",
"backgroundBrand",
@@ -54,6 +68,15 @@ Array [
"buttonTokens",
"caption01",
"caption02",
+ "chatAvatarAgent",
+ "chatAvatarBot",
+ "chatAvatarUser",
+ "chatBubbleAgent",
+ "chatBubbleAgentBorder",
+ "chatBubbleUser",
+ "chatPromptBackground",
+ "chatPromptBorderEnd",
+ "chatPromptBorderStart",
"code01",
"code02",
"colors",
@@ -284,8 +307,6 @@ Array [
"slugCalloutAuraStartHover01",
"slugCalloutAuraStartHover02",
"slugCalloutAuraStartSelected",
- "slugCalloutBorder01",
- "slugCalloutBorder02",
"slugCalloutCaretBottom",
"slugCalloutCaretBottomBackground",
"slugCalloutCaretBottomBackgroundActions",
@@ -296,7 +317,6 @@ Array [
"slugCalloutGradientTop",
"slugCalloutGradientTopHover",
"slugCalloutGradientTopSelected",
- "slugCalloutShadowInner",
"slugCalloutShadowOuter01",
"slugCalloutShadowOuter02",
"slugGradient",
diff --git a/packages/icon-build-helpers/package.json b/packages/icon-build-helpers/package.json
index 3cd9e3bf139c..9b46a927196c 100644
--- a/packages/icon-build-helpers/package.json
+++ b/packages/icon-build-helpers/package.json
@@ -2,7 +2,7 @@
"name": "@carbon/icon-build-helpers",
"private": true,
"description": "Build helpers for the Carbon Design System icon library",
- "version": "1.21.0",
+ "version": "1.22.0",
"license": "Apache-2.0",
"main": "src/index.js",
"repository": {
@@ -30,7 +30,7 @@
"@babel/template": "^7.16.7",
"@babel/types": "^7.18.4",
"@carbon/cli-reporter": "^10.7.0",
- "@carbon/icon-helpers": "^10.45.0",
+ "@carbon/icon-helpers": "^10.46.0",
"@hapi/joi": "^17.1.1",
"@rollup/plugin-babel": "^6.0.0",
"@rollup/plugin-replace": "^5.0.0",
diff --git a/packages/icon-helpers/package.json b/packages/icon-helpers/package.json
index 9520cce9150a..cac0b1c02bf5 100644
--- a/packages/icon-helpers/package.json
+++ b/packages/icon-helpers/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/icon-helpers",
"description": "Helpers used alongside icons for digital and software products using the Carbon Design System",
- "version": "10.45.0",
+ "version": "10.46.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
diff --git a/packages/icon-helpers/src/getAttributes.ts b/packages/icon-helpers/src/getAttributes.ts
index c35c2fb4fc10..a0a85ea97a2c 100644
--- a/packages/icon-helpers/src/getAttributes.ts
+++ b/packages/icon-helpers/src/getAttributes.ts
@@ -1,19 +1,11 @@
/**
- * Copyright IBM Corp. 2018, 2023
+ * Copyright IBM Corp. 2018, 2024
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
-import React from 'react';
-interface IconAttributes
- extends Omit, 'tabIndex'> {
- tabindex?: string | number | undefined;
-
- title?: string | undefined;
-}
-
-export const defaultAttributes: IconAttributes = {
+export const defaultAttributes = {
// Reference:
// https://github.com/IBM/carbon-components-react/issues/1392
// https://github.com/PolymerElements/iron-iconset-svg/pull/47
@@ -31,9 +23,9 @@ export default function getAttributes({
height,
viewBox = `0 0 ${width} ${height}`,
...attributes
-}: IconAttributes = {}): IconAttributes {
+}: Record = {}): Record {
const { tabindex, ...rest } = attributes;
- const iconAttributes: IconAttributes = {
+ const iconAttributes: Record = {
...defaultAttributes,
...rest,
width,
diff --git a/packages/icon-helpers/src/toSVG.js b/packages/icon-helpers/src/toSVG.ts
similarity index 81%
rename from packages/icon-helpers/src/toSVG.js
rename to packages/icon-helpers/src/toSVG.ts
index 12ec12230c4a..82d283730d3e 100644
--- a/packages/icon-helpers/src/toSVG.js
+++ b/packages/icon-helpers/src/toSVG.ts
@@ -1,16 +1,17 @@
/**
- * Copyright IBM Corp. 2018, 2023
+ * Copyright IBM Corp. 2018, 2024
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import getAttributes from './getAttributes';
+import IconDescriptor from './types';
/**
* Convert an icon descriptor to a DOM node.
*/
-export default function toSVG(descriptor) {
+export default function toSVG(descriptor: IconDescriptor): SVGElement {
const { elem = 'svg', attrs = {}, content = [] } = descriptor;
const node = document.createElementNS('http://www.w3.org/2000/svg', elem);
const attributes = elem !== 'svg' ? attrs : getAttributes(attrs);
diff --git a/packages/icon-helpers/src/toString.js b/packages/icon-helpers/src/toString.ts
similarity index 77%
rename from packages/icon-helpers/src/toString.js
rename to packages/icon-helpers/src/toString.ts
index 444878b522b9..d63ee086cb33 100644
--- a/packages/icon-helpers/src/toString.js
+++ b/packages/icon-helpers/src/toString.ts
@@ -1,16 +1,17 @@
/**
- * Copyright IBM Corp. 2018, 2023
+ * Copyright IBM Corp. 2018, 2024
*
* This source code is licensed under the Apache-2.0 license found in the
* LICENSE file in the root directory of this source tree.
*/
import getAttributes from './getAttributes';
+import IconDescriptor from './types';
/**
* Convert an icon descriptor to a String
*/
-export default function toString(descriptor) {
+export default function toString(descriptor: IconDescriptor): string {
const { elem = 'svg', attrs = {}, content = [] } = descriptor;
const children = content.map(toString).join('');
if (elem !== 'svg') {
@@ -21,7 +22,7 @@ export default function toString(descriptor) {
)}>${children}${elem}>`;
}
-export function formatAttributes(attrs) {
+export function formatAttributes(attrs: Record): string {
return Object.keys(attrs).reduce((acc, key, index) => {
const attribute = `${key}="${attrs[key]}"`;
if (index === 0) {
diff --git a/packages/icon-helpers/src/types.ts b/packages/icon-helpers/src/types.ts
new file mode 100644
index 000000000000..9006c3dcd068
--- /dev/null
+++ b/packages/icon-helpers/src/types.ts
@@ -0,0 +1,14 @@
+/**
+ * Copyright IBM Corp. 2024
+ *
+ * This source code is licensed under the Apache-2.0 license found in the
+ * LICENSE file in the root directory of this source tree.
+ */
+
+export default interface IconDescriptor {
+ elem?: string;
+
+ attrs?: Record;
+
+ content?: Array;
+}
diff --git a/packages/icons-react/package.json b/packages/icons-react/package.json
index e33ab5c5e222..b235cf525a28 100644
--- a/packages/icons-react/package.json
+++ b/packages/icons-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/icons-react",
"description": "React components for icons in digital and software products using the Carbon Design System",
- "version": "11.34.0",
+ "version": "11.36.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -37,13 +37,13 @@
"react": ">=16"
},
"dependencies": {
- "@carbon/icon-helpers": "^10.45.0",
+ "@carbon/icon-helpers": "^10.46.0",
"@carbon/telemetry": "0.1.0",
"prop-types": "^15.7.2"
},
"devDependencies": {
- "@carbon/icon-build-helpers": "^1.21.0",
- "@carbon/icons": "^11.34.0",
+ "@carbon/icon-build-helpers": "^1.22.0",
+ "@carbon/icons": "^11.36.0",
"rimraf": "^5.0.0"
},
"sideEffects": false
diff --git a/packages/icons-vue/examples/vue-cli/yarn.lock b/packages/icons-vue/examples/vue-cli/yarn.lock
index 9c128f57e75c..855e94487047 100644
--- a/packages/icons-vue/examples/vue-cli/yarn.lock
+++ b/packages/icons-vue/examples/vue-cli/yarn.lock
@@ -2544,13 +2544,6 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.8:
dependencies:
ms "2.0.0"
-debug@=3.1.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/debug/-/debug-3.1.0.tgz#5bb5a0672628b64149566ba16819e61518c67261"
- integrity sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==
- dependencies:
- ms "2.0.0"
-
debug@^3.1.0, debug@^3.2.5:
version "3.2.6"
resolved "https://registry.yarnpkg.com/debug/-/debug-3.2.6.tgz#e83d17de16d8a7efb7717edbe5fb10135eee629b"
@@ -3502,11 +3495,9 @@ flush-write-stream@^1.0.0:
readable-stream "^2.0.4"
follow-redirects@^1.0.0:
- version "1.5.10"
- resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.5.10.tgz#7b7a9f9aea2fdff36786a94ff643ed07f4ff5e2a"
- integrity sha512-0V5l4Cizzvqt5D44aTXbFZz+FtyXV1vrDN6qrelxtfYQKW0KO0W2T/hkE8xvGa/540LkZlkaUjO4ailYTFtHVQ==
- dependencies:
- debug "=3.1.0"
+ version "1.15.4"
+ resolved "https://registry.yarnpkg.com/follow-redirects/-/follow-redirects-1.15.4.tgz#cdc7d308bf6493126b17ea2191ea0ccf3e535adf"
+ integrity sha512-Cr4D/5wlrb0z9dgERpUL3LrmPKVDsETIJhaCMeDfuFYcqa5bldGV6wBsAN6X/vxlXQtFBMrXdXxdL8CbDTGniw==
for-in@^1.0.2:
version "1.0.2"
diff --git a/packages/icons-vue/package.json b/packages/icons-vue/package.json
index d923c6826104..9fc65b2b9fb6 100644
--- a/packages/icons-vue/package.json
+++ b/packages/icons-vue/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/icons-vue",
"description": "Vue components for icons in digital and software products using the Carbon Design System",
- "version": "10.83.0",
+ "version": "10.85.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -29,11 +29,11 @@
"clean": "rimraf es lib"
},
"dependencies": {
- "@carbon/icon-helpers": "^10.45.0"
+ "@carbon/icon-helpers": "^10.46.0"
},
"devDependencies": {
"@carbon/cli-reporter": "^10.7.0",
- "@carbon/icons": "^11.34.0",
+ "@carbon/icons": "^11.36.0",
"fs-extra": "^11.0.0",
"prettier": "^2.8.8",
"rimraf": "^5.0.0",
diff --git a/packages/icons/categories.yml b/packages/icons/categories.yml
index 22628a5ebc14..f458e9e44c59 100644
--- a/packages/icons/categories.yml
+++ b/packages/icons/categories.yml
@@ -436,6 +436,7 @@ categories:
- sort--remove
- split
- split-screen
+ - sync-settings
- tag
- tag--edit
- tag--export
diff --git a/packages/icons/icons.yml b/packages/icons/icons.yml
index 1069652850dc..ef3ff1fd3f4e 100644
--- a/packages/icons/icons.yml
+++ b/packages/icons/icons.yml
@@ -19688,6 +19688,17 @@
- selector
sizes:
- 32
+- name: sync-settings
+ friendly_name: Sync settings
+ aliases:
+ - sync
+ - apply
+ - mapping
+ - pattern
+ - match
+ - software
+ sizes:
+ - 32
- name: sys-provision
friendly_name: Sys provision
aliases:
diff --git a/packages/icons/package.json b/packages/icons/package.json
index 7fd661de06ea..7af9d13cb890 100644
--- a/packages/icons/package.json
+++ b/packages/icons/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/icons",
"description": "Icons for digital and software products using the Carbon Design System",
- "version": "11.34.0",
+ "version": "11.36.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -40,7 +40,7 @@
},
"devDependencies": {
"@carbon/cli": "^11.15.0",
- "@carbon/icon-build-helpers": "^1.21.0",
+ "@carbon/icon-build-helpers": "^1.22.0",
"rimraf": "^5.0.0"
}
}
diff --git a/packages/icons/src/svg/32/sync-settings.svg b/packages/icons/src/svg/32/sync-settings.svg
new file mode 100644
index 000000000000..2ba5c34190c7
--- /dev/null
+++ b/packages/icons/src/svg/32/sync-settings.svg
@@ -0,0 +1,22 @@
+
+
\ No newline at end of file
diff --git a/packages/pictograms-react/package.json b/packages/pictograms-react/package.json
index e5882552b4b6..085212742e7d 100644
--- a/packages/pictograms-react/package.json
+++ b/packages/pictograms-react/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/pictograms-react",
"description": "React components for pictograms in digital and software products using the Carbon Design System",
- "version": "11.56.0",
+ "version": "11.57.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -38,13 +38,13 @@
"react": ">=16"
},
"dependencies": {
- "@carbon/icon-helpers": "^10.45.0",
+ "@carbon/icon-helpers": "^10.46.0",
"@carbon/telemetry": "0.1.0",
"prop-types": "^15.7.2"
},
"devDependencies": {
- "@carbon/icon-build-helpers": "^1.21.0",
- "@carbon/pictograms": "^12.30.0",
+ "@carbon/icon-build-helpers": "^1.22.0",
+ "@carbon/pictograms": "^12.31.0",
"rimraf": "^5.0.0"
},
"sideEffects": false
diff --git a/packages/pictograms/package.json b/packages/pictograms/package.json
index 4746893abc49..192d31fcf9e5 100644
--- a/packages/pictograms/package.json
+++ b/packages/pictograms/package.json
@@ -1,7 +1,7 @@
{
"name": "@carbon/pictograms",
"description": "Pictograms for digital and software products using the Carbon Design System",
- "version": "12.30.0",
+ "version": "12.31.0",
"license": "Apache-2.0",
"main": "lib/index.js",
"module": "es/index.js",
@@ -32,7 +32,7 @@
"prepublishOnly": "yarn build"
},
"devDependencies": {
- "@carbon/icon-build-helpers": "^1.21.0",
+ "@carbon/icon-build-helpers": "^1.22.0",
"rimraf": "^5.0.0"
}
}
diff --git a/packages/react/.storybook/manager-head.html b/packages/react/.storybook/manager-head.html
index b3571aa3bee8..fbf0af6d7d50 100644
--- a/packages/react/.storybook/manager-head.html
+++ b/packages/react/.storybook/manager-head.html
@@ -27,6 +27,18 @@
content="https://media.github.ibm.com/user/1679/files/aa651000-7749-11eb-900e-eeb9312ed756" />
+
+
+
+