diff --git a/.all-contributorsrc b/.all-contributorsrc index 1a3fddae7fe9..6e3ad91a49d7 100644 --- a/.all-contributorsrc +++ b/.all-contributorsrc @@ -1260,6 +1260,15 @@ "code" ] }, + { + "login": "misiekhardcore", + "name": "Michał Konopski", + "avatar_url": "https://avatars.githubusercontent.com/u/58469680?v=4", + "profile": "https://github.com/misiekhardcore", + "contributions": [ + "code" + ] + } ], "commitConvention": "none" } diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 17a3d46c8cb4..1f53b3b87547 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -17,7 +17,7 @@ jobs: dedupe: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: @@ -28,7 +28,7 @@ jobs: format: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: @@ -41,7 +41,7 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: @@ -56,7 +56,7 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: @@ -82,7 +82,7 @@ jobs: name: 'test:e2e' runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: @@ -121,7 +121,7 @@ jobs: shard: [1, 2, 3, 4] runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: @@ -180,7 +180,7 @@ jobs: avt: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index 3b269dd710cb..350c315884d8 100644 --- a/.github/workflows/codeql-analysis.yml +++ b/.github/workflows/codeql-analysis.yml @@ -20,7 +20,7 @@ jobs: steps: - name: Checkout repository - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 # Initializes the CodeQL tools for scanning. - name: Initialize CodeQL diff --git a/.github/workflows/contribution-approved.yml b/.github/workflows/contribution-accepted.yml similarity index 100% rename from .github/workflows/contribution-approved.yml rename to .github/workflows/contribution-accepted.yml diff --git a/.github/workflows/contribution-proposal-not-pursuing.yml b/.github/workflows/contribution-proposal-not-pursuing.yml index 0198d5b7bdaa..a54218bad68c 100644 --- a/.github/workflows/contribution-proposal-not-pursuing.yml +++ b/.github/workflows/contribution-proposal-not-pursuing.yml @@ -15,6 +15,10 @@ jobs: ${{ contains(github.event.label.name, format('proposal{0} not pursuing', ':')) }} steps: + - name: Log github event + env: + $GITHUB_CONTEXT_LABELS: ${{ toJson(github.event.label) }} + run: echo "$GITHUB_CONTEXT_LABELS" - name: Add comment uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 #v6.4.1 with: diff --git a/.github/workflows/contribution-proposal.yml b/.github/workflows/contribution-proposal.yml index 118166684339..897de6699c39 100644 --- a/.github/workflows/contribution-proposal.yml +++ b/.github/workflows/contribution-proposal.yml @@ -14,6 +14,10 @@ jobs: if: ${{ contains(github.event.label.name, format('type{0} enhancement 💡', ':')) }} steps: + - name: Log github event + env: + $GITHUB_CONTEXT_LABELS: ${{ toJson(github.event.label) }} + run: echo "$GITHUB_CONTEXT_LABELS" - name: Add comment uses: actions/github-script@d7906e4ad0b1822421a7e6a35d5ca353c962f410 #v6.4.1 with: diff --git a/.github/workflows/dco.yml b/.github/workflows/dco.yml index bc330f625e35..d448d2f608d2 100644 --- a/.github/workflows/dco.yml +++ b/.github/workflows/dco.yml @@ -16,7 +16,7 @@ jobs: (github.event.comment.body == 'recheck' || github.event.comment.body == 'I have read the DCO document and I hereby sign the DCO.') || github.event_name == 'pull_request_target' - uses: cla-assistant/github-action@v2.3.0 + uses: cla-assistant/github-action@a895a435fcce79ecf28fbce61a4ef0f0dabc9853 #v2.3.1 env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} PERSONAL_ACCESS_TOKEN: ${{ secrets.PERSONAL_ACCESS_TOKEN }} diff --git a/.github/workflows/deploy-packages.yml b/.github/workflows/deploy-packages.yml index 2ba3ed13cc0d..f5d6352c9033 100644 --- a/.github/workflows/deploy-packages.yml +++ b/.github/workflows/deploy-packages.yml @@ -16,7 +16,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 with: repository: carbon-design-system/design-language-website ref: master @@ -33,7 +33,7 @@ jobs: @carbon/icons@next \ @carbon/icons-react@next \ - name: Generate token - uses: tibdex/github-app-token@v1 + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0 id: generate_token with: app_id: ${{ secrets.APP_ID }} @@ -58,7 +58,7 @@ jobs: runs-on: ubuntu-latest timeout-minutes: 15 steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 with: repository: carbon-design-system/gatsby-theme-carbon ref: main @@ -76,7 +76,7 @@ jobs: @carbon/pictograms-react \ @carbon/react - name: Generate token - uses: tibdex/github-app-token@v1 + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0 id: generate_token with: app_id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/issue-triage.yml b/.github/workflows/issue-triage.yml index 5e9b5402bbf0..ecc74521fd8e 100644 --- a/.github/workflows/issue-triage.yml +++ b/.github/workflows/issue-triage.yml @@ -17,7 +17,7 @@ jobs: steps: - uses: actions/checkout@main - name: Generate token - uses: tibdex/github-app-token@v1 + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0 id: generate_token with: app_id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/release-notifications.yml b/.github/workflows/release-notifications.yml index 783405e85080..78cfd9892cb4 100644 --- a/.github/workflows/release-notifications.yml +++ b/.github/workflows/release-notifications.yml @@ -12,7 +12,7 @@ jobs: steps: - uses: actions/checkout@main - name: Generate token - uses: tibdex/github-app-token@v1 + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0 id: generate_token with: app_id: ${{ secrets.APP_ID }} diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index fe9347adb78f..903d2a8de9b6 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -18,7 +18,7 @@ jobs: id-token: write contents: write steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 diff --git a/.github/workflows/slack-office-hours-dev.yml b/.github/workflows/slack-office-hours-dev.yml index e3eef2f6aaae..979f086bd636 100644 --- a/.github/workflows/slack-office-hours-dev.yml +++ b/.github/workflows/slack-office-hours-dev.yml @@ -6,13 +6,13 @@ on: - cron: '0 14 * * TUE' jobs: - post-reminder: + post-reminder-to-carbon-react: name: Post dev reminder to carbon-react runs-on: ubuntu-latest steps: - name: Send custom JSON data to Slack workflow id: slack - uses: slackapi/slack-github-action@v1.24.0 + uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 #v1.24.0 with: payload: | { @@ -48,7 +48,7 @@ jobs: "type": "section", "text": { "type": "mrkdwn", - "text": "*Carbon developer office hours* are a bi-weekly opportunity to discuss topics like these and get help from the team. Developers from the Carbon System Squad, who maintain the core React components, elements and styles, will be available to help and answer questions. While it's very informal, please be prepared to screen share and show your issue!" + "text": "*Carbon developer office hours* are a bi-weekly opportunity to discuss topics like these and get help from the team. Developers from the Carbon team will be available to help and answer questions. While it's very informal, please be prepared to screen share and show your issue!" } }, { @@ -98,3 +98,97 @@ jobs: env: SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + + post-reminder-to-carbon-web-components: + name: Post dev reminder to carbon-web-components + runs-on: ubuntu-latest + steps: + - name: Send custom JSON data to Slack workflow + id: slack + uses: slackapi/slack-github-action@e28cf165c92ffef168d23c5c9000cffc8a25e117 #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": "#carbon-web-components", + "text": "Join us for Carbon Developer Office Hours!", + "blocks": [ + { + "type": "header", + "text": { + "type": "plain_text", + "text": "Join us for Carbon Developer Office Hours!", + "emoji": true + } + }, + { + "type": "divider" + }, + { + "type": "image", + "image_url": "https://carbondesignsystem.com/static/406b7e7bf6865c094dd9a7a0bcb8bd41/3cbba/light-getting-started-developers.png", + "alt_text": "A terminal prompt symbol" + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": ":thinking_face: _Are you running into a weird bug you can’t resolve?_ \n\n_:question: Do you have questions about using Carbon?_ \n\n :rocket: _Would you like to discuss migrating from v10 to v11?_" + } + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": "*Carbon developer office hours* are a bi-weekly opportunity to discuss topics like these and get help from the team. Developers from the Carbon team will be available to help and answer questions. While it's very informal, please be prepared to screen share and show your issue!" + } + }, + { + "type": "divider" + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": ":yourlearning: *Subscribe and add to your calendar* :ibm-arrow-right::ibm-arrow-right::ibm-arrow-right:" + }, + "accessory": { + "type": "button", + "text": { + "type": "plain_text", + "text": "Subscribe", + "emoji": true + }, + "value": "click_me_123", + "url": "https://ec.yourlearning.ibm.com/w3/enrollment/event/10322733", + "action_id": "button-action" + } + }, + { + "type": "section", + "text": { + "type": "mrkdwn", + "text": ":memo: *Sign up to get help in a future session* :ibm-arrow-right::ibm-arrow-right::ibm-arrow-right:" + }, + "accessory": { + "type": "button", + "text": { + "type": "plain_text", + "text": "View the agenda", + "emoji": true + }, + "value": "click_me_123", + "url": "https://ibm.biz/carbon-dev-office-hours", + "action_id": "button-action" + } + }, + { + "type": "divider" + } + ] + } + env: + SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} + SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK + diff --git a/.github/workflows/sync-generated-files.yml b/.github/workflows/sync-generated-files.yml index f0c4965a1149..a0b9322c6414 100644 --- a/.github/workflows/sync-generated-files.yml +++ b/.github/workflows/sync-generated-files.yml @@ -7,7 +7,7 @@ jobs: release: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 with: diff --git a/.github/workflows/v10-ci.yml b/.github/workflows/v10-ci.yml index effd04ed306c..8b43ba9a25c4 100644 --- a/.github/workflows/v10-ci.yml +++ b/.github/workflows/v10-ci.yml @@ -13,7 +13,7 @@ jobs: dedupe: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 @@ -25,7 +25,7 @@ jobs: format: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 with: ref: v10 - name: Use Node.js 18.x @@ -40,7 +40,7 @@ jobs: lint: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 with: ref: v10 - name: Use Node.js 18.x @@ -57,7 +57,7 @@ jobs: test: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 with: ref: v10 - name: Use Node.js 18.x @@ -85,7 +85,7 @@ jobs: name: 'test:e2e' runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 with: ref: v10 - name: Use Node.js 18.x diff --git a/.github/workflows/v10-deploy-react-storybook.yml b/.github/workflows/v10-deploy-react-storybook.yml index db1fd9dbde9b..b5b864936192 100644 --- a/.github/workflows/v10-deploy-react-storybook.yml +++ b/.github/workflows/v10-deploy-react-storybook.yml @@ -16,7 +16,7 @@ jobs: build-ibmcloud: runs-on: ubuntu-latest steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 diff --git a/.github/workflows/v10-release.yml b/.github/workflows/v10-release.yml index 5671dec2d63c..3a7fbc77b463 100644 --- a/.github/workflows/v10-release.yml +++ b/.github/workflows/v10-release.yml @@ -16,7 +16,7 @@ jobs: id-token: write contents: write steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 - name: Use Node.js 18.x uses: actions/setup-node@v3 diff --git a/.github/workflows/version.yml b/.github/workflows/version.yml index e43b10a74ac0..d57d0fa74ad6 100644 --- a/.github/workflows/version.yml +++ b/.github/workflows/version.yml @@ -28,7 +28,7 @@ jobs: if: github.repository == 'carbon-design-system/carbon' timeout-minutes: 60 steps: - - uses: actions/checkout@3df4ab11eba7bda6032a0b82a6bb43b11571feac #v4.0.0 + - uses: actions/checkout@8ade135a41bc03ea155e62e844d188df1ea18608 #v4.1.0 with: fetch-depth: '0' - name: Use Node.js 18.x @@ -58,7 +58,7 @@ jobs: run: | yarn lerna version minor --no-git-tag-version --no-push --yes - name: Generate token - uses: tibdex/github-app-token@v1 + uses: tibdex/github-app-token@3beb63f4bd073e61482598c45c71c1019b59b73a #v2.1.0 id: generate_token with: app_id: ${{ secrets.APP_ID }} diff --git a/.nvmrc b/.nvmrc index aacb5181047f..4a58985bb483 100644 --- a/.nvmrc +++ b/.nvmrc @@ -1 +1 @@ -18.17 +18.18 diff --git a/.yarn/cache/@babel-runtime-corejs3-npm-7.12.5-204fea2510-f896716cfa.zip b/.yarn/cache/@babel-runtime-corejs3-npm-7.12.5-204fea2510-f896716cfa.zip deleted file mode 100644 index f60b0b1a8bca..000000000000 Binary files a/.yarn/cache/@babel-runtime-corejs3-npm-7.12.5-204fea2510-f896716cfa.zip and /dev/null differ diff --git a/.yarn/cache/@babel-runtime-npm-7.22.15-b21c55a700-793296df1e.zip b/.yarn/cache/@babel-runtime-npm-7.22.15-b21c55a700-793296df1e.zip new file mode 100644 index 000000000000..09140accb0da Binary files /dev/null and b/.yarn/cache/@babel-runtime-npm-7.22.15-b21c55a700-793296df1e.zip differ diff --git a/.yarn/cache/@babel-runtime-npm-7.22.6-493f6b7ad0-e585338287.zip b/.yarn/cache/@babel-runtime-npm-7.22.6-493f6b7ad0-e585338287.zip deleted file mode 100644 index 172437a43bbf..000000000000 Binary files a/.yarn/cache/@babel-runtime-npm-7.22.6-493f6b7ad0-e585338287.zip and /dev/null differ diff --git a/.yarn/cache/@next-eslint-plugin-next-npm-12.1.4-37508c8682-6908d3ea06.zip b/.yarn/cache/@next-eslint-plugin-next-npm-12.1.4-37508c8682-6908d3ea06.zip deleted file mode 100644 index 3dc3013f4fba..000000000000 Binary files a/.yarn/cache/@next-eslint-plugin-next-npm-12.1.4-37508c8682-6908d3ea06.zip and /dev/null differ diff --git a/.yarn/cache/@rushstack-eslint-patch-npm-1.0.8-af8bb599ec-e1c4e2d831.zip b/.yarn/cache/@rushstack-eslint-patch-npm-1.0.8-af8bb599ec-e1c4e2d831.zip deleted file mode 100644 index 6f0176d28f0a..000000000000 Binary files a/.yarn/cache/@rushstack-eslint-patch-npm-1.0.8-af8bb599ec-e1c4e2d831.zip and /dev/null differ diff --git a/.yarn/cache/@sindresorhus-is-npm-4.6.0-7cad05c55e-83839f13da.zip b/.yarn/cache/@sindresorhus-is-npm-4.6.0-7cad05c55e-83839f13da.zip deleted file mode 100644 index 93d03d70e9ac..000000000000 Binary files a/.yarn/cache/@sindresorhus-is-npm-4.6.0-7cad05c55e-83839f13da.zip and /dev/null differ diff --git a/.yarn/cache/@sindresorhus-is-npm-5.6.0-a25321ecc2-2e6e0c3acf.zip b/.yarn/cache/@sindresorhus-is-npm-5.6.0-a25321ecc2-2e6e0c3acf.zip new file mode 100644 index 000000000000..a178a8dbecc4 Binary files /dev/null and b/.yarn/cache/@sindresorhus-is-npm-5.6.0-a25321ecc2-2e6e0c3acf.zip differ diff --git a/.yarn/cache/@szmarczak-http-timer-npm-4.0.6-6ace00d82d-c29df3bcec.zip b/.yarn/cache/@szmarczak-http-timer-npm-4.0.6-6ace00d82d-c29df3bcec.zip deleted file mode 100644 index 244282aab998..000000000000 Binary files a/.yarn/cache/@szmarczak-http-timer-npm-4.0.6-6ace00d82d-c29df3bcec.zip and /dev/null differ diff --git a/.yarn/cache/@szmarczak-http-timer-npm-5.0.1-52261e5986-fc9cb993e8.zip b/.yarn/cache/@szmarczak-http-timer-npm-5.0.1-52261e5986-fc9cb993e8.zip new file mode 100644 index 000000000000..59e494943b65 Binary files /dev/null and b/.yarn/cache/@szmarczak-http-timer-npm-5.0.1-52261e5986-fc9cb993e8.zip differ diff --git a/.yarn/cache/@types-cacheable-request-npm-6.0.2-894b6992d5-667d25808d.zip b/.yarn/cache/@types-cacheable-request-npm-6.0.2-894b6992d5-667d25808d.zip deleted file mode 100644 index f03e75385417..000000000000 Binary files a/.yarn/cache/@types-cacheable-request-npm-6.0.2-894b6992d5-667d25808d.zip and /dev/null differ diff --git a/.yarn/cache/@types-json-buffer-npm-3.0.0-9f2fe89eaa-6b0a371dd6.zip b/.yarn/cache/@types-json-buffer-npm-3.0.0-9f2fe89eaa-6b0a371dd6.zip deleted file mode 100644 index ba0659e87ff6..000000000000 Binary files a/.yarn/cache/@types-json-buffer-npm-3.0.0-9f2fe89eaa-6b0a371dd6.zip and /dev/null differ diff --git a/.yarn/cache/@typescript-eslint-parser-npm-5.10.1-c7b8a57212-36e94b3fb5.zip b/.yarn/cache/@typescript-eslint-parser-npm-5.10.1-c7b8a57212-36e94b3fb5.zip deleted file mode 100644 index d7bfc48a56e7..000000000000 Binary files a/.yarn/cache/@typescript-eslint-parser-npm-5.10.1-c7b8a57212-36e94b3fb5.zip and /dev/null differ diff --git a/.yarn/cache/@typescript-eslint-scope-manager-npm-5.10.1-d6ee2eebb4-a4f802ca68.zip b/.yarn/cache/@typescript-eslint-scope-manager-npm-5.10.1-d6ee2eebb4-a4f802ca68.zip deleted file mode 100644 index 462b7c1daf22..000000000000 Binary files a/.yarn/cache/@typescript-eslint-scope-manager-npm-5.10.1-d6ee2eebb4-a4f802ca68.zip and /dev/null differ diff --git a/.yarn/cache/@typescript-eslint-types-npm-5.10.1-c4c21e80f9-e8bbedae74.zip b/.yarn/cache/@typescript-eslint-types-npm-5.10.1-c4c21e80f9-e8bbedae74.zip deleted file mode 100644 index 67d38cebd080..000000000000 Binary files a/.yarn/cache/@typescript-eslint-types-npm-5.10.1-c4c21e80f9-e8bbedae74.zip and /dev/null differ diff --git a/.yarn/cache/@typescript-eslint-typescript-estree-npm-5.10.1-160c74e5e8-5721e99baa.zip b/.yarn/cache/@typescript-eslint-typescript-estree-npm-5.10.1-160c74e5e8-5721e99baa.zip deleted file mode 100644 index 8538911ec3bb..000000000000 Binary files a/.yarn/cache/@typescript-eslint-typescript-estree-npm-5.10.1-160c74e5e8-5721e99baa.zip and /dev/null differ diff --git a/.yarn/cache/@typescript-eslint-visitor-keys-npm-5.10.1-0ff2edd910-7e1e1a41b2.zip b/.yarn/cache/@typescript-eslint-visitor-keys-npm-5.10.1-0ff2edd910-7e1e1a41b2.zip deleted file mode 100644 index d1f409da47dc..000000000000 Binary files a/.yarn/cache/@typescript-eslint-visitor-keys-npm-5.10.1-0ff2edd910-7e1e1a41b2.zip and /dev/null differ diff --git a/.yarn/cache/aria-query-npm-4.2.2-e0c4f1a309-38401a9a40.zip b/.yarn/cache/aria-query-npm-4.2.2-e0c4f1a309-38401a9a40.zip deleted file mode 100644 index a89d3eb5f742..000000000000 Binary files a/.yarn/cache/aria-query-npm-4.2.2-e0c4f1a309-38401a9a40.zip and /dev/null differ diff --git a/.yarn/cache/axobject-query-npm-2.2.0-6553738f52-96b8c7d807.zip b/.yarn/cache/axobject-query-npm-2.2.0-6553738f52-96b8c7d807.zip deleted file mode 100644 index 2324554d9533..000000000000 Binary files a/.yarn/cache/axobject-query-npm-2.2.0-6553738f52-96b8c7d807.zip and /dev/null differ diff --git a/.yarn/cache/browserslist-npm-4.21.9-f6128308c1-80d3820584.zip b/.yarn/cache/browserslist-npm-4.21.10-e2170a875b-1e27c0f111.zip similarity index 52% rename from .yarn/cache/browserslist-npm-4.21.9-f6128308c1-80d3820584.zip rename to .yarn/cache/browserslist-npm-4.21.10-e2170a875b-1e27c0f111.zip index 251e5c03b73b..35897452684a 100644 Binary files a/.yarn/cache/browserslist-npm-4.21.9-f6128308c1-80d3820584.zip and b/.yarn/cache/browserslist-npm-4.21.10-e2170a875b-1e27c0f111.zip differ diff --git a/.yarn/cache/cacheable-lookup-npm-5.0.4-8f13e8b44b-763e02cf91.zip b/.yarn/cache/cacheable-lookup-npm-5.0.4-8f13e8b44b-763e02cf91.zip deleted file mode 100644 index c51a83284201..000000000000 Binary files a/.yarn/cache/cacheable-lookup-npm-5.0.4-8f13e8b44b-763e02cf91.zip and /dev/null differ diff --git a/.yarn/cache/cacheable-lookup-npm-7.0.0-b6cd95c14a-9e2856763f.zip b/.yarn/cache/cacheable-lookup-npm-7.0.0-b6cd95c14a-9e2856763f.zip new file mode 100644 index 000000000000..346938babace Binary files /dev/null and b/.yarn/cache/cacheable-lookup-npm-7.0.0-b6cd95c14a-9e2856763f.zip differ diff --git a/.yarn/cache/cacheable-request-npm-10.2.13-5de31139f7-1a2e9a2055.zip b/.yarn/cache/cacheable-request-npm-10.2.13-5de31139f7-1a2e9a2055.zip new file mode 100644 index 000000000000..bb07867fc023 Binary files /dev/null and b/.yarn/cache/cacheable-request-npm-10.2.13-5de31139f7-1a2e9a2055.zip differ diff --git a/.yarn/cache/cacheable-request-npm-7.0.2-e64cc641fc-6152813982.zip b/.yarn/cache/cacheable-request-npm-7.0.2-e64cc641fc-6152813982.zip deleted file mode 100644 index 440f866dfa20..000000000000 Binary files a/.yarn/cache/cacheable-request-npm-7.0.2-e64cc641fc-6152813982.zip and /dev/null differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001517-43126c8553-e4e87436ae.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001517-43126c8553-e4e87436ae.zip deleted file mode 100644 index 56251df15703..000000000000 Binary files a/.yarn/cache/caniuse-lite-npm-1.0.30001517-43126c8553-e4e87436ae.zip and /dev/null differ diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip new file mode 100644 index 000000000000..12c494fb8d34 Binary files /dev/null and b/.yarn/cache/caniuse-lite-npm-1.0.30001538-68bfe8259b-94c5d55757.zip differ diff --git a/.yarn/cache/compress-brotli-npm-1.3.8-9b6ceac281-de7589d692.zip b/.yarn/cache/compress-brotli-npm-1.3.8-9b6ceac281-de7589d692.zip deleted file mode 100644 index 411a49e4e749..000000000000 Binary files a/.yarn/cache/compress-brotli-npm-1.3.8-9b6ceac281-de7589d692.zip and /dev/null differ diff --git a/.yarn/cache/compute-scroll-into-view-npm-2.0.4-c2c11d0ba3-f3d1db9276.zip b/.yarn/cache/compute-scroll-into-view-npm-2.0.4-c2c11d0ba3-f3d1db9276.zip deleted file mode 100644 index 2cbb0dd84774..000000000000 Binary files a/.yarn/cache/compute-scroll-into-view-npm-2.0.4-c2c11d0ba3-f3d1db9276.zip and /dev/null differ diff --git a/.yarn/cache/compute-scroll-into-view-npm-3.0.3-434f5634cf-7143869648.zip b/.yarn/cache/compute-scroll-into-view-npm-3.0.3-434f5634cf-7143869648.zip new file mode 100644 index 000000000000..ea1d07aab290 Binary files /dev/null and b/.yarn/cache/compute-scroll-into-view-npm-3.0.3-434f5634cf-7143869648.zip differ diff --git a/.yarn/cache/css-rule-stream-npm-1.1.0-47c810c81b-115f6c9069.zip b/.yarn/cache/css-rule-stream-npm-1.1.0-47c810c81b-115f6c9069.zip deleted file mode 100644 index 0f241d2c431d..000000000000 Binary files a/.yarn/cache/css-rule-stream-npm-1.1.0-47c810c81b-115f6c9069.zip and /dev/null differ diff --git a/.yarn/cache/doiuse-npm-4.4.1-dc565b1667-bd3346fedd.zip b/.yarn/cache/doiuse-npm-4.4.1-dc565b1667-bd3346fedd.zip deleted file mode 100644 index 7ed4f5b5df0e..000000000000 Binary files a/.yarn/cache/doiuse-npm-4.4.1-dc565b1667-bd3346fedd.zip and /dev/null differ diff --git a/.yarn/cache/doiuse-npm-6.0.2-af2cd836aa-8f9c5fee29.zip b/.yarn/cache/doiuse-npm-6.0.2-af2cd836aa-8f9c5fee29.zip new file mode 100644 index 000000000000..6dfd128d601e Binary files /dev/null and b/.yarn/cache/doiuse-npm-6.0.2-af2cd836aa-8f9c5fee29.zip differ diff --git a/.yarn/cache/downshift-npm-8.1.0-d9bdb8446d-5ede6190dc.zip b/.yarn/cache/downshift-npm-8.1.0-d9bdb8446d-5ede6190dc.zip deleted file mode 100644 index e828331522b4..000000000000 Binary files a/.yarn/cache/downshift-npm-8.1.0-d9bdb8446d-5ede6190dc.zip and /dev/null differ diff --git a/.yarn/cache/downshift-npm-8.2.0-e24ac7b2bf-3bc832dcf6.zip b/.yarn/cache/downshift-npm-8.2.0-e24ac7b2bf-3bc832dcf6.zip new file mode 100644 index 000000000000..ca6d0b393987 Binary files /dev/null and b/.yarn/cache/downshift-npm-8.2.0-e24ac7b2bf-3bc832dcf6.zip differ diff --git a/.yarn/cache/duplexer2-npm-0.0.2-ba300b4a50-ad525ad520.zip b/.yarn/cache/duplexer2-npm-0.0.2-ba300b4a50-ad525ad520.zip deleted file mode 100644 index 56a5aed9cabe..000000000000 Binary files a/.yarn/cache/duplexer2-npm-0.0.2-ba300b4a50-ad525ad520.zip and /dev/null differ diff --git a/.yarn/cache/duplexify-npm-4.1.2-7f2140a477-964376c61c.zip b/.yarn/cache/duplexify-npm-4.1.2-7f2140a477-964376c61c.zip new file mode 100644 index 000000000000..c2c634ef7431 Binary files /dev/null and b/.yarn/cache/duplexify-npm-4.1.2-7f2140a477-964376c61c.zip differ diff --git a/.yarn/cache/electron-to-chromium-npm-1.4.467-f5dc3c2fea-0ad9e61429.zip b/.yarn/cache/electron-to-chromium-npm-1.4.467-f5dc3c2fea-0ad9e61429.zip deleted file mode 100644 index 40dec5a78e21..000000000000 Binary files a/.yarn/cache/electron-to-chromium-npm-1.4.467-f5dc3c2fea-0ad9e61429.zip and /dev/null differ diff --git a/.yarn/cache/electron-to-chromium-npm-1.4.523-5bcdc6898d-c090a958af.zip b/.yarn/cache/electron-to-chromium-npm-1.4.523-5bcdc6898d-c090a958af.zip new file mode 100644 index 000000000000..63517973b293 Binary files /dev/null and b/.yarn/cache/electron-to-chromium-npm-1.4.523-5bcdc6898d-c090a958af.zip differ diff --git a/.yarn/cache/eslint-config-next-npm-12.1.4-ff2b40db45-913a1b938a.zip b/.yarn/cache/eslint-config-next-npm-12.1.4-ff2b40db45-913a1b938a.zip deleted file mode 100644 index 2e49a392c664..000000000000 Binary files a/.yarn/cache/eslint-config-next-npm-12.1.4-ff2b40db45-913a1b938a.zip and /dev/null differ diff --git a/.yarn/cache/eslint-import-resolver-node-npm-0.3.4-fa0173d267-a0db55ec26.zip b/.yarn/cache/eslint-import-resolver-node-npm-0.3.4-fa0173d267-a0db55ec26.zip deleted file mode 100644 index 1e1f2ab428b2..000000000000 Binary files a/.yarn/cache/eslint-import-resolver-node-npm-0.3.4-fa0173d267-a0db55ec26.zip and /dev/null differ diff --git a/.yarn/cache/eslint-import-resolver-typescript-npm-2.4.0-cae47bb9ea-2db0de3353.zip b/.yarn/cache/eslint-import-resolver-typescript-npm-2.4.0-cae47bb9ea-2db0de3353.zip deleted file mode 100644 index 4939868e95dc..000000000000 Binary files a/.yarn/cache/eslint-import-resolver-typescript-npm-2.4.0-cae47bb9ea-2db0de3353.zip and /dev/null differ diff --git a/.yarn/cache/eslint-plugin-import-npm-2.25.2-98db0f107a-4ca36e37fa.zip b/.yarn/cache/eslint-plugin-import-npm-2.25.2-98db0f107a-4ca36e37fa.zip deleted file mode 100644 index c7b2ba0cc39c..000000000000 Binary files a/.yarn/cache/eslint-plugin-import-npm-2.25.2-98db0f107a-4ca36e37fa.zip and /dev/null differ diff --git a/.yarn/cache/eslint-plugin-jsx-a11y-npm-6.5.1-ea493bf2f2-311ab993ed.zip b/.yarn/cache/eslint-plugin-jsx-a11y-npm-6.5.1-ea493bf2f2-311ab993ed.zip deleted file mode 100644 index 898dc2bd309c..000000000000 Binary files a/.yarn/cache/eslint-plugin-jsx-a11y-npm-6.5.1-ea493bf2f2-311ab993ed.zip and /dev/null differ diff --git a/.yarn/cache/eslint-plugin-react-hooks-npm-4.3.0-290cb54ea5-0ba1566ba0.zip b/.yarn/cache/eslint-plugin-react-hooks-npm-4.3.0-290cb54ea5-0ba1566ba0.zip deleted file mode 100644 index 8a8a22dbd2c9..000000000000 Binary files a/.yarn/cache/eslint-plugin-react-hooks-npm-4.3.0-290cb54ea5-0ba1566ba0.zip and /dev/null differ diff --git a/.yarn/cache/eslint-plugin-react-npm-7.29.1-1faecd24d9-d1d0d267d2.zip b/.yarn/cache/eslint-plugin-react-npm-7.29.1-1faecd24d9-d1d0d267d2.zip deleted file mode 100644 index ee0cc3509bbf..000000000000 Binary files a/.yarn/cache/eslint-plugin-react-npm-7.29.1-1faecd24d9-d1d0d267d2.zip and /dev/null differ diff --git a/.yarn/cache/form-data-encoder-npm-2.1.4-6f48cca6c9-e0b3e5950f.zip b/.yarn/cache/form-data-encoder-npm-2.1.4-6f48cca6c9-e0b3e5950f.zip new file mode 100644 index 000000000000..b9c84d74ba50 Binary files /dev/null and b/.yarn/cache/form-data-encoder-npm-2.1.4-6f48cca6c9-e0b3e5950f.zip differ diff --git a/.yarn/cache/got-npm-11.8.5-787b5e3116-2de8a1bbda.zip b/.yarn/cache/got-npm-11.8.5-787b5e3116-2de8a1bbda.zip deleted file mode 100644 index a05c85407540..000000000000 Binary files a/.yarn/cache/got-npm-11.8.5-787b5e3116-2de8a1bbda.zip and /dev/null differ diff --git a/.yarn/cache/got-npm-13.0.0-dfca67e32e-bcae6601ef.zip b/.yarn/cache/got-npm-13.0.0-dfca67e32e-bcae6601ef.zip new file mode 100644 index 000000000000..b9c1f581fa0e Binary files /dev/null and b/.yarn/cache/got-npm-13.0.0-dfca67e32e-bcae6601ef.zip differ diff --git a/.yarn/cache/http2-wrapper-npm-1.0.3-5b58ade1df-74160b862e.zip b/.yarn/cache/http2-wrapper-npm-1.0.3-5b58ade1df-74160b862e.zip deleted file mode 100644 index 6aac8cd8deca..000000000000 Binary files a/.yarn/cache/http2-wrapper-npm-1.0.3-5b58ade1df-74160b862e.zip and /dev/null differ diff --git a/.yarn/cache/http2-wrapper-npm-2.2.0-6fbf58bfd7-6fd20e5cb6.zip b/.yarn/cache/http2-wrapper-npm-2.2.0-6fbf58bfd7-6fd20e5cb6.zip new file mode 100644 index 000000000000..02867c1dbde1 Binary files /dev/null and b/.yarn/cache/http2-wrapper-npm-2.2.0-6fbf58bfd7-6fd20e5cb6.zip differ diff --git a/.yarn/cache/keyv-npm-4.3.0-7ecb744188-abcb5885fc.zip b/.yarn/cache/keyv-npm-4.3.0-7ecb744188-abcb5885fc.zip deleted file mode 100644 index ba1ac953f9e5..000000000000 Binary files a/.yarn/cache/keyv-npm-4.3.0-7ecb744188-abcb5885fc.zip and /dev/null differ diff --git a/.yarn/cache/keyv-npm-4.5.3-d2382300dd-3ffb4d5b72.zip b/.yarn/cache/keyv-npm-4.5.3-d2382300dd-3ffb4d5b72.zip new file mode 100644 index 000000000000..c3936d8b7008 Binary files /dev/null and b/.yarn/cache/keyv-npm-4.5.3-d2382300dd-3ffb4d5b72.zip differ diff --git a/.yarn/cache/lowercase-keys-npm-3.0.0-f8c4730215-67a3f81409.zip b/.yarn/cache/lowercase-keys-npm-3.0.0-f8c4730215-67a3f81409.zip new file mode 100644 index 000000000000..013831902597 Binary files /dev/null and b/.yarn/cache/lowercase-keys-npm-3.0.0-f8c4730215-67a3f81409.zip differ diff --git a/.yarn/cache/mimic-response-npm-4.0.0-c080547e26-33b804cc96.zip b/.yarn/cache/mimic-response-npm-4.0.0-c080547e26-33b804cc96.zip new file mode 100644 index 000000000000..78c961b11069 Binary files /dev/null and b/.yarn/cache/mimic-response-npm-4.0.0-c080547e26-33b804cc96.zip differ diff --git a/.yarn/cache/node-releases-npm-2.0.12-888ed1398a-b8c56db82c.zip b/.yarn/cache/node-releases-npm-2.0.12-888ed1398a-b8c56db82c.zip deleted file mode 100644 index 96ca378cd785..000000000000 Binary files a/.yarn/cache/node-releases-npm-2.0.12-888ed1398a-b8c56db82c.zip and /dev/null differ diff --git a/.yarn/cache/node-releases-npm-2.0.13-1f2e177887-17ec8f315d.zip b/.yarn/cache/node-releases-npm-2.0.13-1f2e177887-17ec8f315d.zip new file mode 100644 index 000000000000..0a118e0cd60f Binary files /dev/null and b/.yarn/cache/node-releases-npm-2.0.13-1f2e177887-17ec8f315d.zip differ diff --git a/.yarn/cache/normalize-url-npm-8.0.0-1f5dc7ece5-24c20b75eb.zip b/.yarn/cache/normalize-url-npm-8.0.0-1f5dc7ece5-24c20b75eb.zip new file mode 100644 index 000000000000..b566cf13fc00 Binary files /dev/null and b/.yarn/cache/normalize-url-npm-8.0.0-1f5dc7ece5-24c20b75eb.zip differ diff --git a/.yarn/cache/p-cancelable-npm-2.1.1-9388305f02-3dba12b4fb.zip b/.yarn/cache/p-cancelable-npm-2.1.1-9388305f02-3dba12b4fb.zip deleted file mode 100644 index 536701e587eb..000000000000 Binary files a/.yarn/cache/p-cancelable-npm-2.1.1-9388305f02-3dba12b4fb.zip and /dev/null differ diff --git a/.yarn/cache/p-cancelable-npm-3.0.0-e6c8101c97-2b5ae34218.zip b/.yarn/cache/p-cancelable-npm-3.0.0-e6c8101c97-2b5ae34218.zip new file mode 100644 index 000000000000..8bcd9248853a Binary files /dev/null and b/.yarn/cache/p-cancelable-npm-3.0.0-e6c8101c97-2b5ae34218.zip differ diff --git a/.yarn/cache/postcss-npm-8.4.24-07c10836e5-814e2126da.zip b/.yarn/cache/postcss-npm-8.4.24-07c10836e5-814e2126da.zip deleted file mode 100644 index 4c906e381d2a..000000000000 Binary files a/.yarn/cache/postcss-npm-8.4.24-07c10836e5-814e2126da.zip and /dev/null differ diff --git a/.yarn/cache/postcss-npm-8.4.29-2319a64d31-dd6daa25e7.zip b/.yarn/cache/postcss-npm-8.4.29-2319a64d31-dd6daa25e7.zip new file mode 100644 index 000000000000..25faf3de5009 Binary files /dev/null and b/.yarn/cache/postcss-npm-8.4.29-2319a64d31-dd6daa25e7.zip differ diff --git a/.yarn/cache/postcss-sorting-npm-5.0.1-0decb0526c-0a410afab4.zip b/.yarn/cache/postcss-sorting-npm-5.0.1-0decb0526c-0a410afab4.zip deleted file mode 100644 index b82175da872d..000000000000 Binary files a/.yarn/cache/postcss-sorting-npm-5.0.1-0decb0526c-0a410afab4.zip and /dev/null differ diff --git a/.yarn/cache/postcss-sorting-npm-8.0.2-d9f7d43c59-ebb5cc6a29.zip b/.yarn/cache/postcss-sorting-npm-8.0.2-d9f7d43c59-ebb5cc6a29.zip new file mode 100644 index 000000000000..a3ea9640867b Binary files /dev/null and b/.yarn/cache/postcss-sorting-npm-8.0.2-d9f7d43c59-ebb5cc6a29.zip differ diff --git a/.yarn/cache/regenerator-runtime-npm-0.14.0-e060897cf7-1c977ad82a.zip b/.yarn/cache/regenerator-runtime-npm-0.14.0-e060897cf7-1c977ad82a.zip new file mode 100644 index 000000000000..743dca6a4efd Binary files /dev/null and b/.yarn/cache/regenerator-runtime-npm-0.14.0-e060897cf7-1c977ad82a.zip differ diff --git a/.yarn/cache/responselike-npm-2.0.0-7813864e97-6a4d32c37d.zip b/.yarn/cache/responselike-npm-2.0.0-7813864e97-6a4d32c37d.zip deleted file mode 100644 index 8a908923f746..000000000000 Binary files a/.yarn/cache/responselike-npm-2.0.0-7813864e97-6a4d32c37d.zip and /dev/null differ diff --git a/.yarn/cache/responselike-npm-3.0.0-9ab07af81f-e0cc9be30d.zip b/.yarn/cache/responselike-npm-3.0.0-9ab07af81f-e0cc9be30d.zip new file mode 100644 index 000000000000..6e1abaf725bd Binary files /dev/null and b/.yarn/cache/responselike-npm-3.0.0-9ab07af81f-e0cc9be30d.zip differ diff --git a/.yarn/cache/source-map-npm-0.7.3-e3b4f7982a-cd24efb3b8.zip b/.yarn/cache/source-map-npm-0.7.3-e3b4f7982a-cd24efb3b8.zip deleted file mode 100644 index 8803e46123ae..000000000000 Binary files a/.yarn/cache/source-map-npm-0.7.3-e3b4f7982a-cd24efb3b8.zip and /dev/null differ diff --git a/.yarn/cache/source-map-npm-0.7.4-bc8d018ab6-01cc5a74b1.zip b/.yarn/cache/source-map-npm-0.7.4-bc8d018ab6-01cc5a74b1.zip new file mode 100644 index 000000000000..fb768e26fa2d Binary files /dev/null and b/.yarn/cache/source-map-npm-0.7.4-bc8d018ab6-01cc5a74b1.zip differ diff --git a/.yarn/cache/stylelint-config-idiomatic-order-npm-8.1.0-c769509414-f83ebfb90a.zip b/.yarn/cache/stylelint-config-idiomatic-order-npm-8.1.0-c769509414-f83ebfb90a.zip deleted file mode 100644 index a2d295861a55..000000000000 Binary files a/.yarn/cache/stylelint-config-idiomatic-order-npm-8.1.0-c769509414-f83ebfb90a.zip and /dev/null differ diff --git a/.yarn/cache/stylelint-config-idiomatic-order-npm-9.0.0-62b2b267ed-ff94270244.zip b/.yarn/cache/stylelint-config-idiomatic-order-npm-9.0.0-62b2b267ed-ff94270244.zip new file mode 100644 index 000000000000..d28428449a21 Binary files /dev/null and b/.yarn/cache/stylelint-config-idiomatic-order-npm-9.0.0-62b2b267ed-ff94270244.zip differ diff --git a/.yarn/cache/stylelint-config-recommended-npm-6.0.0-67cddf9dd5-103b3c1222.zip b/.yarn/cache/stylelint-config-recommended-npm-6.0.0-67cddf9dd5-103b3c1222.zip deleted file mode 100644 index 30302a3d7b4d..000000000000 Binary files a/.yarn/cache/stylelint-config-recommended-npm-6.0.0-67cddf9dd5-103b3c1222.zip and /dev/null differ diff --git a/.yarn/cache/stylelint-config-standard-npm-24.0.0-dfa9aff315-5993ede913.zip b/.yarn/cache/stylelint-config-standard-npm-24.0.0-dfa9aff315-5993ede913.zip deleted file mode 100644 index 97a1631da76f..000000000000 Binary files a/.yarn/cache/stylelint-config-standard-npm-24.0.0-dfa9aff315-5993ede913.zip and /dev/null differ diff --git a/.yarn/cache/stylelint-no-unsupported-browser-features-npm-5.0.2-89258a4e95-73331cffcd.zip b/.yarn/cache/stylelint-no-unsupported-browser-features-npm-5.0.2-89258a4e95-73331cffcd.zip deleted file mode 100644 index 037dca925c0f..000000000000 Binary files a/.yarn/cache/stylelint-no-unsupported-browser-features-npm-5.0.2-89258a4e95-73331cffcd.zip and /dev/null differ diff --git a/.yarn/cache/stylelint-no-unsupported-browser-features-npm-7.0.0-423aad8fd8-a8aca2fe01.zip b/.yarn/cache/stylelint-no-unsupported-browser-features-npm-7.0.0-423aad8fd8-a8aca2fe01.zip new file mode 100644 index 000000000000..339e26d34e29 Binary files /dev/null and b/.yarn/cache/stylelint-no-unsupported-browser-features-npm-7.0.0-423aad8fd8-a8aca2fe01.zip differ diff --git a/.yarn/cache/stylelint-order-npm-3.1.1-a1e6477dbd-35388f28bd.zip b/.yarn/cache/stylelint-order-npm-3.1.1-a1e6477dbd-35388f28bd.zip deleted file mode 100644 index b46765be8b88..000000000000 Binary files a/.yarn/cache/stylelint-order-npm-3.1.1-a1e6477dbd-35388f28bd.zip and /dev/null differ diff --git a/.yarn/cache/stylelint-order-npm-6.0.3-64aacb26f0-dc2883a8a7.zip b/.yarn/cache/stylelint-order-npm-6.0.3-64aacb26f0-dc2883a8a7.zip new file mode 100644 index 000000000000..a3affb1067d1 Binary files /dev/null and b/.yarn/cache/stylelint-order-npm-6.0.3-64aacb26f0-dc2883a8a7.zip differ diff --git a/.yarn/cache/tslib-npm-2.6.0-4d336a6824-c01066038f.zip b/.yarn/cache/tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip similarity index 68% rename from .yarn/cache/tslib-npm-2.6.0-4d336a6824-c01066038f.zip rename to .yarn/cache/tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip index dc828cd164c3..3424b4443d8e 100644 Binary files a/.yarn/cache/tslib-npm-2.6.0-4d336a6824-c01066038f.zip and b/.yarn/cache/tslib-npm-2.6.2-4fc8c068d9-329ea56123.zip differ diff --git a/CODEOWNERS b/CODEOWNERS index f19950dfa6c8..b99d334964c8 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -15,5 +15,5 @@ **/PublicAPI-test.js @carbon-design-system/release @carbon-design-system/developers-system **/PublicAPI-test.js.snap @carbon-design-system/release @carbon-design-system/developers-system -# Admins should be notified of changes to CI/CD workflows -/.github/workflows @tay1orjones +# Admins and team should be notified of changes to CI/CD workflows +/.github/workflows @tay1orjones @carbon-design-system/developers-system diff --git a/README.md b/README.md index aec72f0170bf..2118c5c3ba11 100644 --- a/README.md +++ b/README.md @@ -251,9 +251,9 @@ check out our [Contributing Guide](/.github/CONTRIBUTING.md) and our
David Ragsdale

💻
Hao Cheng

💻 -
Aziz Chebbi

💻 📖
cordesmj

💻
Aziz Chebbi

💻 +
Michał Konopski

💻 diff --git a/actions/promote/index.js b/actions/promote/index.js index 53c2fccbb98e..0152ab69ceff 100644 --- a/actions/promote/index.js +++ b/actions/promote/index.js @@ -4,15 +4,12 @@ * 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 core = require('@actions/core'); -const execa = require('execa'); -const glob = require('fast-glob'); -const fs = require('fs-extra'); -const got = require('got'); -const path = require('path'); +import core from '@actions/core'; +import execa from 'execa'; +import glob from 'fast-glob'; +import fs from 'fs-extra'; +import got from 'got'; +import path from 'path'; const denylist = new Set(['carbon-components', '@carbon/icons-vue']); diff --git a/actions/promote/package.json b/actions/promote/package.json index c17ac1a3f1e3..b51fc29f9273 100644 --- a/actions/promote/package.json +++ b/actions/promote/package.json @@ -1,11 +1,12 @@ { "name": "promote-packages-to-latest", "private": true, + "type": "module", "dependencies": { "@actions/core": "^1.8.2", "execa": "^5.1.1", "fast-glob": "^3.2.11", "fs-extra": "^11.0.0", - "got": "^11.8.0" + "got": "^13.0.0" } } diff --git a/actions/wait-for-it/package.json b/actions/wait-for-it/package.json index 8f1708ed334f..13080d83cb6e 100644 --- a/actions/wait-for-it/package.json +++ b/actions/wait-for-it/package.json @@ -3,6 +3,7 @@ "private": true, "version": "0.0.0", "license": "Apache-2.0", + "type": "module", "repository": { "type": "git", "url": "https://github.com/carbon-design-system/carbon.git", @@ -17,7 +18,7 @@ "react" ], "dependencies": { - "@actions/core": "^1.2.3", - "got": "^11.8.5" + "@actions/core": "^1.10.0", + "got": "^13.0.0" } } diff --git a/actions/wait-for-it/src/index.js b/actions/wait-for-it/src/index.js index ce7c220c3eec..cced602cf738 100644 --- a/actions/wait-for-it/src/index.js +++ b/actions/wait-for-it/src/index.js @@ -4,11 +4,8 @@ * 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 core = require('@actions/core'); -const got = require('got'); +import core from '@actions/core'; +import got from 'got'; async function main() { let url = core.getInput('URL', { @@ -23,6 +20,9 @@ async function main() { url = url.replace('localhost', '172.17.0.1'); } + // As of got v12, legacy Url instances are not supported anymore. You need to use WHATWG URL instead. + url = new URL(url); + core.info(`Waiting for a 200 response from ${url}`); try { @@ -32,7 +32,7 @@ async function main() { limit: 10, maxRetryAfter: 1000, }, - timeout: 1000, + timeout: { request: 1000 }, }); core.info(`Received a 200 response from ${url}`); } catch (error) { diff --git a/config/stylelint-config-carbon/package.json b/config/stylelint-config-carbon/package.json index 78cd07d7da87..a12cbba46695 100644 --- a/config/stylelint-config-carbon/package.json +++ b/config/stylelint-config-carbon/package.json @@ -1,7 +1,7 @@ { "name": "stylelint-config-carbon", "description": "Stylelint configuration for Carbon", - "version": "1.15.0", + "version": "1.16.0", "license": "Apache-2.0", "main": "index.js", "repository": { @@ -28,12 +28,12 @@ }, "dependencies": { "stylelint-a11y": "^1.2.3", - "stylelint-config-idiomatic-order": "^8.1.0", + "stylelint-config-idiomatic-order": "^9.0.0", "stylelint-config-prettier": "^9.0.3", - "stylelint-config-standard": "^24.0.0", + "stylelint-config-standard": "^34.0.0", "stylelint-config-standard-scss": "^11.0.0", - "stylelint-no-unsupported-browser-features": "^5.0.2", - "stylelint-order": "^5.0.0", + "stylelint-no-unsupported-browser-features": "^7.0.0", + "stylelint-order": "^6.0.0", "stylelint-prettier": "^2.0.0", "stylelint-scss": "^4.1.0", "stylelint-use-logical": "^2.1.0" diff --git a/docs/release-schedule.md b/docs/release-schedule.md index 35596c883c3c..17833f2b25e3 100644 --- a/docs/release-schedule.md +++ b/docs/release-schedule.md @@ -7,7 +7,7 @@ major versions of the Carbon Design System. | ------- | ----------- | --------------- | ------------ | ----------------- | ----------- | | `main` | unstable | unstable | unstable | unstable | unstable | | v9 | End of life | 2018-06-04 | 2018-06-04 | 2019-03-29 | 2022-03-31 | -| v10 | Maintenance | 2019-03-29 | 2019-03-29 | 2022-03-31 | 2024-09-31 | +| v10 | Maintenance | 2019-03-29 | 2019-03-29 | 2022-03-31 | 2024-09-30 | | v11 | Active | 2021-08-06 | 2022-03-31 | 2025-03-31 | 2027-03-31 | | v12 | Unreleased | 2024-08-01 | 2025-03-31 | 2027-03-31 | 2029-03-31 | diff --git a/docs/style.md b/docs/style.md index 9a53a360e503..f42095cc85f6 100644 --- a/docs/style.md +++ b/docs/style.md @@ -439,10 +439,12 @@ function MyComponent({ translateWithId: t = translateWithId }) { return ( <> - The current count is: - {t('carbon.component-name.display-count'), translationState} + + The current count is: + {t('carbon.component-name.display-count', translationState)} + ); diff --git a/docs/testing.md b/docs/testing.md index 9f2237de7ee0..b25eaeef4715 100644 --- a/docs/testing.md +++ b/docs/testing.md @@ -63,7 +63,7 @@ cd packages/react yarn storybook ``` -One the storybook is loaded, you can run tests against is using the storybook +Once the storybook is loaded, you can run tests against it using the storybook test-utils found in `e2e/test-utils/storybook`. A common use-case for testing a component is to use Percy to take a snapshot of a component in a particular theme from a specific story in storybook. @@ -122,7 +122,7 @@ against. #### Working with snapshots locally Sometimes you'll want to debug snapshots locally instead of relying on an -externaly service to get feedback. To do so, you can use the +external service to get feedback. To do so, you can use the `ENABLE_LOCAL_SNAPSHOTS` environment variable to store snapshots locally. Almost any playwright command you run can be prefixed with this value in order to store screenshots locally. @@ -137,13 +137,13 @@ screenshots locally** The first time you'll run this command, it will need to generate the baseline snapshots for this component. The second time you run it, it will compare the snapshots for the current page with what is stored in the screenshot. If the two -do not match, playwright will report a failure and will provide a link to the +do not match, Playwright will report a failure and will provide a link to the diff image on your machine. ## FAQ ### Why am I seeing `browserType.launch: Executable doesn't exist at ../path`? -The browser executables need to be installed so that playwright can run tests -inside chromium, firefox, etc. They can be installed by running +The browser executables need to be installed so that Playwright can run tests +inside Chromium, Firefox, etc. They can be installed by running `yarn playwright install` diff --git a/e2e/components/Checkbox/Checkbox-test.avt.e2e.js b/e2e/components/Checkbox/Checkbox-test.avt.e2e.js new file mode 100644 index 000000000000..846c0d6d9777 --- /dev/null +++ b/e2e/components/Checkbox/Checkbox-test.avt.e2e.js @@ -0,0 +1,111 @@ +/** + * 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'; + +import { expect, test } from '@playwright/test'; +import { visitStory } from '../../test-utils/storybook'; + +test.describe('Checkbox @avt', () => { + test('@avt-default-state', async ({ page }) => { + await visitStory(page, { + component: 'Checkbox', + id: 'components-checkbox--default', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('Checkbox'); + }); + + test('@avt-advanced-states single', async ({ page }) => { + await visitStory(page, { + component: 'Checkbox', + id: 'components-checkbox--single', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('Checkbox-single'); + }); + + test('@avt-advanced-states skeleton', async ({ page }) => { + await visitStory(page, { + component: 'Checkbox', + id: 'components-checkbox--skeleton', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('Checkbox-skeleton'); + }); + + test('@avt-keyboard-nav default', async ({ page }) => { + await visitStory(page, { + component: 'Checkbox', + id: 'components-checkbox--default', + globals: { + theme: 'white', + }, + }); + const checkbox1 = page.locator('input#checkbox-label-1'); + + await expect(checkbox1).toBeVisible(); + await page.keyboard.press('Tab'); + await expect(checkbox1).toBeFocused(); + + // Checking checkbox + await page.keyboard.press('Space'); + await expect(checkbox1).toBeChecked(); + + // Unchecking checkbox + await page.keyboard.press('Space'); + await expect(checkbox1).not.toBeChecked(); + }); + + test('@avt-keyboard-nav single', async ({ page }) => { + await visitStory(page, { + component: 'Checkbox', + id: 'components-checkbox--single', + globals: { + theme: 'white', + }, + }); + const checkbox3 = page.locator('input#checkbox-3'); + const checkbox4 = page.locator('input#checkbox-4'); + const checkbox5 = page.locator('input#checkbox-5'); + const checkbox6 = page.locator('input#checkbox-6'); + + // Check the first checkbox 3 + await expect(checkbox3).toBeVisible(); + await page.keyboard.press('Tab'); + await expect(checkbox3).toBeFocused(); + await page.keyboard.press('Space'); + await expect(checkbox3).toBeChecked(); + + // Check the first checkbox 4 + await expect(checkbox4).toBeVisible(); + await page.keyboard.press('Tab'); + await expect(checkbox4).toBeFocused(); + await page.keyboard.press('Space'); + await expect(checkbox4).toBeChecked(); + + // Check the first checkbox 5 + await expect(checkbox5).toBeVisible(); + await page.keyboard.press('Tab'); + await expect(checkbox5).toBeFocused(); + await page.keyboard.press('Space'); + await expect(checkbox5).toBeChecked(); + + // Checking if the checkbox is readonly + await expect(checkbox6).toBeVisible(); + await page.keyboard.press('Tab'); + await expect(checkbox6).toBeFocused(); + await page.keyboard.press('Space'); + await expect(checkbox6).not.toBeChecked(); + }); +}); diff --git a/e2e/components/Checkbox/Checkbox-test.e2e.js b/e2e/components/Checkbox/Checkbox-test.e2e.js index bde867d5c46d..595f10a1fa0b 100644 --- a/e2e/components/Checkbox/Checkbox-test.e2e.js +++ b/e2e/components/Checkbox/Checkbox-test.e2e.js @@ -7,9 +7,9 @@ 'use strict'; -const { expect, test } = require('@playwright/test'); +const { test } = require('@playwright/test'); const { themes } = require('../../test-utils/env'); -const { snapshotStory, visitStory } = require('../../test-utils/storybook'); +const { snapshotStory } = require('../../test-utils/storybook'); test.describe('Checkbox', () => { themes.forEach((theme) => { @@ -23,15 +23,4 @@ test.describe('Checkbox', () => { }); }); }); - - test('accessibility-checker @avt', async ({ page }) => { - await visitStory(page, { - component: 'Checkbox', - id: 'components-checkbox--default', - globals: { - theme: 'white', - }, - }); - await expect(page).toHaveNoACViolations('Checkbox'); - }); }); diff --git a/e2e/components/ComboButton/ComboButton-test.avt.e2e.js b/e2e/components/ComboButton/ComboButton-test.avt.e2e.js new file mode 100644 index 000000000000..96b02374f692 --- /dev/null +++ b/e2e/components/ComboButton/ComboButton-test.avt.e2e.js @@ -0,0 +1,98 @@ +/** + * Copyright IBM Corp. 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'; + +import { expect, test } from '@playwright/test'; +import { visitStory } from '../../test-utils/storybook'; + +test.describe('ComboButton @avt', () => { + test('@avt-default-state ComboButton ', async ({ page }) => { + await visitStory(page, { + component: 'ComboButton', + id: 'components-combobutton--default', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('ComboButton'); + }); + + test('@avt-advanced-states ComboButton With Danger ', async ({ page }) => { + await visitStory(page, { + component: 'ComboButton', + id: 'components-combobutton--with-danger', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('ComboButton-with-danger'); + }); + + test('@avt-keyboard-nav ComboButton', async ({ page }) => { + await visitStory(page, { + component: 'ComboButton', + id: 'components-combobutton--default', + globals: { + theme: 'white', + }, + }); + const primaryButton = page.getByRole('button', { name: 'Primary action' }); + const iconButton = page.locator('button.cds--btn--icon-only'); + + // Testing buttons + await expect(primaryButton).toBeVisible(); + await page.keyboard.press('Tab'); + await expect(primaryButton).toBeFocused(); + await page.keyboard.press('Enter'); + await page.keyboard.press('Tab'); + await expect(iconButton).toBeFocused(); + + // Checking menu interaction + await page.keyboard.press('Enter'); + await expect(page.getByRole('menuitem').first()).toBeFocused(); + await page.keyboard.press('ArrowDown'); + await expect(page.getByRole('menuitem').nth(1)).toBeFocused(); + await page.keyboard.press('Escape'); + await expect(page.getByRole('menuitem').first()).not.toBeVisible(); + }); + + test('@avt-keyboard-nav ComboButton with danger', async ({ page }) => { + await visitStory(page, { + component: 'ComboButton', + id: 'components-combobutton--with-danger', + globals: { + theme: 'white', + }, + }); + const primaryButton = page.getByRole('button', { name: 'Primary action' }); + const iconButton = page.locator('button.cds--btn--icon-only'); + + // Testing buttons + await expect(primaryButton).toBeVisible(); + await page.keyboard.press('Tab'); + await expect(primaryButton).toBeFocused(); + await page.keyboard.press('Enter'); + await page.keyboard.press('Tab'); + await expect(iconButton).toBeFocused(); + + // Checking menu interaction + await page.keyboard.press('Enter'); + await expect(page.getByRole('menuitem').first()).toBeFocused(); + await page.keyboard.press('ArrowDown'); + await page.keyboard.press('ArrowDown'); + await page.keyboard.press('ArrowDown'); + // Checking danger button + await expect(page.getByRole('menuitem').nth(3)).toBeFocused(); + await expect(page.getByRole('menuitem').nth(3)).toHaveClass( + /cds--menu-item--danger/ + ); + // Selecting the item to close the menu + await page.keyboard.press('Enter'); + await expect(page.getByRole('menuitem').first()).not.toBeVisible(); + }); +}); diff --git a/e2e/components/ComboButton/ComboButton-test.e2e.js b/e2e/components/ComboButton/ComboButton-test.e2e.js index c528e77840b9..9e943df82605 100644 --- a/e2e/components/ComboButton/ComboButton-test.e2e.js +++ b/e2e/components/ComboButton/ComboButton-test.e2e.js @@ -7,9 +7,9 @@ 'use strict'; -const { expect, test } = require('@playwright/test'); +const { test } = require('@playwright/test'); const { themes } = require('../../test-utils/env'); -const { snapshotStory, visitStory } = require('../../test-utils/storybook'); +const { snapshotStory } = require('../../test-utils/storybook'); test.describe('ComboButton', () => { themes.forEach((theme) => { @@ -23,15 +23,4 @@ test.describe('ComboButton', () => { }); }); }); - - test('accessibility-checker @avt', async ({ page }) => { - await visitStory(page, { - component: 'ComboButton', - id: 'components-combobutton--default', - globals: { - theme: 'white', - }, - }); - await expect(page).toHaveNoACViolations('ComboButton'); - }); }); diff --git a/e2e/components/ComposedModal/ComposedModal-test.avt.e2e.js b/e2e/components/ComposedModal/ComposedModal-test.avt.e2e.js new file mode 100644 index 000000000000..c74de0e7c64e --- /dev/null +++ b/e2e/components/ComposedModal/ComposedModal-test.avt.e2e.js @@ -0,0 +1,172 @@ +/** + * 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('ComposedModal', () => { + test('@avt-default-state ComposedModal', async ({ page }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--default', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('ComposedModal'); + }); + + test('@avt-advanced-state ComposedModal Full Width', async ({ page }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--full-width', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('ComposedModal-full-width'); + }); + + test.skip('@avt-advanced-state ComposedModal Passive Modal', async ({ + page, + }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--passive-modal', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('ComposedModal-passive-modal'); + }); + + test('@avt-advanced-state ComposedModal With state manager', async ({ + page, + }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--with-state-manager', + globals: { + theme: 'white', + }, + }); + await expect(page).toHaveNoACViolations('ComposedModal-with-state-manager'); + }); + + test('@avt-keyboard-state ComposedModal', async ({ page }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--default', + globals: { + theme: 'white', + }, + }); + await expect(page.getByText('Account resource')).toBeVisible(); + + // First item should be focused + await expect(page.locator('input#text-input-1')).toBeVisible(); + await expect(page.locator('input#text-input-1')).toBeFocused(); + // Testing navigation inside the modal + await page.keyboard.press('Tab'); + await expect(page.locator('select#select-1')).toBeFocused(); + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Cancel' })).toBeFocused(); + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Add' })).toBeFocused(); + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Close' })).toBeFocused(); + await page.keyboard.press('Enter'); + // Make sure modal was closed + await expect(page.getByText('Account resource')).not.toBeVisible(); + }); + + test('@avt-keyboard-state ComposedModal Full width', async ({ page }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--full-width', + globals: { + theme: 'white', + }, + }); + await expect(page.getByText('Full Width Modal')).toBeVisible(); + + // First item should be focused + await expect(page.getByRole('button', { name: 'Add' })).toBeFocused(); + + // Testing navigation inside the modal + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Close' })).toBeFocused(); + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Cancel' })).toBeFocused(); + await page.keyboard.press('Enter'); + // Make sure modal was closed + await expect(page.getByText('Full Width Modal')).not.toBeVisible(); + }); + + test('@avt-keyboard-state ComposedModal Passive modal', async ({ page }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--passive-modal', + globals: { + theme: 'white', + }, + }); + await expect( + page.getByText('You have been successfully signed out') + ).toBeVisible(); + + await page.getByRole('button', { name: 'Close' }).click(); + + // Make sure modal was closed + await expect( + page.getByText('You have been successfully signed out') + ).not.toBeVisible(); + }); + + test('@avt-keyboard-state ComposedModal With state manager', async ({ + page, + }) => { + await visitStory(page, { + component: 'ComposedModal', + id: 'components-composedmodal--with-state-manager', + globals: { + theme: 'white', + }, + }); + await expect( + page.getByRole('button', { name: 'Launch composed modal' }) + ).toBeVisible(); + await expect( + page.getByRole('button', { name: 'Launch composed modal' }) + ).toBeFocused(); + + // Open modal + await page.keyboard.press('Enter'); + + // First item should be focused + await expect(page.locator('input#text-input-1')).toBeVisible(); + await expect(page.locator('input#text-input-1')).toBeFocused(); + // Testing navigation inside the modal + await page.keyboard.press('Tab'); + await expect(page.locator('select#select-1')).toBeFocused(); + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Cancel' })).toBeFocused(); + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Add' })).toBeFocused(); + await page.keyboard.press('Tab'); + await expect(page.getByRole('button', { name: 'Close' })).toBeFocused(); + await page.keyboard.press('Enter'); + // Make sure modal was closed and button gets focused + await expect(page.getByText('Account resource')).not.toBeVisible(); + await expect(page.getByRole('button')).toBeFocused(); + await expect( + page.getByRole('button', { name: 'Launch composed modal' }) + ).toBeFocused(); + }); +}); diff --git a/e2e/components/ComposedModal/ComposedModal-test.e2e.js b/e2e/components/ComposedModal/ComposedModal-test.e2e.js index 165f6e1f9c8c..277a5dc9c8e4 100644 --- a/e2e/components/ComposedModal/ComposedModal-test.e2e.js +++ b/e2e/components/ComposedModal/ComposedModal-test.e2e.js @@ -7,9 +7,9 @@ 'use strict'; -const { expect, test } = require('@playwright/test'); +const { test } = require('@playwright/test'); const { themes } = require('../../test-utils/env'); -const { snapshotStory, visitStory } = require('../../test-utils/storybook'); +const { snapshotStory } = require('../../test-utils/storybook'); test.describe('ComposedModal', () => { themes.forEach((theme) => { @@ -46,15 +46,4 @@ test.describe('ComposedModal', () => { }); }); }); - - test('accessibility-checker @avt', async ({ page }) => { - await visitStory(page, { - component: 'ComposedModal', - id: 'components-composedmodal--default', - globals: { - theme: 'white', - }, - }); - await expect(page).toHaveNoACViolations('ComposedModal'); - }); }); diff --git a/examples/class-prefix/package.json b/examples/class-prefix/package.json index e5d5e74786eb..5374b24f80c4 100644 --- a/examples/class-prefix/package.json +++ b/examples/class-prefix/package.json @@ -1,7 +1,7 @@ { "name": "class-prefix", "private": true, - "version": "0.35.0", + "version": "0.36.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.38.0", + "@carbon/react": "^1.39.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 1be9c2b347da..766858f63b58 100644 --- a/examples/codesandbox-styles/package.json +++ b/examples/codesandbox-styles/package.json @@ -1,7 +1,7 @@ { "name": "codesandbox-styles", "private": true, - "version": "0.41.0", + "version": "0.42.0", "type": "module", "scripts": { "dev": "vite" @@ -11,6 +11,6 @@ "vite": "^4.3.8" }, "dependencies": { - "@carbon/styles": "^1.38.0" + "@carbon/styles": "^1.39.0" } } diff --git a/examples/codesandbox-with-sass-compilation/package.json b/examples/codesandbox-with-sass-compilation/package.json index ddfae5e8be58..f6734ce133ed 100644 --- a/examples/codesandbox-with-sass-compilation/package.json +++ b/examples/codesandbox-with-sass-compilation/package.json @@ -1,9 +1,9 @@ { "name": "codesandbox-with-sass-compilation", - "version": "0.39.0", + "version": "0.40.0", "private": true, "dependencies": { - "@carbon/react": "^1.38.0", + "@carbon/react": "^1.39.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/examples/codesandbox/package.json b/examples/codesandbox/package.json index 486907fed232..31fcde8cea61 100644 --- a/examples/codesandbox/package.json +++ b/examples/codesandbox/package.json @@ -1,9 +1,9 @@ { "name": "codesandbox", - "version": "0.39.0", + "version": "0.40.0", "private": true, "dependencies": { - "@carbon/react": "^1.38.0", + "@carbon/react": "^1.39.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/examples/custom-theme/package.json b/examples/custom-theme/package.json index 79dc11f6086b..0d8c823fcc1f 100644 --- a/examples/custom-theme/package.json +++ b/examples/custom-theme/package.json @@ -1,7 +1,7 @@ { "name": "custom-theme", "private": true, - "version": "0.36.0", + "version": "0.37.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.38.0", + "@carbon/react": "^1.39.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 ebf946e85d00..6f6690741571 100644 --- a/examples/id-prefix/package.json +++ b/examples/id-prefix/package.json @@ -1,7 +1,7 @@ { "name": "id-prefix", "private": true, - "version": "0.35.0", + "version": "0.36.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.38.0", + "@carbon/react": "^1.39.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 4895e748ac92..d89ae4a6ba2e 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.3.0", + "version": "0.4.0", "scripts": { "dev": "vite", "build": "vite build", @@ -12,7 +12,7 @@ }, "dependencies": { "@carbon/icons-react": "^10.49.0", - "@carbon/react": "^1.38.0", + "@carbon/react": "^1.39.0", "carbon-components": "^10.57.0", "carbon-components-react": "^7.57.0", "carbon-icons": "^7.0.7", diff --git a/examples/incremental-migration/.gitignore b/examples/incremental-migration/.gitignore deleted file mode 100644 index 55175ef867e0..000000000000 --- a/examples/incremental-migration/.gitignore +++ /dev/null @@ -1,32 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# local env files -.env*.local - -# vercel -.vercel diff --git a/examples/incremental-migration/README.md b/examples/incremental-migration/README.md deleted file mode 100644 index eebf24a42780..000000000000 --- a/examples/incremental-migration/README.md +++ /dev/null @@ -1,84 +0,0 @@ -This is a [Next.js](https://nextjs.org/) project bootstrapped with -[`create-next-app`](https://github.com/vercel/next.js/tree/canary/packages/create-next-app). - -## Incremental migration - -We have recently released a new version, v11, of our component library and a -common question we receive is if users can adopt v11 incrementally and the -answer is yes! If the burden of migrating to v11 is too big to take on all at -once, but there are features of our latest release you want to take advantage -of, it is likely that you can pull in just the parts you are wanting to use -while keeping the rest of your Carbon usage the same. - -This example illustrates how v11 and v10 work together. - -## Getting Started - -First, run `yarn build` in the root of the `carbon` repository. - -```sh -yarn install && yarn build -``` - -Now, all you need to do is `cd` into the directory and run: - -```sh -yarn install -# or -npm install - - -yarn dev -# or -npm run dev -``` - -Open [http://localhost:5173](http://localhost:5173) with your browser to see the -result. - -You can start editing the page by modifying `pages/index.js`. The page -auto-updates as you edit the file. - -[API routes](https://nextjs.org/docs/api-routes/introduction) can be accessed on -[http://localhost:3000/api/hello](http://localhost:3000/api/hello). This -endpoint can be edited in `pages/api/hello.js`. - -The `pages/api` directory is mapped to `/api/*`. Files in this directory are -treated as [API routes](https://nextjs.org/docs/api-routes/introduction) instead -of React pages. - -## Sass - -First and foremost, if you want to use v11 styles in any capacity, you'll have -to migrate to use `dart-sass`. `node-sass` has been deprecated and we migrated -to `dart-sass` in v11. For more information about migrating, visit our docs -[here](https://github.com/carbon-design-system/carbon/blob/main/docs/migration/v11.md#changing-from-node-sass-to-sass). - -## V10 and V11 - -This example is mainly v10, but it takes advantage of the new Stack component -from v11 and uses v11's StructuredList component 🎉. StructuredList had a major -accessibilty revamp in v11 that you might want to use and this examples shows -you how. - -## Learn More - -To learn more about Next.js, take a look at the following resources: - -- [Next.js Documentation](https://nextjs.org/docs) - learn about Next.js - features and API. -- [Learn Next.js](https://nextjs.org/learn) - an interactive Next.js tutorial. - -You can check out -[the Next.js GitHub repository](https://github.com/vercel/next.js/) - your -feedback and contributions are welcome! - -## Deploy on Vercel - -The easiest way to deploy your Next.js app is to use the -[Vercel Platform](https://vercel.com/new?utm_medium=default-template&filter=next.js&utm_source=create-next-app&utm_campaign=create-next-app-readme) -from the creators of Next.js. - -Check out our -[Next.js deployment documentation](https://nextjs.org/docs/deployment) for more -details. diff --git a/examples/incremental-migration/next.config.js b/examples/incremental-migration/next.config.js deleted file mode 100644 index 91ef62f0db59..000000000000 --- a/examples/incremental-migration/next.config.js +++ /dev/null @@ -1,6 +0,0 @@ -/** @type {import('next').NextConfig} */ -const nextConfig = { - reactStrictMode: true, -}; - -module.exports = nextConfig; diff --git a/examples/incremental-migration/package.json b/examples/incremental-migration/package.json deleted file mode 100644 index 7ec2f346d67b..000000000000 --- a/examples/incremental-migration/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "incremental-migration", - "private": true, - "version": "0.38.0", - "scripts": { - "build": "next build", - "dev": "next dev", - "lint": "next lint", - "start": "next start" - }, - "installConfig": { - "hoistingLimits": "workspaces" - }, - "dependencies": { - "@carbon/icons-react": "^10.49.0", - "@carbon/react": "^1.38.0", - "carbon-components": "^10.57.0", - "carbon-components-react": "^7.57.0", - "carbon-icons": "^7.0.7", - "next": "13.4.7", - "react": "18.2.0", - "react-dom": "18.2.0" - }, - "devDependencies": { - "eslint": "8.40.0", - "eslint-config-next": "12.1.4", - "sass": "^1.51.0" - } -} diff --git a/examples/incremental-migration/public/favicon.ico b/examples/incremental-migration/public/favicon.ico deleted file mode 100644 index 718d6fea4835..000000000000 Binary files a/examples/incremental-migration/public/favicon.ico and /dev/null differ diff --git a/examples/incremental-migration/public/vercel.svg b/examples/incremental-migration/public/vercel.svg deleted file mode 100644 index fbf0e25a651c..000000000000 --- a/examples/incremental-migration/public/vercel.svg +++ /dev/null @@ -1,4 +0,0 @@ - - - \ No newline at end of file diff --git a/examples/incremental-migration/src/pages/_app.js b/examples/incremental-migration/src/pages/_app.js deleted file mode 100644 index 2733aee210bf..000000000000 --- a/examples/incremental-migration/src/pages/_app.js +++ /dev/null @@ -1,9 +0,0 @@ -import '../scss/styles.scss'; -import React from 'react'; - -// eslint-disable-next-line react/prop-types -function MyApp({ Component, pageProps }) { - return ; -} - -export default MyApp; diff --git a/examples/incremental-migration/src/pages/index.js b/examples/incremental-migration/src/pages/index.js deleted file mode 100644 index 3686aa7170ca..000000000000 --- a/examples/incremental-migration/src/pages/index.js +++ /dev/null @@ -1,186 +0,0 @@ -import React from 'react'; -import { - Button, - Content, - Header, - SkipToContent, - HeaderName, - Toggle, - NumberInput, - RadioButtonGroup, - RadioButton, - Search, - Select, - SelectItem, - TextInput, - TextArea, -} from 'carbon-components-react'; -import { - StructuredListBody, - StructuredListWrapper, - StructuredListHead, - StructuredListRow, - StructuredListCell, - Stack, -} from '@carbon/react'; -import Head from 'next/head'; -import styles from '../scss/Home.module.css'; - -export default function Home() { - const numberInputProps = { - className: 'some-class', - id: 'number-input-1', - label: 'Number Input', - min: 0, - max: 100, - value: 50, - step: 10, - }; - - const toggleProps = { - className: 'some-class', - }; - - const radioProps = { - className: 'some-class', - }; - - const searchProps = { - className: 'some-class', - }; - - const selectProps = { - className: 'some-class', - }; - - const TextInputProps = { - className: 'some-class', - id: 'test2', - labelText: 'Text Input label', - placeholder: 'Placeholder text', - }; - - const textareaProps = { - labelText: 'Text Area label', - className: 'some-class', - placeholder: 'Placeholder text', - id: 'test5', - cols: 50, - rows: 4, - }; - - const buttonEvents = { - className: 'some-class', - }; - - return ( -
- - Create Next App - - - - -
- - - [Platform] - -
- - - - - {}} - name="radio-button-group" - defaultSelected="default-selected"> - - - - - - - - - ColumnA - ColumnB - ColumnC - - - - - Row 1 - Row 1 - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc - dui magna, finibus id tortor sed, aliquet bibendum augue. - Aenean posuere sem vel euismod dignissim. Nulla ut cursus - dolor. Pellentesque vulputate nisl a porttitor interdum. - - - - Row 2 - Row 2 - - Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nunc - dui magna, finibus id tortor sed, aliquet bibendum augue. - Aenean posuere sem vel euismod dignissim. Nulla ut cursus - dolor. Pellentesque vulputate nisl a porttitor interdum. - - - - - - - -