diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index 51aa7c1f42..ca430ab0d1 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -182,6 +182,28 @@ jobs:
name: playwright-avt-report
path: .playwright
+ vrt-runner:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout
+ uses: actions/checkout@v2
+ - name: Setup Node.js
+ uses: actions/setup-node@v2
+ with:
+ node-version: '20.x'
+ cache: yarn
+ - name: Install
+ run: yarn
+ - name: Install browsers
+ run: yarn playwright install --with-deps
+ - name: Build project
+ run: yarn build
+ - name: Run VRT
+ working-directory: packages/core
+ env:
+ PERCY_TOKEN: web_d04495b0b413d61c2ea6b9118d1748b43f4fdd58d17ebe453ef8e0016b5766e4
+ run: yarn percy storybook storybook-static
+
avt:
if: ${{ always() }}
runs-on: ubuntu-latest
diff --git a/.gitignore b/.gitignore
index bb1a2bab8d..ae1dc14e3c 100644
--- a/.gitignore
+++ b/.gitignore
@@ -26,6 +26,7 @@ logs
pids
*.pid
*.seed
+.env
# Certificates
*.crt
diff --git a/.percy.yml b/.percy.yml
new file mode 100644
index 0000000000..859929afc9
--- /dev/null
+++ b/.percy.yml
@@ -0,0 +1,17 @@
+# Percy config
+version: 2
+snapshot:
+ widths:
+ - 360
+ - 1366
+ minHeight: 1024
+storybook:
+ include: ['/IBM Products/']
+ exclude: [
+ '/Datagrid/*',
+ '/DataSpreadsheet/',
+ '/MultiAddSelect: With Avatars/', # avoid dynamic avatar color generation
+ '/Tag set/TagSet: Hundreds Of Tags', # avoid dynamic tag color generation
+ '/Page header/PageHeader: Page header with all items, pre-collapsed', # takes random time, to collapse on initial load
+ '/Tag set/TagSet: Many Tags', # takes time to calculate the overflow, causing random layout shift
+ ]
diff --git a/cspell.json b/cspell.json
index 2a23a9989e..cf69e0555e 100644
--- a/cspell.json
+++ b/cspell.json
@@ -138,6 +138,7 @@
"nonlinearreading",
"nonselectablerows",
"noreply",
+ "Overflowmenu",
"overridable",
"overscan",
"overscroll",
diff --git a/e2e/components/Datagrid/Datagrid-test.avt.e2e.js b/e2e/components/Datagrid/Datagrid-test.avt.e2e.js
index 84d1579c4a..9840381506 100644
--- a/e2e/components/Datagrid/Datagrid-test.avt.e2e.js
+++ b/e2e/components/Datagrid/Datagrid-test.avt.e2e.js
@@ -16,7 +16,7 @@ test.describe('Datagrid @avt', () => {
test('@avt-basic-usage', async ({ page }) => {
await visitStory(page, {
component: 'Datagrid',
- id: 'ibm-products-components-datagrid--basic-usage',
+ id: 'deprecated-datagrid-datagrid--basic-usage',
globals: {
carbonTheme: 'white',
},
@@ -27,7 +27,7 @@ test.describe('Datagrid @avt', () => {
test('@avt-open-and-dismiss-sidepanel-onRowClick', async ({ page }) => {
await visitStory(page, {
component: 'Datagrid',
- id: 'ibm-products-components-datagrid-clickablerow--clickable-row-story',
+ id: 'deprecated-datagrid-datagrid-clickablerow--clickable-row-story',
globals: {
carbonTheme: 'white',
},
diff --git a/package.json b/package.json
index 14e9a9baf6..31587ffb5a 100644
--- a/package.json
+++ b/package.json
@@ -67,7 +67,8 @@
"upgrade:dependencies:examples": "npm-check-updates -u --dep dev,peer,prod --color --target minor --packageFile 'scripts/example-gallery-builder/update-example/**/package.json'",
"upgrade:automatic": "run-s -s 'upgrade:dependencies:*'",
"upgrade:carbon": "npm-check-updates -u --dep dev,peer,prod --packageFile '{package.json,{config/**,packages/**}/package.json}' --filter '/carbon/' --target minor",
- "upgrade:manual": "sh ./scripts/monorepo-npm-upgrade.sh"
+ "upgrade:manual": "sh ./scripts/monorepo-npm-upgrade.sh",
+ "visual-snapshot": "cd packages/core && yarn percy storybook storybook-static"
},
"devDependencies": {
"@babel/core": "^7.23.9",
diff --git a/packages/core/package.json b/packages/core/package.json
index ff7217b060..4a5c454001 100644
--- a/packages/core/package.json
+++ b/packages/core/package.json
@@ -35,6 +35,8 @@
"@carbon/react": "^1.69.0",
"@carbon/themes": "^11.43.0",
"@carbon/type": "^11.33.0",
+ "@percy/cli": "^1.30.1",
+ "@percy/storybook": "^6.0.0",
"@storybook/addon-a11y": "^8.1.10",
"@storybook/addon-actions": "^8.0.9",
"@storybook/addon-controls": "^8.0.9",
diff --git a/packages/ibm-products/src/components/Card/Card.tsx b/packages/ibm-products/src/components/Card/Card.tsx
index 2f9a842723..20c3eda738 100644
--- a/packages/ibm-products/src/components/Card/Card.tsx
+++ b/packages/ibm-products/src/components/Card/Card.tsx
@@ -11,8 +11,9 @@ import {
Button,
IconButton,
OverflowMenu,
- OverflowMenuItem,
+ MenuItem,
Layer,
+ unstable_FeatureFlags as FeatureFlags,
} from '@carbon/react';
import { CheckmarkOutline, Incomplete } from '@carbon/react/icons';
import PropTypes from 'prop-types';
@@ -169,21 +170,23 @@ export const Card = forwardRef(
// actions can either be an overflow menu or series of icons
const getActions = () => {
if (overflowActions.length > 0) {
- const pos = actionsPlacement === 'top' ? 'bottom' : 'top';
+ const pos = actionsPlacement === 'top' ? 'bottom-end' : 'top-end';
const size = actionsPlacement === 'top' ? 'sm' : 'md';
return (
-
- {overflowActions.map(({ id, ...rest }) => (
-
- ))}
-
+
+
+ {overflowActions.map(({ id, itemText, ...rest }) => (
+
+ ))}
+
+
);
}
diff --git a/packages/ibm-products/src/components/CreateFullPage/CreateFullPage.stories.jsx b/packages/ibm-products/src/components/CreateFullPage/CreateFullPage.stories.jsx
index f1031bef63..1108fbfd32 100644
--- a/packages/ibm-products/src/components/CreateFullPage/CreateFullPage.stories.jsx
+++ b/packages/ibm-products/src/components/CreateFullPage/CreateFullPage.stories.jsx
@@ -55,6 +55,12 @@ export default {
layout: 'fullscreen',
docs: { page: DocsPage },
controls: { sort: 'requiredFirst' },
+ percy: {
+ waitForSelector: [
+ `button.${blockClass}__create-button`,
+ `.${blockClass}__influencer`,
+ ],
+ },
},
decorators: [
(story) =>
{story()}
,
diff --git a/packages/ibm-products/src/components/Datagrid/Datagrid.docs-page.js b/packages/ibm-products/src/components/Datagrid/Datagrid.docs-page.js
index e8b2ecbce5..ab7451ce49 100644
--- a/packages/ibm-products/src/components/Datagrid/Datagrid.docs-page.js
+++ b/packages/ibm-products/src/components/Datagrid/Datagrid.docs-page.js
@@ -13,6 +13,7 @@ import toolbarScreenshot from './storybook-assets/datagrid-actions-example.png';
const DocsPage = () => (
(
+
+
+ This component is deprecated and will be moving to an
+ example-based approach. For more information, please refer to the{' '}
+
+ migration documentation
+
+ .
+
+ }
+ >
+ {story()}
+
+
+ ),
+ ],
};
const getColumns = (rows) => {
diff --git a/packages/ibm-products/src/components/Datagrid/Datagrid.test.js b/packages/ibm-products/src/components/Datagrid/Datagrid.test.js
index 1f70df495f..aa18a8c878 100644
--- a/packages/ibm-products/src/components/Datagrid/Datagrid.test.js
+++ b/packages/ibm-products/src/components/Datagrid/Datagrid.test.js
@@ -917,7 +917,10 @@ const ActionsColumnExample = ({
beforeAll(() => {
jest.spyOn(global.console, 'warn').mockImplementation((message) => {
- if (!message.includes('componentWillReceiveProps')) {
+ if (
+ !message.includes('componentWillReceiveProps') &&
+ !message.includes('deprecated')
+ ) {
global.console.warn(message);
}
});
@@ -1171,7 +1174,8 @@ describe(componentName, () => {
);
expect(container.children.length).toEqual(0);
jest.spyOn(console, 'error').mockRestore();
- }
+ },
+ 2
);
});
diff --git a/packages/ibm-products/src/components/Datagrid/Datagrid/Datagrid.tsx b/packages/ibm-products/src/components/Datagrid/Datagrid/Datagrid.tsx
index 5513e0466d..06dc2d3a1f 100644
--- a/packages/ibm-products/src/components/Datagrid/Datagrid/Datagrid.tsx
+++ b/packages/ibm-products/src/components/Datagrid/Datagrid/Datagrid.tsx
@@ -34,6 +34,7 @@ export interface DatagridProps {
/**
* The `Datagrid` component is an extension of Carbon's DataTable component. At the most basic level, the `Datagrid` component takes in columns and rows and renders a data table. There is a set of data table extensions which this component provides support for, these can be found [here](https://pages.github.ibm.com/carbon/ibm-products/components/datagrid/overview/). This component is data driven and allows you to choose what pieces will be included based on the hooks/plugins that are provided.
+ * @deprecated
*/
export let Datagrid = React.forwardRef(
(
@@ -104,6 +105,12 @@ export let Datagrid = React.forwardRef(
}
);
+/**@ts-ignore*/
+Datagrid.deprecated = {
+ level: 'warn',
+ details: `For more information, please refer to the migration docs https://github.com/carbon-design-system/tanstack-carbon`,
+};
+
// Return a placeholder if not released and not enabled by feature flag
Datagrid = pkg.checkComponentEnabled(Datagrid, componentName);
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/AiLabel/AiLabel.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/AiLabel/AiLabel.stories.jsx
index 31abdb9ab1..a54b6163fa 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/AiLabel/AiLabel.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/AiLabel/AiLabel.stories.jsx
@@ -26,7 +26,7 @@ import { StoryDocsPage } from '../../../../global/js/utils/StoryDocsPage';
import { ExampleAILabel } from '../../utils/ExampleAILabel';
export default {
- title: 'IBM Products/Components/Datagrid/AILabel',
+ title: 'Deprecated/Datagrid/Datagrid/AILabel',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/ClickableRow/ClickableRow.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/ClickableRow/ClickableRow.stories.jsx
index 9188f31cf7..e40444d898 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/ClickableRow/ClickableRow.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/ClickableRow/ClickableRow.stories.jsx
@@ -30,7 +30,7 @@ import { SidePanel } from '../../../SidePanel';
import { StoryDocsPage } from '../../../../global/js/utils/StoryDocsPage';
export default {
- title: 'IBM Products/Components/Datagrid/ClickableRow',
+ title: 'Deprecated/Datagrid/Datagrid/ClickableRow',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/ColumnCustomization/ColumnCustomization.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/ColumnCustomization/ColumnCustomization.stories.jsx
index c145c4e894..89e8742532 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/ColumnCustomization/ColumnCustomization.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/ColumnCustomization/ColumnCustomization.stories.jsx
@@ -30,7 +30,7 @@ import { FeatureFlags } from '../../../FeatureFlags';
import { WithFeatureFlags } from '../../../../../../core/.storybook/WithFeatureFlags';
export default {
- title: 'IBM Products/Components/Datagrid/ColumnCustomization',
+ title: 'Deprecated/Datagrid/Datagrid/ColumnCustomization',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/EditableCell/EditableCell.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/EditableCell/EditableCell.stories.jsx
index c015260486..7ce2812ef3 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/EditableCell/EditableCell.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/EditableCell/EditableCell.stories.jsx
@@ -28,7 +28,7 @@ const blockClass = `${pkg.prefix}--datagrid`;
const storybookBlockClass = `storybook-${blockClass}__validation-code-snippet`;
export default {
- title: 'IBM Products/Components/Datagrid/EditableCell',
+ title: 'Deprecated/Datagrid/Datagrid/EditableCell',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/ExpandableRow/ExpandableRow.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/ExpandableRow/ExpandableRow.stories.jsx
index 655cf20a04..d15e68425d 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/ExpandableRow/ExpandableRow.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/ExpandableRow/ExpandableRow.stories.jsx
@@ -26,7 +26,7 @@ import { DocsPage } from './ExpandableRow.docs-page';
import { usePrefix } from '../../../../global/js/hooks';
export default {
- title: 'IBM Products/Components/Datagrid/ExpandableRow',
+ title: 'Deprecated/Datagrid/Datagrid/ExpandableRow',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Flyout.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Flyout.stories.jsx
index 29908a82fc..7eee49314d 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Flyout.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Flyout.stories.jsx
@@ -18,7 +18,7 @@ import { getDateFormat } from '../../utils/getDateFormat';
import { getFilterProps } from './Panel.stories';
export default {
- title: 'IBM Products/Components/Datagrid/Filtering/Flyout',
+ title: 'Deprecated/Datagrid/Datagrid/Filtering/Flyout',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Panel.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Panel.stories.jsx
index f97daf5ab6..48bcbbb55e 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Panel.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/Filtering/Panel.stories.jsx
@@ -18,7 +18,7 @@ import { FilteringUsage } from '../../utils/FilteringUsage';
import { getDateFormat } from '../../utils/getDateFormat';
export default {
- title: 'IBM Products/Components/Datagrid/Filtering/Panel',
+ title: 'Deprecated/Datagrid/Datagrid/Filtering/Panel',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/NestedRows/NestedRows.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/NestedRows/NestedRows.stories.jsx
index bf3c6ca3ee..cdfe350540 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/NestedRows/NestedRows.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/NestedRows/NestedRows.stories.jsx
@@ -33,7 +33,7 @@ const sharedArgTypes = {
};
export default {
- title: 'IBM Products/Components/Datagrid/NestedRows',
+ title: 'Deprecated/Datagrid/Datagrid/NestedRows',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/RowActionButtons/RowActionButtons.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/RowActionButtons/RowActionButtons.stories.jsx
index 22548e8709..34f97ac3a6 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/RowActionButtons/RowActionButtons.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/RowActionButtons/RowActionButtons.stories.jsx
@@ -25,7 +25,7 @@ import { makeData } from '../../utils/makeData';
import { ARG_TYPES } from '../../utils/getArgTypes';
export default {
- title: 'IBM Products/Components/Datagrid/RowActionButtons',
+ title: 'Deprecated/Datagrid/Datagrid/RowActionButtons',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/Datagrid/Extensions/RowHeightSettings/RowHeightSettings.stories.jsx b/packages/ibm-products/src/components/Datagrid/Extensions/RowHeightSettings/RowHeightSettings.stories.jsx
index e720c4f475..8d59917fba 100644
--- a/packages/ibm-products/src/components/Datagrid/Extensions/RowHeightSettings/RowHeightSettings.stories.jsx
+++ b/packages/ibm-products/src/components/Datagrid/Extensions/RowHeightSettings/RowHeightSettings.stories.jsx
@@ -19,7 +19,7 @@ import { ARG_TYPES } from '../../utils/getArgTypes';
import { StoryDocsPage } from '../../../../global/js/utils/StoryDocsPage';
export default {
- title: 'IBM Products/Components/Datagrid/RowHeightSettings',
+ title: 'Deprecated/Datagrid/Datagrid/RowHeightSettings',
component: Datagrid,
tags: ['autodocs'],
parameters: {
diff --git a/packages/ibm-products/src/components/FullPageError/FullPageError.stories.jsx b/packages/ibm-products/src/components/FullPageError/FullPageError.stories.jsx
index 4dfab749f4..8ed33d8847 100644
--- a/packages/ibm-products/src/components/FullPageError/FullPageError.stories.jsx
+++ b/packages/ibm-products/src/components/FullPageError/FullPageError.stories.jsx
@@ -41,6 +41,9 @@ export default {
docs: {
page: mdx,
},
+ percy: {
+ waitForTimeout: 1000,
+ },
},
};
diff --git a/packages/ibm-products/src/components/PageHeader/PageHeader.stories.jsx b/packages/ibm-products/src/components/PageHeader/PageHeader.stories.jsx
index 90b2b71aac..ffc36aa911 100644
--- a/packages/ibm-products/src/components/PageHeader/PageHeader.stories.jsx
+++ b/packages/ibm-products/src/components/PageHeader/PageHeader.stories.jsx
@@ -373,7 +373,14 @@ export default {
title: 'IBM Products/Components/Page header/PageHeader',
component: PageHeader,
tags: ['autodocs'],
- parameters: { styles, layout: 'fullscreen' /* docs: { page: mdx } */ },
+ parameters: {
+ styles,
+ layout: 'fullscreen',
+ /* docs: { page: mdx } */
+ percy: {
+ waitForTimeout: 1000,
+ },
+ },
decorators: [
(story, { args }) => (
{
const { csfFile } = useOf('meta', ['meta']);
@@ -140,6 +141,12 @@ export const StoryDocsPage = ({
)
) : null}
+ {deprecationNotice && (
+ <>
+
Deprecation notice
+ {deprecationNotice}
+ >
+ )}
Table of contents
@@ -290,6 +297,10 @@ StoryDocsPage.propTypes = {
}),
})
),
+ /**
+ * Designates a special top level area for important notices or messaging like deprecation
+ */
+ deprecationNotice: PropTypes.string,
/**
* Set to true if no published example exists (all components and patterns should have an example)
*/
diff --git a/packages/ibm-products/src/global/js/utils/test-helper.js b/packages/ibm-products/src/global/js/utils/test-helper.js
index fa9b93a1ff..d089abf5da 100644
--- a/packages/ibm-products/src/global/js/utils/test-helper.js
+++ b/packages/ibm-products/src/global/js/utils/test-helper.js
@@ -138,11 +138,12 @@ const makeMatcherArray = (args) =>
* argument.
* @param {Function} test the test function to call, during which the call to
* console.warn will be expected.
+ * @param {number} calls by default the test assumes warn will be called a single time, but it's possible it'll be called more than once
*/
-export const expectWarn = (message, test) => {
+export const expectWarn = (message, test, calls = 1) => {
const warn = jest.spyOn(console, 'warn').mockImplementation(jest.fn());
const result = test();
- expect(warn).toBeCalledTimes(1);
+ expect(warn).toBeCalledTimes(calls);
// expect(warn).toHaveBeenCalledWith(...makeMatcherArray(message));
warn.mockRestore();
return result;
diff --git a/yarn.lock b/yarn.lock
index 2e7eabde70..25d0ad9025 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1805,6 +1805,8 @@ __metadata:
"@carbon/react": "npm:^1.69.0"
"@carbon/themes": "npm:^11.43.0"
"@carbon/type": "npm:^11.33.0"
+ "@percy/cli": "npm:^1.30.1"
+ "@percy/storybook": "npm:^6.0.0"
"@storybook/addon-a11y": "npm:^8.1.10"
"@storybook/addon-actions": "npm:^8.0.9"
"@storybook/addon-controls": "npm:^8.0.9"
@@ -5189,6 +5191,199 @@ __metadata:
languageName: node
linkType: hard
+"@percy/cli-app@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/cli-app@npm:1.30.1"
+ dependencies:
+ "@percy/cli-command": "npm:1.30.1"
+ "@percy/cli-exec": "npm:1.30.1"
+ checksum: 461803b9ff800424a434e3e78121355006df8958b712f3a3214aab5ea07338f3e26e2950dded20ab516e480bc518950c0145103ffaef5e1e4dba8225b69c068e
+ languageName: node
+ linkType: hard
+
+"@percy/cli-build@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/cli-build@npm:1.30.1"
+ dependencies:
+ "@percy/cli-command": "npm:1.30.1"
+ checksum: e2aea224da33db9e8012dd1c92b246c9b241beba84cbad4f2f0558067a154bc78868fcee3cb8de2deb7051445fff3238e134c70c1fdbbd6a12965f2c2b7bf444
+ languageName: node
+ linkType: hard
+
+"@percy/cli-command@npm:1.30.1, @percy/cli-command@npm:^1.28.5":
+ version: 1.30.1
+ resolution: "@percy/cli-command@npm:1.30.1"
+ dependencies:
+ "@percy/config": "npm:1.30.1"
+ "@percy/core": "npm:1.30.1"
+ "@percy/logger": "npm:1.30.1"
+ bin:
+ percy-cli-readme: bin/readme.js
+ checksum: 89d837c9ffe31b7028acc290a3846f61c6d037176c7c09a730c96f667edaa97313c4ea7163a04dbeac2334a7a38e5872e27ddaee6b491b87d60a233758943314
+ languageName: node
+ linkType: hard
+
+"@percy/cli-config@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/cli-config@npm:1.30.1"
+ dependencies:
+ "@percy/cli-command": "npm:1.30.1"
+ checksum: abb14b7699033015b69b3189492456426b195261f690369a0a1dc2e9e7cce1879f6bd9fe7c25b69638032a8b1e0549a462eeafaae2d23d479575e6971a777bf6
+ languageName: node
+ linkType: hard
+
+"@percy/cli-exec@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/cli-exec@npm:1.30.1"
+ dependencies:
+ "@percy/cli-command": "npm:1.30.1"
+ "@percy/logger": "npm:1.30.1"
+ cross-spawn: "npm:^7.0.3"
+ which: "npm:^2.0.2"
+ checksum: fa072b6805f6da372d11336455bb07f5296a538d074e89fb8f79fabfebdcf3a7cee78a755953f9d71593924ab35ca1efc83e0338412e1328866f005d1652e623
+ languageName: node
+ linkType: hard
+
+"@percy/cli-snapshot@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/cli-snapshot@npm:1.30.1"
+ dependencies:
+ "@percy/cli-command": "npm:1.30.1"
+ yaml: "npm:^2.0.0"
+ checksum: cb4dff415d64b9fa1055335ae5c2cee63b87fd8feed5a5aa85ce3c457f48de845f4b6d90f79163cd856a91baa4ecd612cf6c34b04f9639073d30bfa6a5640a1c
+ languageName: node
+ linkType: hard
+
+"@percy/cli-upload@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/cli-upload@npm:1.30.1"
+ dependencies:
+ "@percy/cli-command": "npm:1.30.1"
+ fast-glob: "npm:^3.2.11"
+ image-size: "npm:^1.0.0"
+ checksum: 11803bb330fb741b9011f6e70233957a5339ad045066e5526beae989601d945c11db2ec42ca0a4b224bd11f47ee00a0fb66e12d11b75956399f461eb2ece9a81
+ languageName: node
+ linkType: hard
+
+"@percy/cli@npm:^1.30.1":
+ version: 1.30.1
+ resolution: "@percy/cli@npm:1.30.1"
+ dependencies:
+ "@percy/cli-app": "npm:1.30.1"
+ "@percy/cli-build": "npm:1.30.1"
+ "@percy/cli-command": "npm:1.30.1"
+ "@percy/cli-config": "npm:1.30.1"
+ "@percy/cli-exec": "npm:1.30.1"
+ "@percy/cli-snapshot": "npm:1.30.1"
+ "@percy/cli-upload": "npm:1.30.1"
+ "@percy/client": "npm:1.30.1"
+ "@percy/logger": "npm:1.30.1"
+ bin:
+ percy: bin/run.cjs
+ checksum: 57782c02ff29f317b2315ff7b22630cf100b55536855c15bc418b60d0443321932c43560a70638c73681588c88780168b6688e1ce8c270fdd5e5187b4e18646d
+ languageName: node
+ linkType: hard
+
+"@percy/client@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/client@npm:1.30.1"
+ dependencies:
+ "@percy/env": "npm:1.30.1"
+ "@percy/logger": "npm:1.30.1"
+ pako: "npm:^2.1.0"
+ checksum: 124711e3f8721e495cde69277f73d3078195af754b0a780d76f31e834b784f4410ae2dabcf3a942721cf8771126b1000d2d7f6e1d0a162c088b9dc46bfb70ccc
+ languageName: node
+ linkType: hard
+
+"@percy/config@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/config@npm:1.30.1"
+ dependencies:
+ "@percy/logger": "npm:1.30.1"
+ ajv: "npm:^8.6.2"
+ cosmiconfig: "npm:^8.0.0"
+ yaml: "npm:^2.0.0"
+ checksum: eb44803208716e232cc79c0ceaf7a37077cc0f63208f01d8532b28f32b4ba0e1b90dac2a49675e473a56fddfc7bcbdb581b84107684f29b95ce493ddb0b031f5
+ languageName: node
+ linkType: hard
+
+"@percy/core@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/core@npm:1.30.1"
+ dependencies:
+ "@percy/client": "npm:1.30.1"
+ "@percy/config": "npm:1.30.1"
+ "@percy/dom": "npm:1.30.1"
+ "@percy/logger": "npm:1.30.1"
+ "@percy/webdriver-utils": "npm:1.30.1"
+ content-disposition: "npm:^0.5.4"
+ cross-spawn: "npm:^7.0.3"
+ extract-zip: "npm:^2.0.1"
+ fast-glob: "npm:^3.2.11"
+ micromatch: "npm:^4.0.8"
+ mime-types: "npm:^2.1.34"
+ pako: "npm:^2.1.0"
+ path-to-regexp: "npm:^6.3.0"
+ rimraf: "npm:^3.0.2"
+ ws: "npm:^8.17.1"
+ yaml: "npm:^2.4.1"
+ checksum: 3735da83258b00261962be5ca3c6b0e75662da30b23713d414cb125f1a702f10aa66421a805046ed4e90cdb26ba72a642002014534f29738b956f14669e972f8
+ languageName: node
+ linkType: hard
+
+"@percy/dom@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/dom@npm:1.30.1"
+ checksum: 91100f1db94fec5fd3daa4afbdbc0cfe6b4ce43f28c289ac58ccbb9d02e0ed37a87671abd2091768282f745a6abacfe85264a802a6442a0aaacc8766c43b330a
+ languageName: node
+ linkType: hard
+
+"@percy/env@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/env@npm:1.30.1"
+ dependencies:
+ "@percy/logger": "npm:1.30.1"
+ checksum: 61d5c9776be18ced48740bbada10d598e4f2d8296f4daa10ebfe51b54b1f6689f3d913bcfe5fa9b9f95ca2da9cbfc1b04db971a51cdb699f8d70b3622cdec32a
+ languageName: node
+ linkType: hard
+
+"@percy/logger@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/logger@npm:1.30.1"
+ checksum: 6d7cee83271c26f8beabb91e122da8bbe080f92bf79168a8950f6478b65738272a40d192ebe21e6b9167e7d5c392617a2559c114e59dba29263d422a240258a9
+ languageName: node
+ linkType: hard
+
+"@percy/sdk-utils@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/sdk-utils@npm:1.30.1"
+ checksum: 76b4ad1898b5acb05201830ba48c27831fc67e55205a17d7b15e6b0a0efc444885a98a4a3351d8821f60c4f432348c9efa867da13a276c2c4c65f52dce8333e4
+ languageName: node
+ linkType: hard
+
+"@percy/storybook@npm:^6.0.0":
+ version: 6.0.2
+ resolution: "@percy/storybook@npm:6.0.2"
+ dependencies:
+ "@percy/cli-command": "npm:^1.28.5"
+ cross-spawn: "npm:^7.0.3"
+ qs: "npm:^6.11.0"
+ bin:
+ percy-storybook: bin/percy-storybook.cjs
+ checksum: e007104369883907df1cfee1642190adf81adc8257f591f92d18d4fdafb401cdeaab95b06c28b7994d9fcf0ae146cc1f777601a7df13ea37b5c3666f4164bb94
+ languageName: node
+ linkType: hard
+
+"@percy/webdriver-utils@npm:1.30.1":
+ version: 1.30.1
+ resolution: "@percy/webdriver-utils@npm:1.30.1"
+ dependencies:
+ "@percy/config": "npm:1.30.1"
+ "@percy/sdk-utils": "npm:1.30.1"
+ checksum: d02714acfddcb596a77635605d3b88c23c3deaff55bd5b8e5e733b1efbbc8f175b472b8924b11946b9eceb5987dd0c0289be20c4ede8423adae43d1a81f9edf0
+ languageName: node
+ linkType: hard
+
"@pkgjs/parseargs@npm:^0.11.0":
version: 0.11.0
resolution: "@pkgjs/parseargs@npm:0.11.0"
@@ -9405,6 +9600,18 @@ __metadata:
languageName: node
linkType: hard
+"ajv@npm:^8.6.2":
+ version: 8.17.1
+ resolution: "ajv@npm:8.17.1"
+ dependencies:
+ fast-deep-equal: "npm:^3.1.3"
+ fast-uri: "npm:^3.0.1"
+ json-schema-traverse: "npm:^1.0.0"
+ require-from-string: "npm:^2.0.2"
+ checksum: ee3c62162c953e91986c838f004132b6a253d700f1e51253b99791e2dbfdb39161bc950ebdc2f156f8568035bb5ed8be7bd78289cd9ecbf3381fe8f5b82e3f33
+ languageName: node
+ linkType: hard
+
"ansi-align@npm:^3.0.0, ansi-align@npm:^3.0.1":
version: 3.0.1
resolution: "ansi-align@npm:3.0.1"
@@ -11571,7 +11778,7 @@ __metadata:
languageName: node
linkType: hard
-"content-disposition@npm:0.5.4":
+"content-disposition@npm:0.5.4, content-disposition@npm:^0.5.4":
version: 0.5.4
resolution: "content-disposition@npm:0.5.4"
dependencies:
@@ -11801,7 +12008,7 @@ __metadata:
languageName: node
linkType: hard
-"cosmiconfig@npm:^8.2.0, cosmiconfig@npm:^8.3.6":
+"cosmiconfig@npm:^8.0.0, cosmiconfig@npm:^8.2.0, cosmiconfig@npm:^8.3.6":
version: 8.3.6
resolution: "cosmiconfig@npm:8.3.6"
dependencies:
@@ -14590,7 +14797,7 @@ __metadata:
languageName: node
linkType: hard
-"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2":
+"fast-glob@npm:^3.0.3, fast-glob@npm:^3.2.11, fast-glob@npm:^3.2.2, fast-glob@npm:^3.2.7, fast-glob@npm:^3.2.9, fast-glob@npm:^3.3.1, fast-glob@npm:^3.3.2":
version: 3.3.2
resolution: "fast-glob@npm:3.3.2"
dependencies:
@@ -14624,6 +14831,13 @@ __metadata:
languageName: node
linkType: hard
+"fast-uri@npm:^3.0.1":
+ version: 3.0.3
+ resolution: "fast-uri@npm:3.0.3"
+ checksum: 92487c75848b03edc45517fca0148287d342c30818ce43d556391db774d8e01644fb6964315a3336eec5a90f301b218b21f71fb9b2528ba25757435a20392c95
+ languageName: node
+ linkType: hard
+
"fastest-levenshtein@npm:^1.0.16":
version: 1.0.16
resolution: "fastest-levenshtein@npm:1.0.16"
@@ -16380,6 +16594,17 @@ __metadata:
languageName: node
linkType: hard
+"image-size@npm:^1.0.0":
+ version: 1.1.1
+ resolution: "image-size@npm:1.1.1"
+ dependencies:
+ queue: "npm:6.0.2"
+ bin:
+ image-size: bin/image-size.js
+ checksum: f28966dd3f6d4feccc4028400bb7e8047c28b073ab0aa90c7c53039288139dd416c6bc254a976d4bf61113d4bc84871786804113099701cbfe9ccf377effdb54
+ languageName: node
+ linkType: hard
+
"immediate@npm:~3.0.5":
version: 3.0.6
resolution: "immediate@npm:3.0.6"
@@ -19895,7 +20120,7 @@ __metadata:
languageName: node
linkType: hard
-"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34":
+"mime-types@npm:^2.1.12, mime-types@npm:^2.1.27, mime-types@npm:^2.1.34, mime-types@npm:~2.1.19, mime-types@npm:~2.1.24, mime-types@npm:~2.1.34":
version: 2.1.35
resolution: "mime-types@npm:2.1.35"
dependencies:
@@ -21750,6 +21975,13 @@ __metadata:
languageName: node
linkType: hard
+"pako@npm:^2.1.0":
+ version: 2.1.0
+ resolution: "pako@npm:2.1.0"
+ checksum: 38a04991d0ec4f4b92794a68b8c92bf7340692c5d980255c92148da96eb3e550df7a86a7128b5ac0c65ecddfe5ef3bbe9c6dab13e1bc315086e759b18f7c1401
+ languageName: node
+ linkType: hard
+
"pako@npm:~0.2.0":
version: 0.2.9
resolution: "pako@npm:0.2.9"
@@ -22919,7 +23151,7 @@ __metadata:
languageName: node
linkType: hard
-"qs@npm:6.13.0":
+"qs@npm:6.13.0, qs@npm:^6.11.0":
version: 6.13.0
resolution: "qs@npm:6.13.0"
dependencies:
@@ -22958,6 +23190,15 @@ __metadata:
languageName: node
linkType: hard
+"queue@npm:6.0.2":
+ version: 6.0.2
+ resolution: "queue@npm:6.0.2"
+ dependencies:
+ inherits: "npm:~2.0.3"
+ checksum: 3437954ef1442c86ff01a0fbe3dc6222838823b1ca97f37eff651bc20b868c0c2904424ef2c0d44cba46055f54b578f92866e573125dc9a5e8823d751e4d1585
+ languageName: node
+ linkType: hard
+
"quick-lru@npm:^4.0.1":
version: 4.0.1
resolution: "quick-lru@npm:4.0.1"
@@ -27817,6 +28058,15 @@ __metadata:
languageName: node
linkType: hard
+"yaml@npm:^2.0.0":
+ version: 2.6.0
+ resolution: "yaml@npm:2.6.0"
+ bin:
+ yaml: bin.mjs
+ checksum: f4369f667c7626c216ea81b5840fe9b530cdae4cff2d84d166ec1239e54bf332dbfac4a71bf60d121f8e85e175364a4e280a520292269b6cf9d074368309adf9
+ languageName: node
+ linkType: hard
+
"yaml@npm:^2.3.4":
version: 2.4.2
resolution: "yaml@npm:2.4.2"