diff --git a/.github/workflows/codeql-analysis.yml b/.github/workflows/codeql-analysis.yml index efc8c5cc2397..8798765e636e 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@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/init@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 with: languages: javascript - name: Perform CodeQL Analysis - uses: github/codeql-action/analyze@b611370bb5703a7efb587f9d136a52ea24c5c38c # v3.25.11 + uses: github/codeql-action/analyze@4fa2a7953630fd2f3fb380f21be14ede0169dd4f # v3.25.12 diff --git a/.yarn/cache/@figma-code-connect-npm-1.0.1-64a8b81268-1fceaee828.zip b/.yarn/cache/@figma-code-connect-npm-1.0.2-c160202f86-28de9e3070.zip similarity index 52% rename from .yarn/cache/@figma-code-connect-npm-1.0.1-64a8b81268-1fceaee828.zip rename to .yarn/cache/@figma-code-connect-npm-1.0.2-c160202f86-28de9e3070.zip index a5c943c3a337..27df4622d5b9 100644 Binary files a/.yarn/cache/@figma-code-connect-npm-1.0.1-64a8b81268-1fceaee828.zip and b/.yarn/cache/@figma-code-connect-npm-1.0.2-c160202f86-28de9e3070.zip differ diff --git a/config/eslint-config-carbon/package.json b/config/eslint-config-carbon/package.json index 0dab206f0b81..2614f4df9543 100644 --- a/config/eslint-config-carbon/package.json +++ b/config/eslint-config-carbon/package.json @@ -1,7 +1,7 @@ { "name": "eslint-config-carbon", "description": "ESLint configuration for Carbon", - "version": "3.13.0-rc.0", + "version": "3.13.0", "license": "Apache-2.0", "main": "index.js", "repository": { diff --git a/docs/guides/support.md b/docs/guides/support.md index 7bee584cff3e..12296af4c810 100644 --- a/docs/guides/support.md +++ b/docs/guides/support.md @@ -346,16 +346,12 @@ business impact that the feature will bring with future research done. ### Severity -There are 4 levels of severity for bugs in the Carbon core repositories: - -- https://github.com/carbon-design-system/carbon/labels/severity%3A%201 - _"Must - be fixed ASAP"_ -- https://github.com/carbon-design-system/carbon/labels/severity%3A%202 - _"User - cannot complete task, and/or no workaround"_ -- https://github.com/carbon-design-system/carbon/labels/severity%3A%203 - _"User - can complete task, and/or has a workaround"_ -- https://github.com/carbon-design-system/carbon/labels/severity%3A%204 - - _"Unrelated to a user task, has a workaround or does not need a workaround"_ +| Level | Description | Kit | Docs | Code | Release | +| :-------------------------------------------------------------------: | :---------------------------------------------------------------------------------------------------------------------------------: | ---------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| https://github.com/carbon-design-system/carbon/labels/severity%3A%201 | Affects major functionality. Blocks users from completing tasks, exposes intellectual property or damages the brand. No workaround. | The kit is has major functionality defects, designers can’t design and there is no workaround | The documentation damages the brand or exposes intellectual property. | The code has major functionality defects, breaking builds and can’t be worked around. | If the problem is in production, it must be fixed as soon as possible in a patch.   | +| https://github.com/carbon-design-system/carbon/labels/severity%3A%202 | Affects major functionality. Does not block users from completing tasks. Has a workaround. | The kit has a major functionality defect, but it doesn't block users from completing tasks. It has a workaround. | The documentation is wrong or missing major details. It conflicts with what we are saying in another part of the system. | The code has a major functionality defect, but it doesn't block users from completing tasks. It has a workaround | A release will be moved into Production with defects at this severity level included. These defects will have priority in future sprints to be resolved ASAP. | +| https://github.com/carbon-design-system/carbon/labels/severity%3A%203 | Affects minor functionality. Does not block users from completing tasks. Has a workaround. | The kit has a minor functionality defect. It doesn't block users from completing tasks. Has a workaround. | The documentation is mis-leading, somewhat true, missing minor details, or grammatically incorrect. It doesn't present conflicts with other parts of the design system. | The code has a minor functionality defect. It doesn’t block users from completing tasks. Has a workaround. | A release will be moved into Production with defects at this severity level included. These defects will have priority in future sprints after sev2’s. | +| https://github.com/carbon-design-system/carbon/labels/severity%3A%204 | Unrelated to a user task. Does not need a workaround. | Unrelated to a user task. Does not need a workaround. | Unrelated to a user task. Content has a typo. | Unrelated to a user task. Does not need a workaround. | A release will be moved into Production with defects at this severity level included. These will often not be addressed by the maintainer team as a priority in future releases. | Workarounds can be described as either of the following: diff --git a/e2e/components/Slider/Slider-test.avt.e2e.js b/e2e/components/Slider/Slider-test.avt.e2e.js index 8ae03d13663c..a8f6d59ff0ed 100644 --- a/e2e/components/Slider/Slider-test.avt.e2e.js +++ b/e2e/components/Slider/Slider-test.avt.e2e.js @@ -92,6 +92,53 @@ test.describe('@avt Slider', () => { await expect(page).toHaveNoACViolations('Slider-with-layer'); }); + test('@avt-advanced-states slider with custom format', async ({ page }) => { + await visitStory(page, { + component: 'Slider', + id: 'components-slider--slider-with-custom-value-label', + globals: { + theme: 'white', + }, + }); + + await expect(page).toHaveNoACViolations('Slider-with-custom-value-label'); + }); + + test.slow('@avt-keyboard-nav slider with custom format', async ({ page }) => { + await visitStory(page, { + component: 'Slider', + id: 'components-slider--slider-with-custom-value-label', + globals: { + theme: 'white', + }, + }); + + // Test for label changes + // Initial value + await page.keyboard.press('Tab'); + await expect(page.getByRole('slider')).toBeVisible(); + await page.keyboard.press('Tab'); + + await expect(page.getByRole('slider')).toHaveAttribute( + 'aria-valuetext', + 'Medium' + ); + // Move to high + await page.keyboard.press('Shift+ArrowRight'); + await expect(page.getByRole('slider')).toHaveAttribute( + 'aria-valuetext', + 'High' + ); + + // Move to Low + await page.keyboard.press('Shift+ArrowLeft'); + await page.keyboard.press('Shift+ArrowLeft'); + await expect(page.getByRole('slider')).toHaveAttribute( + 'aria-valuetext', + 'Low' + ); + }); + // Prevent timeout test.slow('@avt-keyboard-nav', async ({ page }) => { await visitStory(page, { diff --git a/e2e/components/Slider/Slider-test.e2e.js b/e2e/components/Slider/Slider-test.e2e.js index 49e8d4086eca..af64b6b973b8 100644 --- a/e2e/components/Slider/Slider-test.e2e.js +++ b/e2e/components/Slider/Slider-test.e2e.js @@ -37,6 +37,14 @@ test.describe('Slider', () => { theme, }); }); + + test('slider with formatLabel @vrt', async ({ page }) => { + await snapshotStory(page, { + component: 'Slider', + id: 'components-slider--slider-with-custom-value-label', + theme, + }); + }); }); }); }); diff --git a/e2e/components/Tile/Tile-test.avt.e2e.js b/e2e/components/Tile/Tile-test.avt.e2e.js index e9ca2d56840f..a49cf1bfe535 100644 --- a/e2e/components/Tile/Tile-test.avt.e2e.js +++ b/e2e/components/Tile/Tile-test.avt.e2e.js @@ -101,6 +101,12 @@ test.describe('@avt Tile', () => { }, }); await expect(page.locator('body')).toBeFocused(); + + // Pause to ensure the initial animation finishes before we interact + await expect( + page.getByRole('button', { name: 'Above the fold content here' }) + ).toBeVisible(); + await page.keyboard.press('Tab'); await expect(page.locator('#expandable-tile-1')).toBeFocused(); await page.keyboard.press('Enter'); @@ -109,6 +115,31 @@ test.describe('@avt Tile', () => { ); }); + test('@avt-advanced-states ExpandableTile with interactive spacebar', async ({ + page, + }) => { + await visitStory(page, { + component: 'ExpandableTile', + id: 'components-tile--expandable-with-interactive', + globals: { + theme: 'white', + }, + }); + await expect(page.locator('body')).toBeFocused(); + + // Pause to ensure the initial animation finishes before we interact + await expect(page.getByLabel('Interact to Expand tile')).toBeVisible(); + + await page.keyboard.press('Tab'); + await page.keyboard.press('Tab'); + + await expect(page.getByLabel('Interact to Expand tile')).toBeFocused(); + await page.keyboard.press('Space'); + await expect(page.locator('#expandable-tile-1')).toHaveClass( + 'cds--tile cds--tile--expandable cds--tile--expandable--interactive cds--tile--is-expanded' + ); + }); + test('@avt-keyboard-nav SelectableTile', async ({ page }) => { await visitStory(page, { component: 'SelectableTile', @@ -118,10 +149,14 @@ test.describe('@avt Tile', () => { }, }); await expect(page.locator('body')).toBeFocused(); + + // Pause to ensure the initial animation finishes before we interact + await expect(page.getByRole('checkbox')).toBeVisible(); + await page.keyboard.press('Tab'); - await expect(page.locator('#selectable-tile-1')).toBeFocused(); + await expect(page.getByRole('checkbox')).toBeFocused(); await page.keyboard.press('Enter'); - await expect(page.locator('#selectable-tile-1')).toHaveClass( + await expect(page.getByRole('checkbox')).toHaveClass( 'cds--tile cds--tile--selectable cds--tile--is-selected' ); }); @@ -135,9 +170,13 @@ test.describe('@avt Tile', () => { }, }); await expect(page.locator('body')).toBeFocused(); + + // Pause to ensure the initial animation finishes before we interact + await expect(page.getByRole('radio').nth(0)).toBeVisible(); + await page.keyboard.press('Tab'); - await expect(page.locator('#radio-tile-2')).toBeFocused(); + await expect(page.getByRole('radio').nth(1)).toBeFocused(); await page.keyboard.press('ArrowUp'); - await expect(page.locator('#radio-tile-1')).toBeChecked(); + await expect(page.getByRole('radio').nth(0)).toBeChecked(); }); }); diff --git a/examples/class-prefix/package.json b/examples/class-prefix/package.json index 8f8ff3f97f6e..4a8ebb6e8a34 100644 --- a/examples/class-prefix/package.json +++ b/examples/class-prefix/package.json @@ -1,7 +1,7 @@ { "name": "class-prefix", "private": true, - "version": "0.58.0-rc.1", + "version": "0.59.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.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 696d993f9eca..0f359d5b0ac7 100644 --- a/examples/codesandbox-styles/package.json +++ b/examples/codesandbox-styles/package.json @@ -1,7 +1,7 @@ { "name": "codesandbox-styles", "private": true, - "version": "0.64.0-rc.0", + "version": "0.64.0", "type": "module", "scripts": { "dev": "vite" @@ -11,6 +11,6 @@ "vite": "^4.3.8" }, "dependencies": { - "@carbon/styles": "^1.61.0-rc.0" + "@carbon/styles": "^1.61.0" } } diff --git a/examples/custom-theme/package.json b/examples/custom-theme/package.json index b4560425f6e1..98ece33db686 100644 --- a/examples/custom-theme/package.json +++ b/examples/custom-theme/package.json @@ -1,7 +1,7 @@ { "name": "custom-theme", "private": true, - "version": "0.59.0-rc.1", + "version": "0.60.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.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 405fe0fbbc05..6566f532c21f 100644 --- a/examples/id-prefix/package.json +++ b/examples/id-prefix/package.json @@ -1,7 +1,7 @@ { "name": "id-prefix", "private": true, - "version": "0.58.0-rc.1", + "version": "0.59.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/examples/light-dark-mode/package.json b/examples/light-dark-mode/package.json index 688f1c2eff94..1c66d04d1308 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.59.0-rc.1", + "version": "0.60.0", "scripts": { "build": "next build", "dev": "next dev", @@ -9,7 +9,7 @@ "start": "next start" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.0", "next": "14.1.1", "react": "18.2.0", "react-dom": "18.2.0" diff --git a/examples/nextjs/package.json b/examples/nextjs/package.json index 385f5ba505d0..1374bc0051cc 100644 --- a/examples/nextjs/package.json +++ b/examples/nextjs/package.json @@ -1,7 +1,7 @@ { "name": "examples-nextjs", "private": true, - "version": "0.61.0-rc.1", + "version": "0.62.0", "scripts": { "build": "next build", "dev": "next dev", @@ -9,7 +9,7 @@ "start": "next start" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.0", "next": "14.1.1", "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 0b67e3cfab18..92bef6915905 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.59.0-rc.1", + "version": "0.60.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/examples/vite/package.json b/examples/vite/package.json index 806b761d1b41..387c3692927f 100644 --- a/examples/vite/package.json +++ b/examples/vite/package.json @@ -1,7 +1,7 @@ { "name": "vite", "private": true, - "version": "0.59.0-rc.1", + "version": "0.60.0", "type": "module", "scripts": { "dev": "vite", @@ -9,7 +9,7 @@ "preview": "vite preview" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.0", "react": "^18.2.0", "react-dom": "^18.2.0" }, diff --git a/packages/carbon-components-react/package.json b/packages/carbon-components-react/package.json index 8af16e266725..d78137ffb0b3 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.61.0-rc.1", + "version": "8.62.0", "license": "Apache-2.0", "main": "lib/index.js", "module": "es/index.js", @@ -42,8 +42,8 @@ "sass": "^1.33.0" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", - "@carbon/styles": "^1.61.0-rc.0", + "@carbon/react": "^1.62.0", + "@carbon/styles": "^1.61.0", "@ibm/telemetry-js": "^1.5.0", "chalk": "1.1.3" }, diff --git a/packages/carbon-components/package.json b/packages/carbon-components/package.json index 00e98348b87d..8d6c6d2b507f 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.61.0-rc.0", + "version": "11.61.0", "license": "Apache-2.0", "repository": { "type": "git", @@ -43,7 +43,7 @@ "sass": "^1.33.0" }, "dependencies": { - "@carbon/styles": "^1.61.0-rc.0", + "@carbon/styles": "^1.61.0", "@ibm/telemetry-js": "^1.5.0", "chalk": "1.1.3" }, diff --git a/packages/elements/package.json b/packages/elements/package.json index 86feadb23c7e..a0752c3e9a54 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.49.0-rc.0", + "version": "11.49.0", "license": "Apache-2.0", "main": "lib/index.js", "module": "es/index.js", @@ -40,7 +40,7 @@ "dependencies": { "@carbon/colors": "^11.23.0", "@carbon/grid": "^11.24.0", - "@carbon/icons": "^11.45.0-rc.0", + "@carbon/icons": "^11.45.0", "@carbon/layout": "^11.23.0", "@carbon/motion": "^11.19.0", "@carbon/themes": "^11.37.0", diff --git a/packages/icons-react/package.json b/packages/icons-react/package.json index 5e253e928141..f14cbff3b580 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.45.0-rc.0", + "version": "11.45.0", "license": "Apache-2.0", "main": "lib/index.js", "module": "es/index.js", @@ -44,7 +44,7 @@ }, "devDependencies": { "@carbon/icon-build-helpers": "^1.27.0", - "@carbon/icons": "^11.45.0-rc.0", + "@carbon/icons": "^11.45.0", "rimraf": "^5.0.0" }, "sideEffects": false diff --git a/packages/icons-vue/package.json b/packages/icons-vue/package.json index b26930522eee..916f1db18bab 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.94.0-rc.0", + "version": "10.94.0", "license": "Apache-2.0", "main": "lib/index.js", "module": "es/index.js", @@ -35,7 +35,7 @@ }, "devDependencies": { "@carbon/cli-reporter": "^10.7.0", - "@carbon/icons": "^11.45.0-rc.0", + "@carbon/icons": "^11.45.0", "fs-extra": "^11.0.0", "prettier": "^2.8.8", "rimraf": "^5.0.0", diff --git a/packages/icons/package.json b/packages/icons/package.json index a9736614a53c..ec02678518a2 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.45.0-rc.0", + "version": "11.45.0", "license": "Apache-2.0", "main": "lib/index.js", "module": "es/index.js", diff --git a/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap b/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap index 9e8d3a3d8a2f..0e759cb5c1b5 100644 --- a/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap +++ b/packages/react/__tests__/__snapshots__/PublicAPI-test.js.snap @@ -7692,6 +7692,29 @@ Map { }, }, }, + "TabListVertical" => Object { + "propTypes": Object { + "activation": Object { + "args": Array [ + Array [ + "automatic", + "manual", + ], + ], + "type": "oneOf", + }, + "aria-label": Object { + "isRequired": true, + "type": "string", + }, + "children": Object { + "type": "node", + }, + "className": Object { + "type": "string", + }, + }, + }, "TabPanel" => Object { "$$typeof": Symbol(react.forward_ref), "propTypes": Object { @@ -8277,6 +8300,25 @@ Map { }, }, }, + "TabsVertical" => Object { + "propTypes": Object { + "children": Object { + "type": "node", + }, + "defaultSelectedIndex": Object { + "type": "number", + }, + "height": Object { + "type": "string", + }, + "onChange": Object { + "type": "func", + }, + "selectedIndex": Object { + "type": "number", + }, + }, + }, "Tag" => Object { "$$typeof": Symbol(react.forward_ref), "propTypes": Object { diff --git a/packages/react/code-connect/Accordion/Accordion.figma.tsx b/packages/react/code-connect/Accordion/Accordion.figma.tsx index 27ebe49a3a10..d549fcfe7b10 100644 --- a/packages/react/code-connect/Accordion/Accordion.figma.tsx +++ b/packages/react/code-connect/Accordion/Accordion.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { Accordion } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -29,8 +28,6 @@ figma.connect( }), }, example: ({ children, accordionItem }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - {children} - ), + example: ({ children }) => {children}, } ); diff --git a/packages/react/code-connect/Breadcrumb/BreadcrumbItem.figma.tsx b/packages/react/code-connect/Breadcrumb/BreadcrumbItem.figma.tsx index dd1af2d482c6..63d5665e6eea 100644 --- a/packages/react/code-connect/Breadcrumb/BreadcrumbItem.figma.tsx +++ b/packages/react/code-connect/Breadcrumb/BreadcrumbItem.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { BreadcrumbItem, OverflowMenu, OverflowMenuItem } from '@carbon/react'; import figma from '@figma/code-connect'; diff --git a/packages/react/code-connect/Button/Button.figma.tsx b/packages/react/code-connect/Button/Button.figma.tsx index 9544614303a0..29129d4a5988 100644 --- a/packages/react/code-connect/Button/Button.figma.tsx +++ b/packages/react/code-connect/Button/Button.figma.tsx @@ -4,7 +4,6 @@ * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ - // @ts-nocheck import React from 'react'; import { Button, ButtonSkeleton } from '@carbon/react'; @@ -43,28 +42,8 @@ figma.connect( }), renderIcon: figma.instance('Swap icon'), }, - example: ({ - size, - kind, - isExpressive, - hasIconOnly, - renderIcon, - disabled, - buttonText, - }) => { - return ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ); + example: ({ ...props, buttonText }) => { + return ; }, } ); @@ -84,11 +63,7 @@ figma.connect( }), }, example: ({ size }) => { - return ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ); + return ; }, } ); diff --git a/packages/react/code-connect/Checkbox/Checkbox.figma.tsx b/packages/react/code-connect/Checkbox/Checkbox.figma.tsx index b21230284423..a80a1046075f 100644 --- a/packages/react/code-connect/Checkbox/Checkbox.figma.tsx +++ b/packages/react/code-connect/Checkbox/Checkbox.figma.tsx @@ -49,34 +49,7 @@ figma.connect( 'Read-only': true, }), }, - example: ({ - helperText, - labelText, - indeterminate, - checked, - invalidText, - warnText, - disabled, - readOnly, - invalid, - warn, - hideLabel, - }) => ( - - ), + example: ({ ...props }) => , } ); @@ -85,11 +58,6 @@ figma.connect( 'https://www.figma.com/file/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?type=design&node-id=3193-29303&mode=design&t=QVE44xARq96HRr11-4', { variant: { State: 'Skeleton' }, - example: () => ( - // Disclaimer: Code Connect is currently in beta and - // integration with Carbon React is in an exploratory phase. - // Code sample below may be incomplete. - - ), + example: () => , } ); diff --git a/packages/react/code-connect/Checkbox/CheckboxGroup.figma.tsx b/packages/react/code-connect/Checkbox/CheckboxGroup.figma.tsx index 116a4fb43e9a..fc872c5b5242 100644 --- a/packages/react/code-connect/Checkbox/CheckboxGroup.figma.tsx +++ b/packages/react/code-connect/Checkbox/CheckboxGroup.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { CheckboxGroup } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -34,25 +33,8 @@ figma.connect( }), warnText: figma.string('Warning text'), }, - example: ({ - helperText, - readOnly, - children, - invalid, - invalidText, - warn, - warnText, - }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - + example: ({ children, ...props }) => ( + {children} ), diff --git a/packages/react/code-connect/CodeSnippet/CodeSnippet.figma.tsx b/packages/react/code-connect/CodeSnippet/CodeSnippet.figma.tsx index dbed7b34a4da..3b835e869a40 100644 --- a/packages/react/code-connect/CodeSnippet/CodeSnippet.figma.tsx +++ b/packages/react/code-connect/CodeSnippet/CodeSnippet.figma.tsx @@ -4,7 +4,6 @@ * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ - // @ts-nocheck import React from 'react'; import { CodeSnippet, CodeSnippetSkeleton } from '@carbon/react'; @@ -15,11 +14,7 @@ figma.connect( 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=4266-104904&t=cMvnFTYLPEhzhIpj-4', { example: () => { - return ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. -
{/* To view CodeSnippet code, view inner component */}
- ); + return
{/* To view CodeSnippet code, view inner component */}
; }, } ); @@ -34,8 +29,6 @@ figma.connect( }, example: ({ children }) => { return ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. {children} @@ -54,8 +47,6 @@ figma.connect( }, example: ({ children }) => { return ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. {children} @@ -78,8 +69,6 @@ figma.connect( expanded: figma.boolean('Expanded'), }, example: ({ hideCopyButton }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ), + example: () => , } ); diff --git a/packages/react/code-connect/ContainedList/ContainedList.figma.tsx b/packages/react/code-connect/ContainedList/ContainedList.figma.tsx index b29db2a79c75..b62ee4759a60 100644 --- a/packages/react/code-connect/ContainedList/ContainedList.figma.tsx +++ b/packages/react/code-connect/ContainedList/ContainedList.figma.tsx @@ -7,55 +7,90 @@ // @ts-nocheck import React from 'react'; -import { ContainedList, ContainedListItem } from '@carbon/react'; +import { ContainedList } from '@carbon/react'; import figma from '@figma/code-connect'; +import { title } from 'process'; + +const sharedContainedListProps = { + children: figma.children(['_Contained list row item']), + search: figma.children(['Search - Default']), + kind: figma.enum('Type', { + 'On page': 'on-page', + Disclosed: 'disclosed', + }), + titleItem: figma.nestedProps('_Contained list title item', { + action: figma.boolean('Show action', { + true: figma.enum('Action type', { + Default: ' (code not fully connected with code connect)', + 'Filterable search': figma.children(['Search - Default']), + }), + }), + label: figma.boolean('Tooltip', { + // true: figma.string('List title text') + figma.children('Tooltip'), //https://github.com/figma/code-connect/issues/92 + true: figma.string('List title text'), + false: figma.string('List title text'), + }), + tooltip: figma.children('Tooltip'), + }), + rowItem: figma.nestedProps('_Contained list row item', { + size: figma.enum('Size', { + 'Extra large': 'xl', + Medium: 'md', + Small: 'sm', + }), + }), + // Need a way to display a variant restriction from nestedProps + // so that we can display this component for actions if Action type is + // Filterable search or not + // https://github.com/figma/code-connect/issues/91 + // + // or combine boolean with nestedProps + // https://github.com/figma/code-connect/issues/89 + // + // titleActions: figma.nestedProps('Actions', { + // action: figma.enum('Action', { + // 'Overflow menu': figma.children('Overflow'), + // 'Ghost icon button': figma.children('Button'), + // 'Primary icon button': figma.children('Button'), + // Link: figma.children('Link'), + // Tag: figma.children('Tag'), + // }), + // }), +}; figma.connect( ContainedList, 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=16193-272726&t=cMvnFTYLPEhzhIpj-4', { - props: { - // label: // set on child component in Figma - children: figma.children(['_Contained list row item']), - kind: figma.enum('Type', { - 'On page': 'on-page', - Disclosed: 'disclosed', - }), - - search: figma.boolean('Search'), // todo: set up as a variant - }, - example: ({ children, kind }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - + props: sharedContainedListProps, + example: ({ children, kind, titleItem, rowItem }) => ( + {children} ), } ); +WithPersistentSearch; figma.connect( - ContainedListItem, - 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=16193-272771&t=cMvnFTYLPEhzhIpj-4', + ContainedList, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=16193-272726&t=cMvnFTYLPEhzhIpj-4', { - props: { - item: figma.boolean('Item 2'), - item3: figma.boolean('Item 3'), - action: figma.boolean('Action'), - size: figma.enum('Size', { - 'Extra large': 'extra-large', - Large: 'large', - Medium: 'medium', - Small: 'small', - }), - state: figma.enum('State', { - Enabled: 'enabled', - Hover: 'hover', - Focus: 'focus', - Active: 'active', - Disabled: 'disabled', - }), - }, - example: () => , + variant: { Search: 'True' }, + props: sharedContainedListProps, + example: ({ children, kind, titleItem, rowItem, search }) => ( + + {search} + {children} + + ), } ); diff --git a/packages/react/code-connect/ContainedList/ContainedListItem.figma.tsx b/packages/react/code-connect/ContainedList/ContainedListItem.figma.tsx new file mode 100644 index 000000000000..beb02b67bfe5 --- /dev/null +++ b/packages/react/code-connect/ContainedList/ContainedListItem.figma.tsx @@ -0,0 +1,36 @@ +/** + * Copyright IBM Corp. 2016, 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. + */ +// @ts-nocheck +import React from 'react'; +import { ContainedListItem } from '@carbon/react'; +import figma from '@figma/code-connect'; + +figma.connect( + ContainedListItem, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=16193-272771&t=cMvnFTYLPEhzhIpj-4', + { + props: { + disabled: figma.enum('State', { + Disabled: true, + }), + action: figma.boolean('Action', { + true: figma.children('Button'), + }), + rowCellItem: figma.nestedProps('_Contained list row cell item', { + text: figma.textContent('Text field'), + renderIcon: figma.instance('Swap icon'), + }), + // item: figma.boolean('Item 2'), + // item3: figma.boolean('Item 3'), + }, + example: ({ rowCellItem, ...props }) => ( + + {rowCellItem.text} + + ), + } +); diff --git a/packages/react/code-connect/ContentSwitcher/ContentSwitcher.figma.tsx b/packages/react/code-connect/ContentSwitcher/ContentSwitcher.figma.tsx index 455b631b98c5..02c6420a3479 100644 --- a/packages/react/code-connect/ContentSwitcher/ContentSwitcher.figma.tsx +++ b/packages/react/code-connect/ContentSwitcher/ContentSwitcher.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { ContentSwitcher } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -23,8 +22,6 @@ figma.connect( }), }, example: ({ size, children }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. {children} @@ -46,8 +43,6 @@ figma.connect( }), }, example: ({ size, children }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. {children} diff --git a/packages/react/code-connect/ContentSwitcher/IconSwitch.figma.tsx b/packages/react/code-connect/ContentSwitcher/IconSwitch.figma.tsx index 6ffad3feee48..47c76e0e6115 100644 --- a/packages/react/code-connect/ContentSwitcher/IconSwitch.figma.tsx +++ b/packages/react/code-connect/ContentSwitcher/IconSwitch.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { IconSwitch } from '@carbon/react'; import figma from '@figma/code-connect'; diff --git a/packages/react/code-connect/ContentSwitcher/Switch.figma.tsx b/packages/react/code-connect/ContentSwitcher/Switch.figma.tsx index 9b7e950413a9..9aca5ec6ac3a 100644 --- a/packages/react/code-connect/ContentSwitcher/Switch.figma.tsx +++ b/packages/react/code-connect/ContentSwitcher/Switch.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { Switch } from '@carbon/react'; import figma from '@figma/code-connect'; diff --git a/packages/react/code-connect/DataTable/DataTable.figma.tsx b/packages/react/code-connect/DataTable/DataTable.figma.tsx index 13a15fc673e2..e71b02807da0 100644 --- a/packages/react/code-connect/DataTable/DataTable.figma.tsx +++ b/packages/react/code-connect/DataTable/DataTable.figma.tsx @@ -13,7 +13,6 @@ // TableCell : Data table row cell item // TableHeader : Data table header cell item -// @ts-nocheck import React from 'react'; import { Table, @@ -50,8 +49,6 @@ figma.connect( skeleton: figma.boolean('Skeleton'), }, example: () => { - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below is incomplete. // This is sample code for a basic Table // See storybook for for detailed implementation docs // https://react.carbondesignsystem.com/?path=/docs/components-datatable-basic--overview diff --git a/packages/react/code-connect/Dropdown/Dropdown.figma.tsx b/packages/react/code-connect/Dropdown/Dropdown.figma.tsx index 5dcb4e37b653..250b86f89514 100644 --- a/packages/react/code-connect/Dropdown/Dropdown.figma.tsx +++ b/packages/react/code-connect/Dropdown/Dropdown.figma.tsx @@ -5,11 +5,11 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { Dropdown, DropdownSkeleton } from '@carbon/react'; import figma from '@figma/code-connect'; +// @ts-nocheck figma.connect( Dropdown, 'https://www.figma.com/file/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?type=design&node-id=14032-290635&mode=dev', @@ -44,30 +44,10 @@ figma.connect( }), warnText: figma.string('Warning message'), type: figma.enum('Style', { - // Fixed: 'fixed', Inline: 'inline', }), - // selectedtext: figma.string('Selected text'), // what is this used for in Figma? - // unselectedtext: figma.string('Unselected text'),// what is this used for in Figma? }, - example: ({ - titleText, - helperText, - size, - warn, - warnText, - hideLabel, - label, - readOnly, - disabled, - invalid, - invalidText, - type, - }) => { - // Disclaimer: Code Connect is currently in beta and - // integration with Carbon React is in an exploratory phase. - // Code sample below may be incomplete. - + example: ({ ...props }) => { const items = [ { id: 'option-0', @@ -81,20 +61,8 @@ figma.connect( return ( (item ? item.text : '')} /> @@ -119,8 +87,8 @@ figma.connect( false: true, }), }, - example: ({ size, hideLabel }) => { - return ; + example: ({ ...props }) => { + return ; }, } ); diff --git a/packages/react/code-connect/Dropdown/FluidDropdown.figma.tsx b/packages/react/code-connect/Dropdown/FluidDropdown.figma.tsx new file mode 100644 index 000000000000..c40d637edada --- /dev/null +++ b/packages/react/code-connect/Dropdown/FluidDropdown.figma.tsx @@ -0,0 +1,71 @@ +/** + * Copyright IBM Corp. 2016, 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. + */ + +// @ts-nocheck +import React from 'react'; +import { + unstable__FluidDropdown as FluidDropdown, + unstable__FluidDropdownSkeleto as FluidDropdownSkeleton, +} from '@carbon/react'; +import figma from '@figma/code-connect'; + +figma.connect( + FluidDropdown, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=14505-302528&t=4Ath5JqwaYJZxznq-4', + { + props: { + titleText: figma.string('Label text'), + label: figma.string('Prompt text'), + readOnly: figma.enum('State', { + 'Read-only': true, + }), + disabled: figma.enum('State', { + Disabled: true, + }), + invalid: figma.enum('State', { + Error: true, + }), + invalidText: figma.string('Error text'), + warn: figma.enum('State', { + Warning: true, + }), + warnText: figma.string('Warning text'), + }, + example: ({ ...props }) => { + const items = [ + { + id: 'option-0', + text: 'Option 0', + }, + { + id: 'option-1', + text: 'Option 1', + }, + ]; + + return ( + (item ? item.text : '')} + /> + ); + }, + } +); + +figma.connect( + FluidDropdownSkeleton, + 'https://www.figma.com/file/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?type=design&node-id=14032-290635&mode=dev', + { + variant: { State: 'Skeleton' }, + example: () => { + return ; + }, + } +); diff --git a/packages/react/code-connect/Grid/Grid.figma.tsx b/packages/react/code-connect/Grid/Grid.figma.tsx index dda74721f7d1..b4511ca2971d 100644 --- a/packages/react/code-connect/Grid/Grid.figma.tsx +++ b/packages/react/code-connect/Grid/Grid.figma.tsx @@ -1,4 +1,3 @@ -// @ts-nocheck import React from 'react'; import { Grid } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -20,10 +19,6 @@ figma.connect( }), children: figma.children('*'), }, - example: ({ children }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below is incomplete. - {children} - ), + example: ({ children }) => {children}, } ); diff --git a/packages/react/code-connect/Link/Link.figma.tsx b/packages/react/code-connect/Link/Link.figma.tsx index 7737f4de9953..497b9a4a3af1 100644 --- a/packages/react/code-connect/Link/Link.figma.tsx +++ b/packages/react/code-connect/Link/Link.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { Link } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -27,15 +26,8 @@ figma.connect( Disabled: true, }), }, - example: ({ size, disabled, inline, renderIcon, linkText }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - + example: ({ linkText, ...props }) => ( + {linkText} ), diff --git a/packages/react/code-connect/List/List.figma.tsx b/packages/react/code-connect/List/List.figma.tsx index 522240fb57cf..b3e6238a46f4 100644 --- a/packages/react/code-connect/List/List.figma.tsx +++ b/packages/react/code-connect/List/List.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { UnorderedList, OrderedList } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -15,12 +14,8 @@ figma.connect( 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=3284-27553&t=Y6lD1uj5Q0yszbgL-4', { variant: { Type: 'Unordered' }, - props: { children: figma.children(['_List item']) }, - example: ({ children }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - {children} - ), + props: { children: figma.children(['List item']) }, + example: ({ children }) => {children}, } ); @@ -29,11 +24,7 @@ figma.connect( 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=3284-27553&t=Y6lD1uj5Q0yszbgL-4', { variant: { Type: 'Ordered' }, - props: { children: figma.children(['_List item']) }, - example: ({ children }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - {children} - ), + props: { children: figma.children(['List item']) }, + example: ({ children }) => {children}, } ); diff --git a/packages/react/code-connect/List/ListItem.figma.tsx b/packages/react/code-connect/List/ListItem.figma.tsx index 9b7c0ca38926..fde9b0dd5903 100644 --- a/packages/react/code-connect/List/ListItem.figma.tsx +++ b/packages/react/code-connect/List/ListItem.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { ListItem } from '@carbon/react'; import figma from '@figma/code-connect'; diff --git a/packages/react/code-connect/Loading/Loading.figma.tsx b/packages/react/code-connect/Loading/Loading.figma.tsx index 349791e6dc9b..e1e2b6d00ef1 100644 --- a/packages/react/code-connect/Loading/Loading.figma.tsx +++ b/packages/react/code-connect/Loading/Loading.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { Loading, InlineLoading } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -19,11 +18,7 @@ figma.connect( Small: true, }), }, - example: ({ small }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ), + example: ({ small }) => , } ); @@ -41,14 +36,8 @@ figma.connect( Inactive: 'inactive', }), }, - example: ({ status, description }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - + example: ({ ...props }) => ( + ), } ); diff --git a/packages/react/code-connect/Notification/Notification.figma.tsx b/packages/react/code-connect/Notification/Notification.figma.tsx index 965f4cdedb89..a06aafe6f43f 100644 --- a/packages/react/code-connect/Notification/Notification.figma.tsx +++ b/packages/react/code-connect/Notification/Notification.figma.tsx @@ -38,6 +38,11 @@ const sharedNotificationProps = { 'Inline short': true, 'Inline long': true, }), + button: figma.nestedProps('Button', { + // currently grabbing the text from the icon button not the action button + // tracking here https://github.com/figma/code-connect/issues/11 + actionButtonLabel: figma.string('Button text'), + }), // this doesn't work // button: figma.nestedProps('Notification action button item', { // actionButtonItem: figma.nestedProps('Button', { @@ -46,12 +51,11 @@ const sharedNotificationProps = { // }), }; -// this isn't working, perhaps a bug? https://github.com/figma/code-connect/issues/45 figma.connect( ActionableNotification, 'https://www.figma.com/file/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?type=design&node-id=4179-105911&mode=design&t=WhsTspVnawA9vgXk-4', { - variant: { Actionable: 'True' }, // <--doesn't work + variant: { Actionable: 'True' }, props: sharedNotificationProps, example: ({ title, @@ -60,9 +64,8 @@ figma.connect( hideCloseButton, lowContrast, inline, + button, }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. myFunction()} onClose={() => myFunction()} onCloseButtonClick={() => myFunction()} @@ -87,8 +90,6 @@ figma.connect( props: sharedNotificationProps, example: ({ title, kind, subtitle, hideCloseButton }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ), + example: ({ hideLabel }) => , } ); diff --git a/packages/react/code-connect/ProgressBar/ProgressBar.figma.tsx b/packages/react/code-connect/ProgressBar/ProgressBar.figma.tsx index b3167ca1eff4..d667800dcbab 100644 --- a/packages/react/code-connect/ProgressBar/ProgressBar.figma.tsx +++ b/packages/react/code-connect/ProgressBar/ProgressBar.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { ProgressBar } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -42,8 +41,6 @@ figma.connect( { props: sharedProgressBarProps, example: ({ label, value, helperText, status, type, size }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( + {children} + ), + } +); + +// figma.connect( +// ProgressIndicatorSkeleton, +// 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=3925-58667&m=dev', +// { +// variant: need nested variant selector here, https://github.com/figma/code-connect/issues/91 +// props: { +// vertical: figma.enum('Direction', { +// Vertical: true, +// }), +// }, +// example: ({ children, vertical }) => ( +// +// ), +// } +// ); diff --git a/packages/react/code-connect/ProgressIndicator/ProgressStep.figma.tsx b/packages/react/code-connect/ProgressIndicator/ProgressStep.figma.tsx new file mode 100644 index 000000000000..f76bb0fc4cb9 --- /dev/null +++ b/packages/react/code-connect/ProgressIndicator/ProgressStep.figma.tsx @@ -0,0 +1,37 @@ +/** + * Copyright IBM Corp. 2016, 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. + */ + +// @ts-nocheck +import React from 'react'; +import { ProgressStep } from '@carbon/react'; +import figma from '@figma/code-connect'; + +figma.connect( + ProgressStep, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=3377-31707&m=dev', + { + props: { + complete: figma.enum('State', { + Completed: true, + }), + current: figma.enum('State', { + Current: true, + }), + disabled: figma.enum('State', { + Disabled: true, + }), + invalid: figma.enum('State', { + Error: true, + }), + secondaryLabel: figma.boolean('Optional label', { + true: figma.textContent('Optional label'), + }), + label: figma.string('Label text'), + }, + example: ({ ...props }) => , + } +); diff --git a/packages/react/code-connect/README.md b/packages/react/code-connect/README.md index 30eaca4500cd..52836d1c3281 100644 --- a/packages/react/code-connect/README.md +++ b/packages/react/code-connect/README.md @@ -1,8 +1,8 @@ # Figma Code Connect for @carbon/react > [!WARNING] -> Figma [Code Connect](https://github.com/figma/code-connect) is currently in -> beta and integration with Carbon React is in an exploratory phase. +> Figma [Code Connect](https://github.com/figma/code-connect) for Carbon React +> is in an exploratory phase. Code Connect offers a solution for linking the [Carbon v11 All themes](https://carbondesignsystem.com/designing/kits/figma/) diff --git a/packages/react/code-connect/RadioButton/RadioButton.figma.tsx b/packages/react/code-connect/RadioButton/RadioButton.figma.tsx index 9a2fabc54df0..7e59ac16b68d 100644 --- a/packages/react/code-connect/RadioButton/RadioButton.figma.tsx +++ b/packages/react/code-connect/RadioButton/RadioButton.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { RadioButton, RadioButtonSkeleton } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -67,8 +66,6 @@ figma.connect( { variant: { State: 'Skeleton' }, example: () => { - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ; }, } diff --git a/packages/react/code-connect/RadioButton/RadioButtonGroup.figma.tsx b/packages/react/code-connect/RadioButton/RadioButtonGroup.figma.tsx index 7756afd4122f..6bcbb95d9602 100644 --- a/packages/react/code-connect/RadioButton/RadioButtonGroup.figma.tsx +++ b/packages/react/code-connect/RadioButton/RadioButtonGroup.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { RadioButtonGroup } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -46,8 +45,6 @@ figma.connect( orientation, legendText, }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ), } @@ -37,21 +37,9 @@ figma.connect( ExpandableSearch, 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=2805-21056&t=6KMXKibN414b97hv-4', { - variant: { Expanded: 'True' }, // <--doesn't work - props: { - size: figma.enum('Size', { - Large: 'lg', - Medium: 'md', - Small: 'sm', - }), - placeholder: figma.string('Placeholder text'), - disabled: figma.enum('State', { - Disabled: true, - }), - }, + variant: { Expandable: 'True' }, + props: sharedSearchProps, example: ({ size, placeholder, disabled }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ), + example: () => , } ); diff --git a/packages/react/code-connect/Select/FluidSelect.Figma.tsx b/packages/react/code-connect/Select/FluidSelect.Figma.tsx index bff358da5762..92dd0fddb22a 100644 --- a/packages/react/code-connect/Select/FluidSelect.Figma.tsx +++ b/packages/react/code-connect/Select/FluidSelect.Figma.tsx @@ -36,23 +36,10 @@ figma.connect( // false: figma.string('Label text'), // }), }, - example: ({ - labelText, - warnText, - invalidText, - warn, - invalid, - disabled, - }) => ( + example: ({ ...props }) => ( // Disclaimer: Code Connect is currently in beta and integration with Carbon // React is in an exploratory phase. Code sample below may be incomplete. - + diff --git a/packages/react/code-connect/Select/Select.figma.tsx b/packages/react/code-connect/Select/Select.figma.tsx index 8b83f4f94ba6..acf9943910ac 100644 --- a/packages/react/code-connect/Select/Select.figma.tsx +++ b/packages/react/code-connect/Select/Select.figma.tsx @@ -4,7 +4,6 @@ * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ - // @ts-nocheck import React from 'react'; import { Select, SelectItem, SelectSkeleton } from '@carbon/react'; @@ -51,33 +50,8 @@ figma.connect( }), // readonlyInputtext: figma.string('Read-only Input text'), // doesn't exist in code shows }, - example: ({ - disabled, - helperText, - hideLabel, - inline, - readOnly, - invalid, - invalidText, - warn, - warnText, - labelText, - size, - }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - @@ -99,11 +73,6 @@ figma.connect( false: true, }), }, - example: ({ hideLabel }) => { - return; - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - ; - }, + example: () => , } ); diff --git a/packages/react/code-connect/Slider/Slider.figma.tsx b/packages/react/code-connect/Slider/Slider.figma.tsx new file mode 100644 index 000000000000..95e0bb74f68b --- /dev/null +++ b/packages/react/code-connect/Slider/Slider.figma.tsx @@ -0,0 +1,102 @@ +/** + * Copyright IBM Corp. 2016, 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. + */ + +// @ts-nocheck +import React from 'react'; +import { Slider, SliderSkeleton } from '@carbon/react'; +import figma from '@figma/code-connect'; + +//single +figma.connect( + Slider, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=3673-40574&m=dev', + { + props: { + slider: figma.nestedProps('_Slider base', { + labelText: figma.textContent('Label'), + }), + invalidText: figma.string('Error text'), + warnText: figma.string('Warning text'), + disabled: figma.enum('Status', { + Disabled: true, + }), + invalid: figma.enum('Status', { + Error: true, + }), + readOnly: figma.enum('Status', { + 'Read-only': true, + }), + warn: figma.enum('Status', { + Warning: true, + }), + textInput: figma.nestedProps('Text input - Default', { + value: figma.string('Input text'), + }), + }, + example: ({ slider, textInput, ...props }) => ( + + ), + } +); + +//two handle +figma.connect( + Slider, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=41061-1531&m=dev', + { + props: { + max: figma.string('Max range text'), + min: figma.string('Min range text'), + invalidText: figma.string('Error text'), + warnText: figma.string('Warning text'), + labelText: figma.string('Label text'), + hideTextInput: figma.boolean('Inputs', { + false: true, + true: false, + }), + invalidText: figma.string('Error text'), + warnText: figma.string('Warning text'), + disabled: figma.enum('State', { + Disabled: true, + }), + invalid: figma.enum('State', { + 'Hover + Error': true, + 'Active + Error': true, + 'Focused + Error': true, + }), + readOnly: figma.enum('State', { + 'Read-only': true, + }), + warn: figma.enum('State', { + 'Hover + Warning': true, + 'Active + Warning': true, + 'Focused + Warning': true, + }), + }, + example: ({ ...props }) => , + } +); + +//single +figma.connect( + SliderSkeleton, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=3673-40574&m=dev', + { + variant: { Status: 'Skeleton' }, + example: () => , + } +); + +//two handle +figma.connect( + SliderSkeleton, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=41061-1531&m=dev', + { + variant: { State: 'Skeleton' }, + example: () => , + } +); diff --git a/packages/react/code-connect/Slider/SliderRange.figma.tsx b/packages/react/code-connect/Slider/SliderRange.figma.tsx new file mode 100644 index 000000000000..081fc97e0230 --- /dev/null +++ b/packages/react/code-connect/Slider/SliderRange.figma.tsx @@ -0,0 +1,47 @@ +// /** +// * Copyright IBM Corp. 2016, 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. +// */ + +// // @ts-nocheck +// import React from 'react'; +// import { Slider, SliderSkeleton } from '@carbon/react'; +// import figma from '@figma/code-connect'; + +// figma.connect( +// SliderRange, +// "https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=41061-1531&m=dev", +// { +// props: { +// maxrangetext3836123: figma.string("Max range text"), +// minrangetext383610: figma.string("Min range text"), +// errortext97969: figma.string("Error text"), +// warningtext97992: figma.string("Warning text"), +// labeltext9790: figma.string("Label text"), +// inputs: figma.boolean("Inputs"), +// state: figma.enum("State", { +// Enabled: "enabled", +// Hover: "hover", +// Active: "active", +// Disabled: "disabled", +// Focused: "focused", +// Skeleton: "skeleton", +// "Read only": "read-only", +// "Hover + Error": "hover---error", +// "Active + Error": "active---error", +// "Focused + Error": "focused---error", +// "Hover + Warning": "hover---warning", +// "Active + Warning": "active---warning", +// "Focused + Warning": "focused---warning", +// }), +// handle: figma.enum("Handle", { +// None: "none", +// Left: "left", +// Right: "right", +// }), +// }, +// example: (props) => , +// }, +// ) diff --git a/packages/react/code-connect/Tabs/Tab.figma.tsx b/packages/react/code-connect/Tabs/Tab.figma.tsx index 734343bd33d3..32229ecedbc4 100644 --- a/packages/react/code-connect/Tabs/Tab.figma.tsx +++ b/packages/react/code-connect/Tabs/Tab.figma.tsx @@ -4,7 +4,6 @@ * This source code is licensed under the Apache-2.0 license found in the * LICENSE file in the root directory of this source tree. */ - // @ts-nocheck import React from 'react'; import { Tab, IconTab } from '@carbon/react'; diff --git a/packages/react/code-connect/Tabs/Tabs.figma.tsx b/packages/react/code-connect/Tabs/Tabs.figma.tsx index 367db9c28fe0..2ffaec25e3b6 100644 --- a/packages/react/code-connect/Tabs/Tabs.figma.tsx +++ b/packages/react/code-connect/Tabs/Tabs.figma.tsx @@ -32,8 +32,6 @@ figma.connect( }), }, example: ({ children, contained, fullWidth, tab }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. , + } +); diff --git a/packages/react/code-connect/TextArea/TextArea.figma.tsx b/packages/react/code-connect/TextArea/TextArea.figma.tsx new file mode 100644 index 000000000000..4d5766406c38 --- /dev/null +++ b/packages/react/code-connect/TextArea/TextArea.figma.tsx @@ -0,0 +1,63 @@ +/** + * Copyright IBM Corp. 2016, 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. + */ + +// @ts-nocheck +import React from 'react'; +import { TextArea, TextAreaSkeleton } from '@carbon/react'; +import figma from '@figma/code-connect'; + +figma.connect( + TextArea, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=14494-263111&t=4Ath5JqwaYJZxznq-4', + { + props: { + labelText: figma.string('Label text'), + hideLabel: figma.boolean('Show label', { + true: false, + false: true, + }), + value: figma.boolean('Text filled', { + true: figma.string('Body text'), + }), + helperText: figma.boolean('Show helper', { + true: figma.string('Helper text'), + }), + enableCounter: figma.boolean('Show count'), + placeholder: figma.string('Placeholder text'), + disabled: figma.enum('State', { + Disabled: true, + }), + invalid: figma.enum('State', { + Error: true, + }), + invalidText: figma.string('Error text'), + warn: figma.enum('State', { + Warning: true, + }), + warnText: figma.string('Warning text'), + readOnly: figma.enum('State', { + 'Read-only': true, + }), + }, + example: ({ ...props }) => , + } +); + +figma.connect( + TextAreaSkeleton, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=14494-263111&t=4Ath5JqwaYJZxznq-4', + { + variant: { State: 'Skeleton' }, + props: { + hideLabel: figma.boolean('Show label', { + true: false, + false: true, + }), + }, + example: ({ hideLabel }) => , + } +); diff --git a/packages/react/code-connect/TextInput/FluidTextInput.figma.tsx b/packages/react/code-connect/TextInput/FluidTextInput.figma.tsx new file mode 100644 index 000000000000..a8f1287dc02c --- /dev/null +++ b/packages/react/code-connect/TextInput/FluidTextInput.figma.tsx @@ -0,0 +1,54 @@ +/** + * Copyright IBM Corp. 2016, 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. + */ + +// @ts-nocheck +import React from 'react'; +import { + unstable__FluidTextInput as FluidTextInput, + unstable__FluidTextInputSkeleton as FluidTextInputSkeleton, +} from '@carbon/react'; + +import figma from '@figma/code-connect'; + +figma.connect( + FluidTextInput, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=15784-271289&t=4Ath5JqwaYJZxznq-4', + { + props: { + labelText: figma.string('Label text'), + disabled: figma.enum('State', { + Disabled: true, + }), + invalid: figma.enum('State', { + Error: true, + }), + invalidText: figma.string('Error text'), + warn: figma.enum('State', { + Warning: true, + }), + warnText: figma.string('Warning text'), + placeholder: figma.string('Placeholder text'), + value: figma.boolean('Text filled', { + true: figma.string('Input text'), + }), + enableCounter: figma.boolean('Show count'), // https://github.com/carbon-design-system/carbon/issues/16938 + readOnly: figma.enum('State', { + 'Read-only': true, // https://github.com/carbon-design-system/carbon/issues/16938 + }), + }, + example: ({ ...props }) => , + } +); + +figma.connect( + FluidTextInputSkeleton, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=15784-271289&t=4Ath5JqwaYJZxznq-4', + { + variant: { State: 'Skeleton' }, + example: () => , + } +); diff --git a/packages/react/code-connect/TextInput/TextInput.figma.tsx b/packages/react/code-connect/TextInput/TextInput.figma.tsx new file mode 100644 index 000000000000..ec06670570a3 --- /dev/null +++ b/packages/react/code-connect/TextInput/TextInput.figma.tsx @@ -0,0 +1,68 @@ +/** + * Copyright IBM Corp. 2016, 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. + */ + +// @ts-nocheck +import React from 'react'; +import { TextInput, TextInputSkeleton } from '@carbon/react'; +import figma from '@figma/code-connect'; + +figma.connect( + TextInput, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=15784-271032&m=dev', + { + props: { + labelText: figma.string('Label text'), + hideLabel: figma.boolean('Show label', { + true: false, + false: true, + }), + size: figma.enum('Size', { + Large: 'lg', + Medium: 'md', + Small: 'sm', + }), + disabled: figma.enum('State', { + Disabled: true, + }), + invalid: figma.enum('State', { + Error: true, + }), + invalidText: figma.string('Error text'), + warn: figma.enum('State', { + Warning: true, + }), + warnText: figma.string('Warning text'), + helperText: figma.boolean('Show helper', { + true: figma.string('Helper text'), + }), + placeholder: figma.string('Placeholder text'), + value: figma.boolean('Text filled', { + true: figma.string('Input text'), + }), + enableCounter: figma.boolean('Show count'), + readOnly: figma.enum('State', { + 'Read-only': true, + }), + }, + example: ({ ...props }) => , + } +); + +figma.connect( + TextInputSkeleton, + 'https://www.figma.com/design/YAnB1jKx0yCUL29j6uSLpg/(v11)-All-themes---Carbon-Design-System?node-id=15784-271032&m=dev', + { + variant: { State: 'Skeleton' }, + props: { + hideLabel: figma.boolean('Show label', { + true: false, + false: true, + }), + }, + example: ({ hideLabel }) => , + } +); diff --git a/packages/react/code-connect/Toggle/Toggle.figma.tsx b/packages/react/code-connect/Toggle/Toggle.figma.tsx index 91c582521287..df4728b4ff99 100644 --- a/packages/react/code-connect/Toggle/Toggle.figma.tsx +++ b/packages/react/code-connect/Toggle/Toggle.figma.tsx @@ -5,7 +5,6 @@ * LICENSE file in the root directory of this source tree. */ -// @ts-nocheck import React from 'react'; import { Toggle, ToggleSkeleton } from '@carbon/react'; import figma from '@figma/code-connect'; @@ -34,29 +33,7 @@ figma.connect( labelA: figma.string('State text'), labelB: figma.string('State text'), }, - example: ({ - disabled, - size, - readOnly, - hideLabel, - labelText, - defaultToggled, - labelA, - labelB, - }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ), + example: ({ ...props }) => , } ); @@ -81,9 +58,8 @@ figma.connect( defaultToggled: figma.boolean('Toggled'), }, example: ({ disabled, size, readOnly, defaultToggled }) => ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. { - return ( - // Disclaimer: Code Connect is currently in beta and integration with Carbon - // React is in an exploratory phase. Code sample below may be incomplete. - - ); + return ; }, } ); diff --git a/packages/react/code-connect/Tooltip/Tooltip.figma.tsx b/packages/react/code-connect/Tooltip/Tooltip.figma.tsx index 491d0498dfb5..8ff4197f61ed 100644 --- a/packages/react/code-connect/Tooltip/Tooltip.figma.tsx +++ b/packages/react/code-connect/Tooltip/Tooltip.figma.tsx @@ -1,4 +1,3 @@ -// @ts-nocheck import React from 'react'; import { Tooltip } from './Tooltip'; import figma from '@figma/code-connect'; diff --git a/packages/react/examples/custom-data-table-state-manager-vite/yarn.lock b/packages/react/examples/custom-data-table-state-manager-vite/yarn.lock index f0aff13a11bd..6036e40f821f 100644 --- a/packages/react/examples/custom-data-table-state-manager-vite/yarn.lock +++ b/packages/react/examples/custom-data-table-state-manager-vite/yarn.lock @@ -23,7 +23,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.24.4.tgz" integrity sha512-vg8Gih2MLK+kOkHJp4gBEIkyaIi00jgWot2D9QOmmfLC8jINSOzmCLta6Bvz/JSBCqnegV0L80jhxkol5GWNfQ== -"@babel/core@^7.0.0", "@babel/core@^7.0.0-0", "@babel/core@^7.23.5": +"@babel/core@^7.23.5": version "7.24.5" resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.5.tgz" integrity sha512-tVQRucExLQ02Boi4vdPp49svNGcfL2GhdTCT9aldhXgCJVAI21EtRfBettiuLUwce/7r6bFdgs6JFkcdTiFttA== @@ -332,11 +332,121 @@ "@carbon/layout" "^11.21.0" "@ibm/telemetry-js" "^1.2.1" +"@esbuild/aix-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/aix-ppc64/-/aix-ppc64-0.20.2.tgz#a70f4ac11c6a1dfc18b8bbb13284155d933b9537" + integrity sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g== + +"@esbuild/android-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm64/-/android-arm64-0.20.2.tgz#db1c9202a5bc92ea04c7b6840f1bbe09ebf9e6b9" + integrity sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg== + +"@esbuild/android-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-arm/-/android-arm-0.20.2.tgz#3b488c49aee9d491c2c8f98a909b785870d6e995" + integrity sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w== + +"@esbuild/android-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/android-x64/-/android-x64-0.20.2.tgz#3b1628029e5576249d2b2d766696e50768449f98" + integrity sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg== + +"@esbuild/darwin-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/darwin-arm64/-/darwin-arm64-0.20.2.tgz#6e8517a045ddd86ae30c6608c8475ebc0c4000bb" + integrity sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA== + "@esbuild/darwin-x64@0.20.2": version "0.20.2" resolved "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.2.tgz" integrity sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA== +"@esbuild/freebsd-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.2.tgz#d71502d1ee89a1130327e890364666c760a2a911" + integrity sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw== + +"@esbuild/freebsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/freebsd-x64/-/freebsd-x64-0.20.2.tgz#aa5ea58d9c1dd9af688b8b6f63ef0d3d60cea53c" + integrity sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw== + +"@esbuild/linux-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm64/-/linux-arm64-0.20.2.tgz#055b63725df678379b0f6db9d0fa85463755b2e5" + integrity sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A== + +"@esbuild/linux-arm@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-arm/-/linux-arm-0.20.2.tgz#76b3b98cb1f87936fbc37f073efabad49dcd889c" + integrity sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg== + +"@esbuild/linux-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ia32/-/linux-ia32-0.20.2.tgz#c0e5e787c285264e5dfc7a79f04b8b4eefdad7fa" + integrity sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig== + +"@esbuild/linux-loong64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-loong64/-/linux-loong64-0.20.2.tgz#a6184e62bd7cdc63e0c0448b83801001653219c5" + integrity sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ== + +"@esbuild/linux-mips64el@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-mips64el/-/linux-mips64el-0.20.2.tgz#d08e39ce86f45ef8fc88549d29c62b8acf5649aa" + integrity sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA== + +"@esbuild/linux-ppc64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-ppc64/-/linux-ppc64-0.20.2.tgz#8d252f0b7756ffd6d1cbde5ea67ff8fd20437f20" + integrity sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg== + +"@esbuild/linux-riscv64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-riscv64/-/linux-riscv64-0.20.2.tgz#19f6dcdb14409dae607f66ca1181dd4e9db81300" + integrity sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg== + +"@esbuild/linux-s390x@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-s390x/-/linux-s390x-0.20.2.tgz#3c830c90f1a5d7dd1473d5595ea4ebb920988685" + integrity sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ== + +"@esbuild/linux-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/linux-x64/-/linux-x64-0.20.2.tgz#86eca35203afc0d9de0694c64ec0ab0a378f6fff" + integrity sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw== + +"@esbuild/netbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/netbsd-x64/-/netbsd-x64-0.20.2.tgz#e771c8eb0e0f6e1877ffd4220036b98aed5915e6" + integrity sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ== + +"@esbuild/openbsd-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/openbsd-x64/-/openbsd-x64-0.20.2.tgz#9a795ae4b4e37e674f0f4d716f3e226dd7c39baf" + integrity sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ== + +"@esbuild/sunos-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/sunos-x64/-/sunos-x64-0.20.2.tgz#7df23b61a497b8ac189def6e25a95673caedb03f" + integrity sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w== + +"@esbuild/win32-arm64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-arm64/-/win32-arm64-0.20.2.tgz#f1ae5abf9ca052ae11c1bc806fb4c0f519bacf90" + integrity sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ== + +"@esbuild/win32-ia32@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-ia32/-/win32-ia32-0.20.2.tgz#241fe62c34d8e8461cd708277813e1d0ba55ce23" + integrity sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ== + +"@esbuild/win32-x64@0.20.2": + version "0.20.2" + resolved "https://registry.yarnpkg.com/@esbuild/win32-x64/-/win32-x64-0.20.2.tgz#9c907b21e30a52db959ba4f80bb01a0cc403d5cc" + integrity sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ== + "@eslint-community/eslint-utils@^4.2.0": version "4.4.0" resolved "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz" @@ -487,11 +597,86 @@ "@nodelib/fs.scandir" "2.1.5" fastq "^1.6.0" +"@rollup/rollup-android-arm-eabi@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.17.2.tgz#1a32112822660ee104c5dd3a7c595e26100d4c2d" + integrity sha512-NM0jFxY8bB8QLkoKxIQeObCaDlJKewVlIEkuyYKm5An1tdVZ966w2+MPQ2l8LBZLjR+SgyV+nRkTIunzOYBMLQ== + +"@rollup/rollup-android-arm64@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.17.2.tgz#5aeef206d65ff4db423f3a93f71af91b28662c5b" + integrity sha512-yeX/Usk7daNIVwkq2uGoq2BYJKZY1JfyLTaHO/jaiSwi/lsf8fTFoQW/n6IdAsx5tx+iotu2zCJwz8MxI6D/Bw== + +"@rollup/rollup-darwin-arm64@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.17.2.tgz#6b66aaf003c70454c292cd5f0236ebdc6ffbdf1a" + integrity sha512-kcMLpE6uCwls023+kknm71ug7MZOrtXo+y5p/tsg6jltpDtgQY1Eq5sGfHcQfb+lfuKwhBmEURDga9N0ol4YPw== + "@rollup/rollup-darwin-x64@4.17.2": version "4.17.2" resolved "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.17.2.tgz" integrity sha512-AtKwD0VEx0zWkL0ZjixEkp5tbNLzX+FCqGG1SvOu993HnSz4qDI6S4kGzubrEJAljpVkhRSlg5bzpV//E6ysTQ== +"@rollup/rollup-linux-arm-gnueabihf@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.17.2.tgz#1a7641111be67c10111f7122d1e375d1226cbf14" + integrity sha512-3reX2fUHqN7sffBNqmEyMQVj/CKhIHZd4y631duy0hZqI8Qoqf6lTtmAKvJFYa6bhU95B1D0WgzHkmTg33In0A== + +"@rollup/rollup-linux-arm-musleabihf@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.17.2.tgz#c93fd632923e0fee25aacd2ae414288d0b7455bb" + integrity sha512-uSqpsp91mheRgw96xtyAGP9FW5ChctTFEoXP0r5FAzj/3ZRv3Uxjtc7taRQSaQM/q85KEKjKsZuiZM3GyUivRg== + +"@rollup/rollup-linux-arm64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.17.2.tgz#fa531425dd21d058a630947527b4612d9d0b4a4a" + integrity sha512-EMMPHkiCRtE8Wdk3Qhtciq6BndLtstqZIroHiiGzB3C5LDJmIZcSzVtLRbwuXuUft1Cnv+9fxuDtDxz3k3EW2A== + +"@rollup/rollup-linux-arm64-musl@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.17.2.tgz#8acc16f095ceea5854caf7b07e73f7d1802ac5af" + integrity sha512-NMPylUUZ1i0z/xJUIx6VUhISZDRT+uTWpBcjdv0/zkp7b/bQDF+NfnfdzuTiB1G6HTodgoFa93hp0O1xl+/UbA== + +"@rollup/rollup-linux-powerpc64le-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.17.2.tgz#94e69a8499b5cf368911b83a44bb230782aeb571" + integrity sha512-T19My13y8uYXPw/L/k0JYaX1fJKFT/PWdXiHr8mTbXWxjVF1t+8Xl31DgBBvEKclw+1b00Chg0hxE2O7bTG7GQ== + +"@rollup/rollup-linux-riscv64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.17.2.tgz#7ef1c781c7e59e85a6ce261cc95d7f1e0b56db0f" + integrity sha512-BOaNfthf3X3fOWAB+IJ9kxTgPmMqPPH5f5k2DcCsRrBIbWnaJCgX2ll77dV1TdSy9SaXTR5iDXRL8n7AnoP5cg== + +"@rollup/rollup-linux-s390x-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.17.2.tgz#f15775841c3232fca9b78cd25a7a0512c694b354" + integrity sha512-W0UP/x7bnn3xN2eYMql2T/+wpASLE5SjObXILTMPUBDB/Fg/FxC+gX4nvCfPBCbNhz51C+HcqQp2qQ4u25ok6g== + +"@rollup/rollup-linux-x64-gnu@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.17.2.tgz#b521d271798d037ad70c9f85dd97d25f8a52e811" + integrity sha512-Hy7pLwByUOuyaFC6mAr7m+oMC+V7qyifzs/nW2OJfC8H4hbCzOX07Ov0VFk/zP3kBsELWNFi7rJtgbKYsav9QQ== + +"@rollup/rollup-linux-x64-musl@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.17.2.tgz#9254019cc4baac35800991315d133cc9fd1bf385" + integrity sha512-h1+yTWeYbRdAyJ/jMiVw0l6fOOm/0D1vNLui9iPuqgRGnXA0u21gAqOyB5iHjlM9MMfNOm9RHCQ7zLIzT0x11Q== + +"@rollup/rollup-win32-arm64-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.17.2.tgz#27f65a89f6f52ee9426ec11e3571038e4671790f" + integrity sha512-tmdtXMfKAjy5+IQsVtDiCfqbynAQE/TQRpWdVataHmhMb9DCoJxp9vLcCBjEQWMiUYxO1QprH/HbY9ragCEFLA== + +"@rollup/rollup-win32-ia32-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.17.2.tgz#a2fbf8246ed0bb014f078ca34ae6b377a90cb411" + integrity sha512-7II/QCSTAHuE5vdZaQEwJq2ZACkBpQDOmQsE6D6XUbnBHW8IAhm4eTufL6msLJorzrHDFv3CF8oCA/hSIRuZeQ== + +"@rollup/rollup-win32-x64-msvc@4.17.2": + version "4.17.2" + resolved "https://registry.yarnpkg.com/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.17.2.tgz#5a2d08b81e8064b34242d5cc9973ef8dd1e60503" + integrity sha512-TGGO7v7qOq4CYmSBVEYpI1Y5xDuCEnbVC5Vth8mOsW0gDSzxNrVERPc790IGHsrT2dQSimgMr9Ub3Y1Jci5/8w== + "@types/babel__core@^7.20.5": version "7.20.5" resolved "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz" @@ -551,7 +736,7 @@ acorn-jsx@^5.3.2: resolved "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz" integrity sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ== -"acorn@^6.0.0 || ^7.0.0 || ^8.0.0", acorn@^8.9.0: +acorn@^8.9.0: version "8.11.3" resolved "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz" integrity sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg== @@ -711,13 +896,13 @@ brace-expansion@^1.1.7: concat-map "0.0.1" braces@~3.0.2: - version "3.0.2" - resolved "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz" - integrity sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A== + version "3.0.3" + resolved "https://registry.yarnpkg.com/braces/-/braces-3.0.3.tgz#490332f40919452272d55a8480adc0c441358789" + integrity sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA== dependencies: - fill-range "^7.0.1" + fill-range "^7.1.1" -browserslist@^4.22.2, "browserslist@>= 4.21.0": +browserslist@^4.22.2: version "4.23.0" resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz" integrity sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ== @@ -804,7 +989,7 @@ color-convert@^2.0.1: dependencies: color-name "~1.1.4" -color-name@^1.0.0, color-name@1.1.3: +color-name@1.1.3, color-name@^1.0.0: version "1.1.3" resolved "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz" integrity sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw== @@ -1155,7 +1340,7 @@ eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4 resolved "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz" integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== -"eslint@^3 || ^4 || ^5 || ^6 || ^7 || ^8", "eslint@^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0", "eslint@^6.0.0 || ^7.0.0 || >=8.0.0", eslint@^8.54.0, eslint@>=7: +eslint@^8.54.0: version "8.57.0" resolved "https://registry.npmjs.org/eslint/-/eslint-8.57.0.tgz" integrity sha512-dZ6+mexnaTIbSBZWgou51U6OmzIhYM2VcNdtiTtI7qPNZm35Akpr0f6vtw3w1Kmn5PYo+tZVfh13WrhpS6oLqQ== @@ -1261,10 +1446,10 @@ file-entry-cache@^6.0.1: dependencies: flat-cache "^3.0.4" -fill-range@^7.0.1: - version "7.0.1" - resolved "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz" - integrity sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ== +fill-range@^7.1.1: + version "7.1.1" + resolved "https://registry.yarnpkg.com/fill-range/-/fill-range-7.1.1.tgz#44265d3cac07e3ea7dc247516380643754a05292" + integrity sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg== dependencies: to-regex-range "^5.0.1" @@ -1307,6 +1492,11 @@ fs.realpath@^1.0.0: resolved "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz" integrity sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw== +fsevents@~2.3.2, fsevents@~2.3.3: + version "2.3.3" + resolved "https://registry.yarnpkg.com/fsevents/-/fsevents-2.3.3.tgz#cac6407785d03675a2a5e1a5305c697b347d90d6" + integrity sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw== + function-bind@^1.1.2: version "1.1.2" resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz" @@ -2026,7 +2216,7 @@ queue-microtask@^1.2.2: resolved "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz" integrity sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A== -"react-dom@^16.8.6 || ^17.0.1 || ^18.2.0", react-dom@^18.2.0, react-dom@>=16.8.0: +react-dom@^18.2.0: version "18.3.1" resolved "https://registry.npmjs.org/react-dom/-/react-dom-18.3.1.tgz" integrity sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw== @@ -2049,7 +2239,7 @@ react-refresh@^0.14.0: resolved "https://registry.npmjs.org/react-refresh/-/react-refresh-0.14.2.tgz" integrity sha512-jCvmsr+1IUSMUyzOkRcvnVbX3ZYC6g9TDrDbFuFmRDq7PD4yaGbLKNQL6k2jnArV8hjYxh7hVhAZB6s9HDGpZA== -"react@^16.8.6 || ^17.0.1 || ^18.2.0", react@^18.2.0, react@^18.3.1, react@>=16, react@>=16.12.0, react@>=16.8.0: +react@^18.2.0: version "18.3.1" resolved "https://registry.npmjs.org/react/-/react-18.3.1.tgz" integrity sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ== @@ -2173,7 +2363,7 @@ safe-regex-test@^1.0.3: es-errors "^1.3.0" is-regex "^1.1.4" -sass@*, sass@^1.33.0, sass@1.69.5: +sass@1.69.5: version "1.69.5" resolved "https://registry.npmjs.org/sass/-/sass-1.69.5.tgz" integrity sha512-qg2+UCJibLr2LCVOt3OlPhr/dqVHWOa9XtZf2OjbLs/T4VPSJ00udtgJxH3neXZm+QqX8B+3cU7RaLqp1iVfcQ== @@ -2245,7 +2435,7 @@ simple-swizzle@^0.2.2: dependencies: is-arrayish "^0.3.1" -source-map-js@^1.2.0, "source-map-js@>=0.6.2 <2.0.0": +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.0: version "1.2.0" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz" integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== @@ -2452,7 +2642,7 @@ use-resize-observer@^6.0.0: dependencies: resize-observer-polyfill "^1.5.1" -"vite@^4.2.0 || ^5.0.0", vite@^5.0.13: +vite@^5.0.13: version "5.2.11" resolved "https://registry.npmjs.org/vite/-/vite-5.2.11.tgz" integrity sha512-HndV31LWW05i1BLPMUCE1B9E9GFbOu1MbenhS58FuK6owSO5qHm7GiCotrNY1YE5rMeQSFBGmT5ZaLEjFizgiQ== diff --git a/packages/react/package.json b/packages/react/package.json index e3e79b7799e4..9f23cec19115 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,7 +1,7 @@ { "name": "@carbon/react", "description": "React components for the Carbon Design System", - "version": "1.61.0-rc.1", + "version": "1.62.0", "license": "Apache-2.0", "main": "lib/index.js", "module": "es/index.js", @@ -49,9 +49,9 @@ "dependencies": { "@babel/runtime": "^7.18.3", "@carbon/feature-flags": "^0.20.0", - "@carbon/icons-react": "^11.45.0-rc.0", + "@carbon/icons-react": "^11.45.0", "@carbon/layout": "^11.23.0", - "@carbon/styles": "^1.61.0-rc.0", + "@carbon/styles": "^1.61.0", "@floating-ui/react": "^0.26.0", "@ibm/telemetry-js": "^1.5.0", "classnames": "2.5.1", @@ -81,7 +81,7 @@ "@babel/preset-typescript": "^7.21.5", "@carbon/test-utils": "^10.30.0", "@carbon/themes": "^11.37.0", - "@figma/code-connect": "^1.0.1", + "@figma/code-connect": "^1.0.2", "@rollup/plugin-babel": "^6.0.0", "@rollup/plugin-commonjs": "^26.0.0", "@rollup/plugin-node-resolve": "^15.0.0", diff --git a/packages/react/src/__tests__/index-test.js b/packages/react/src/__tests__/index-test.js index eee63d0fe074..9dc7d9fec032 100644 --- a/packages/react/src/__tests__/index-test.js +++ b/packages/react/src/__tests__/index-test.js @@ -188,6 +188,7 @@ describe('Carbon Components React', () => { "Tab", "TabContent", "TabList", + "TabListVertical", "TabPanel", "TabPanels", "Table", @@ -213,6 +214,7 @@ describe('Carbon Components React', () => { "TableToolbarSearch", "Tabs", "TabsSkeleton", + "TabsVertical", "Tag", "TagSkeleton", "TextArea", diff --git a/packages/react/src/components/ComboBox/ComboBox-test.js b/packages/react/src/components/ComboBox/ComboBox-test.js index c2d07c34703e..90a96109ed41 100644 --- a/packages/react/src/components/ComboBox/ComboBox-test.js +++ b/packages/react/src/components/ComboBox/ComboBox-test.js @@ -209,6 +209,20 @@ describe('ComboBox', () => { expect(findInputNode()).toHaveDisplayValue('Apple'); }); + it('should apply onChange value if custom value is entered and `allowCustomValue` is set', async () => { + render(); + + expect(findInputNode()).toHaveDisplayValue(''); + + await userEvent.type(findInputNode(), 'Apple'); + await userEvent.keyboard('[Enter]'); + assertMenuClosed(); + expect(mockProps.onChange).toHaveBeenCalledWith({ + inputValue: 'Apple', + selectedItem: null, + }); + }); + it('should respect slug prop', async () => { const { container } = render(} />); await waitForPosition(); diff --git a/packages/react/src/components/ComboBox/ComboBox.tsx b/packages/react/src/components/ComboBox/ComboBox.tsx index 9fdf344dd3e5..45fd997b40cb 100644 --- a/packages/react/src/components/ComboBox/ComboBox.tsx +++ b/packages/react/src/components/ComboBox/ComboBox.tsx @@ -480,7 +480,7 @@ const ComboBox = forwardRef( setInputValue(inputValue); setHighlightedIndex(changes.selectedItem); if (onChange) { - onChange({ selectedItem: changes.selectedItem }); + onChange({ selectedItem: changes.selectedItem, inputValue }); } return changes; } else if (changes.selectedItem && !allowCustomValue) { @@ -725,6 +725,13 @@ const ComboBox = forwardRef( ); } + // Since `onChange` does not normally fire when the menu is closed, we should + // manually fire it when `allowCustomValue` is provided, the menu is closing, + // and there is a value. + if (allowCustomValue && isOpen && inputValue) { + onChange({ selectedItem, inputValue }); + } + event.preventDownshiftDefault = true; event?.persist?.(); } diff --git a/packages/react/src/components/ComposedModal/ComposedModal-test.js b/packages/react/src/components/ComposedModal/ComposedModal-test.js index 3db0bff2a4b9..ec93a9137786 100644 --- a/packages/react/src/components/ComposedModal/ComposedModal-test.js +++ b/packages/react/src/components/ComposedModal/ComposedModal-test.js @@ -249,4 +249,20 @@ describe('ComposedModal', () => { expect(container.firstChild).toHaveClass(`${prefix}--modal--slug`); }); }); + + it('should handle onClick events', async () => { + const onClick = jest.fn(); + render( + +

+ Custom domains direct requests for your apps in this Cloud Foundry + organization to a URL that you own. A custom domain can be a shared + domain, a shared subdomain, or a shared domain and host. +

+
+ ); + const modal = screen.getByRole('dialog'); + await userEvent.click(modal); + expect(onClick).toHaveBeenCalled(); + }); }); diff --git a/packages/react/src/components/ComposedModal/ComposedModal.tsx b/packages/react/src/components/ComposedModal/ComposedModal.tsx index e2392067bb60..a624067e627a 100644 --- a/packages/react/src/components/ComposedModal/ComposedModal.tsx +++ b/packages/react/src/components/ComposedModal/ComposedModal.tsx @@ -27,6 +27,7 @@ import wrapFocus, { import { usePrefix } from '../../internal/usePrefix'; import { keys, match } from '../../internal/keyboard'; import { useFeatureFlag } from '../FeatureFlags'; +import { composeEventHandlers } from '../../tools/events'; export interface ModalBodyProps extends HTMLAttributes { /** Specify the content to be placed in the ModalBody. */ @@ -288,7 +289,7 @@ const ComposedModal = React.forwardRef( onKeyDown?.(event); } - function handleMousedown(evt: React.MouseEvent) { + function handleOnClick(evt: React.MouseEvent) { const target = evt.target as Node; evt.stopPropagation(); if ( @@ -423,7 +424,7 @@ const ComposedModal = React.forwardRef( ref={ref} aria-hidden={!open} onBlur={!focusTrapWithoutSentinels ? handleBlur : () => {}} - onMouseDown={handleMousedown} + onClick={composeEventHandlers([rest?.onClick, handleOnClick])} onKeyDown={handleKeyDown} className={modalClass}>
( ); +export const Test = () => { + const [start, setStart] = useState(); + const [end, setEnd] = useState(); + + const onPeriodChanged = (range) => { + setStart(range[0]); + setEnd(range[1]); + console.log({ range }); + }; + + return ( + + + + + ); +}; + export const SingleWithCalendar = () => ( { origSetDate.call(this, dates, triggerChange, format); // If `triggerChange` is `true`, `onValueUpdate` Flatpickr event is fired // where Flatpickr's range plugin takes care of fixing the first `` - if (!triggerChange) { - const { _input: inputDates } = fp; - const inputDatesArray = inputDates.value.split(' '); - [inputDatesArray[0], inputDatesArray[2]].forEach((input, i) => { + if (!triggerChange && dates.length === 2) { + const { _input: inputFrom } = fp; + const { input: inputTo } = config; + [inputFrom, inputTo].forEach((input, i) => { if (input) { - input = !dates[i] + input.value = !dates[i] ? '' : fp.formatDate(new Date(dates[i]), fp.config.dateFormat); } diff --git a/packages/react/src/components/Modal/Modal-test.js b/packages/react/src/components/Modal/Modal-test.js index 7e0f65d859c1..a713fc1dd768 100644 --- a/packages/react/src/components/Modal/Modal-test.js +++ b/packages/react/src/components/Modal/Modal-test.js @@ -512,6 +512,22 @@ describe('events', () => { expect(onRequestClose).toHaveBeenCalled(); }); + it('should handle onClick events', async () => { + const onClick = jest.fn(); + render( + +

+ Custom domains direct requests for your apps in this Cloud Foundry + organization to a URL that you own. A custom domain can be a shared + domain, a shared subdomain, or a shared domain and host. +

+
+ ); + const modal = screen.getByRole('dialog'); + await userEvent.click(modal); + expect(onClick).toHaveBeenCalled(); + }); + it('should handle submit keyDown events with shouldSubmitOnEnter enabled', async () => { const onRequestSubmit = jest.fn(); render( diff --git a/packages/react/src/components/Modal/Modal.tsx b/packages/react/src/components/Modal/Modal.tsx index 088a31dcb571..f635a7993570 100644 --- a/packages/react/src/components/Modal/Modal.tsx +++ b/packages/react/src/components/Modal/Modal.tsx @@ -30,6 +30,7 @@ import { Text } from '../Text'; import { ReactAttr } from '../../types/common'; import { InlineLoadingStatus } from '../InlineLoading/InlineLoading'; import { useFeatureFlag } from '../FeatureFlags'; +import { composeEventHandlers } from '../../tools/events'; const getInstanceId = setupGetInstanceId(); @@ -312,7 +313,7 @@ const Modal = React.forwardRef(function Modal( } } - function handleMousedown(evt: React.MouseEvent) { + function handleOnClick(evt: React.MouseEvent) { const target = evt.target as Node; evt.stopPropagation(); if ( @@ -586,7 +587,7 @@ const Modal = React.forwardRef(function Modal( {...rest} level={0} onKeyDown={handleKeyDown} - onMouseDown={handleMousedown} + onClick={composeEventHandlers([rest?.onClick, handleOnClick])} onBlur={!focusTrapWithoutSentinels ? handleBlur : () => {}} className={modalClasses} role="presentation" diff --git a/packages/react/src/components/Slider/Slider-test.js b/packages/react/src/components/Slider/Slider-test.js index 63409195b559..9f694b8d4ca6 100644 --- a/packages/react/src/components/Slider/Slider-test.js +++ b/packages/react/src/components/Slider/Slider-test.js @@ -466,6 +466,28 @@ describe('Slider', () => { expect(rangeLabels[0]).toHaveTextContent('0-min'); expect(rangeLabels[1]).toHaveTextContent('100-max'); }); + + it('supports custom formatting on the tooltip when input is hidden', () => { + const { container } = renderSlider({ + min: 0, + max: 100, + value: 50, + formatLabel: (value) => `${value}%`, + hideTextInput: true, + }); + + const rangeLabels = container.querySelectorAll( + `.${prefix}--slider__range-label` + ); + + const valueLabel = container.querySelector( + `.${prefix}--popover-content.${prefix}--tooltip-content` + ); + + expect(rangeLabels[0]).toHaveTextContent('0%'); + expect(rangeLabels[1]).toHaveTextContent('100%'); + expect(valueLabel).toHaveTextContent('50%'); + }); }); describe('Key/mouse event processing', () => { @@ -744,6 +766,30 @@ describe('Slider', () => { expect(upperInput).toHaveAttribute('type', 'hidden'); }); + it('supports custom formatting on the tooltip when input is hidden', () => { + const { container } = renderTwoHandleSlider({ + min: 0, + max: 100, + value: 50, + unstable_valueUpper: 70, + formatLabel: (value) => `${value}%`, + hideTextInput: true, + }); + + const rangeLabels = container.querySelectorAll( + `.${prefix}--slider__range-label` + ); + + const valueLabels = container.querySelectorAll( + `.${prefix}--popover-content.${prefix}--tooltip-content` + ); + + expect(rangeLabels[0]).toHaveTextContent('0%'); + expect(rangeLabels[1]).toHaveTextContent('100%'); + expect(valueLabels[0]).toHaveTextContent('50%'); + expect(valueLabels[1]).toHaveTextContent('70%'); + }); + it('allows user to set invalid value when typing in input field', async () => { const { type } = userEvent; renderTwoHandleSlider({ diff --git a/packages/react/src/components/Slider/Slider.stories.js b/packages/react/src/components/Slider/Slider.stories.js index 019a5077b236..d84b88d39f0b 100644 --- a/packages/react/src/components/Slider/Slider.stories.js +++ b/packages/react/src/components/Slider/Slider.stories.js @@ -53,6 +53,27 @@ export const SliderWithHiddenInputs = () => ( /> ); +export const SliderWithCustomValueLabel = () => ( + { + if (val < 25) { + return 'Low'; + } else if (val > 75) { + return 'High'; + } + return 'Medium'; + }} + /> +); + export const ControlledSlider = () => { const [val, setVal] = useState(87); return ( diff --git a/packages/react/src/components/Slider/Slider.tsx b/packages/react/src/components/Slider/Slider.tsx index 591cc14e1f70..ddb8277f5927 100644 --- a/packages/react/src/components/Slider/Slider.tsx +++ b/packages/react/src/components/Slider/Slider.tsx @@ -153,7 +153,7 @@ export interface SliderProps disabled?: boolean; /** - * The callback to format the label associated with the minimum/maximum value. + * The callback to format the label associated with the minimum/maximum value and the value tooltip when hideTextInput is true. */ formatLabel?: (value: number, label: string | undefined) => string; @@ -1521,7 +1521,7 @@ class Slider extends PureComponent {
{ role="slider" id={twoHandles ? undefined : id} tabIndex={!readOnly ? 0 : -1} + aria-valuetext={`${formatLabel(value, '')}`} aria-valuemax={twoHandles ? valueUpper : max} aria-valuemin={min} aria-valuenow={value} @@ -1555,7 +1556,7 @@ class Slider extends PureComponent {
(function Tab( useLayoutEffect(() => { function handler() { - const elementTabId = document.getElementById(`${id}`); + const elementTabId = document.getElementById(`${id}`) || tabRef.current; const newElement = elementTabId?.getElementsByClassName( `${prefix}--tabs__nav-item-label` )[0]; diff --git a/packages/react/src/components/Tabs/index.tsx b/packages/react/src/components/Tabs/index.tsx index ca8a6a8057b1..af442c61b1e9 100644 --- a/packages/react/src/components/Tabs/index.tsx +++ b/packages/react/src/components/Tabs/index.tsx @@ -18,8 +18,12 @@ export { type TabPanelProps, TabList, type TabListProps, + TabListVertical, + type TabListVerticalProps, IconTab, type IconTabProps, Tabs, type TabsProps, + TabsVertical, + type TabsVerticalProps, } from './Tabs'; diff --git a/packages/react/src/components/Tile/Tile.tsx b/packages/react/src/components/Tile/Tile.tsx index 0dbeede5523f..578fcbe4fdae 100644 --- a/packages/react/src/components/Tile/Tile.tsx +++ b/packages/react/src/components/Tile/Tile.tsx @@ -707,6 +707,7 @@ export const ExpandableTile = React.forwardRef< const [interactive, setInteractive] = useState(true); const aboveTheFold = useRef(null); const belowTheFold = useRef(null); + const chevronInteractiveRef = useRef(null); const tileContent = useRef(null); const tile = useRef(null); const ref = useMergedRefs([forwardRef, tile]); @@ -745,7 +746,10 @@ export const ExpandableTile = React.forwardRef< } function handleKeyUp(evt: KeyboardEvent) { - if (evt.target !== tile.current) { + if ( + evt.target !== tile.current && + evt.target !== chevronInteractiveRef.current + ) { if (matches(evt, [keys.Enter, keys.Space])) { evt.preventDefault(); } @@ -876,6 +880,7 @@ export const ExpandableTile = React.forwardRef< onKeyUp={composeEventHandlers([onKeyUp, handleKeyUp])} onClick={composeEventHandlers([onClick, handleClick])} aria-label={isExpanded ? tileExpandedIconText : tileCollapsedIconText} + ref={chevronInteractiveRef} className={chevronInteractiveClassNames}> diff --git a/packages/react/src/index.js b/packages/react/src/index.js index 2cc0cdca1b99..ab68fee5a9bd 100644 --- a/packages/react/src/index.js +++ b/packages/react/src/index.js @@ -144,7 +144,14 @@ export { export Tab from './components/Tab'; export TabContent from './components/TabContent'; export Tabs from './components/Tabs'; -export { TabPanel, TabPanels, TabList, IconTab } from './components/Tabs'; +export { + TabsVertical, + TabPanel, + TabPanels, + TabList, + TabListVertical, + IconTab, +} from './components/Tabs'; export Tag from './components/Tag'; export DismissibleTag from './components/Tag/DismissibleTag.tsx'; export OperationalTag from './components/Tag/OperationalTag.tsx'; diff --git a/packages/styles/package.json b/packages/styles/package.json index 5600a066f01d..515fef1e4a05 100644 --- a/packages/styles/package.json +++ b/packages/styles/package.json @@ -1,7 +1,7 @@ { "name": "@carbon/styles", "description": "Styles for the Carbon Design System", - "version": "1.61.0-rc.0", + "version": "1.61.0", "license": "Apache-2.0", "repository": { "type": "git", diff --git a/www/package.json b/www/package.json index ca0a43981d66..3d287624bbf0 100644 --- a/www/package.json +++ b/www/package.json @@ -1,7 +1,7 @@ { "name": "www", "private": true, - "version": "0.70.0-rc.1", + "version": "0.71.0", "license": "Apache-2.0", "repository": { "type": "git", @@ -22,7 +22,7 @@ "start": "next start" }, "dependencies": { - "@carbon/react": "^1.61.0-rc.1", + "@carbon/react": "^1.62.0", "@octokit/core": "^4.0.0", "@octokit/plugin-retry": "^3.0.9", "@octokit/plugin-throttling": "^4.0.0", diff --git a/yarn.lock b/yarn.lock index e2e50fb67521..ba9bb2d49ca5 100644 --- a/yarn.lock +++ b/yarn.lock @@ -1832,7 +1832,7 @@ __metadata: "@carbon/cli": "npm:^11.18.0" "@carbon/colors": "npm:^11.23.0" "@carbon/grid": "npm:^11.24.0" - "@carbon/icons": "npm:^11.45.0-rc.0" + "@carbon/icons": "npm:^11.45.0" "@carbon/layout": "npm:^11.23.0" "@carbon/motion": "npm:^11.19.0" "@carbon/themes": "npm:^11.37.0" @@ -1925,13 +1925,13 @@ __metadata: languageName: unknown linkType: soft -"@carbon/icons-react@npm:^11.45.0-rc.0, @carbon/icons-react@workspace:packages/icons-react": +"@carbon/icons-react@npm:^11.45.0, @carbon/icons-react@workspace:packages/icons-react": version: 0.0.0-use.local resolution: "@carbon/icons-react@workspace:packages/icons-react" dependencies: "@carbon/icon-build-helpers": "npm:^1.27.0" "@carbon/icon-helpers": "npm:^10.49.0" - "@carbon/icons": "npm:^11.45.0-rc.0" + "@carbon/icons": "npm:^11.45.0" "@ibm/telemetry-js": "npm:^1.5.0" prop-types: "npm:^15.7.2" rimraf: "npm:^5.0.0" @@ -1946,7 +1946,7 @@ __metadata: dependencies: "@carbon/cli-reporter": "npm:^10.7.0" "@carbon/icon-helpers": "npm:^10.49.0" - "@carbon/icons": "npm:^11.45.0-rc.0" + "@carbon/icons": "npm:^11.45.0" "@ibm/telemetry-js": "npm:^1.5.0" fs-extra: "npm:^11.0.0" prettier: "npm:^2.8.8" @@ -1956,7 +1956,7 @@ __metadata: languageName: unknown linkType: soft -"@carbon/icons@npm:^11.45.0-rc.0, @carbon/icons@workspace:packages/icons": +"@carbon/icons@npm:^11.45.0, @carbon/icons@workspace:packages/icons": version: 0.0.0-use.local resolution: "@carbon/icons@workspace:packages/icons" dependencies: @@ -2016,7 +2016,7 @@ __metadata: languageName: unknown linkType: soft -"@carbon/react@npm:^1.61.0-rc.1, @carbon/react@workspace:packages/react": +"@carbon/react@npm:^1.62.0, @carbon/react@workspace:packages/react": version: 0.0.0-use.local resolution: "@carbon/react@workspace:packages/react" dependencies: @@ -2030,12 +2030,12 @@ __metadata: "@babel/preset-typescript": "npm:^7.21.5" "@babel/runtime": "npm:^7.18.3" "@carbon/feature-flags": "npm:^0.20.0" - "@carbon/icons-react": "npm:^11.45.0-rc.0" + "@carbon/icons-react": "npm:^11.45.0" "@carbon/layout": "npm:^11.23.0" - "@carbon/styles": "npm:^1.61.0-rc.0" + "@carbon/styles": "npm:^1.61.0" "@carbon/test-utils": "npm:^10.30.0" "@carbon/themes": "npm:^11.37.0" - "@figma/code-connect": "npm:^1.0.1" + "@figma/code-connect": "npm:^1.0.2" "@floating-ui/react": "npm:^0.26.0" "@ibm/telemetry-js": "npm:^1.5.0" "@rollup/plugin-babel": "npm:^6.0.0" @@ -2114,7 +2114,7 @@ __metadata: languageName: unknown linkType: soft -"@carbon/styles@npm:^1.61.0-rc.0, @carbon/styles@workspace:packages/styles": +"@carbon/styles@npm:^1.61.0, @carbon/styles@workspace:packages/styles": version: 0.0.0-use.local resolution: "@carbon/styles@workspace:packages/styles" dependencies: @@ -3085,9 +3085,9 @@ __metadata: languageName: node linkType: hard -"@figma/code-connect@npm:^1.0.1": - version: 1.0.1 - resolution: "@figma/code-connect@npm:1.0.1" +"@figma/code-connect@npm:^1.0.2": + version: 1.0.2 + resolution: "@figma/code-connect@npm:1.0.2" dependencies: "@babel/core": "npm:^7.24.7" "@babel/generator": "npm:^7.24.7" @@ -3106,6 +3106,7 @@ __metadata: glob: "npm:^10.3.10" lodash: "npm:^4.17.21" minimatch: "npm:^9.0.3" + ora: "npm:^5.4.1" prettier: "npm:^2.8.8" prompts: "npm:^2.4.2" strip-ansi: "npm:^6.0.0" @@ -3114,7 +3115,7 @@ __metadata: zod-validation-error: "npm:^3.2.0" bin: figma: bin/figma - checksum: 10/1fceaee82890955d91806bed145d62a9ffeee4603e266ba908c9bc6ad1fde317fd83fdbaad5ea69e2d8cfe8cc2f6d5f432a376e3299dc21ac255c5b163077331 + checksum: 10/28de9e30705e987bb2de035bd4033a061edcae094edd37cd0116d1a666369f3fb248164b39c79a648e8a832ccd0ed84873027e8b56cdc9b1832764c80ba06ca0 languageName: node linkType: hard @@ -9906,8 +9907,8 @@ __metadata: "@babel/plugin-transform-react-constant-elements": "npm:^7.17.12" "@babel/preset-env": "npm:^7.18.2" "@babel/preset-react": "npm:^7.17.12" - "@carbon/react": "npm:^1.61.0-rc.1" - "@carbon/styles": "npm:^1.61.0-rc.0" + "@carbon/react": "npm:^1.62.0" + "@carbon/styles": "npm:^1.61.0" "@carbon/test-utils": "npm:^10.30.0" "@ibm/telemetry-js": "npm:^1.5.0" "@rollup/plugin-babel": "npm:^6.0.0" @@ -9934,7 +9935,7 @@ __metadata: version: 0.0.0-use.local resolution: "carbon-components@workspace:packages/carbon-components" dependencies: - "@carbon/styles": "npm:^1.61.0-rc.0" + "@carbon/styles": "npm:^1.61.0" "@carbon/test-utils": "npm:^10.30.0" "@ibm/telemetry-js": "npm:^1.5.0" chalk: "npm:1.1.3" @@ -10278,7 +10279,7 @@ __metadata: version: 0.0.0-use.local resolution: "class-prefix@workspace:examples/class-prefix" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" "@vitejs/plugin-react": "npm:4.0.0" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" @@ -10582,7 +10583,7 @@ __metadata: version: 0.0.0-use.local resolution: "codesandbox-styles@workspace:examples/codesandbox-styles" dependencies: - "@carbon/styles": "npm:^1.61.0-rc.0" + "@carbon/styles": "npm:^1.61.0" sass: "npm:^1.51.0" vite: "npm:^4.3.8" languageName: unknown @@ -11651,7 +11652,7 @@ __metadata: version: 0.0.0-use.local resolution: "custom-theme@workspace:examples/custom-theme" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" "@vitejs/plugin-react": "npm:4.0.0" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" @@ -13825,7 +13826,7 @@ __metadata: version: 0.0.0-use.local resolution: "examples-light-dark@workspace:examples/light-dark-mode" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" eslint: "npm:8.40.0" next: "npm:14.1.1" react: "npm:18.2.0" @@ -13838,7 +13839,7 @@ __metadata: version: 0.0.0-use.local resolution: "examples-nextjs@workspace:examples/nextjs" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" eslint: "npm:8.40.0" eslint-config-next: "npm:13.4.7" next: "npm:14.1.1" @@ -16025,7 +16026,7 @@ __metadata: version: 0.0.0-use.local resolution: "id-prefix@workspace:examples/id-prefix" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" "@vitejs/plugin-react": "npm:4.0.0" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" @@ -27751,7 +27752,7 @@ __metadata: version: 0.0.0-use.local resolution: "v10-token-compat-in-v11@workspace:examples/v10-token-compat-in-v11" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" "@vitejs/plugin-react": "npm:4.0.0" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" @@ -28037,7 +28038,7 @@ __metadata: version: 0.0.0-use.local resolution: "vite@workspace:examples/vite" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" "@vitejs/plugin-react": "npm:4.0.0" react: "npm:^18.2.0" react-dom: "npm:^18.2.0" @@ -28591,7 +28592,7 @@ __metadata: version: 0.0.0-use.local resolution: "www@workspace:www" dependencies: - "@carbon/react": "npm:^1.61.0-rc.1" + "@carbon/react": "npm:^1.62.0" "@octokit/core": "npm:^4.0.0" "@octokit/plugin-retry": "npm:^3.0.9" "@octokit/plugin-throttling": "npm:^4.0.0"