From 95cc307d6fcf2592d376830283069ddce463d0cf Mon Sep 17 00:00:00 2001 From: Mohamed Elmuhtadi Date: Mon, 22 May 2023 08:59:07 -0700 Subject: [PATCH] feat(Knowledge Graph): adding KG parent component, search and explore logic --- package-lock.json | 434 ++++++------------ packages/react-components/.eslintrc.js | 6 +- .../bar-chart-chromium-darwin.png | Bin 9444 -> 9476 bytes .../line-chart-chromium-darwin.png | Bin 10362 -> 10392 bytes .../scatter-chart-chromium-darwin.png | Bin 9639 -> 9669 bytes .../status-timeline-chromium-darwin.png | Bin 9360 -> 9517 bytes .../custom-font-sizes-chromium-darwin.png | Bin 11497 -> 11534 bytes .../default-chromium-darwin.png | Bin 6123 -> 6064 bytes .../error-chromium-darwin.png | Bin 10715 -> 10791 bytes .../icon-chromium-darwin.png | Bin 6387 -> 6330 bytes .../loading-chromium-darwin.png | Bin 1771 -> 1801 bytes .../name-chromium-darwin.png | Bin 6631 -> 6565 bytes .../unit-chromium-darwin.png | Bin 7019 -> 6949 bytes .../custom-font-sizes-chromium-darwin.png | Bin 5010 -> 5010 bytes packages/react-components/package.json | 1 + .../graph/__snapshots__/graph.spec.tsx.snap | 128 ------ .../knowledge-graph/KnowledgeGraphPanel.tsx | 108 +++++ .../knowledge-graph/KnowledgeGraphQueries.ts | 26 ++ .../knowledge-graph/StateManager.tsx | 43 ++ .../graph/__snapshots__/graph.spec.tsx.snap | 128 ++++++ .../{ => knowledge-graph}/graph/constants.ts | 0 .../graph/cytoscape-cloudscape-theme.ts | 0 .../graph/graph-toolbar.tsx | 0 .../graph/graph-view.tsx | 0 .../graph/graph.spec.tsx | 12 +- .../{ => knowledge-graph}/graph/graph.tsx | 41 +- .../graph/hooks/useCyEvent.spec.ts | 0 .../graph/hooks/useCyEvent.ts | 0 .../{ => knowledge-graph}/graph/index.ts | 0 .../graph/lib/response.ts | 0 .../{ => knowledge-graph}/graph/lib/types.ts | 0 .../{ => knowledge-graph}/graph/styles.scss | 0 .../{ => knowledge-graph}/graph/types.ts | 8 +- .../src/components/knowledge-graph/index.ts | 1 + .../knowledge-graph/interfaces/index.ts | 18 + .../knowledge-graph/responseParser.tsx | 60 +++ .../utils/cytoscapeParsingUtils.ts | 18 + .../components/knowledge-graph/utils/index.ts | 1 + .../stories/graph/graph.stories.tsx | 16 +- .../stories/graph/mock-data.ts | 4 +- 40 files changed, 566 insertions(+), 487 deletions(-) delete mode 100644 packages/react-components/src/components/graph/__snapshots__/graph.spec.tsx.snap create mode 100644 packages/react-components/src/components/knowledge-graph/KnowledgeGraphPanel.tsx create mode 100644 packages/react-components/src/components/knowledge-graph/KnowledgeGraphQueries.ts create mode 100644 packages/react-components/src/components/knowledge-graph/StateManager.tsx create mode 100644 packages/react-components/src/components/knowledge-graph/graph/__snapshots__/graph.spec.tsx.snap rename packages/react-components/src/components/{ => knowledge-graph}/graph/constants.ts (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/cytoscape-cloudscape-theme.ts (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/graph-toolbar.tsx (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/graph-view.tsx (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/graph.spec.tsx (90%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/graph.tsx (68%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/hooks/useCyEvent.spec.ts (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/hooks/useCyEvent.ts (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/index.ts (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/lib/response.ts (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/lib/types.ts (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/styles.scss (100%) rename packages/react-components/src/components/{ => knowledge-graph}/graph/types.ts (96%) create mode 100644 packages/react-components/src/components/knowledge-graph/index.ts create mode 100644 packages/react-components/src/components/knowledge-graph/interfaces/index.ts create mode 100644 packages/react-components/src/components/knowledge-graph/responseParser.tsx create mode 100644 packages/react-components/src/components/knowledge-graph/utils/cytoscapeParsingUtils.ts create mode 100644 packages/react-components/src/components/knowledge-graph/utils/index.ts diff --git a/package-lock.json b/package-lock.json index ee25b2e72..2ce0a841f 100644 --- a/package-lock.json +++ b/package-lock.json @@ -12117,6 +12117,48 @@ "tslib": "^2.4.0" } }, + "node_modules/@formatjs/intl": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.7.2.tgz", + "integrity": "sha512-ziiQfnXwY0/rXhtohSAmYMqDjRsihoMKdl8H2aA+FvxG9638E0XrvfBFCb+1HhimNiuqRz5fTY7F/bZtsJxsjA==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/intl-displaynames": "6.3.2", + "@formatjs/intl-listformat": "7.2.2", + "intl-messageformat": "10.3.5", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "typescript": "^4.7 || 5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/@formatjs/intl-displaynames": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.3.2.tgz", + "integrity": "sha512-kBOh0O7QYKLUqaZujLSEF2+au017plPp63R6Hrokl+oDtLyTt9y9pEuCTbOKh/P8CC9THnDLKRKgeVWZw5Ek8A==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" + } + }, + "node_modules/@formatjs/intl-listformat": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.2.2.tgz", + "integrity": "sha512-YIruRGwUrmgVOXjWi6VbwPcRNBkEfgK2DFjyyqopCmpfJ+39vnl46oLpVchErnuXs6kkARy5GcGaGV7xRsH4lw==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" + } + }, "node_modules/@formatjs/intl-localematcher": { "version": "0.2.32", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", @@ -27085,7 +27127,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dev": true, "license": "MIT", "dependencies": { "@types/react": "*", @@ -39316,41 +39357,13 @@ "license": "MIT" }, "node_modules/intl-messageformat": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.3.tgz", - "integrity": "sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.5.tgz", + "integrity": "sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==", "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/ecma402-abstract": "1.15.0", "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.3.0", - "tslib": "^2.4.0" - } - }, - "node_modules/intl-messageformat/node_modules/@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "dependencies": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "node_modules/intl-messageformat/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "node_modules/intl-messageformat/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/icu-messageformat-parser": "2.4.0", "tslib": "^2.4.0" } }, @@ -54073,6 +54086,32 @@ "react": "^16.8.4 || ^17.0.0 || ^18.0.0" } }, + "node_modules/react-intl": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.2.tgz", + "integrity": "sha512-q8QyLZfbyqV3Ifa7vtjRrgfSQPGTR6Fi+u9tP/CuzhUPl9DJEPIrvUFhlBryKtRW2qNASqchaP/79Obip+h6oA==", + "dependencies": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/intl": "2.7.2", + "@formatjs/intl-displaynames": "6.3.2", + "@formatjs/intl-listformat": "7.2.2", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/react": "16 || 17 || 18", + "hoist-non-react-statics": "^3.3.2", + "intl-messageformat": "10.3.5", + "tslib": "^2.4.0" + }, + "peerDependencies": { + "react": "^16.6.0 || 17 || 18", + "typescript": "^4.7 || 5" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, "node_modules/react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", @@ -66453,6 +66492,7 @@ "lodash.omitby": "^4.6.0", "parse-duration": "^1.0.3", "react-cytoscapejs": "^2.0.0", + "react-intl": "6.4.2", "styled-components": "^5.3.10", "uuid": "^9.0.0", "video.js": "8.3.0" @@ -67711,91 +67751,6 @@ "react-intl": "^6" } }, - "packages/scene-composer/node_modules/@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "dev": true, - "dependencies": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "packages/scene-composer/node_modules/@formatjs/fast-memoize": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.8.tgz", - "integrity": "sha512-PemNUObyoIZcqdQ1ixTPugzAzhEj7j6AHIyrq/qR6x5BFTvOQeXHYsVZUqBEFduAIscUaDfou+U+xTqOiunJ3Q==", - "dev": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "packages/scene-composer/node_modules/@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "packages/scene-composer/node_modules/@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "tslib": "^2.4.0" - } - }, - "packages/scene-composer/node_modules/@formatjs/intl": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.6.7.tgz", - "integrity": "sha512-9FvEJfUMzlmP5ZBK3EE0928kVsZmD5aeWXg+faP8+mKIvG3c0hkLEXQ2MiUrXQt4rsEzOPbYVtBdthzSM0e2fw==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/fast-memoize": "1.2.8", - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/intl-displaynames": "6.2.6", - "@formatjs/intl-listformat": "7.1.9", - "intl-messageformat": "10.3.1", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "typescript": "^4.7" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "packages/scene-composer/node_modules/@formatjs/intl-displaynames": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.2.6.tgz", - "integrity": "sha512-scf5AQTk9EjpvPhboo5sizVOvidTdMOnajv9z+0cejvl7JNl9bl/aMrNBgC72UH+bP3l45usPUKAGskV6sNIrA==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "packages/scene-composer/node_modules/@formatjs/intl-listformat": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.1.9.tgz", - "integrity": "sha512-5YikxwRqRXTVWVujhswDOTCq6gs+m9IcNbNZLa6FLtyBStAjEsuE2vAU+lPsbz9ZTST57D5fodjIh2JXT6sMWQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, "packages/scene-composer/node_modules/@jest/transform": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", @@ -68436,18 +68391,6 @@ "node": ">=8" } }, - "packages/scene-composer/node_modules/intl-messageformat": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.1.tgz", - "integrity": "sha512-mqHc6arhbogrdImIsEscdjWnJcg2bvg3MiyGXDsTSGmPbbM2KtRUe7oNgDUbkM3HMn4KbyOct2JyJScmwRgGSQ==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/fast-memoize": "1.2.8", - "@formatjs/icu-messageformat-parser": "2.3.0", - "tslib": "^2.4.0" - } - }, "packages/scene-composer/node_modules/jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", @@ -68689,33 +68632,6 @@ "react": "^16.8.4 || ^17.0.0" } }, - "packages/scene-composer/node_modules/react-intl": { - "version": "6.2.10", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.2.10.tgz", - "integrity": "sha512-l2TpskkFR0OzQnq7ChiJ5ZX23USZSzpKOcaR9MYC4UOHE9bT4kQ5JXXolgkq3tiOlvseEOzUCerlzn886AX9Yg==", - "dev": true, - "dependencies": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/intl": "2.6.7", - "@formatjs/intl-displaynames": "6.2.6", - "@formatjs/intl-listformat": "7.1.9", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/react": "16 || 17 || 18", - "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.3.1", - "tslib": "^2.4.0" - }, - "peerDependencies": { - "react": "^16.6.0 || 17 || 18", - "typescript": "^4.7" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, "packages/scene-composer/node_modules/react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -78170,6 +78086,40 @@ "tslib": "^2.4.0" } }, + "@formatjs/intl": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.7.2.tgz", + "integrity": "sha512-ziiQfnXwY0/rXhtohSAmYMqDjRsihoMKdl8H2aA+FvxG9638E0XrvfBFCb+1HhimNiuqRz5fTY7F/bZtsJxsjA==", + "requires": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/fast-memoize": "2.0.1", + "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/intl-displaynames": "6.3.2", + "@formatjs/intl-listformat": "7.2.2", + "intl-messageformat": "10.3.5", + "tslib": "^2.4.0" + } + }, + "@formatjs/intl-displaynames": { + "version": "6.3.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.3.2.tgz", + "integrity": "sha512-kBOh0O7QYKLUqaZujLSEF2+au017plPp63R6Hrokl+oDtLyTt9y9pEuCTbOKh/P8CC9THnDLKRKgeVWZw5Ek8A==", + "requires": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" + } + }, + "@formatjs/intl-listformat": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.2.2.tgz", + "integrity": "sha512-YIruRGwUrmgVOXjWi6VbwPcRNBkEfgK2DFjyyqopCmpfJ+39vnl46oLpVchErnuXs6kkARy5GcGaGV7xRsH4lw==", + "requires": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/intl-localematcher": "0.2.32", + "tslib": "^2.4.0" + } + }, "@formatjs/intl-localematcher": { "version": "0.2.32", "resolved": "https://registry.npmjs.org/@formatjs/intl-localematcher/-/intl-localematcher-0.2.32.tgz", @@ -79485,6 +79435,7 @@ "react": "^18.2.0", "react-cytoscapejs": "^2.0.0", "react-dom": "^18.2.0", + "react-intl": "6.4.2", "storybook-dark-mode": "^3.0.0", "styled-components": "^5.3.10", "typescript": "^4.9.5", @@ -80422,83 +80373,6 @@ "zustand": "^3.7.2" }, "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "dev": true, - "requires": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "@formatjs/fast-memoize": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@formatjs/fast-memoize/-/fast-memoize-1.2.8.tgz", - "integrity": "sha512-PemNUObyoIZcqdQ1ixTPugzAzhEj7j6AHIyrq/qR6x5BFTvOQeXHYsVZUqBEFduAIscUaDfou+U+xTqOiunJ3Q==", - "dev": true, - "requires": { - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/@formatjs/intl/-/intl-2.6.7.tgz", - "integrity": "sha512-9FvEJfUMzlmP5ZBK3EE0928kVsZmD5aeWXg+faP8+mKIvG3c0hkLEXQ2MiUrXQt4rsEzOPbYVtBdthzSM0e2fw==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/fast-memoize": "1.2.8", - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/intl-displaynames": "6.2.6", - "@formatjs/intl-listformat": "7.1.9", - "intl-messageformat": "10.3.1", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-displaynames": { - "version": "6.2.6", - "resolved": "https://registry.npmjs.org/@formatjs/intl-displaynames/-/intl-displaynames-6.2.6.tgz", - "integrity": "sha512-scf5AQTk9EjpvPhboo5sizVOvidTdMOnajv9z+0cejvl7JNl9bl/aMrNBgC72UH+bP3l45usPUKAGskV6sNIrA==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "@formatjs/intl-listformat": { - "version": "7.1.9", - "resolved": "https://registry.npmjs.org/@formatjs/intl-listformat/-/intl-listformat-7.1.9.tgz", - "integrity": "sha512-5YikxwRqRXTVWVujhswDOTCq6gs+m9IcNbNZLa6FLtyBStAjEsuE2vAU+lPsbz9ZTST57D5fodjIh2JXT6sMWQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, "@jest/transform": { "version": "26.6.2", "resolved": "https://registry.npmjs.org/@jest/transform/-/transform-26.6.2.tgz", @@ -80892,18 +80766,6 @@ "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true }, - "intl-messageformat": { - "version": "10.3.1", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.1.tgz", - "integrity": "sha512-mqHc6arhbogrdImIsEscdjWnJcg2bvg3MiyGXDsTSGmPbbM2KtRUe7oNgDUbkM3HMn4KbyOct2JyJScmwRgGSQ==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/fast-memoize": "1.2.8", - "@formatjs/icu-messageformat-parser": "2.3.0", - "tslib": "^2.4.0" - } - }, "jest": { "version": "27.5.1", "resolved": "https://registry.npmjs.org/jest/-/jest-27.5.1.tgz", @@ -81079,24 +80941,6 @@ "prop-types": "^15.0.0" } }, - "react-intl": { - "version": "6.2.10", - "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.2.10.tgz", - "integrity": "sha512-l2TpskkFR0OzQnq7ChiJ5ZX23USZSzpKOcaR9MYC4UOHE9bT4kQ5JXXolgkq3tiOlvseEOzUCerlzn886AX9Yg==", - "dev": true, - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-messageformat-parser": "2.3.0", - "@formatjs/intl": "2.6.7", - "@formatjs/intl-displaynames": "6.2.6", - "@formatjs/intl-listformat": "7.1.9", - "@types/hoist-non-react-statics": "^3.3.1", - "@types/react": "16 || 17 || 18", - "hoist-non-react-statics": "^3.3.2", - "intl-messageformat": "10.3.1", - "tslib": "^2.4.0" - } - }, "react-is": { "version": "17.0.2", "resolved": "https://registry.npmjs.org/react-is/-/react-is-17.0.2.tgz", @@ -92014,7 +91858,6 @@ "version": "3.3.1", "resolved": "https://registry.npmjs.org/@types/hoist-non-react-statics/-/hoist-non-react-statics-3.3.1.tgz", "integrity": "sha512-iMIqiko6ooLrTh1joXodJK5X9xeEALT1kM5G3ZLhD3hszxBdIEd5C75U834D9mLcINgD4OyZf5uQXjkuYydWvA==", - "dev": true, "requires": { "@types/react": "*", "hoist-non-react-statics": "^3.3.0" @@ -98176,7 +98019,7 @@ "eslint-config-airbnb-base": "^15.0.0", "eslint-config-airbnb-typescript": "^17.0.0", "eslint-config-prettier": "8.8.0", - "eslint-config-turbo": "*", + "eslint-config-turbo": "latest", "eslint-import-resolver-typescript": "^3.5.5", "eslint-plugin-formatjs": "4.10.1", "eslint-plugin-import": "2.27.5", @@ -101109,44 +100952,14 @@ } }, "intl-messageformat": { - "version": "10.3.3", - "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.3.tgz", - "integrity": "sha512-un/f07/g2e/3Q8e1ghDKET+el22Bi49M7O/rHxd597R+oLpPOMykSv5s51cABVfu3FZW+fea4hrzf2MHu1W4hw==", + "version": "10.3.5", + "resolved": "https://registry.npmjs.org/intl-messageformat/-/intl-messageformat-10.3.5.tgz", + "integrity": "sha512-6kPkftF8Jg3XJCkGKa5OD+nYQ+qcSxF4ZkuDdXZ6KGG0VXn+iblJqRFyDdm9VvKcMyC0Km2+JlVQffFM52D0YA==", "requires": { - "@formatjs/ecma402-abstract": "1.14.3", + "@formatjs/ecma402-abstract": "1.15.0", "@formatjs/fast-memoize": "2.0.1", - "@formatjs/icu-messageformat-parser": "2.3.0", + "@formatjs/icu-messageformat-parser": "2.4.0", "tslib": "^2.4.0" - }, - "dependencies": { - "@formatjs/ecma402-abstract": { - "version": "1.14.3", - "resolved": "https://registry.npmjs.org/@formatjs/ecma402-abstract/-/ecma402-abstract-1.14.3.tgz", - "integrity": "sha512-SlsbRC/RX+/zg4AApWIFNDdkLtFbkq3LNoZWXZCE/nHVKqoIJyaoQyge/I0Y38vLxowUn9KTtXgusLD91+orbg==", - "requires": { - "@formatjs/intl-localematcher": "0.2.32", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-messageformat-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@formatjs/icu-messageformat-parser/-/icu-messageformat-parser-2.3.0.tgz", - "integrity": "sha512-xqtlqYAbfJDF4b6e4O828LBNOWXrFcuYadqAbYORlDRwhyJ2bH+xpUBPldZbzRGUN2mxlZ4Ykhm7jvERtmI8NQ==", - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "@formatjs/icu-skeleton-parser": "1.3.18", - "tslib": "^2.4.0" - } - }, - "@formatjs/icu-skeleton-parser": { - "version": "1.3.18", - "resolved": "https://registry.npmjs.org/@formatjs/icu-skeleton-parser/-/icu-skeleton-parser-1.3.18.tgz", - "integrity": "sha512-ND1ZkZfmLPcHjAH1sVpkpQxA+QYfOX3py3SjKWMUVGDow18gZ0WPqz3F+pJLYQMpS2LnnQ5zYR2jPVYTbRwMpg==", - "requires": { - "@formatjs/ecma402-abstract": "1.14.3", - "tslib": "^2.4.0" - } - } } }, "into-stream": { @@ -111630,6 +111443,23 @@ "integrity": "sha512-cxKSeFTf7jpSSVddm66sKdolG90qURAX3g1roTeaN6x0YEbtWc8JpmFN9+yIqLNH2uEkYerWLtJZIXRIFuBKrg==", "dev": true }, + "react-intl": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/react-intl/-/react-intl-6.4.2.tgz", + "integrity": "sha512-q8QyLZfbyqV3Ifa7vtjRrgfSQPGTR6Fi+u9tP/CuzhUPl9DJEPIrvUFhlBryKtRW2qNASqchaP/79Obip+h6oA==", + "requires": { + "@formatjs/ecma402-abstract": "1.15.0", + "@formatjs/icu-messageformat-parser": "2.4.0", + "@formatjs/intl": "2.7.2", + "@formatjs/intl-displaynames": "6.3.2", + "@formatjs/intl-listformat": "7.2.2", + "@types/hoist-non-react-statics": "^3.3.1", + "@types/react": "16 || 17 || 18", + "hoist-non-react-statics": "^3.3.2", + "intl-messageformat": "10.3.5", + "tslib": "^2.4.0" + } + }, "react-is": { "version": "16.13.1", "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", diff --git a/packages/react-components/.eslintrc.js b/packages/react-components/.eslintrc.js index 53922603c..996653682 100644 --- a/packages/react-components/.eslintrc.js +++ b/packages/react-components/.eslintrc.js @@ -4,9 +4,13 @@ module.exports = { overrides: [ { // Disabling explicit any rule for graph-view component since types are defined in 3p component. - files: ['**/src/components/graph/graph-view.tsx'], + files: [ + '**/src/components/knowledge-graph/graph/graph-view.tsx', + '**/src/components/knowledge-graph/responseParser.tsx', + ], rules: { '@typescript-eslint/no-explicit-any': 'off', + '@typescript-eslint/no-non-null-assertion': 'off', }, }, ], diff --git a/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/bar-chart-chromium-darwin.png b/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/bar-chart-chromium-darwin.png index b26bba4e31ea8e758d74a841ee8b2c33c67fe477..fa8c66e34ae0cd822de672ee6a8179227c3a45a6 100644 GIT binary patch literal 9476 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 TD-6EY1c9k&-z!&o@a%s8!mU>> literal 9444 zcmc(FXH-+$+HO!01%a&yC^&=9VwxR(n66MT7syEB1J-p)X+-;1f_(| zMg){9CG>!Rkq``#UPHdc-sj%)=X__3JMKN-{jmmPtQFRL=bX>`JkR^i^~T6Ri=CB^ z6$ApYgSFL7Kp>`d;JSX|IB-X%;r1o-3N0AD6k6^V+jh?B7zorQ z<5Ix}1QIS7!2x>4e8L|Dx~`gi6y(5kL;wV0`-2PuJ$$Ch0{ZjFF?kS(=i)aePzC5e z_|qeTz!)TyIYz=&V2)2GE2f>M@Md%UupMsyvA*j z>#N&x$@KvZu!G;fuZ67G$1`ITfq7LwV-A@W3jdOsj*X)6=X~KK$hcAT;J*iord45e zeuO4nv4Do!JmIg4KPG|s8(98%MCp#OI-cSAe#>WGlYL{dX68vuLfh=SNveg1M^$d# z<)h|jK%kKm53_|NBou6BuJ2d~NHwZ*M5!T@P-tBLPk0&gTa#hMl2rKs*CP3q>gUFS zAP_08?btS@a{u`eB{}EkisAb?T3W=scdXpP;1V0W#GO0pQ5;Vev5{|+6N0t-mGA9V zp&D+<5bQ;cg080w*ZNfG{(kc;D`$cCEV;nP`^#FVP{{AB$tFiha4Z+UHu4OG8}i52 zV69wLz#fN)Y;m}Ccg>S15Xgv+iEX`cKTJtwGoX&>6?*}ZH??eAN36r}oz8iFg?XYb z6h|SH+=%bYYZsR|%g6WWodO6{B<`TLoQ@dJwG=Z@cHI3Ffx=oPYKD+D@Fd?l5pV#s z6KhY)a?kQNxTtd!ls(0^4I>xL`PMy&F;-U(s?cQuW!s9I0`LIoL^a?+|KCvbFJXM~ zdqkGKQ8qDj>+3nc2R4q5If2x1?3KvK2uU{3Gv6D+MpBPs2C7p1s(gFp!6pwMYOpsr zzeC!{qJ+yHHdz4RTj^7IY!n`_9ORhY1x(+T?O`_W!AjIrU0uj_^XcePV@P6Q-!O|1 z9P=ZkH#wMGQP`W2H{Dc^)xy86zWSujxhD(jmo8(j=l?ic=NPbltYhy&UA13(F(z+{ z3}dnG=2(nR-m9)YpRecg2++~)MSsd_7V7Ht(%g^$TJE=Rf0Wr)${LZFKt|=vzfRE~ zT8)qII)BAef@Yb0?_SW+?Kko_%g^Y`?dJthd23)mM^`0iqI>Fn8U^Re1me+kpSn9H zvaSB-QKgn_RVT5=GCl%k5fcH2*Vx(wo&bRgPJhErt+BDL1AzLmGta3M)K6tCF}jaD z%gwf+y&)V~DS z-#mG#HOSa0M)>RO(~O(chn+P?LC+G|T(cKyZPQwwzTuIyDx?rFl+zn`*C9)$9Xs8Z}%a?7dp@gJvs&aWRsn2{%GIN+Z7l#xsO7uPo z0^Nl$v9D_hHQFRgSPo{?p`k=h6@k&8feqaJ{AJ|gFRCfWK+m|3@R5P%@@_VEh-T&V zt!kd@I>u}H&cLE(Qa+EeIs^dAXMex$YWdwOQ8UE=!UW`#3UEAr zp8kdt@H-n38Ltb!&V=Rm91EHMd>onoGDL&-bJLw=c28on+8cHXdSuOW{1Wg&&D0a? zrN2C=Q%#l|l;M=l`GL74ZdP`7$1eh)XG3R`R2eg9lu%#SND^!Y)ot!i3MEdg@FCia zA|uUDJvarDQ!-7s&a|1m-OH#_}LMN~C9LOgfH zspsSn8yj0SwBJrZ{Q9W}=7(#0DI)B{1(fa@ujIfdk#4glYjdTw_^2jN2@4zn;F`wx zs8bYNpMcb<$A>9l1MF#d%N@JZr)Mz`Y@w|e9v1R5r!7s^FD_(@QZ7i89LY^0rQHfG z@ADinyETvyas4!a81Zbi<#^>F`~hM{TLwBvu3f~AmZOFihe=9O#sHCRP^L97Tp%lN5@4c4OyARwapso`Bx1NavuM9D4=D}IO_I>I);ZGP$1CN zC?ua8N8m|iW6>i@vZ6Xb^vRv`2}6rXw=~bErnrlNR9>b8mL$>scNi_tC5-d6S1^+D8zmLg#gh{ddxe_qBkfK-&C2>`Ug& znP>u3#`EU|+We&#yI8+YHaY|_5*EKhvm2)BDANUr^^hrJyI0@+JCVt6(LEHI zwY_%@|J%cG3vibJUdZsh%f`fpuY6{Gx!!yy@_chrcr?yF8ih0;K4!ZvjW_UN};g37oy+9Sy=DhM~{32OiK|U2ub1K zSbmmKW`*FIbd-?joA&cuwA&2^hVJ`jk}O;cM2Y|PahJ4m%h zLOv5*YIL^L1E7=n+Tce{x&Ak=mJGm&lutmeq?rFVP4 zSo*x zOrU3TJ2Kyf{sNYGQ6>4w1&*jkxp{zVsQCM-)!KrooX7ZFBFO`gqp!Yzu~svg?`V~5 z72D?{f4F6A{UM}GQ7}HkpeW{67vN8p*7_v~VMUL+IRI07XJ7uue@jXKgbdmjn61(6 zs9PP|Ys~-4gzN?VZ9>Xq=^r(41{tM$njDsin(T)1LI5wO&K!jxfpIyU9}B`}(}hV3 zyntPM^yY9%rfk|kB?V&4-8uI!N~xXYw3Fh zWzub+8&t>o`r69BOIaS0@4gm(AzaI6KY4juy2F*$OdpxynK+k6XBkXFRBU_tU%Ua? zQeL{a|y`x5KqJ-^ojKlZ-ZdN@q71>`J%CWlq?0W6o9w8sUz=Kyxq2@ z;mCYzpAYqnJ{#`Srx9JUPBGJP#+4iP8=1o503&S0UMN4lvBc~mLNBhGq?t{Uf6rcT zQVy<1%zV&Ap5+oKNNDpm>a897UYakoGrz4c@)B&iG4!gJZ|jo^_Zbt>hVSUP_<2L5 zEMqraR4+tJEAFfgvQGh@s>#uE=>(K)zZ5=|T_UY)1Xx4i5`(ZCM1?t?$SBJJAUm73 zDe476J@14yG)BH1g%Jx6scSrt{4_;WFAbB~u&Ir7@91#-{F@&zr~(;>ps&oy($X&d=C0bslJ4OVA1nQ;U<@X6j2T#;Pi8p3M0#T{ z4uY{!uuDjgsq$tp0pr^UOjO@{GPws79I*fywoEtq8w_b$@6ipreCi1GPu3i8l3~Sq z&FTKMK`<|@(a8MD<>6Ad0i_A)+izcGS>Wh)s6c8dz-Jm-8Wbs|dUxuUO4m8Ru9_qg zmXL3(mI*U3HOHJSjG%{flYF5|n*y!2<}FvLn+gP3_ldj4NB1@?^!)SPJKC>FN)~>0 zB&~J{b)to-)0KvmKf`jpcwwg|>Y1Ob#I+d$PSu??wzCSHH4VA3BpS)Zxx7CnCPVI8m?t=OQ2!6x{}x`ytBOB-7od6R!$VF zTf_l086LQ>*$ae+Zc;4)FQuP(%O+lNBcsFM{bN#;5BShN36n?*(CK||VQ{8=)f(a| zAXS@j*E%|Q*i*gt;GN(}4rgbKJlwqn-IjWW09|3k%7wVDBk46>)QfkXbZ#G zUh-jn3j|i3dl`DHA;Y&*XwsVzaYz6CdfZ_{;c<7=Qdk{*I+%9Uyu?J~1&%zQN9j_w z_fkPASQbdxdYPW*5 zJ~xcS9xwdnM3akmwuQLEDo~Jq!g5tpw=(NXwd4S>m?F<^pryC+Tqww-6pO0ZGyK9C zRb`qR?z`KS!O_vBIqBsMI#SB?T8ySTIbEdthi~1{j|L}VZU?`iQmSX5T@AFq8X1Gd zhxW8<(f=AS7wSaSAc~EL7aq@Ja-Xq9cp!rJkc?{c>8j}ym~>lR->P<4!OP>VoDN;> zr#5V{aobA=TzUUL=wQ6TzCZ3fuHy|mVL=KNg3FJMDa`@;JkJ|Dnn_FZQj)ToFk)aL zY)1h`BXpvBO&Q8fW=$d07t2e+0k)91etj4(VF5k(BvM}tw>jkBPoJ(~?mvgOn4Djm zu$lPahsRiAF)E6J@cnRm9po-#+H@gv$c$f>fm!G@Fp6a5PD)1=0Th4jqvl3pO{8VX zWxzVe^r#)yof+KMt}2LW0Yv~%hq13td_r~o5OUcWUBd;1kN745r2L7O9;X7{{hiorkBa~hZK@9zTz zRg(Dn$)tc|_2?&$ACsem!dU~)7qy?uv$TWjFJ#VWZt%;RE|e=Jtx`Waph(gx^v3&( zi!3i79d47gZk3wT0ciO^N+B~_^U1(_%BESnpPT7>0W>;iiSf{yS&O4IBz*pcb@LHg;INv|fWq3P6owu!2d2fp3b)lON z(exSKR>}FQnA$Zvdi9K|Cz!6^;z=yLfRY#!+0hH8a3zWvCJ$NNH)O1VV+Gcp*LY2q zFO|1|qbff>hwweUd=&j&maa5}XIxAizC1pqxX)4PHsrjv-h!6%oP^2xteh= zImL9&-wGF^*DgLawoDuo{#xZZGp-lrgxspuqSKAn=5(EU{iGT_epR_z7 zIZ0IaIj6?%z5TaRy)tSzIq(gnKDzm6@2lAKp344~$G~jXU&3Lx8v?1ag7KaEtKGQ6 z*uxaJOc|bcRPH4z-=fgs)9^)lGTu!}?Y1LDEjy2H^R~8jg^JO!K`5@NaD9DU8eylW7o!<- z&S!8_W~PjAlrwf@qwN(1gDoHa+1v63sIhcNU96nA%V2k6eZgVN%XM^FDa8Bd-r?n* zG-hN>lp08*jkuF5(ud2I+Cv_%U+vA7Qqg;E&d@%McSy}r) z6T7@^St;}_#e*=Y&^!CISl<^~2EiZ1;Kxh0p(@&g#Zf{-DK|<&wsZCZ?n>xJaSEgW z{SGs;eBlzuwqu#$2)1@jEeQz;T?xxF3tac^HBnJ(VtrtOFfn9OyKKj+%&TF8hqOR~ zPC;>4wJ0`1(bkg*DBRl4ZF5Y z@&^F{O9#9nBAIy-yL5AVc#~1Q%8DW6-fvb7Ev-y{CCYFKykoNHPL~dPtimy|uu&R< z94@CaV{GeI#rM=TH49f)*JS+3<`|3WwCPlNNW9WPe!cymIWlZeELxhe#Ei_(_v^nm z?|FP1QlVmetZRE^J~rQk!LNeY2cwkyMm)H9(MG?D=$!{ENkC5dPgO101&x1h7kj_4 z)Usv3kC@axOsEU@d_SLa>cJ48dbVNDcRZJBxKirid$dEq^<>CQo^#SWgl0Cje4{4( zpdEF1|GHJ$T;|By$L7L?Cvd}hj_wrP9U#j)GfBXkX0%ieA!e}KC{608JH*@q(B1o5 zfu`gb60&?B+9zOi{YM0G30Aq#o85k5R*JA1JCx>B4gjXCev@pY>%nG!FIU8;0H7 zQ#%|4AgP~_X*89K0bLeDr`B%29O83idOlk!ueOEi%ap$cG+TKCn$@?a{ffLA59A4@ z=Pl>ftOfjJ_m@&`9IkrS{(>|ze`-n*Y~t>YIm0h&WM`L^QW%CsBPOzIYafCK6Rt2% zFDPVk&={Sc)pf7QuiXP&vBloza-y()=4KXRdsfTaW^a=^Tm^Oli`jimN1=*<-saF4 z>ytLZ3l_Kimv1KO{7{-xw``R{ZLR10`n(5hb8<8wj+2`+B47!N^1%_$Nnxom!_&BuSkxcZI=&lU&02X-GF@LlMc+7PP=1O z>C#m6D>#{@PRTYF9Bz1h+N0pc#ZO|HJhN`Do6v<$Zs=J_zilPE@+Y^Yk$G zt2C#dIo!h@A=;0G;VrDJ#^sBwOo3y@!#y=A&_U)OXFnqhMk6-s9yvJ$+)p2Am&`My zbyvBrm?*6b5Ai9wW&`V(jSipA_JTBAm8@}n4cDc3N5|s|tZ4n4JMu4Iz9bj&zgpbk z?If3hP5oyhJvVkgUl=(U|#%)M68fV_Euy1`S|2f7ISNQt%(;E+e z$6D98=C~6uJPk2xHg_zk+d)mrD>pRM)emLClUM`MVrBJjW&VoH&s2c9%^c9J>wK$a zy(WIp|9Hk&g`tbhD+}{;aoP{m9^CQVJ=Id$3CITlSs-4&m8FnePm(L}+R;az<>oGs z6)WLC!E=PjQsX&UF2>l2fz{TV7RA-?mFG&MyQP*2?g=4EZM+0>fWXSEQhldjp;{1` zpm(y~2jscIl>g=Tuew2?W5~mA0SLq`<%?jxry43?F(F@- zkd!(9jB(H7%k^s<)afRzc;$n9*u>Z^sibr{Nx$`r$@OPG?y$B>UQp* z0vq4yAy!K=;_qma_egMlFzT$o7x)NJ-v&DE)}hPUW|KG$lci>W$1VCaZYbf-N%3+_Ucrf z4xnnP#CirvWsL_u1OIqwYjE?8##@vQvLi+SHnk4SjSvHyxtI5Z>EP$h0{Y-dv9U@R z4r5kg@=HTs5~VvkD`Ib(lAex*G;9?cP=jbUSBwGI3lzH|E%y1q!B#cU^#C&4^3o*| zP1+uTXx{uq#2!C+QtVW#;60P8PKua^ALhhSjxhrVM_J6?*=Gak2b_rc*8K=vxF##x zu~0qPF#~_ppVbr{8@qz&=g8>&>vYGcxnrd(0?4~M;<5vZ=?&dTGig|iEd9*;53=${ zht?wj~yOUk(ExbK-+jl>2b;>0f91`Gnx>3CB4u z6o3A#4)JN{wyttb7%8(UYJI`7MBkd>3=DROMeeEtJ-DHcm#h-A6Np#ax03P1bm(pW)&X0dtA!eWT)M1b;;LDYw01A6j1= zYKoVtCtohe&rjNwe6;Nc484B-Pr2HweNn!Celm}>2dEE1*U33H-c2%JxHI9(J3qMe z(aI1=Lm&YH<0hVS9{>2Ho?0{c+;)7tBwzV($S7%lp_L#-K6(FQ=ian}wSE{BGV5HRQ3V0e_0?fK+ve|E;FMBwk=GxzTI(Lf5k|GJgNJ8qh zk#lo%W_T}%_vACCqw8O;#2>>}RrU=?uh-VzWj}XQwHqZh8n1Ft{Nu;tGONnMDI!-> zBk&sk<*8KVqub{!>-PTq0IQRK`u!Qlg}dM3Vg9we5x1N=PAP2+o2Dti%0&$_iZSL` z3I&TBQR7rnf6rnBhCc`XRnUc8fdr0J0gMo`@4xWfVQ~h1*E{{!hdQ^k|6`x;{AN`7 Xu*^nk*iHdo%YeWd2I}Px9G?Fdrjq_Z diff --git a/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/line-chart-chromium-darwin.png b/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/line-chart-chromium-darwin.png index 29b89faaca60aaf6e5b725b2daafa3d4c010d66e..53263fba5c0d39d5ce63e732117ccaf0088701cb 100644 GIT binary patch literal 10392 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 literal 10362 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 diff --git a/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/scatter-chart-chromium-darwin.png b/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/scatter-chart-chromium-darwin.png index d1e7acd1eb925816f77bdf1ec4a0e2f90d46acae..a8d9dd78e16a16bc8f72a88a6ad6ab1084016e6e 100644 GIT binary patch literal 9669 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 literal 9639 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 A!2kdN diff --git a/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/status-timeline-chromium-darwin.png b/packages/react-components/e2e/tests/charts/charts.spec.ts-snapshots/status-timeline-chromium-darwin.png index ecb60063875e9908dd7a21302328fc7c673c1c0f..cf5f784e74a2299c2b9d050404d7f1c0fbb1ce9e 100644 GIT binary patch literal 9517 zcmd6tXH-+$*7vt^kfWlUqaunF3o3{d3mpQAia~mnZaIMT-U0y?5fuRqLX?iw1OiBv z77#>)NKXhoNGEhi2m}Jpiuc^{yyf2UetGT~?+1n(*=5eT=9=?2|9ijG)6qDvkAEKo zK?mTsZx}$(E*ki``1>C4KQdLj@8fq;FLu@Uy;H9^UHbmnv1>Pe%ba+Vo0EAm{CD0@rJ_gQsdGNlY)sGG zclG^sy&Hc&SjE{U;-8^F#GTuMu>Kh|noxJnxL;DYVJ6}PHQc8P} z-NonkkL`vaxvNgbi@=^7`Q3sLbogY)E=YRU|NPQEG_a zNb2RwlKw@S1qyMVmX|)M(;_BuM67lo%cG^c5Jo3VZe}M<+>f z9}f>1Yn+>CPM%QHRS351&T2OpD3q*}QZ$J;D%ClR+?1JIep%^x_D+P27507aDRag! zSAUgT?Slv5j~4MPekE7bo&(3v!7CF#U>v&b#i|3Pe5hSk#mOI>cFwM>_4^TbhDA%A zhfE|a%1J-Wyxt`xNx;{bqq0p-y-RN$PxRdEycFs)?T)gxEY$O3%oHpw)X$d!I|YMj5V=enf~qcWPBv<*h(s$>?HFSWEblXCCGVFDR8;ukz0N1fYA z1(BQn86GYwHWP>oa*C|<*-x&Uz8#3NoxAEJz z{%m!1^-_{%*Z%*!vmJO63TFq~2+@$)Q(YTF* z4J=oP%!F-(^rSZkzbz<;juKG7>cUuBA;|m5$O;xku%l_&;s~#TT6=4fOF_3Zw@Y7< z_TB+lC-7i%%V)8s-iQim~SCygm-y)8I_T&5*SyNM|cAB{vL{Onej|g^f5nt{x!*sNikedygxtC zOfJ7?DAuHV8-*XF$3|sl+(xz8Cz3Z_ucAZ}TC;{I3!PDdHlim_s^Mjju`w|g8L)`P z2RnXx_wKz-=-U_CU)bj@DPz3ll%nP27^6 zHy2(_wkC+d7Sa!`Dm^Rh9&n;`{>)h9McAK!ck$T-i^10%APD>P{xN>l;A-Fb{>=G- za&dY2UJTu`k}zafJQEs%BjZ_=nffr{*c7xB9Q)Hy{lE#?Hz_tME<=^tRep<|o$1Y) zJ%9G#lb(h?EpgsRV77;!@Lm}gLslZg%bekQ=@$H&D3Ja*V#!tHdgm=c#h~6;EAN)N zC;F(2>?~#6P!&TIm_DhpV|tS|n{L;7T^X+eL5VVM!^$}88uM9lfoXwtO`>&srnq;5 zG_5DTyfly@1m|RtLIQp&aB}fl`lzb-yt1}jDq4t$A`w+pFs?s;o~7m(=f;^-e=-_7 zuaf3*_}m@T))v*F>zN0YqI%tMd;OWU_2=8U6F zoSHY{3?_LUdsCmtx~!Mq+78ZJh>-l8P&iP~P`bV-Rkh*)GFTrZ3Mo;+>&WrrVjvk@ z`b(OvkMi|w`&@AnYH7m|)P~>jVGe=Z{1k|+T zwYRkuQ`*GFU)}5OL$-Wy>^VDHOgf90qkpErbwBiY<+YHCxwvWE_Qlwh(SDp77X*Br zl}6O9XU~2!yBO!`mMx`yECfA9CE~A33H63`|M};im$@5YR$Fe%69p+LZ{Cc2 zlLWnHH1Qy9l;=%Fu;S^{_5b+m5K>YJfmui>k%M!Un( ztb4RQl^uYs?W?zi5z8~Pn?yn`aKR{%{4K3}>mZ~yu}lrM{oMzGE`)bK!Gruh-Mz4e z=?*^#J)Wu{h6l4k?+wlyX7d0i+Px~8hlaANI>B|18J|hvIyoGWUd?BfgF_@3{W^JbP4ok2Z3ML+ByXhu(}I+ zylJ_h?nlFWX&|W+t-!p6)%A3nA(!A^hb_f}d)fA(n<(MdIsPdKGXl8e)oROT$Nua) zRR(|Crr0qg_~6zm2*~i1fv{p4@Qpt137lpm@JUIzB`PAPA;>@30y#~trBwR|1dI`9 z)PZ@cgF%6L0F8bMj!*GCjEw{`Xo{gvMf^xKuHZ;pF0RkwOeS<=c77mJz zy;2bs{f?VYQu1rV(XkH_oC}!FG4sYLE=4ueV(l_hWLW@f&9NsBgYcogyZdeCSLUI~ z@q@d-qMiB=@y$QDDS8jnkL%!tGhmJ$(usbddmDBj? zyAtNrHv$>+mE5d#7R_Zu{@E_eAr>F!Bu zfFnG|(qGAa$dC8fG2r|yhpD!tiJti}YMZhOvMfqSyNBjr=&f+Y z5G`dD*Z4qx>|3M=T*CaS>D{}5GRq88JG(4jB)xP&P+D)-u5Ic-cDcyRvPaCj^;Xx& zz@XQjUY>L+%9c9JBENbikec4Cnq!!K5V8LAl%^)rTAX5@?mAR2BdyqFO?eW^#d}yV zvrK)FI7*JgxP5iw zd3s*GU;mq+lCKs>R1;_Cyax{-&QGMJrS*UINI!J=FezPwC)}q>V490Zkll@C9;_Fh zUJdaWa51m3!+lIYO|N=;Mg*QRzg|58P41XQ9}KyH$HNpo$8%sCv@0xnSisuET8N*T zaFd(9(Kw_c=T}yv(;!`9OOQS5ym^Bo{mlF-ndKE(A3`!l(Uy10u)#>xMwhK<5sZ4c z^nnvF1CSS{H)>(|LP8J}YX_o;$|x)>G$4$Pjh%(71g>2ymqc?Qr{8eV`@1GUnw6Z> zIhISI)n*U+)c2Ri6u5oKGKflfBZ91$6&Jh%e=CyIE?=;EeCjM*HbJ|pb|_s?39qN7 z_BhCidExx|^4rLx5sll6sdZ{rH3$++@Q)EG_+@9=q&wQAr|P_*<}l4M=h33=&CQ)J{ybw;8;q2&!4F~- ztqywUlCVue$Qup9$Fb<6l3n$tN1Y~V7_3EkzDV<%pYE)Yk(2N)E0rqrqcT-6*?`B& zY<`%Dzj{AWL`>1n{jIpC=~cI3tz{44ic(2XcHeyXfXT@bm2vLX6AoH>;s|*Pw``HOJ&dKz?hl{k^fir(vm zEU+~pxuWW7ce8bpy2>fRxv8nB4cY&LXz~X#)#SL<-EaXGfTZ3Ub=a`be94AO z?MgHnQ4ACS0(-17+@WPuhJ~YZ(oJyY=F8sjVe4wr*OZS+~10n4N2zn2J zTRq+@KQwN=?pS{P`Tg$?K8c<>mG<5HCuLMqJo?3pobPx*Gbt6wFl*&^`?CoMEhmSG zFjb%_s5Sa$G$)C>08`=s(y*I8HmduH_0|*5Ol=!ss;$c7D6Vb*>;XDlh-Lh8QC0*4 zgEr-1PyGel7U>&+d|D<-J*J;2f=bYoj+}1HzBBtzc2VpocNsAGtA7aQ!vx)PNf{kK zIE4IzyA{X={%8X7*Hxrwzz2Kx?v-RK4|%n#w7DLFAbHI7 zhMq?NPErv$OY+{ofNKhnhQnBM(u|>$3+xvrd>#z9?(tt)VG;=mz{J6+PL0~i0f0`> zg>Pf+p67`G3xccz;sPCzR9hS%oeOPai|SHF)w(r#6YO9F%+oQ4*wz^x&E^;yI%UUp zi_JDndiw*ZT%MXd4{9SCa7OYNc=*raUIJBJ$|(_XKj&|H1AxZHAyUMET;rc?>=FiG z7L3fP0)zsLhT5@9^0azAzcu7^*eW~P%1vj+Ivm)JIR?yqx%}UdQ*~JfobMmilrpg} zClAgXQ2>@J{W4Cnpe8X)4_vddE?;$TzQ5EeU-|N70|543pI>LbhWYrFori-7%N1wJ zJMdQ^$v(lky?B6o?>^Mcg(0bjYwhn=N54_5jh$DS^JchAn+OZ;1p^Lf!1;4(|C5LA-CT&^U_5t24s{5EQm+G+0a8WI>(~2}^SZ>j8#**j$j&Ul zSai0WQ{lwJn$I-#rc+7SVHpS#VY?(LvDm3ryYu8!|7Wqb7-PguNAq~=5U)%jfvv~v z;it2cF*6YsQSyL9WnWaMJqmUpwIeO`oNlsn3OXqXx3M}UE+TRR%)$Ep{+~gOnJ_|1 zav@rl$Kqv?asAJII+2~9%uD=Vt}P4{T#D8u#)_MnZ&3{zzaH$YWWYMuBmQBfUue|p z5p(s?cWHPRkWSd-^m8Z>V~Ader~k0rlzLlE#;0#HZeeU^%N+YEadvI->2q_=@FFrF zP-uWyU<7oeS5e3F0PN95pN3Ud>4t>)EoPD_cW0K4J>AX0TfVFsuk29$F@2#sWlH&s zYAu2}nc!x{l7}GozEUUh)dydHpQqH?U@(}q4WKP(YH1N)AHPCds9L-rEv=V+E3&IC zNr`~#ZXzZ5Bbd&DD)D(U-C5HB)g)~yFGe(e{1$lvjxsNKlwVl5<~X`o@Z*QpJd^4) zq;xNJ_wFqc=z#F9v9WVv%LzmLjP+v^ljBsa@FQ>S*=y}>N!edQA51J# zdNB|Ci|teLEt?IZ7lthV;aY?gJ_qz{pM}AS?_2*`=ZO-Ru{_d`FTS+QqZ|7^<*mn; zNBqRWyYwE_xz)0evW8#3eR3>)i$=R0dwxG?hxPUlL1n#T$zZmm&-qqU+tBM~T^%t4 zimA={eso1HL*?7!oXz=ei^H%>@q1+C%FYFi5|_s(C;9#8_@>`oD1D#3H;N3w&^VGW zgMBe_GQ(;mJKmnr zpbuA;lM1hKWUGSuX6ds$dQ*kgp^l(pvWZoGZsCM;=g&J)iI`VWQ6}VkD*|p{LM=tc zD?VOke<#Ye!0GG5bh?`J>o^IsaT+rWIRVr_JRXl?>uI@Ww_k`j5Z^Dq0`NXuvk(`p zdmu^P!$45!Sw&?6Dx-Q(Sx`CA$a7Pbi&?eEx0S zRHbZCMh)4|`DL9?f{h8Lv;@Txw}L$fsAzMIyPLlI4({tJns94rZ`ZX_^y~WcZmgx9 zU`WpAl;cVSf*;1gp}%z2i7gIopQ$rsOORZ`{P`oPC+TyYRu*L%{(e~dCOb#!PvaYrV&>oC7u+P%3XAa`lUOY5*UH6FDH zr*shZ^EuGtOR2q|LWBE0hOywTKsM6%{a<9G{+*#+@Gc}2sZ?nUH7XE(=NqA=?qjwEViRV9=Ubhoe5UYVgY>(&QB0VYV^NXj~;`G zzV0_mp|VMb^KFS3sueVHpR(hwb(}9G4|F6gr@LBOF9VE)rp>C0jz}jRwr`uRZ;UXm zIZ>w_b`HoXT6Htxv?A-0w}cl;f? z$u<}?{rOctN+JNXmdWL+!5KbwuMe>83*`X@W&Ol0I~!_{|$8Kf%LOqoh=yE>;0|V3?`wDbVwsj8zwENNO6{gWkwk&lahP>PAG#ke* z>Tp$7ssCWBVbyHGlTCKiW+3tr5KiU+-4jDBKyQOnJyr{uH8QOq&NnJlZUQd)+&-T$ z`ilpdIUQCDZ1YI!VJSyU0m`jYMhSc&9|hQq8m%n0z=YAehQFEg1pNZArQT3mf8Gla zWZaal`|1qa27aNC0duo4BEcL$qfw&iaG6QJ{68HiMHhGcE!qwA{6n;BbT2a8)blJV zXK(^CJw@BuF8HdP%>m3ZvaxpY1a&ty^jD(&?hR7rA36805A!~#vWy(RMDt0_)JOB( zks!3R_4Ii;Wa1TC^^a?|e0JBjMRF|!x0&YuCB_PR-ozl~2_U(m+Bh_9!{m7q$0Aqj zq`AQu+`aL7zYxWy_!76e!^~8yM;dJ>xx3w7REAYeutiJRQ%5riLIb+;cE=gx-s#4K zqX^IXM`kz^TU-0tSn@FOgBJ#sQJ1BCb%H0F&|Z)XNUWdH<1}STxs3uN5v>XS&?m6? zk8oR2v5j7jn&loHVE>aLT?F}@7K{;{NBUjZ>sHm;fOmP!&Fj$FT=9By$b@jeAc7H~q zB(u0mCzBYl2?^)nl@g+Qy4nKipukZ*Cv_1H%bvED>-s3-=S~S`_qd0n_Z{_cTePIT zsX7IDn8E`6}jWT9$2g46b~&`a$>E~V)t!_xb@ zll5+-RMDEFq2>&G(+p%p%vptnkj&8VY{lUBonC3kt zh@(w6gnDb_##L@Bxih?A0nEI7tEw!@0b%U0N(fFDHh>W~Go$w6U5tfYOUI{`+`Wb5 zFNk|jI%DJV*TY4`s_$sXxE#_m4mZOEj46Kyi@$|FDqf;39=XYKKM)mZ5HWdbCD*iI zOR#b;ZgWI^gSn2iFV6?$A+Csy%LigcE?7(RPj*QT^y1Eve3gRvLmS|tiQ|w2cGDlrZlH&F*Yw?rFSnp|19=t4se4?Swt=21J6cc+mvq6?p_=;Rdd*$<|0@EP_J9 zwM5O|0y%K6iO;4PynSIbgkKO{GT9*JToaGwh&~Xg*RBUix5JXZ zW|C`MOC8h)C)gJE9XZlV#H)4SICt8%W?o5d`RjkVR^Cr=buo7*dBDb=He8nXW%-?K zK9l0r^;Xz>blibnQ59b9M>&$H!qe4tMIiYMs)U)cn5#42&wuEI)k_Wcu~lM#yR3|M zsUwLP?+5G1o3bWS(D@_v^}BZ18lyr*MgLZ<3o4_kGJGK9F6a8@fQ4DYRk25xbrn2{ zeiZHJle%zj#Tsl$iM!R7A)A{98%*YO+BFXG#Z*^=p6K%6kNRhxV?EL>um~Gh%__zM zI=eQsgtls4`Ji+Gy{Bgxf_@ude+xhr%5S^s5le`ne3`Nd#<93~oL1KLi_DMT7`><) z%w+~5P$)oEI4zl~vbp)dd12rJg(m|RI0ox%Qf#V&o9fs&q)&2$mC zeOq$w>xPP-YcSf?u{H zMAp@0>{j_Sak*Bu7}vnix1Mheb{cQoF>oU@(~ydW;~}s;bP9gvEs9ZKBzQAYAB}sEtj^Wx{8% z{EPy>MN&&ho*^)aC|MGjzjJVqmDrw{H5-Pu0h_qosiSW59g>bMDlWi+q0~|$uD;W6 zWLnwXs0VAi-)H7nR);L^NPku=o@p0-8bQfCIInJ;tuv2>jXO4-n7Y;)k7qt0%VB3` zbL%V;F5KUo($u~~Ru5ed(RZ*mueLm|o21{cht4Y?kdtwySyK^}*P&!S^R>B~T}eQR zC=p+_$V_S1%Z-yD7MSV^s(N6FMO9Vd;tL@I-ZJMkWROUoQR4A=)RN1c= zusnSw7srwlU2mgEjwBR%N*uh|J1Sv=iOFueec@RB()hE^wfj!&)%2a)(nJ~MnrN%Y zc)X4e->ScVTobYF7BSb5ypK1S-Q{+M|H#Ir%!z)&*=NDh2A*=%gy_i~)1W*_U#-(O z^B7BsPkZ@L13Q%D=fCsVRc%KKfo!C)9yb9-RXitupzXcFlZ&KH^<>H+!-vU|JVaM9?^MwwFRiu|-rEY{J zZMULhw%+fyyeD39r>7qO^m%Yl*{Zpvh@$n=`M71nlqFpti7TpQL}4MBDCX;;WKOU&2^a8!VS8=`&jBj-v8joG5@KLZvH>J?|R6M^m@^084UOs Q3WDG_b#CNezxVXN05+L+mjD0& literal 9360 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 M)2p~EzyI++0Qe#VBme*a diff --git a/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/custom-font-sizes-chromium-darwin.png b/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/custom-font-sizes-chromium-darwin.png index 14eb9ad72e70f112e9b5e96550d2088ab1c19233..1667955449d68b8801c8e42df3de00b5908106dc 100644 GIT binary patch literal 11534 zcmd6NWk8hc(>_PB74;}6jf#q-bV!H+(hW)qh)9FT!~gs12YrMm?tAW;Yp%IwUTLZ;9y`o*n1+Vtn9`kF+B7t@ zC*V5z;C}eqy58p!{PTyaw&D$%{5BRG4Gjm4(k*#iuY`qRp9J+O3Uvi7__$iIr&clK z!Gmn2!DAOx>jEDIhj8iIb4So+iij zML@t-D{;hbaqWjpIRPchCc}m|>?_U33wyS(*adl%P|H;k0D@7|3y^%{Sk!}8X(_+e{jzDX6Q5&_?5fGu-S zBQ%Ax_w^TAhOXiZF!{msJfh z{aisWUSzAj7iw;4=?Y@^&)i;{$+785XA*kw^2UuDJ3t|L|RFEwAN45wwtSqaLr@>XU*n_-Mer$ne1%69Mkt>|9rl5Ohb12 zR{e`(!s_#br7E5y-We@NUeK{-A34K+CxVyZHF0xksc4}9L&=tMpF2DC>eS_I#c(!5 zv}59nqm1X31}oijY+CU)H74uiT8ZX5IWy0*K!b(8mE*jB1`?VhhEAIdB)mbgVBEt!Z> z#)H^d+Q{o&8vI!7CjH5iDTbxCN)fP#yl6fn<%qxk{(Jq0aQoKjbwcpyKI8??d55`m z(nF-&X74B5t#r#;U0qEO8~J4ZtiA%?E9DR$AD=VT62m;Tv4CZ6vTBL$S)FQ$N=nM- zGb+n`*c$gdlv-K0wCe-q`umhRQ^RF#6Yi*}bO~T~CQ1s62M*=v=RF?uXbNLhR#6dd zJ}$TO>1I5woDC+cIq3c@u6p6NLL7D!Xe)EUXiGS)+Fy*A?~dU0O+r$ZbW% z9DgzqH5FxGOqHsvUaF53wB%HBpX=6|X-jlp9FkOvy(%w9UXS!A;x2zoOXIq9NkJ`M ztmlLLvk=
-
-
- [{"data":{"id":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"floor_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","creationDate":1660021324601,"entityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","entityName":"floor_0","lastUpdateDate":1660021325780,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"FloorComponent","componentTypeId":"com.example.query.construction.floor","properties":[{"propertyName":"floorNumber","propertyValue":0}]}]}},{"data":{"id":"room_016bb5bd-d097-3e3a-83c2-54e3c9134f96","label":"room_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/room_016bb5bd-d097-3e3a-83c2-54e3c9134f96","creationDate":1660021325694,"entityId":"room_016bb5bd-d097-3e3a-83c2-54e3c9134f96","entityName":"room_0","lastUpdateDate":1660021326733,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"RoomComponent","componentTypeId":"com.example.query.construction.room","properties":[{"propertyName":"roomFunction","propertyValue":"meeting"},{"propertyName":"roomNumber","propertyValue":0}]}]}},{"data":{"id":"lighting_zone_020b4a63-d42a-32be-a4ac-6fff4e35aed4","label":"lighting_zone_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/lighting_zone_020b4a63-d42a-32be-a4ac-6fff4e35aed4","creationDate":1660021330380,"entityId":"lighting_zone_020b4a63-d42a-32be-a4ac-6fff4e35aed4","entityName":"lighting_zone_0","lastUpdateDate":1660021331386,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"ZoneComponent","componentTypeId":"com.example.query.zone.lighting","properties":[]}]}},{"data":{"id":"luminaire_1ffdb93f-6c16-34cf-970b-05be18d1e71a","label":"luminaire_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/luminaire_1ffdb93f-6c16-34cf-970b-05be18d1e71a","creationDate":1660021339120,"entityId":"luminaire_1ffdb93f-6c16-34cf-970b-05be18d1e71a","entityName":"luminaire_0","lastUpdateDate":1660021339896,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"LuminaireComponent","componentTypeId":"com.example.query.equipment.luminaire","properties":[]}]}},{"data":{"source":"room_016bb5bd-d097-3e3a-83c2-54e3c9134f96","target":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"isLocationOf","relationshipName":"isLocationOf","targetEntityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","sourceComponentName":"RoomComponent","sourceEntityId":"room_016bb5bd-d097-3e3a-83c2-54e3c9134f96","sourceComponentTypeId":"com.example.query.construction.room"}},{"data":{"source":"lighting_zone_020b4a63-d42a-32be-a4ac-6fff4e35aed4","target":"room_016bb5bd-d097-3e3a-83c2-54e3c9134f96","label":"hasPart","relationshipName":"hasPart","targetEntityId":"room_016bb5bd-d097-3e3a-83c2-54e3c9134f96","sourceComponentName":"ZoneComponent","sourceEntityId":"lighting_zone_020b4a63-d42a-32be-a4ac-6fff4e35aed4","sourceComponentTypeId":"com.example.query.zone.lighting"}},{"data":{"source":"luminaire_1ffdb93f-6c16-34cf-970b-05be18d1e71a","target":"lighting_zone_020b4a63-d42a-32be-a4ac-6fff4e35aed4","label":"feed","relationshipName":"feed","targetEntityId":"lighting_zone_020b4a63-d42a-32be-a4ac-6fff4e35aed4","sourceComponentName":"LuminaireComponent","sourceEntityId":"luminaire_1ffdb93f-6c16-34cf-970b-05be18d1e71a","sourceComponentTypeId":"com.example.query.equipment.luminaire"}},{"data":{"id":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"floor_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","creationDate":1660021324601,"entityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","entityName":"floor_0","lastUpdateDate":1660021325780,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"FloorComponent","componentTypeId":"com.example.query.construction.floor","properties":[{"propertyName":"floorNumber","propertyValue":0}]}]}},{"data":{"id":"room_7fb79c45-50d0-3b5d-9baf-f71d9658df64","label":"room_2","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/room_7fb79c45-50d0-3b5d-9baf-f71d9658df64","creationDate":1660021326061,"entityId":"room_7fb79c45-50d0-3b5d-9baf-f71d9658df64","entityName":"room_2","lastUpdateDate":1660021326847,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"RoomComponent","componentTypeId":"com.example.query.construction.room","properties":[{"propertyName":"roomFunction","propertyValue":"office"},{"propertyName":"roomNumber","propertyValue":2}]}]}},{"data":{"id":"lighting_zone_d1a9e1bc-6d62-3ca4-8dc1-16c25f95c849","label":"lighting_zone_2","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/lighting_zone_d1a9e1bc-6d62-3ca4-8dc1-16c25f95c849","creationDate":1660021330718,"entityId":"lighting_zone_d1a9e1bc-6d62-3ca4-8dc1-16c25f95c849","entityName":"lighting_zone_2","lastUpdateDate":1660021331574,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"ZoneComponent","componentTypeId":"com.example.query.zone.lighting","properties":[]}]}},{"data":{"id":"luminaire_9dfc8a92-7786-3bf6-a184-2c2a2246636f","label":"luminaire_2","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/luminaire_9dfc8a92-7786-3bf6-a184-2c2a2246636f","creationDate":1660021339445,"entityId":"luminaire_9dfc8a92-7786-3bf6-a184-2c2a2246636f","entityName":"luminaire_2","lastUpdateDate":1660021340253,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"LuminaireComponent","componentTypeId":"com.example.query.equipment.luminaire","properties":[]}]}},{"data":{"source":"room_7fb79c45-50d0-3b5d-9baf-f71d9658df64","target":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"isLocationOf","relationshipName":"isLocationOf","targetEntityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","sourceComponentName":"RoomComponent","sourceEntityId":"room_7fb79c45-50d0-3b5d-9baf-f71d9658df64","sourceComponentTypeId":"com.example.query.construction.room"}},{"data":{"source":"lighting_zone_d1a9e1bc-6d62-3ca4-8dc1-16c25f95c849","target":"room_7fb79c45-50d0-3b5d-9baf-f71d9658df64","label":"hasPart","relationshipName":"hasPart","targetEntityId":"room_7fb79c45-50d0-3b5d-9baf-f71d9658df64","sourceComponentName":"ZoneComponent","sourceEntityId":"lighting_zone_d1a9e1bc-6d62-3ca4-8dc1-16c25f95c849","sourceComponentTypeId":"com.example.query.zone.lighting"}},{"data":{"source":"luminaire_9dfc8a92-7786-3bf6-a184-2c2a2246636f","target":"lighting_zone_d1a9e1bc-6d62-3ca4-8dc1-16c25f95c849","label":"feed","relationshipName":"feed","targetEntityId":"lighting_zone_d1a9e1bc-6d62-3ca4-8dc1-16c25f95c849","sourceComponentName":"LuminaireComponent","sourceEntityId":"luminaire_9dfc8a92-7786-3bf6-a184-2c2a2246636f","sourceComponentTypeId":"com.example.query.equipment.luminaire"}},{"data":{"id":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"floor_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","creationDate":1660021324601,"entityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","entityName":"floor_0","lastUpdateDate":1660021325780,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"FloorComponent","componentTypeId":"com.example.query.construction.floor","properties":[{"propertyName":"floorNumber","propertyValue":0}]}]}},{"data":{"id":"room_c3d182ff-a37b-3724-a8d7-cca7bd51e512","label":"room_4","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/room_c3d182ff-a37b-3724-a8d7-cca7bd51e512","creationDate":1660021326493,"entityId":"room_c3d182ff-a37b-3724-a8d7-cca7bd51e512","entityName":"room_4","lastUpdateDate":1660021327451,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"RoomComponent","componentTypeId":"com.example.query.construction.room","properties":[{"propertyName":"roomFunction","propertyValue":"restroom"},{"propertyName":"roomNumber","propertyValue":4}]}]}},{"data":{"id":"lighting_zone_04cd9feb-7b70-38c9-90e1-b98f4c2fe62f","label":"lighting_zone_4","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/lighting_zone_04cd9feb-7b70-38c9-90e1-b98f4c2fe62f","creationDate":1660021331041,"entityId":"lighting_zone_04cd9feb-7b70-38c9-90e1-b98f4c2fe62f","entityName":"lighting_zone_4","lastUpdateDate":1660021331937,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"ZoneComponent","componentTypeId":"com.example.query.zone.lighting","properties":[]}]}},{"data":{"id":"luminaire_7aea00e2-d081-3177-8237-d144a7c0ff6b","label":"luminaire_4","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/luminaire_7aea00e2-d081-3177-8237-d144a7c0ff6b","creationDate":1660021339780,"entityId":"luminaire_7aea00e2-d081-3177-8237-d144a7c0ff6b","entityName":"luminaire_4","lastUpdateDate":1660021340578,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"LuminaireComponent","componentTypeId":"com.example.query.equipment.luminaire","properties":[]}]}},{"data":{"source":"room_c3d182ff-a37b-3724-a8d7-cca7bd51e512","target":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"isLocationOf","relationshipName":"isLocationOf","targetEntityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","sourceComponentName":"RoomComponent","sourceEntityId":"room_c3d182ff-a37b-3724-a8d7-cca7bd51e512","sourceComponentTypeId":"com.example.query.construction.room"}},{"data":{"source":"lighting_zone_04cd9feb-7b70-38c9-90e1-b98f4c2fe62f","target":"room_c3d182ff-a37b-3724-a8d7-cca7bd51e512","label":"hasPart","relationshipName":"hasPart","targetEntityId":"room_c3d182ff-a37b-3724-a8d7-cca7bd51e512","sourceComponentName":"ZoneComponent","sourceEntityId":"lighting_zone_04cd9feb-7b70-38c9-90e1-b98f4c2fe62f","sourceComponentTypeId":"com.example.query.zone.lighting"}},{"data":{"source":"luminaire_7aea00e2-d081-3177-8237-d144a7c0ff6b","target":"lighting_zone_04cd9feb-7b70-38c9-90e1-b98f4c2fe62f","label":"feed","relationshipName":"feed","targetEntityId":"lighting_zone_04cd9feb-7b70-38c9-90e1-b98f4c2fe62f","sourceComponentName":"LuminaireComponent","sourceEntityId":"luminaire_7aea00e2-d081-3177-8237-d144a7c0ff6b","sourceComponentTypeId":"com.example.query.equipment.luminaire"}},{"data":{"id":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"floor_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","creationDate":1660021324601,"entityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","entityName":"floor_0","lastUpdateDate":1660021325780,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"FloorComponent","componentTypeId":"com.example.query.construction.floor","properties":[{"propertyName":"floorNumber","propertyValue":0}]}]}},{"data":{"id":"room_e77f1506-c506-3b0a-b69c-b0b7449005ce","label":"room_1","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/room_e77f1506-c506-3b0a-b69c-b0b7449005ce","creationDate":1660021325877,"entityId":"room_e77f1506-c506-3b0a-b69c-b0b7449005ce","entityName":"room_1","lastUpdateDate":1660021326683,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"RoomComponent","componentTypeId":"com.example.query.construction.room","properties":[{"propertyName":"roomFunction","propertyValue":"meeting"},{"propertyName":"roomNumber","propertyValue":1}]}]}},{"data":{"id":"lighting_zone_db5249c8-1af7-3e6e-a3dc-f65438fbc73f","label":"lighting_zone_1","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/lighting_zone_db5249c8-1af7-3e6e-a3dc-f65438fbc73f","creationDate":1660021330550,"entityId":"lighting_zone_db5249c8-1af7-3e6e-a3dc-f65438fbc73f","entityName":"lighting_zone_1","lastUpdateDate":1660021331445,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"ZoneComponent","componentTypeId":"com.example.query.zone.lighting","properties":[]}]}},{"data":{"id":"luminaire_18e634a2-1da0-39e2-bfb8-3a6fbe6713ca","label":"luminaire_1","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/luminaire_18e634a2-1da0-39e2-bfb8-3a6fbe6713ca","creationDate":1660021339285,"entityId":"luminaire_18e634a2-1da0-39e2-bfb8-3a6fbe6713ca","entityName":"luminaire_1","lastUpdateDate":1660021340077,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"LuminaireComponent","componentTypeId":"com.example.query.equipment.luminaire","properties":[]}]}},{"data":{"source":"room_e77f1506-c506-3b0a-b69c-b0b7449005ce","target":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"isLocationOf","relationshipName":"isLocationOf","targetEntityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","sourceComponentName":"RoomComponent","sourceEntityId":"room_e77f1506-c506-3b0a-b69c-b0b7449005ce","sourceComponentTypeId":"com.example.query.construction.room"}},{"data":{"source":"lighting_zone_db5249c8-1af7-3e6e-a3dc-f65438fbc73f","target":"room_e77f1506-c506-3b0a-b69c-b0b7449005ce","label":"hasPart","relationshipName":"hasPart","targetEntityId":"room_e77f1506-c506-3b0a-b69c-b0b7449005ce","sourceComponentName":"ZoneComponent","sourceEntityId":"lighting_zone_db5249c8-1af7-3e6e-a3dc-f65438fbc73f","sourceComponentTypeId":"com.example.query.zone.lighting"}},{"data":{"source":"luminaire_18e634a2-1da0-39e2-bfb8-3a6fbe6713ca","target":"lighting_zone_db5249c8-1af7-3e6e-a3dc-f65438fbc73f","label":"feed","relationshipName":"feed","targetEntityId":"lighting_zone_db5249c8-1af7-3e6e-a3dc-f65438fbc73f","sourceComponentName":"LuminaireComponent","sourceEntityId":"luminaire_18e634a2-1da0-39e2-bfb8-3a6fbe6713ca","sourceComponentTypeId":"com.example.query.equipment.luminaire"}},{"data":{"id":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"floor_0","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","creationDate":1660021324601,"entityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","entityName":"floor_0","lastUpdateDate":1660021325780,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"FloorComponent","componentTypeId":"com.example.query.construction.floor","properties":[{"propertyName":"floorNumber","propertyValue":0}]}]}},{"data":{"id":"room_ea4be13f-ee11-3c35-8b79-ada57b500b4d","label":"room_3","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/room_ea4be13f-ee11-3c35-8b79-ada57b500b4d","creationDate":1660021326262,"entityId":"room_ea4be13f-ee11-3c35-8b79-ada57b500b4d","entityName":"room_3","lastUpdateDate":1660021327053,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"RoomComponent","componentTypeId":"com.example.query.construction.room","properties":[{"propertyName":"roomFunction","propertyValue":"office"},{"propertyName":"roomNumber","propertyValue":3}]}]}},{"data":{"id":"lighting_zone_76f9143b-9d49-340a-831d-b5e1ece86454","label":"lighting_zone_3","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/lighting_zone_76f9143b-9d49-340a-831d-b5e1ece86454","creationDate":1660021330884,"entityId":"lighting_zone_76f9143b-9d49-340a-831d-b5e1ece86454","entityName":"lighting_zone_3","lastUpdateDate":1660021331753,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"ZoneComponent","componentTypeId":"com.example.query.zone.lighting","properties":[]}]}},{"data":{"id":"luminaire_35c2c19b-7143-3b89-bc82-7f39d7568147","label":"luminaire_3","arn":"arn:aws:iottwinmaker:us-east-1:638842452100:workspace/SmartBuilding/entity/luminaire_35c2c19b-7143-3b89-bc82-7f39d7568147","creationDate":1660021339615,"entityId":"luminaire_35c2c19b-7143-3b89-bc82-7f39d7568147","entityName":"luminaire_3","lastUpdateDate":1660021340353,"workspaceId":"SmartBuilding","description":"","components":[{"componentName":"LuminaireComponent","componentTypeId":"com.example.query.equipment.luminaire","properties":[]}]}},{"data":{"source":"room_ea4be13f-ee11-3c35-8b79-ada57b500b4d","target":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","label":"isLocationOf","relationshipName":"isLocationOf","targetEntityId":"floor_3b577379-0cd4-32c9-8e9d-6dbd2d898c61","sourceComponentName":"RoomComponent","sourceEntityId":"room_ea4be13f-ee11-3c35-8b79-ada57b500b4d","sourceComponentTypeId":"com.example.query.construction.room"}},{"data":{"source":"lighting_zone_76f9143b-9d49-340a-831d-b5e1ece86454","target":"room_ea4be13f-ee11-3c35-8b79-ada57b500b4d","label":"hasPart","relationshipName":"hasPart","targetEntityId":"room_ea4be13f-ee11-3c35-8b79-ada57b500b4d","sourceComponentName":"ZoneComponent","sourceEntityId":"lighting_zone_76f9143b-9d49-340a-831d-b5e1ece86454","sourceComponentTypeId":"com.example.query.zone.lighting"}},{"data":{"source":"luminaire_35c2c19b-7143-3b89-bc82-7f39d7568147","target":"lighting_zone_76f9143b-9d49-340a-831d-b5e1ece86454","label":"feed","relationshipName":"feed","targetEntityId":"lighting_zone_76f9143b-9d49-340a-831d-b5e1ece86454","sourceComponentName":"LuminaireComponent","sourceEntityId":"luminaire_35c2c19b-7143-3b89-bc82-7f39d7568147","sourceComponentTypeId":"com.example.query.equipment.luminaire"}}] -
-
    -
  • - -
  • -
  • - -
  • -
  • - -
  • -
  • - -
  • -
-
-
-`; diff --git a/packages/react-components/src/components/knowledge-graph/KnowledgeGraphPanel.tsx b/packages/react-components/src/components/knowledge-graph/KnowledgeGraphPanel.tsx new file mode 100644 index 000000000..8e10d49f6 --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/KnowledgeGraphPanel.tsx @@ -0,0 +1,108 @@ +import React, { useEffect, useCallback, useMemo, useState } from 'react'; +import { IntlProvider, FormattedMessage } from 'react-intl'; +import { ElementDefinition } from 'cytoscape'; +import { Button, Container, Header, Input, SpaceBetween } from '@cloudscape-design/components'; +import { TwinMakerKGQueryDataModule } from '@iot-app-kit/source-iottwinmaker'; +import { Graph } from './graph'; +import StateManager, { useKnowledgeGraphState } from './StateManager'; +import { createKnowledgeGraphQueryClient } from './KnowledgeGraphQueries'; +import { ResponseParser } from './responseParser'; +import { getElementsDefinition } from './utils'; + +interface KnowledgeGraphInterface { + kgDataSource: TwinMakerKGQueryDataModule; +} +const MAX_NUMBER_HOPS = 10; + +const KnowledgeGraphContainer: React.FC = ({ kgDataSource }) => { + const { selectedGraphNodeEntityId, setQueryResult, queryResult, clearGraphResults } = useKnowledgeGraphState(); + const [searchTerm, setSearchTerm] = useState(''); + const [elements, setElements] = useState([]); + + const knowledgeGraphQueryClient = useMemo(() => { + return createKnowledgeGraphQueryClient(kgDataSource, setQueryResult); + }, [kgDataSource, setQueryResult]); + + const onSearchClicked = useCallback(() => { + if (searchTerm) { + knowledgeGraphQueryClient.findEntitiesByName(searchTerm); + } + }, [knowledgeGraphQueryClient, searchTerm]); + + const onExploreClicked = useCallback(() => { + if (selectedGraphNodeEntityId) { + knowledgeGraphQueryClient.findRelatedEntities(selectedGraphNodeEntityId, MAX_NUMBER_HOPS); + } + }, [selectedGraphNodeEntityId, knowledgeGraphQueryClient]); + + const onClearClicked = useCallback(() => { + clearGraphResults(true); + }, [clearGraphResults]); + + useEffect(() => { + if (queryResult) { + console.log('queryResults: ', queryResult); + const { nodeData, edgeData } = ResponseParser.parse(queryResult['rows'], queryResult['columnDescriptions']); + setElements(getElementsDefinition([...nodeData.values()], [...edgeData.values()])); + } else { + setElements([]); + setSearchTerm(''); + } + }, [queryResult]); + return ( + Knowledge Graph}> + + + { + setSearchTerm(e.detail.value); + }} + > + + + {/* inline styling here for testing only this will be fixed in the next PR */} + + + + {queryResult ? ( + + ) : ( + + )} + + + + ); +}; +export const KnowledgeGraph: React.FC = (props) => { + return ( + + {/* For the moment we're setting it to a fixed language, + later we will determine the user's locale by evaluating the language request sent by the browser */} + + + + + ); +}; diff --git a/packages/react-components/src/components/knowledge-graph/KnowledgeGraphQueries.ts b/packages/react-components/src/components/knowledge-graph/KnowledgeGraphQueries.ts new file mode 100644 index 000000000..2e9269f0a --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/KnowledgeGraphQueries.ts @@ -0,0 +1,26 @@ +import { TwinMakerKGQueryDataModule } from '@iot-app-kit/source-iottwinmaker'; +import { ExecuteQueryCommandOutput } from '@aws-sdk/client-iottwinmaker'; +export interface KnowledgeGraphQueryInterface { + findEntitiesByName(name: string): Promise; + findRelatedEntities(entityId: string, numberOfHops: number): Promise; +} +export const createKnowledgeGraphQueryClient = function ( + dataSource: TwinMakerKGQueryDataModule, + updateQueryResults: (result: ExecuteQueryCommandOutput) => void +) { + const knowledgeGraphQuery: KnowledgeGraphQueryInterface = { + findEntitiesByName: async (name: string): Promise => { + const result = await dataSource.executeQuery({ + queryStatement: `SELECT e FROM EntityGraph MATCH (e) WHERE e.entityName like '%${name}%'`, + }); + updateQueryResults(result); + }, + findRelatedEntities: async (entityId: string, numberOfHops: number): Promise => { + const result = await dataSource.executeQuery({ + queryStatement: `SELECT e1 FROM EntityGraph MATCH (e)-[]-{1,${numberOfHops}}(e1) WHERE e.entityId = '${entityId}'`, + }); + updateQueryResults(result); + }, + }; + return knowledgeGraphQuery; +}; diff --git a/packages/react-components/src/components/knowledge-graph/StateManager.tsx b/packages/react-components/src/components/knowledge-graph/StateManager.tsx new file mode 100644 index 000000000..752689004 --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/StateManager.tsx @@ -0,0 +1,43 @@ +import React, { ReactNode, createContext, useContext, useState } from 'react'; +import { ExecuteQueryCommandOutput } from '@aws-sdk/client-iottwinmaker'; +interface KnowledgeGraphContext { + selectedGraphNodeEntityId?: string; + setSelectedGraphNodeEntityId: (entityId?: string) => void; + queryStatement?: string; + setQueryStatement: (query: string) => void; + queryResult?: ExecuteQueryCommandOutput; + setQueryResult: (result: ExecuteQueryCommandOutput) => void; + clearGraphResults: (clear: boolean) => void; +} +export interface StateManagerProps { + children: ReactNode; +} + +const context = createContext({} as KnowledgeGraphContext); +export function useKnowledgeGraphState() { + return useContext(context); +} +const StateManager: React.FC = ({ children }) => { + const [selectedGraphNodeEntityId, setSelectedGraphNodeEntityId] = useState(); + const [queryStatement, setQueryStatement] = useState(); + const [queryResult, setQueryResult] = useState(); + const clearGraphResults = (clear: boolean) => { + if (clear) setQueryResult(undefined); + }; + return ( + + {children} + + ); +}; +export default StateManager; diff --git a/packages/react-components/src/components/knowledge-graph/graph/__snapshots__/graph.spec.tsx.snap b/packages/react-components/src/components/knowledge-graph/graph/__snapshots__/graph.spec.tsx.snap new file mode 100644 index 000000000..288e33fcf --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/graph/__snapshots__/graph.spec.tsx.snap @@ -0,0 +1,128 @@ +// Jest Snapshot v1, https://goo.gl/fbAQLP + +exports[` renders default elements 1`] = ` +
+
+
+ [] +
+
    +
  • + +
  • +
  • + +
  • +
  • + +
  • +
  • + +
  • +
+
+
+`; diff --git a/packages/react-components/src/components/graph/constants.ts b/packages/react-components/src/components/knowledge-graph/graph/constants.ts similarity index 100% rename from packages/react-components/src/components/graph/constants.ts rename to packages/react-components/src/components/knowledge-graph/graph/constants.ts diff --git a/packages/react-components/src/components/graph/cytoscape-cloudscape-theme.ts b/packages/react-components/src/components/knowledge-graph/graph/cytoscape-cloudscape-theme.ts similarity index 100% rename from packages/react-components/src/components/graph/cytoscape-cloudscape-theme.ts rename to packages/react-components/src/components/knowledge-graph/graph/cytoscape-cloudscape-theme.ts diff --git a/packages/react-components/src/components/graph/graph-toolbar.tsx b/packages/react-components/src/components/knowledge-graph/graph/graph-toolbar.tsx similarity index 100% rename from packages/react-components/src/components/graph/graph-toolbar.tsx rename to packages/react-components/src/components/knowledge-graph/graph/graph-toolbar.tsx diff --git a/packages/react-components/src/components/graph/graph-view.tsx b/packages/react-components/src/components/knowledge-graph/graph/graph-view.tsx similarity index 100% rename from packages/react-components/src/components/graph/graph-view.tsx rename to packages/react-components/src/components/knowledge-graph/graph/graph-view.tsx diff --git a/packages/react-components/src/components/graph/graph.spec.tsx b/packages/react-components/src/components/knowledge-graph/graph/graph.spec.tsx similarity index 90% rename from packages/react-components/src/components/graph/graph.spec.tsx rename to packages/react-components/src/components/knowledge-graph/graph/graph.spec.tsx index b32950a60..c4da3ab11 100644 --- a/packages/react-components/src/components/graph/graph.spec.tsx +++ b/packages/react-components/src/components/knowledge-graph/graph/graph.spec.tsx @@ -31,7 +31,7 @@ jest.mock('./hooks/useCyEvent'); describe('', () => { it('renders default elements', () => { - const { container } = render(); + const { container } = render(); expect(container).toMatchSnapshot(); }); @@ -49,7 +49,7 @@ describe('', () => { useRefMock.mockReturnValueOnce(fakeCy); - render(); + render(); expect(fakeCy.current.resize).toHaveBeenCalled(); expect(fakeCy.current.center).toHaveBeenCalled(); @@ -69,7 +69,7 @@ describe('', () => { useRefMock.mockReturnValueOnce(fakeCy); - const { findByTestId } = render(); + const { findByTestId } = render(); const sut = await findByTestId('fit-button'); fireEvent.click(sut); @@ -91,7 +91,7 @@ describe('', () => { useRefMock.mockReturnValueOnce(fakeCy); - const { findByTestId } = render(); + const { findByTestId } = render(); const sut = await findByTestId('center-button'); fireEvent.click(sut); @@ -113,7 +113,7 @@ describe('', () => { useRefMock.mockReturnValueOnce(fakeCy); - const { findByTestId } = render(); + const { findByTestId } = render(); const sut = await findByTestId('zoom-in-button'); fireEvent.click(sut); @@ -135,7 +135,7 @@ describe('', () => { useRefMock.mockReturnValueOnce(fakeCy); - const { findByTestId } = render(); + const { findByTestId } = render(); const sut = await findByTestId('zoom-out-button'); fireEvent.click(sut); diff --git a/packages/react-components/src/components/graph/graph.tsx b/packages/react-components/src/components/knowledge-graph/graph/graph.tsx similarity index 68% rename from packages/react-components/src/components/graph/graph.tsx rename to packages/react-components/src/components/knowledge-graph/graph/graph.tsx index 83e321786..4eb849f0a 100644 --- a/packages/react-components/src/components/graph/graph.tsx +++ b/packages/react-components/src/components/knowledge-graph/graph/graph.tsx @@ -1,6 +1,5 @@ import React, { HTMLAttributes, useCallback, useEffect, useRef } from 'react'; import type { Core, ElementDefinition, EventObject } from 'cytoscape'; -import { response3 as response } from './lib/response'; import useCyEvent from './hooks/useCyEvent'; import GraphView from './graph-view'; @@ -12,49 +11,14 @@ import { STYLE_PREFIX } from './constants'; import useStylesheet from './cytoscape-cloudscape-theme'; export interface GraphProps extends HTMLAttributes { + elements: ElementDefinition[]; onNodeSelected?: (e: EventObject) => void; onEdgeSelected?: (e: EventObject) => void; } export const ZOOM_INTERVAL = 1; -export type Node = { - entityId: string; - entityName: string; -}; - -export type Edge = { - sourceEntityId: string; - targetEntityId: string; - relationshipName: string; -}; - -export function Graph({ className, onNodeSelected, onEdgeSelected, ...props }: GraphProps) { - // TODO: Refactor this to use the datasource + query to get the data. - const elements: ElementDefinition[] = response.rows - .map((r) => r.rowData) - .reduce((acc, rowData) => { - const newElements = response.columnDescriptions.map((col, i) => { - const entity = rowData[i]; - if (col.type === 'NODE') { - const node = entity as Node; - return { data: { id: node.entityId, label: node.entityName, ...node } } as ElementDefinition; - } else { - const relationship = entity as Edge; - return { - data: { - source: relationship.sourceEntityId, - target: relationship.targetEntityId, - label: relationship.relationshipName, - ...relationship, - }, - } as ElementDefinition; - } - }); - - return [...acc, ...newElements]; - }, [] as ElementDefinition[]); - +export function Graph({ className, elements, onNodeSelected, onEdgeSelected, ...props }: GraphProps) { const cy = useRef(null); const containerRef = useRef(null); @@ -80,6 +44,7 @@ export function Graph({ className, onNodeSelected, onEdgeSelected, ...props }: G cy.current?.resize(); cy.current?.center(); }, []); + console.log('elements: ', elements); // TODO: Event modelling needs to be done properly, this is an example // istanbul ignore next (No point in testing as this is going to change in next update) diff --git a/packages/react-components/src/components/graph/hooks/useCyEvent.spec.ts b/packages/react-components/src/components/knowledge-graph/graph/hooks/useCyEvent.spec.ts similarity index 100% rename from packages/react-components/src/components/graph/hooks/useCyEvent.spec.ts rename to packages/react-components/src/components/knowledge-graph/graph/hooks/useCyEvent.spec.ts diff --git a/packages/react-components/src/components/graph/hooks/useCyEvent.ts b/packages/react-components/src/components/knowledge-graph/graph/hooks/useCyEvent.ts similarity index 100% rename from packages/react-components/src/components/graph/hooks/useCyEvent.ts rename to packages/react-components/src/components/knowledge-graph/graph/hooks/useCyEvent.ts diff --git a/packages/react-components/src/components/graph/index.ts b/packages/react-components/src/components/knowledge-graph/graph/index.ts similarity index 100% rename from packages/react-components/src/components/graph/index.ts rename to packages/react-components/src/components/knowledge-graph/graph/index.ts diff --git a/packages/react-components/src/components/graph/lib/response.ts b/packages/react-components/src/components/knowledge-graph/graph/lib/response.ts similarity index 100% rename from packages/react-components/src/components/graph/lib/response.ts rename to packages/react-components/src/components/knowledge-graph/graph/lib/response.ts diff --git a/packages/react-components/src/components/graph/lib/types.ts b/packages/react-components/src/components/knowledge-graph/graph/lib/types.ts similarity index 100% rename from packages/react-components/src/components/graph/lib/types.ts rename to packages/react-components/src/components/knowledge-graph/graph/lib/types.ts diff --git a/packages/react-components/src/components/graph/styles.scss b/packages/react-components/src/components/knowledge-graph/graph/styles.scss similarity index 100% rename from packages/react-components/src/components/graph/styles.scss rename to packages/react-components/src/components/knowledge-graph/graph/styles.scss diff --git a/packages/react-components/src/components/graph/types.ts b/packages/react-components/src/components/knowledge-graph/graph/types.ts similarity index 96% rename from packages/react-components/src/components/graph/types.ts rename to packages/react-components/src/components/knowledge-graph/graph/types.ts index 7db75ae3d..c8e18c0ea 100644 --- a/packages/react-components/src/components/graph/types.ts +++ b/packages/react-components/src/components/knowledge-graph/graph/types.ts @@ -11,10 +11,9 @@ import type { UserInputDeviceEventName, UserInputDeviceEventNameExt, } from 'cytoscape'; +import { INodeResults } from '../interfaces'; import type { ValueOf } from 'type-fest'; -import type { EntityData, Health } from './lib/types'; - export type layoutTypes = 'preset' | 'random' | 'grid' | 'circle' | 'concentric' | 'breadthfirst' | 'cose' | 'cise'; export type EdgeStyleProps = { @@ -57,10 +56,9 @@ export type EdgeEndpoint = | 'outside-to-line-or-label'; export type NodeData = NodeDataDefinition & { - entityData: EntityData; + entityData?: INodeResults; id: string; - name: string; - state: Health; + label: string; shape?: Css.NodeShape; }; diff --git a/packages/react-components/src/components/knowledge-graph/index.ts b/packages/react-components/src/components/knowledge-graph/index.ts new file mode 100644 index 000000000..2785670ce --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/index.ts @@ -0,0 +1 @@ +export { KnowledgeGraph } from './KnowledgeGraphPanel'; diff --git a/packages/react-components/src/components/knowledge-graph/interfaces/index.ts b/packages/react-components/src/components/knowledge-graph/interfaces/index.ts new file mode 100644 index 000000000..aeba8095e --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/interfaces/index.ts @@ -0,0 +1,18 @@ +export interface INodeResults { + entityName?: string; + entityId: string; + creationDate?: Date; + lastUpdateDate?: Date; + arn?: string; + workspaceId?: string; + components?: []; + description?: string; +} + +export interface IRelationResults { + sourceEntityId: string; + targetEntityId: string; + relationshipName?: string; + sourceComponentName?: string; + sourceComponentTypeId?: string; +} diff --git a/packages/react-components/src/components/knowledge-graph/responseParser.tsx b/packages/react-components/src/components/knowledge-graph/responseParser.tsx new file mode 100644 index 000000000..b70807957 --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/responseParser.tsx @@ -0,0 +1,60 @@ +import { INodeResults, IRelationResults } from './interfaces'; +import { ExecuteQueryCommandOutput } from '@aws-sdk/client-iottwinmaker'; +import { NodeData, EdgeData } from './graph/types'; + +function parseNode(item: INodeResults, nodeData: Map) { + const entityId = item.entityId; + const entityName = item.entityName; + const entityData: INodeResults = { ...item }; + nodeData.set(entityId, { + entityData, + id: entityId, + label: entityName ? entityName : '', + }); +} +function parseEdge(item: IRelationResults, edgeData: Map) { + const sourceId = item.sourceEntityId; + const targetId = item.targetEntityId; + const relationshipName = item.relationshipName; + const id = `${sourceId}-${targetId}`; + edgeData.set(id, { + id, + label: relationshipName ? relationshipName : '', + source: sourceId, + target: targetId, + }); +} + +export class ResponseParser { + static parse( + queryRows: ExecuteQueryCommandOutput['rows'] | undefined, + queryColumnDescriptions: ExecuteQueryCommandOutput['columnDescriptions'] | undefined + ) { + const nodeData = new Map(); + const edgeData = new Map(); + if (queryRows && queryColumnDescriptions) { + for (const row of queryRows) { + for (let columnNumber = 0; columnNumber < queryColumnDescriptions.length; columnNumber++) { + const itemType = queryColumnDescriptions[columnNumber].type; + const rowData = row.rowData; + const item = rowData![columnNumber]; + switch (itemType) { + case 'NODE': + parseNode(item as unknown as INodeResults, nodeData); + break; + case 'EDGE': + parseEdge(item as unknown as IRelationResults, edgeData); + break; + case 'VALUE': + // Intentional do nothing + break; + default: + //Do nothing for now till we provide error handling. + break; + } + } + } + } + return { nodeData, edgeData }; + } +} diff --git a/packages/react-components/src/components/knowledge-graph/utils/cytoscapeParsingUtils.ts b/packages/react-components/src/components/knowledge-graph/utils/cytoscapeParsingUtils.ts new file mode 100644 index 000000000..ae79aeafb --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/utils/cytoscapeParsingUtils.ts @@ -0,0 +1,18 @@ +import { ElementDefinition, NodeDefinition, EdgeDefinition } from 'cytoscape'; +import { NodeData, EdgeData } from '../graph/types'; + +export function getElementsDefinition(nodeData: NodeData[], edgeData?: EdgeData[]): ElementDefinition[] { + const elements: ElementDefinition[] = [ + ...nodeData.map((data) => ({ + data: { ...data }, + })), + ]; + if (edgeData) { + elements.push( + ...edgeData.map((data) => ({ + data: { ...data }, + })) + ); + } + return elements; +} diff --git a/packages/react-components/src/components/knowledge-graph/utils/index.ts b/packages/react-components/src/components/knowledge-graph/utils/index.ts new file mode 100644 index 000000000..0e4e6f987 --- /dev/null +++ b/packages/react-components/src/components/knowledge-graph/utils/index.ts @@ -0,0 +1 @@ +export * from './cytoscapeParsingUtils'; diff --git a/packages/react-components/stories/graph/graph.stories.tsx b/packages/react-components/stories/graph/graph.stories.tsx index 00f0439c0..1b5b94aa2 100644 --- a/packages/react-components/stories/graph/graph.stories.tsx +++ b/packages/react-components/stories/graph/graph.stories.tsx @@ -1,7 +1,9 @@ import React from 'react'; import type { ComponentMeta, ComponentStory } from '@storybook/react'; -import { Graph } from '../../src/components/graph'; -import { colors } from '../../src/components/graph/cytoscape-cloudscape-theme'; +import { Graph } from '../../src/components/knowledge-graph/graph'; +import { colors } from '../../src/components/knowledge-graph/graph/cytoscape-cloudscape-theme'; +import { getElementsDefinition } from '../../src/components/knowledge-graph/utils'; +import { mockNodeData } from './mock-data'; export default { title: 'Widgets/Graph', @@ -19,11 +21,13 @@ export default { }, {} as { [key: string]: { control: { type: string; label: string } } }), }, } as ComponentMeta; +const nodeData = [...mockNodeData.values()]; +const elements = getElementsDefinition(nodeData); export const Basic: ComponentStory = () => { return (
- +
); }; @@ -32,7 +36,7 @@ export const InContainers: ComponentStory = () => { return (
- +
); @@ -42,6 +46,7 @@ export const OverrideStyles: ComponentStory = () => { return (
= () => { export const MultipleInstances: ComponentStory = () => { return (
- +

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 literal 11497 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 diff --git a/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/default-chromium-darwin.png b/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/default-chromium-darwin.png index 21a4b121fad2a396f8c3837bc2e76f4b422a8505..f03e41b8bbb164632635ef7d6c1d73d824f64843 100644 GIT binary patch literal 6064 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 literal 6123 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 v=!&DSE4^A4#B&+q9CzKIe(}j@_6J4 diff --git a/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/error-chromium-darwin.png b/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/error-chromium-darwin.png index f05277991fb212aca9fb4a26922090538d82778d..c22a382ef8bd3144dfe6aa68fa791a5a16d75237 100644 GIT binary patch literal 10791 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 E0BEO(_y7O^ literal 10715 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 QhmhW3vdYiVGOynKFP24N%m4rY diff --git a/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/icon-chromium-darwin.png b/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/icon-chromium-darwin.png index c498e9d192080f81c40601032408ef8b9c9cdae0..752938bd16a5cd0261da2db8006642f0910c1d37 100644 GIT binary patch literal 6330 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 IotJO^16mzm5C8xG literal 6387 zcmbVRc|4ST_rB3%$r^neNuc7j#!SEt#QGs?=!l8%$m z`Sa&>O-AWXpFaKI;X`g|={;q7h2v|aE90wHYxbZADk|Sq?Z>NzrDWkng@^+$=@W691BMurWv83M_b)jEhUk_y!dBg5d75TK(TEuJf z#c68lJlTPKgNI$8WY*W#E=o$q69^tbBtM&)dh(u0=;Z7Fs@@rYnD?~w#c=V}9NhvQ z9-crDH5d%`2ZItqyWvPD*QOd?u8t=U4Gm3L#vEVpUcS?(@$qpQR^eA5{>yICjw?KH zQPGcUYmPOQ|#$gooEBjJF6#Ar6Bgi%3aPyL*>(XTlGjot+KaXcs$0 zK_TWcuQHIUN0#(Z^zSxd>=O8$+N0#dgT0OQW-e)(Yuwy#3u=h(@4O}NuJUv_Bo5Yo zjE%i-W_D$!Ih^;(6@L~ZpU80dVSIv^C8;BE(~6OiQPN{=(p>N6F(4yt!dT>1$E$CHW{c_go(&kAFZ0hHS;3mf8LS zSBHkaTQPwIeg(DB_e~p{CS-xa6b;*I<>=s0=c`ZZQJ?u!2F2sYkJHoB3q96NE^~7O zRDAZ@S^{}3e9?W`ZDmv`Mb=kv(Zqe+lh+NMJcf2R!q=VPdKO>ANC|=prDtSxm)hv^ zPtyAl$UrKgQSa62xR*tU10spA<0RapI<`irjg@l3Dk)z zT^o4j;6zw64y0vo@~2|@GmwYGAg=QZ3r8q&`9=>7JsJ00;DC5k;^m$`W#d--Q1u6K za`Jp_&aW?n8rrhb)BW4qRoHG>Z=zR%{-VXYFUvS4ho)m?#+^5lTd zt`&rxQzyWmO-w!Y<|LTq8UNesoNES!x|Y^GodKsDkamcZlk=SQGj(-2>m^RN<&mF7 zrtofJ?bGhEM>h7A*;WC25a24~h5Ruev@h>f%dVa>JNA)MySFJu)yiFp#|KNlUTH$* zzrP=K<7t(@-jQ_B@^VVv21So1-~>JtZn(rU;ima@ha;O$ZC>zNuN(TpDU*}ZtvFs@ ziMTUrp(ei5jIgliO<}gG8G2JE;%%H>gYwS7i=&3*1|};EP(T zg0I!p)$6h>n+unsx<(DLW4lLbx?Owv101qRKN`p=N*s<}JMU4x=zDiHgrz6#XP$il z@A0A<+6HB(?m9V%M155;Uy<&fYpQs75q1FDjqh2@7!1lm(d-^QDJfed9_MBfC*b}- zCHLv>8IBbiH@1h(s_s#qn^~^;mS(4njZ;0eH%wgc%(2ZspSjl5+!~I=-vS@}Fr$;& z|JDdvlenGo{Fa1;p@!n6OUab9i}w~fll2D{W@mpFYkLQ|B(E$zkdxyMLT=$1DHT7M zG4`dFXs?_<|D&qHWerc!bnTnxYJVbzE75R>4$YOHfaaSNy=iEItSL`HSNZo-q;fA7RBsq@FWAznGqH%+F37+#NLXli|AI6DKo)o6KN2Y88;6(D~-;w0=HqBCM#Dej7bu zj)y*bqr5M)hREt$bF7XWB*(y@KRa?-34@{Um+UyWU>@(%A0hc~S^OLB`bB;kxcT9e zMOC&_H(l6gaJWZ1D^oEmXf4o08^*~acNC(}dmn5KGJ)f+^XrlnT6P)c2+H`T$S;o> zr>e@+~`Ujwac?hL51v&_t- zAJi@qcKcndbq(PQsB^~wsE93BxwwfvqNF8F>@GOs7Hk7Ax1)uEMw9fh<(DN6ZwYza zx+K&^R|mw9N%F>4-eMV-k&zLWKv7rKver`)^_F6i*h^k_bPu#{yK7B#k*FbV%9TFJb%t;z5zS7+!cG|{LTRFW{_}TJ5m(@@}N^;ha8Au zD>=^A1MR73xuNfT!;1^=(ZmU$f%;ju`l56^74}<2Q#c8P8MO@iiWRdc_H+?dnu9qp;HCXy zQdN_sU>lnc4&6I3e+2?+w13yW(j6T{L~IRL*hpZRBqYD@Zp_Fh6Dy=|L~r9TMF$gm zSK9p~0vp4W_Alj9bAIBy!t2-3X@JfnAnmP{Q^sZdniGPLx81kg5N=|9wKxaUo?Hrk z`@1vw0wa0qrQ|=O6?iKDMq2jsKso04T$DM-#g!sD^H5otkOHXbU;s0>jm18T8ls0^ zyp~nnMy!HKhlhK#@=ZCWf-|few)^ZKVB^^TW&IdEDu2A~Nc8fWwfrKMrZzyp$RT6( zfGiiEO6I-3z3qlsIiP12n+Y2>r0YfIE-J+tR8agB>dX}~^ z-|9@fm}d=@2qG+_O%D%q)3T|-i>d&4+2iIzWS}6>eO**ovCnJR9imTU^@2y zMZy32I-qcs0c7(h(C9xBZ`lYgrNxaHp0o);p@I$SAUY0{srrD~g#|HByjfLMmA*J} zHcE|E+U>@}IKh7|!r>_uE(`drK_k;p-|T|g!^Cs^I={bLX@2s- zD+N^orNbX#eH>rb9I92Rek+k9@V5L^H-X~xw>d2Mj<&9lgnHP!llK< z#lON6c1V~R^}^=Ocb zSye;XkL42o{CR;OOi^UI$#`u#zLPexu;3}N?D}fl5C{YF37spDiZ}GjBXshft~bLE zyR+@?+#!kLd6afPjIC-P-!_+jk^%jIP!S#(nK2r6@pfpSps?_F^wrCk>w(&JS?c3+ z0kUmob=3i4VrI4=B_pGK{^rda6(^@6%ytuNR7Aw{`i6!)o1lPz+l^eeog0@>KoWn| z&e0(k278G%vAW=Am3qtUo@E+Y`N8+s-ikEEXFQB!t0U~~A!U7utjG=vTXE!Yk*Q*W zi@-xw)elxZ>A@uJZ~mcf4Rt}4v6LXdJqCvMHWy99OhK-6+Dp1*v4zay$PUN?Kl{u4 z!&d2_VM&t*kg7qIU}HU3_#xqoCPreyrx$9nD2W-aJw}>-wQy5>FcWWLU7ehmFYzVQ z`SVtgrk2)h@sA&GDQKUAxR{5EeEs~nF7&)ulbNL@yJ;vNAD>9I*OurjFb+Cl##v48 z%F91`@+97KwR$JC!$J)3qw9-}R{jFky4 zlJ9cg%D<*Yu8#J3*zP? zo$CTGLm)lZih3N_=<2m-xnr{+I}t_#uBhPUCDjE#f{~Dr%*hu09YY|j$TraE!lq3$ zpzl(=3JRjYjg;m%dcTU{*ZmkD-}3p++bjcgnI^Ka@!sE|8d}5SO+b%>a-X3(=Uk^} zW`4D_JO|?1!^0yYI{M!I`{ZBlhoyl#L*H$OKmHvT%F89enA)1Wvuk2%8XO!v)vs&h z`ptVj!SYW}2DO5M!mGW~ycQyEv?3~2;90TRFGeuwdw?Lnd;dNSm=922u3l6mx1tFO zlRPjpRAl;h1|sb47I|%11NgMvwi~OA`TqT;q1WQo`uh5K35QQ@<#ZfU3>+LCU;=hX zM#^}LyP?N$HW!ZR#d!;VYHeeq0X%kvB7vS8^T5cUmU{VTQuJ$KVT5^GtZ~Wk3ottc zj0}PSaugf8@=ruUf>kpA7;3U5l3Ng?f)uAkb~H86!)fZK8iGi2kt-UYMBSIrFkn{D zZ~27XPHD0w~rq`N_yh2sIQj_%vm2G_SY4AdV0V;D4IWTkU3WB2_@?;!bm`j z09Ge~Jn`8cww%j%u`=NWlRlWnBV%Km06!#6gMsT+hegSDQcGv2MZG^2Y}GLZMo^Kf^e;*f|Xk@VWU2DvWvIlU7Y(_ha_K{!i)02l`I;C+CP1R3wL zws>G5I4=*0_Wmm+-kw#_GMd{q)}{$g7QIEd@ax%mV7JNbe^H+al`;VaU9x~Q4c zWj9^H*!WU+cQ-f&B^MW0T3Q-Jn0!m0WPJp$Rk5|b0YX0mco)?qaC|lGIBeIA z=u132P%78(mLxt=E?#H&V0Doys@!y5{qpct#IKOL4cSI;oK@+u}z@1 zLV+qymU6u;C6x#)v}rI&FdX%1s)+#3`Q$N8rJmCEl#ax_vBtTl!P$)h>b+ z(!P8N28ah7uDS)B4^z-{{DXp|$3E+%`+9!U&S?V2xd&?lTDX+HQIF-Ymp~jh1+jUn?4!U#a&gN2o2xxuNtE*k_&+#V_Z#-J2;gC8Dhr{>x z_krEiWRKd|T}YAsxkn%fo41|?mns~#4P}?e$1^eir<+ISCmh%V05EFoM_o@*7f#AfvrqRhRgR>&>SWf9f|+c{Uv!vSxLzu;|q{w z*Qcw%^Z~SuqVfkVj**j76?E<)w7Zb^&dS{HRC(wE9FYW)Z?IW)y%>=JERcu5EqWIc zGSi+QHn0o20?BXCVd8MWqWjg_>g?5XSy~ziNQu*9lH_AlRGtxV%GPY0r|$X@dsD#Q znRX=J8X%AOx2m)W=K?{y1-4*hWF*}JaG2VBcg85>Y7qzT!oo_IK&Z`r#`V`+{_FmM zrBYK&p8p_~-CGtj^v2x+&S-9VZtjh7#GW1Kn91Us)RdIZTOuw27&*2Hpnhj- z@{ao*`34=3hl-3kw+X=TE!-*zqCZo8-;&b;yEU(&VsrDQef5@(q0hPkXcweO-ZI=* zuLc0li9=Fe(~jK26q{26Eil<3F=0knn*z!BkSZU9A2JOW@gX>Z3=tOKN55W?kmc%f zd_oYd*d**#fa%!M)>g7DR_w6RU2B zlW5$MyvhKR>5_?dJd7jj>Frf|@ZkCKP?0{U4Z3wJD=PqF2pD}hbr#^}nwgnZ;P~q? z7^E8fpl?L7+oD7SG#XI5GYk@bhdxl|M#g-5Lc?NjW}Xlwq>>~V322_w@z3u|+p80+ z-*-*TqY)yhSy?T7uP3eT_=^!06%}9y>{iGn`M`*nn4f?w^(tTTIj&g1rKCozpFMff z0^G2c*4Ea}`m*ye9}y1^&qj+a0Q00d@M&|Hv=0KROjkdb{gsfHAVE=)#-Kl)$) zGAA5ZFy+)ZIv2AX^l}^vf zdiV7aQpzsy#ERB!R9}Lr3Z80ExR}Yj1YUc|JvL~j}N(IiW$8(jN=W#e=#5> M1=V}`cb~ucKWiVC;{X5v diff --git a/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/loading-chromium-darwin.png b/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/loading-chromium-darwin.png index 0e7d7c83a7e0d1c77688334309c93e2364f06dcb..7488a206e35dcaae9404fe4804806bb7fcd6b2a4 100644 GIT binary patch literal 1801 zcmZ{le>~H99LGPlM&?KA7GYUfv^Xs+98x>OBF7{orXL8G{Ad|PPOgY6x^Z>$t0S$N zU#%^vlqBaz)*&LDbR=dNbF*c+ukHT0fA0Io_xpK#zn>rP_w)6BzrNW%-tJmR10(=I zi|pY_0brF5G~TjW6}r2_)lH#?N+QLb2&%i#69A|-lU;Z3qZbL^d3yK@VJ}3>yro>C zny=%-A4o@C^}|<3>v?uec@LBw>n+R5I@TRxUtV_2*9RM->I=`tn;*8T;u(b8%B$V9 z#|ByM@o-&=YO!u|!}pgK9ypgS4?pJ)bLsufze;QSKA-;vy7I8(D_FAZ$NE4u<C9qYXQ!7;GQ(%!{OV6jtOf=Kat-Y+iNz-Yg+igrWd!KxnS}i-$6iUf zQ*ZuVNo^$Gs5QmOQLYwP@?=*ZTs zTN`kb{Jll?`TSBB4o%P(=$^l_b^?R5va$IpofFAdJqINgXYY0Rut~lLc0&!DjYVtQ zM0H~UQbS{)?uZ(Y%nV2Nv4a=|1$C!{2iz{9$rQ>urrn8;f3;q2LXY!HBfl(3Gl|CC zJv}%J3jvCC?;c}l=wMfoL-WvsMDm_JCImvk#f!*G8y(#uBFwJ)WI-GgCDS3mz|gR* zqoe%ZJ@HKP9z{|M3GwRc>g>R}3=b?ZCdOiRtaK?O0~WzAdHJJ;9#}z1qtPsbdAarV z+hVr4nXHW+Zq(Wp9Bkz>vvOcEk>Oq@;Y)($Z4on54Z(u^t^8iyv!We@Zw= zI&{c*Y;3F;Mj#O4N1h?}*Mz=g`If)A8?K?HrG-MFYH5P~);2Z+jj4{%Jd~aue0HQ+ z?e^{4^rgl4`%bn>1(}UNL(i%L%5!k=fVH)Ced4$_bI0)ykRIRv`RE#t$9vB?UsLL| z)cHmJd7$y*+J-4r2d& z)Hcy`Gg7v7NCKeVJbkmVRZp=P^e-(U8 zADimE*iSu+Xl=f*My;&89G-4y7Yp#obEB*#;`LWa^GlMeIc5sbz0NY2rs0lUoL{9+ zP!O3&gk@)ES5#KcN#`R$baXU}#R`K2#BSb9lSWikRbkD{x^I40>hg1_LMB>HeT|xD zq23li! z+wxTB?83H_p&Zc2=GLBFPJ@arh!dejB9TTvesn7yKTAjvAKPDbfD{#lyP&-hR>opw zL80~4P>08oH?M>|Sw-AP4X~ebgF4a{YS)vWUOk~XXRg8Qd{skz@?HXg$+~=bx%!RL zgP!RA4BM^1BtJVLOM)qexB6>$DL?xLZBoQt!Lrm*in>pCwPFr#tHvq?B9#AdY4NeB zs1f1Y`#^I8K7IE&Ra)>CB|gp>i7JsyR&Q%-(=>9r%3z=%kJ;cv$3rg|490Vla>cF} z>wMhZ-CO%H50hph#=D9EWOCb&ywC(zAq}p3_iCBC<-ULMlVN7_$eW4+#ft4~QL6*0 z4<3Sy4WOOqd5~Su8fF(oe?gU-Us%{D$0=w~ybv*)(Drd4{rFp6YJd@7hdyrjOi=_^ zVYHbJH+FEi2D!rg`zH8{T>Y;E2bBQS)RCD!TUI@_^E6T9k5w6-dWJvxyACkgd1eC# zubdT$L}o(f0kknY(f@t7An1ovPX*JV4(fy{&nhtwgsX%NH>P$LIrLN+D1$REMk*Or vV6t=4vK5I<3jd#U0U|?*tNmZiNDC+IJLjBld}}O${%wFv@^-BzhGqN%<`hCW literal 1771 zcmb7_`9D;97{`yHY!NMrx)G8xMT~~XWSYfp(h#~yLgNlm;?Ce2%d`x)W$ZhRC1Erb zWhqNYA%!c|m@<~3v1AGfqkA0PKj5Ap&Us$n@AG`0&-4DC=lf+49PkQqYH|PoC|Fxz zoB%*d3AA-()`D-mq^uVBkqCCeqk;0y?VkZ)ZJ{;Bl1Ry#R7s^ z4E9PgV|fctv5(sx#I7F_FN*yI9Y$A2mrQDZh_XiMYr*H1wsnHG^}^)}qV%e%b-GQS zUS7UGBO`;dI5(-D`LMP&v#3btkeONR{cXteZ{EJ0Yc1co64gyI)X~!$KfOiY!&@}i zLT};^T*YWw;_=cwMfUQ~!@|OJ_4I~j$NM_6%~D6&QxmPU-*L_~-I7Eg5CkHzxx3Id z-I)CLmVmM_vxiEh7Tme>Fo=(KKY5bT;?n)x zg#WjqJSzS&SSSz|7bkPI$(**FRZ~-QCT=0v z)YNolcJ`RNdxlVVMS!+gs}Rf~5j4`4>}kNXx|N)a#o^X6Fq&I$whnpw_#B`uM*xq` z^V+)d@e-7;!?JoVWqCzKR}P2I83cSl7#bOwQl>R>Q8YyXiA3^zm0?Ur?__o98XFtO z!knF*nYp>IL0)^{aBU-_#EA)ip-^ZNJ_iRGfsP0L-yI>7^#J|Tbp?5OQ6(iM^`rZt zk`Qf$SWV?e0bHCWGq1LG+x)`r`l_n5WW5s?XNAtd$EV?V5KksDP-oxd_{Vq#Cg$pT zb=Wk&Nm^~&w)Yi&8v_CYCO*~Yk`Qf-jk}BQ-IK0MS+{1*n*Jx$#Ivn8?uU%K{6Qv5 zuMv)o4G4QnCq7ihs~Y(doSe|%;btu@ElDXU38|^AOf7sdn?2IZ*a$={%rKrm$K{}C z7I38f3cP|YUwA`J$arx{39Gs~9UHGA8tc+h+-}ma`2EWY7IljVnH}W$xfe~Zi7qY= z0zX**aq;o#$iN-Q^ZlNaA1bpf{!)utSO`sDX@<%|&j=Q+KAq3qz3$^f zpl+&?;O6$SJyrkx({QAZkI(Sv=>gc$>x3?E$<#j)8BpS+@>_}A*9|nNXJ|#;>{TJ)Xf$iMDc*Et|f-7&-v9k*K)x$CKYIsO% z5|N-WJUk32-E2Lsf`b5Dx3i4q{IwVg+)zh#rs|(|Qh}=1zHZ*QLk6g>u5R`^;E-dU z-ew26`_Wa28ka&s4)}E!5Cu#~kJg*KUo=1CBjjVDF`Ksk1DGZe3Hye5f~7fvw-;cI Lb-XEq#r5sXeE5*{T{qnGGCI?)oMcZn9a zUT?j7FHa`l_xnALcYZjAvG-orTI*cvJkNQprJ+Jf#6Sc=5UJ_|C2a`8B?s@7Vff(Z zt}S&A1ku~8DkM$ePyj9rcaHV>g^k`Z_Z@ z=TDD)H|5UveM~=XEulDq$k{mlyarqL`dA=}Kd?7y$&rsM&vp!#}gqXsYP;NW1*r_!1m z27f*aOL=ymfIJ{D@ZZy|ruhi*Y0qo(FYP)NF%RY!VU~Qsg^i7!$yn_;bAM~Pq10x8 zV`aL=WvRc;!|`mpl}y5Qnf&BnBb-ma2!a-S5$Y;~*^H^C_>Dfc#~7(3sy zesHU>9lG(QuCBGM4fp)?uydjN!?R=b>Cc&x7Yl0M+bsk(V@1plA3oeZ`02qw*!z<1kH}K~>->c*!3e9Y7U(<_NrB+l>K~8gD z@kp2?$g8TVZVL%1guX#m3WrsqAhlRmblKejTo)Cfp z88mo_-ZAxj`}(zlkr9)W+iFlj0e@S2yDC}B_wU~g>fCSLc$9!kOG_IR62c)M0C!pZ z5hXQIZcTPWGvzI)M**^usJFLQ;>AB<_G~KeS=y5%U7Sw#Z0mP>?`|I)bo3_Q9jI}! z{?+h`b}0K%pmtu{+3{{vN(vl8TIA(_{i+C_WxhSz@<3I!WjIe~ZgcZppWG!==R0N` z$f(JenJ5^0C`YsNWPi=v+}z)JzGJQ>kYG^Ce!89>HCmw1VGc907^6kk9wMudY;(p+NRdfR^dcAh+($eg3bIPE~o*wijgZH~Xz)*5CzZh$}pjOMeHiN#D>3B;Yh(iE3Ykx!iQN$Xq zktBhouC5NwXExsvQOkI8Ig15VJfC7{&InyDD--6re!XREOrJ(N_jTUNJSV-qy*(s< zK<3;=H#E$xt%YZ(yid0s%7!2``cldb6doHYDJiijQ5e%xRaH%vW2C2{2?3F`^z@K! zZf*{?qJ3-v$l!3e%|JRHl=>)9j84LdEsy{+H(1-5pb!%J0JpW#xoAyU|BMXI$x0Lf zD=X_;=DRepv9Ze|`LydB8*9VPe$)Q=Yv$H{?D*)84il$UK{KST&rKQQKsC0{~{?0Nk9cX)RFGw-188o_(=e8Ln z4~8KG5sXDC*4i3TF z8>U~U&h?Tv{#jVEI1A#HaNg04I4*v9hG+g$Od+pgU;>U==_Bu7lPl^rIA8h-xSzRj zi#?xy^Ytr7A<+pojEq&bEyh-a;??rqhGg{qf)&Z~mX5`A;gf0#@;eM;gT-t1t<$~m znRUX@=%H?}Q%=mrsg1&hEi5b;)VoSn*^>?#DwslZQ+Xofm4Zk$kBwEL8Qgs!6 zn*=$8?V9*+Q=D$ddY-i#kKTXzQqp8?nv&jQOYQLF^dKRv1!@dGmp-6MbG$- zS3Se|(Zkxr8@1Dvx4nzjA>ts}Vf1r&BKB?a^|2VuJhw*FAZw^^&}+($?_Ekto2|o# zR;nutp9Jo2e;f$uNx+ohZTdbnK5_V>r{k(+lH@+;({xU9Dv4jS9Tzn&)vgX8^F54X zT>%8p?5}^Ry&JuuUN+Dh8JGt|b=3_8`-XLr$2!sWp9endPbbP`TH@`O9K0gXNl{kc)o zf_FzjkE**@`4?+8A-lyKCaEq0S>(=gvQ46jh6anicOC4lKStf%d|uquD|1wdG{!*1 zjt*ITdsxqEQN|EC0}s)cl29E394o3wM3{v&XeDm3}?}LK%+x5LWf{jP%uF1aV|K>1=Y{|ftz;IaJ80+d%t8I*qN~@N}bSQoC zoIBgE=q-7h;oPYIUKQYKY+w*HIH(QnFvCVi5y*YlN}Wmp%>Rof;S;m{v$UW-79xEl zUVLDusNl~40lI;+VluKzYG(mvjj^@0_1Y~>Owv10C6MAss)9zZPs0N7u$>{YJUVq1 zMf_4P;9BMPKEcSMjrEPaIBv{2=0y#lw5-BHeq(Lz^m1?CmU#j+3dQ#^QSRgOP|w#?O}adQfX>@zL_6Ekzx+Gqc;)5HBO%UlLa zn~Acl>7Bo=P!Ilp96`*+#eG@ayK~w2k;l0Dx!!fZ{vBs%4te61>>mb}vXO>H+@L!N z8~LB(%TSQg$d{B>#U%$i9o2DG#`OsDG!IzFsoCm}2@JX|^(I?Bd(V2AH|pMdv1Sb> zimL4gf#e7Vk-yo_Zo!6GSy_D)ewiL4OTOz+SVsV7k>*k-zGF zq7<-7%Iw(rL-;)Nti5Je$S$Jf>6T5CxYGb<`9sZS18NEuO#T*kF;DY-SjcXcvfvM}Fm$sI z3fjsR_)6W+vyt79U$C-^(&iMYcy*EJA}v*}(DO6PLce=%#&xw%m);4c=}s>5t6(m7 z%Q>VDS#4TPjE`S=-akyWE0+|m$M>OSy0@r9c&e@;#6phgv#2Ko#l;b=PajivL@?uk znSwl~q3NNx{ri!U%7*#2-=D5oCLF56Noy=CcZqae5#HI^=`Ttq>SZ=n00b?ePt z)?$BkM8bXDAX%!=(FgOW6N`BLM`u6-!N|x|0K($<4Y6HZb{Y7XrCed=nGdrGv=nWW6O$4!7O|?Zv2T3U)pV0h~#GZM0Cx`L~jx$^HBIUt3$9fvhli z^2B1c*`H3#o({SaOlfIpl^QQLf7N*Y+fIuGacicu0dW--7Z;*$>O&0@)7mZARDg=G zeE#c;KiF0ryu5^k$jYx_6r8gwD~4-G+hybvi!m~2aA>F$FeRgUPYQ>hRqcRy_vdJ` z^2+h^lQdnNJ5ys9U>&;`;o5cI##fu<7IS`09SUC7Fh=ZM7!O@33Xn7zb6p&!5yB?b$ zM8&<;5p{(1K)N!vA5eJIim=BfCIW!saYJG2>+1}ihTvBaad3HgIY4U6poWG9hn$=# zj9tmj?lZ&&Nc_|Or|q4c;iQaW53u~w(>YdJ>eJKHJETrVN5}Um6~lnuBZhthO$}lr zA|?(_OiTnR`#skhid+~P9K5Ox3kyqnYHI4}v81FVAt1C^@&!gU+Hv}#et-mXba(gl zeHit}!u@Z#)2%6k$T{xbeF9EK#2y4ABpjfZ2l^`>V*5Qmk8;>+C6g=I$NG{DdVc0Z z5i>J$B{nQ!ick+7CFi-F3SH4sJ0_s;Vj#9E#~Fbj&x&p=KOn{n3w}LuY`6}E0W~lz z#cB-H15gT)9b(VAsK6P>c)ywbn6%S1ZE9;%n)~M;u7k}fzBl3Fc+lL|mSBFl!%s0R zc_vwJ1NTdyi50W73Bm50kkY4RWfg?Na&vj+R#teEl9DWs6QF?5&`^j?TU$G`zCD~) zz3#?eTI?kjkL_1kDGIbC$;&CMpH&Wl(b1G35<7k!B=QZo3+S#dU%t@kHYtbGNS%%( z;YCJ8u}=*pJ#hjnhhfe8V8R+?7Y2ht5THZEP(LsT3~P#v>+C8Wa`*OJuauIktn6Ss z{uQ3%MXa@Sb#a@wD@Sr|&#!QtuU`zhnIb+u9)dt63}t%i@9g6G0XG6bifm$H;%KvO z%e82C%oI%uZSU{5=RVGG+F#W>+vyfWF3|8BK*5Ua$&yjg(SdlxG-g0EBQG5>ICZDn zrw$RZ?q!paF<$d){k+)s={3TNF@pMh4eJ~(&r8!QION&rZLn^ELhLRmoI7bFPKdCBk~FgNc{c%AwOUP7>s&Y zS!E9wmD(Yj6aw+*fW9=S_bk2BySjl|%p$xEH3RP;GA0JM5*hKq#ETHB}+>#Aa-ca=2+CwQ(E za8|%JPEBRl%}7r#u^YMhmPLjENN2HHUx$u&%;Bi9qPg-u+15NAU^X^*?PEg{5)wAC zW75O#SmjJ=bF_FM=@X>9-u3I(A&8imIHP0l;&f{sxH=%Bd*JTR&TUSFbuB4%y~R6Pb&P zi|f`jGq8IM8oedKGUniud%0r?&~}aT#zT2UMeN1iWMUPSPN^OYpG|?|Z^?r@fB*uU zn&gmG_Ia_FLz;3|RtcD#gI@BYnT-N~$Xwm9tGhcYKK}KaH$*EUfg?CD{URd;(8-F5 zik9a#UAFEVHoqEu7$Gx&jBQWZ^F5s_fz0ZA#14{!8aA@aa6G>QbOn}8Q*GMB%hc~< zMs+nc=FNUs<7Ll?W7Mw0nIuw2vTu}7GBJ^$P$;ml=6}_=fatC)GQ_b}PlEZ%VAg{N z5Bz|{2UaFX|OXzo7=5f&E@EiAnC z@X@2vXWcXaWqa!rI*7$^!A1yrm?-wheP(LPSPTvU6(J9tR^6MiEm%SOYhxA{XU88U zU9$HWlzr&Sd>L*bEBwmKMSw?i<(R4;T3A?MLB$OR$cTM4b#>r+WmOJwaB~w33=Gf- zTf%^a$9>-3-j3zTWR$zPg}%IdfR2g?4-EZhhs8!U z*uX1+nt`=OK~K-S0C1_gfXa6a1GXn8a1v#__WWvUB*A=px7BzG=R*|818$J{!qCug zyuy~UzP`Q!zE@sd-T6_-qQs&TUg0>yGF9i%31DZrL<(cSa?o(`@t=ZhBIn2JJOr~f zl8OF|H2axG<1QBukI?*lzJP#$$jC@Pu#{IxaBb+yeC00BM1W&-W%mUI1(_YJPr%^t z4$y-Xz|05=!nObPg`zc-?1PD$=i!tGaQq;BeSIn_ss~H-x}QE|H+f9IBmmx1^uqD! zDW{Ya1K0=1`RBvA6!>H;1s=YbJ!s!g#P%^kb}~k5zZ(m<6d43EJ; zQ7lB@Kw$NU7pA_)*CCs!F<`Rb z0HTm72!rHpY!SAGHvOY-;&j zTL)6Zrn58e+!4E#{cs_R4mLhMVwa^}WkALJRLD*N+O(&Dit+|D>RVUWe>Q!9n+^Qq zpn~_?+fJa>JYT-F?GfkUfe8r-jW?m2_K3o);G#mJqM|%D7^hv6m6AQEUw;{xWeOm^ zYm}60dwGo~qhsHCdX%3(7Xba(OJL{&yeq)hZ~#FdwrT6=_}bS;Mk{C%l%J1Eo)i!i zRI#2``*?D19=T3TXZ~zR}g3@X5r2(K5A)|#)P|P6@{v_LyrvWPn z02;XS_`uDi6)?J88+bB$$$87TmdX@;F8ZJ7=*#sqj4C=;8DP9(^h#b{QYq+*mq2RL tO)2=ST}El^=&%Px`ou+HRGQx<&fHF2WI|zJAo%(PQdQPaDpE8H_#Z7k_^d!XPl@(7Z^O z(s}n>c)xY;zu#F4=BzV&cKq^rp7TOoO_7+8mJos6amhCQDgPM$0R0ebQG?YiJ68YZIEH5e$~$F_;UNlMhY$Qx|<(At*Xu zQJ$QztuD_xF*U)$q~jTTHD);lg%%`|B#Fn^b|ALO zaWc9&6h9|FKfm7rwej;-rXLn5De1D0oE%OB5lzT@5hvk-61j`(e4RE;nuD8L&c{bg zMMWh;AuwaC;c{cADMF&bWYpAA(}Cv?}R5+Z(r2dhh@n;x;IUZ#EqB>}^cGlnKR?VUNcQ z6ZQU+J04qUKZbSd)~z2;_=%V#=|_rN`Fh;S9QJ^R*`IMY$Wqp;*pb+&&CP<@~xf>3A(?FeTrUQq98&F*<&Lw;yAyWCYC{* za&@?pZA|9;2hFf>dYb{RKNyHgP%xAm?Vj)sHpS|4M)bJjCd4fWMDBdF%We7 z_H8&RsiKPupQ@^AsqGLa^eS-KsXseh%V~YQ!ggIXP4w#V-a0nq<>Qkbcz&k$^$CIG z>5e8Oy}vQZ=dq@jCgDq2Sy|aDNn;v#Dm3N2$gq4yLP8?y_M1o{hC0|~zQcUtyNkw` z^mK-ai3#VqHi8%?DU($EA={|WpE=jYzTtz>z~1; zW}3D(9B{nRI`40L5oc1~5M*5Q9JY19Qj?vHrL3&HwX>u3fDzT+G}Dzx^!xX3=))eF zgSj~j8t9IS7_V{XQp=Pq@=!}Cg@O|A7^-xBexls#o0pe2d%W4G7!c4PXfnh_Qb9vY z+cGeqv7TnD`dL_0QxkUo%plBGUcuFs|LfPU>PAK}d+TTszt@*F;8F0KtSlBkKfh9! zc?E90Qb;9_+|khy>_tvhm1w;D88)=Fx95l=?(Xh}ppK4?-r?mAPA)FH9UC@T1mdn$ z_cc*5v6ikbWuF5lLhV1zg?m)RCvYHDicn>TUmefJ$T0&6_h2_a_>kBE{Ir}*)U1ZDL}C4!pT+i_j1 z=@sMXo0s}?U=Uac2GQSh#Q`~CKk)G6IE1^kANhS_La?;Y!H9}l=wX`VT{f%aji*a#rpj0Ia^P_|#Quj;h zgJ)a9ub4YJ#(~m5A1g8y6dEcUe>_#7c?;y-humBox8FU%@$nQ`*w`*-Cx>`d@|Qjl z?2@zeykQ^q^(+5HnNO|Ck5{>@1I-z=kb4g%Rg{k{qf`AiHZ9K z!11^#svmXdLEtMXE4L>U>b{A0BlY(|w`Msp-9PuEsz*aXEiH%}#`O__#%c(6?d$aP zN73}cO-w6&6_w)XW@N4|4bTBN6)zQ{AKkU{X z{pzlmKGNHxdiAJRP4r%UZbf=aHmhp7@Rd*VNR;=f)#AC#kGMPP96c44vX`!Y$VP#P zO1-r)&D&HQxYqHz2>n>&k9tl>F%II{v)k6aDUnM#QcHD*)1Hp)QL~KhCbj6)YW$cnB%zezTga>~d`BB!!& zc6!`AI7zIdlc;nuVil%Huk}Dxj!6<)Ja^Hs%lZ11oR^e3X06sU&#hHra(0fNOd&$y zV6i&W*)9Nj8^u`mKO1v91hx0>9@@i50@q`-q!AJjdgQlL#$b3 zy1l5_d5IR|#&R43TDbYgQrCO(+l{#`KaWc^$j#r4z}H4Am5b8zTl@w zGlk{vuydb4){VyvS|+<=t~huHt0K1lo{cQFErQSp)ID3su`DBFCE!J1i8@NVV& zKL>Be8}J*4KR>t(nO@oX>k%E@UDcm-hATp5+Sl4nmiGVn z0Y9ZbQdy`SyXUi?beUT_BlZMgzSY&X3nUEVcCmpQ)r-0FJ#>#Ghmzekm04Q=@>ukL z`0!!gy!hCd*!<eeVpKxQyod>zV!OM&Pp#iJ8r$;L%qte56 z_|k^izX!oG*)6QgdYSm=9u+1JIe2uiAjbP%%;|;IjWYf*v9Wpcb#?dCw=YkGa_&u( z&QB5i(brfa(4beK#Z{<7j`DNJDpkKl#uW& zmX|Z&&y16`H6dG0r)gkmW#wBW)wTP-@^uYmWP+dD_u^n(ByqoHzdZp?csQcSNH5oa zw<(mi3r0srxBT6jb?(f6l8eTcokq-kC08Kh(p%sPHFiIG^>ZFOzR?kGi)VueC8!Qu2J_ z(<7&f(fC`BhS12dz_S=&M~$&8r%b%vlz*KBtcN2jE8CNL&zO@bTFhv3C74Yy?sI~_ zKf6+ArLk!c+OAl`J8%@HrK>wKhCC~UFOPy^1_}-;zk%Z7tZzJkMImVV#e5#dRbH*U z(hlJe)Rz9D^Y|~7@`7@MoUb_y28j1hSC!$UNQUI@!c0?5A8Fr`{e|SPQ>9&x3%?0FNaa}zBH3C?4LyK@Nb)zuolo4Tfn1W)hNI<~nnB*-4?MHo3U^ z+Vi;E@z`ee6KeA{WiH|ess~)GY728OT)dCpt{KY zOuR#fiXg*koUD6cHv))by-z(HUCi6m^g+MMnfcOoKKFP3jf|@j#|IRWmknjP?LUwI z+gnsVP7CP%TMJ31b8RmuVr!mhu3oyozcJ}?Z%dJ36&WpU^xL=OU-Zhb6ciNPb;Nvj zIHm&6{lmh;VGtm3r4DG}G^s#F1RTIx#@0wu#afT`ozEq%XD8nDV$b0KJT>nu4-OSu z+1RiN3SQgZ-o7g!(E8&I8=vEZC?pLSQ%Gp&D#JejQEX4R^}(RIxw)-L&uJDmHf-Md z9dZm|V3hEA`aZ|UxXuf6cnm3`XJDx4uzin?Kr%s3tgS5oLoQqTAc$@0Ha zu>Hw)bHp_8Is$%`l9C;Qha*_(>gvLbc&J>fjf|>Y^QOv%KLLU`Iywr6=H5Fs6o{ye zObA<_X=rHVHu!pbE1$xNi4!b-_oU8A3}(htSj06DIx7!otv4Uw5~Pxuqo=V4w2t?iE@aW8Xe;aB`9Zd#9#yLQ#B{ z9fD5>!pK;enWcR`3@1we5~?CjmtqOq+TW*w+J*{s!Ibaby@M+%DuT1fKYLc7;HRJv zq0VuwWo%6U8Wq(DdL%=_mk@jplm4RrO<~=j7YCuP{(8J3JDc^kO!H+5^=HPzpq^Br zD>O7T2Q#6hW>!{t?(HpA(*akY0scKqL;x~)S4apK0@A?F>d2$bBgpw+%e<|=?BBFP`%E` zh8r!KTGR!^yx8 z@O}2y2yAQ?#Vosj{sf5#s67eL73x%32%S$TW2qT`Py|f>FeVyP5pa0SG*mIGK!g=Z~xWq+7KtKQ_4AkgM>Bm=6XVlBf z%cJGbD2RxO>5LkAOiWB52uz3}=Rm7yi@weULGA7Bw4iuxe|Mh6l02BfE`K(N2RZL= z7(>#LBn&7E?e|<$wVsb`qyS;TC=lgN(~NY&_W1(rl9G(~?%mUgFJRcwRES4A1O@?y9GRPYgCjxZ{`tw@WWi?|>0Ea(HYO*>0{bX;KvPalO+i6` zciOh4rlwke`h=l|?Judes~S%quKee0L#HX>K5OF@SD=-X1qKN8kW!Cz1B{ucryHAh zR|UY%j2Z(NFs?zS-NS~c`Jcd{rtxtDHj`a-arYIiLLY*Q6_(RRvAk$t5*$tZk zAwWr0wGBfvEiDK0`7YX0|2LV<>u@jw3kwTS2^2o5r3)5kin$ZccfN`&EG+E6{w%p$ z!6zu#2Jkh8!hk#g{8BlS=1aOX5C&znw62AOgrGKZqBV=;)VsR7u^>GI1KV}kfB?zg zz3=gXRs}X@35w`I$%eS+MjP-Go#4mu=e?QHwoKvUC64(zjHn5l=I(AnK#HmPEO5ZV z@WK(nz%I|q3slx{@bFrCdWb;YhJP0s;uCwLYy^M{;-MUe&jy80v5C8E)DNWP`F%G@Gs2FE;I|1P=z@1=^85tS2i-Q9L zKyQIT)Z!l8Ev>D2c8Q6J8h-w}yDoqJQ3lauG1C-$m!H1{^xsgXfCCulRSM`zhrI8A zN7#>j#Vsx_rlmX5*VkuZW`+Q+KwvaCvnB{6rlLb5j0LC0b2IJ*#Vw14?gZQ2JKWsP zVBQKhP{o1nf=_wJAS@^df?k>SVPa|FXHo?_mex*6V`ktP4QRu9RgMfG8tw+3`2nw4 z4CE@q2?-Gv7OcWfQ!(4~oexUH>i#0d0UuCk3^)Z!7WcZ1y06jas=7M*)sYfKN5|sl8?B^LZD9lysEw<%w1l9n>+0&pmH{1_ zm6MYYl)!f;u*b1kJa~9`J~to!+a7@M05_Ha=aF@GzFTZmJ&^xsSE!;v1xTxegoI{x zc7?k#I#hWYFF+zS4G-(w$-2tGK+Ma_Yt-OJb9%IEr-e>PNB|^o#7?s#f`fzO*8!2G zmDSB+(?$|5E-s*{qx3gHRsxD74c;~g3d`QOz{CSd7XfbKHH!=MXd?hHnnj-4o(6tO z;L@D~jYHnm^$*kJ^-BbO&LKtt2X8k(!IuL#5$IM^GjxI#XN{V+wwz&POGAYt|99{? ZKJjv(-QkmhZSdv>QkGYfD@K@w{14R+Wc2_5 diff --git a/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/unit-chromium-darwin.png b/packages/react-components/e2e/tests/kpi/kpi.spec.ts-snapshots/unit-chromium-darwin.png index e5b32c8dd1109c313b5c77d1e263bd41e3c15393..4dafd4d959b55cf145e598d84b1db4af98367935 100644 GIT binary patch literal 6949 zcmYjWcRZDE*nddKF2%_#4P+dnaO?_^RSDT-Wn^S;75QZ($tbI`5{^9&j=e|O``E(a z*c=?*+e`1~eg5D$p69-=`x@Wt`hK7HkJKJeQ!r6L5Jat{DE9<{Na(<4d2&+lbHnOV zIs`FcmE`U|b&p>j^U&AUJZxHHjJv*mN8@@!0{2q|`K#I~g1vO2t%do{X}x*!nSU5s zh2jJ)h4cyw6~dge+5_aeyB|_B2J1IRQC)JoEhm5XB3&nr)=wY5XRg^Dy|b}4F*$@o zG@)1Ky>Mk}jj*@>om`5S<8!u1^N;_qva-?| z8ZNR?Qd2|b+nhdo5K-#x<%Ql{NKficRc0I=9nA_32q2+h6_-m^2+PWkk7sENXYY!* z_TWX|uS;X)F4wMJeSJvSH`*rALh36$dj`9D_3ADjZ_p1zx#7~B<~!Zp-RWSk=Hizl z#jqh*mJ zcBrt@QZa=OEK0yrKXnRjnl^@B6%`#|GM#OW+FTi9=H%pj^XAQeAt42EkDQ%vkD=V= z3%aDIw@2*LEjqs5wjYn5ZHp0hThSMHTM3Pfq$lj}SdJ9GgjgiqKe9=A(y_7<+OVHa zENo_vFF>Ir-jY&tfBF zt^+c&w4`Te?_zZuz5D8wP`K1K?C#yWDhc9Imw2=w#y3<_o}0!Xs1>WVlvFHYA8#l} z532tC{rx^zGx+NLcfYfAgcCjHE(3Ry)6#MZ34Q8Jkk}Y?>dG@~xsaxoKv7-hH2+_C zxFv9}wt3HK3Ld`DC)(RyRt9Ir`0TK{&G^Iu3dQ!D$SWPqTc;CVkkKj_n^ zPydC5nd8PQL8d`;jEqg%Mn0OCysn&P)vUwWzkia+AdL4$nC2gl(@XCIsF_9R*x6~T zUzUt%&H4BJ(k$qvX1Wbk!_HKvsm4Js29O42^iHo{y@Jhm3$cFXI$7$KODXa0?(T6m zgDnDq`$giy<~rh>4i7w_D#Es2G~7t7D^V&#r(n+9h?j?lGOpuYNQiP@yWy!PkQDPj zz(*1#B_;2JwWffepy`>JfVenj6BCp6B$*_TirqOzXrA&xzLL>CxSGl;z<2p!X9UOA|zS#^Qq20Z` z?h22MZnC{2xbQ^+<+de5bzlL*ad2whl3fQKJ99!ZhLfzkkd=f$p9@(3%RpIlbevG7-rs3UJ2| zlb>e66aKSw{}$J$xN>^0VwrxM&BvIS2cCO^JeY5_BLU$RK; z31=T-)#LiJUv#H91~x&>?d@hu#mfh|9z20(&lXzseDxQ}UR(dAF)4Vu{>*w5lWcRR zblpL?jLGnbaC5VmT@-FCAv7rH!I!rT7cUApcJoy1V}@?@dwKMkjK}YgQ&?-yiG4{| z6I}oPC(E#)xPFgj+5W2aHp<;=fX|8L^f+Zg0OU0)CU)28+X)!5iVcj8nPrmW-$#bf zBrrMD*PB;a#z-$yDJf<1)L{tC-w0b@ zUxxtl)(z=A&^X;YC*+bW@MlVypB}1Jja6b|S_89UQJDqRPS#nG6yu)HdIbdudd*Sk z8^Ei$BMzq3_T)#+&z|4gS*pW+5ym#Y-?!zy#?JO~_6RX~md*D?fI(c~pQQCcdUajA z_Mub+89PijPxGjig@Cst9(Exy9xYJcsGm+ou7#ck3yV1DU0%?6%gN^TIiM)>zYv4w z2`@5D_uM0&)rhF=^_o7cW45We^vt%`+QbLZyiBK%a(7mp_W%b&#|}TLe2(_ zO8w=3C$lTcbF|Vvbn)WFr|w9!mIod`;7M_sfHYaqy{*MQ{EP8@>}Xz~W0zE&s^5Bc zuPh!v|K8IN8HKi~W-UdbVg`#J?2KU7HyC*fyGM#~0JizGe5(`Ary2@#{K$zKM;}4w zFuvLuh*MNhYhKL&f1g6kXbOjBvoQ=>+z6tPoXVlIofS;a^1wJ~()Y;{;)phsIiSPut4 z@Tba$&X4t#%pIFyF{e2y{cYCkN4wVsjQpgoUadKBY4&lol*Epeg!g3*JkI{g zyhB|T)S*|rz7?!#J64?VW@G*wm8~*v)o{1O_VL^(z#Y72!z~fJ(fV)+KMpuNiGl9` zhIkGGo#5vxll;j+em#sjOBamUtqbfrA3ghy*;;1-ixr-ko10o$vD+be6QiB*sXSU- zZLMnd%ldE}s48WL7`6BogpJz@arHVJZPEA3eQ#^I&cz?s_A@-S5wD)wt93QhdY?_d zkdxL$8QVRYq`fVk3bhj$i1_u$oG3u!OL~^GyxoC~{w_EIO9j_9P0~tx2=1Bn~a`Ks-Kv56P`4Y%9vbeK^mamf6yVRPEJ0$D=Qm!!Dxev!fbPy zUTsOsZ_do(CcE!uo=a8zKCWvzaQ+%k6rk z^H3C5%gM8|GNSz)G67SEz}}xA2S>-e)^bv}yv79am*rzUl=5#-&Ql!&MyX1XjaoVw z>B-GyKSoGqd02DdPVfov=x5xLkjonn6CIxIN|4aD*w;vhkM9C7&g;Cu<$KL?v;WAMGb7kc+^4#ydX+EuTe23`BSz1WkZSh5FS9}Y%<7l-jk!#Hve-s&Y zF7cVRXg{6jXfPEGft!X&N%SiWU0tn|PZ1p7@Kgt?*;lYfdCz6!C$Wj?@QVG;oop~# z4I$(Bzz#oBdN+0Vo#)mfs1Oc*YMB1w-t(>Fp2RjVH1q{&Aby6i(?`rlJTsn+5!8t| z$)(c@M5f)MyfW&p1er8_U~jWMx}SHSl9|!#>^H;85TXF746imSxtZD7Jf9{S9wT%x zF**8rPPw7hUN>C(v=tucYU)7Wkufo22y!sH;LrP%uI|+i@M!7a{r&s3$~7}(Mv4r| z*5jTu;kQw^?7Fi=!-aO583-dvM1!HnPXnw*^eNP#Ei@TqL0n8WlWFzv4US1sdz;mt zZX}J&l3|=mqPAc5e@>LTmwmuVDU+I;n_KTFt>eBX{QjkG2?y8DG4l?B^}{jLz{7zI zjeVxh(*veV{o?h91a`;oYKcqiQ|(ZDRIi*P^1ov`PI-btnde@ z$hvPT?{WC*cBmWCVBrFpxNBJy+n9YaQrn=|ZlrVZj?MDkflvKgn(0xd3o0YUM7D=V zP8Y_#{P=D9Z>+|AM2aCKB4SGuvqy^cmg8<)si3PWGhcCQV; zZ?m>YiZ7na^lhI`&Y8sigVFSdXUL)HL@y>zPIsHVz$^C@8XXzDFHHaL>?t7qLn-~k zyp4gzrL(hB4!-;G{5AF>Vj6C4l%mqm>~BD?AnDkBww09?&5BPvkr9sZg6ay<&qOCW z$)#SOj#6mu*{WKHg|IR(ln$K{m)JNcRWwXmXZKzlfaj^Ee_(yK);CW=TFmDX|MkvG z@6DS1P}nw1>B6!?L)%^1v4W)>Ff=`#2! z&|Se8p4kg)gl#Wly0({FphDXrVvL2Vqbsue8VhpJQdxQ)M;k_b#bWY7fHUbI>MNol8dt4WRBuFle|9#QZf<)Qq_|ztPJu<9%aRt;9qalrH;k&HqGE=ZW=d9NHujJxB`r+| z4EG}T<0=If9WbyuV6P>M$v=J!7TLtyM<+^o4Hxn7^YMk1jC+Ov09y<9JE%kQBM@Ia zHs&UAxGtlkJ?)?>%dSN8srvW&ZeuPLyHg?ND}g6&JRrSn+78U>$Tg{>GA7K<&3)|- z2n@U&*I@xzSUX^qp(Q0HM1aQrx3;x)$NwA^)on1f&Tfk~#_sOA(=#zy8%SKgUXLV9 z)&*rddTnE^4hRHln!=1~QFE_$W!33k4 zB<(|G4ES#AvVEvvO-;>BaANP(8nQ-^WyFZES1^zkdCiR6rw5B`=eQO%^8YU1~4}_RR8mbV}T2cFviGB3!Yt+`PQE8)3rU zyQ@NH$dB+{epJT&IYvf{-=-VGc(zDOQx2QL*-N^?wB}5H<)T!=qXR}f5GP>Oy!xfN z^@#fVdRR3GaudvHlAEl$Vyj=zb$JDalRgt0$*CS)o|s=~j~O4d6|u2Peh@AKT&MN% zyO5XOOgCX9-#laum`cgOD}X>CNCiNQTzxFM5??|a4U9&EQS69U^?(l_I}YVj)w{Q~ zL~Z>1`Sbrx#f^=EOgP1r_roHa0sf70c}t>{)KndF`FREw;H`RTU_A&fAPYN?!|KFc zNVmw^d;s}!q?pE3`>D0{EoKqhZ`wJA{a;9d(gl>a*TR;a&?U?W$Bkux0{cKHFlmeC zW0CT_=wDqei}ICUx~0o0YhiH{2o4}GLe1NvqsqEA=DWzQNJ_>7h3Dg^PqmF<%&fy< z>@sYi2oewx5fL@JYttUPlR>P9=#xo#W+(ZHkqJPED|hbnP5ReOCHftD08t233MoH7 zf7FW6CqVIu1k9T0qz_i_Gw|uwx53d=)eAl8tiw5aB_BW_S9>+oA6I(1Kp$8T#Io7C zMc82mR^;wRmyEWx8W03Vy>OM#!A8RRA4NSPCi9N$w%H)Ej>EiZ)tCLF0}wYe*E|`)ny?PT3T8F@X+qxrk6DW^`6y>b&_wOgS28=9$2u8&!Uf4}g z7PcJ}*v1ak&9p@7pj`PNAeWu_cK0nQ&2osH^@9&AR#8K?A``U(#K977D=eUUCPsbj z(NLFa0M++ja4_iM(XIpBuRsL02_YinSwPC_f%A-L`ndEo0 zkEtMRkAyOdelV$fr)kZX%58rX45TvXLyp}=DUU}_jXu**QKhISNw>!%=V0`!afZ`bt5RmJ>_I#=6b?|l$7jTYU#hOBVLc$k>(@h}J>DgEIAv=In z1GxjyZMpUBn>W}wqDPM&$=cfTf)HGyxuTLJoiLx|mzZbTq?_|tKO-1x6al31X&g=+ z+%w;mRMHy5Z$KdnBGMO9Lgt zG5u(cV=>*^TM{5uX?eMjWhYBCpI&2TPE~MFP*5MglvDyx++u$JeiU?u;O*`0KJl6? zR>F;6bj+DPLEL4kj#j2n!oC_-rz$#DU%4~h2As(xb3(loD~a$dC3L_K=91V%QG`G6Kfyo z=m?WoDNP>TI?S9_uZf8Cuz24fa2OzL=k%55a^j zLJbTY90Y*V%(rvMf!a~EJ4Ly~=oi<~xRitL9LzIa9tP+1f@o&tE!tyiz`&3NCx^iJ z^ZEgs2Z=uzwmyFSy6CWL8u26NLP~nN@bh|dRC$b{=X-yDXes0z02~^kfKS`S9Q$sI zz1(2etN}Qi`vg&UPtW_%P_xO}!0Ny_0*GCvJ%AOUu3iHw%Pp_%AWX~y`*h6r^@F6AEOy}q4 zBje)q7VckebDF9@7t|#HT6}?J7aPb2@bV}4FVa%egVpNY$c2D`yN__n})2UQG^p&-l&%08g2#qW}N^ literal 7019 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 NY+$DU;riXE{{kr(RG9z( diff --git a/packages/react-components/package.json b/packages/react-components/package.json index 9818cd50b..9151b0699 100644 --- a/packages/react-components/package.json +++ b/packages/react-components/package.json @@ -104,6 +104,7 @@ "lodash.omitby": "^4.6.0", "parse-duration": "^1.0.3", "react-cytoscapejs": "^2.0.0", + "react-intl": "6.4.2", "styled-components": "^5.3.10", "uuid": "^9.0.0", "video.js": "8.3.0" diff --git a/packages/react-components/src/components/graph/__snapshots__/graph.spec.tsx.snap b/packages/react-components/src/components/graph/__snapshots__/graph.spec.tsx.snap deleted file mode 100644 index 2b0ff2d35..000000000 --- a/packages/react-components/src/components/graph/__snapshots__/graph.spec.tsx.snap +++ /dev/null @@ -1,128 +0,0 @@ -// Jest Snapshot v1, https://goo.gl/fbAQLP - -exports[` renders default elements 1`] = ` -