From bbe42600e3ef27d65e0446bcbd4dbb2a3abe080e Mon Sep 17 00:00:00 2001 From: git-action Date: Fri, 16 Jan 2026 04:33:21 +0000 Subject: [PATCH 1/2] =?UTF-8?q?chore:=20sync=20sdk/=20from=20gdc-ui=20?= =?UTF-8?q?=E2=86=92=20gooddata-ui-sdk/=20(eaa7834)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit risk: low --- ...1081-accessibility-4_2026-01-14-07-49.json | 11 + ...1081-accessibility-4_2026-01-14-14-29.json | 11 + ...-dialog-data-test-id_2026-01-15-12-21.json | 15 + .../SHA_master_2026-01-15-08-48.json | 10 + .../sdk-ui-all/jsc-f_1_2026-01-15-12-02.json | 10 + .../vbar-GDAI-1213_2026-01-14-16-40.json | 10 + .../rush/browser-approved-packages.json | 2612 ++++++++--------- common/config/rush/pnpm-lock.yaml | 545 +++- common/config/rush/version-policies.json | 4 +- .../examples-template/package.json | 2 +- .../example-attributefilter/package.json | 2 +- .../examples/example-chartconfig/package.json | 2 +- .../examples/example-columnchart/package.json | 2 +- .../examples/example-combochart/package.json | 2 +- .../examples/example-dashboard/package.json | 2 +- .../examples/example-datefilter/package.json | 2 +- .../example-dependentfilters/package.json | 2 +- .../examples/example-execute/package.json | 2 +- .../examples/example-granularity/package.json | 2 +- .../examples/example-headline/package.json | 2 +- .../examples/example-pivottable/package.json | 2 +- .../example-relativedatefilter/package.json | 2 +- .../examples/example-repeater/package.json | 2 +- .../sdk-interactive-examples/package.json | 2 +- libs/api-client-tiger/.eslintrc.cjs | 13 +- .../api/api-client-tiger.api.md | 177 +- libs/api-client-tiger/package.json | 2 +- libs/api-client-tiger/src/client.ts | 2 +- .../src/endpoints/aac/index.ts | 32 +- libs/api-client-tiger/src/index.ts | 12 +- libs/api-client-tiger/src/locationStyle.ts | 6 +- .../api-client-tiger/src/metadataUtilities.ts | 4 +- libs/api-client-tiger/src/profile.ts | 7 +- libs/sdk-backend-base/package.json | 2 +- libs/sdk-backend-mockingbird/package.json | 2 +- libs/sdk-backend-spi/package.json | 2 +- .../api/sdk-backend-tiger.api.md | 12 +- libs/sdk-backend-tiger/package.json | 2 +- .../src/backend/tigerSpecificFunctions.ts | 22 +- .../fromBackend/MemoryItemConverter.ts | 4 +- libs/sdk-embedding/package.json | 2 +- libs/sdk-model/api/sdk-model.api.md | 9 +- libs/sdk-model/package.json | 2 +- .../src/ldm/metadata/memoryItem/index.ts | 32 +- libs/sdk-ui-all/package.json | 2 +- libs/sdk-ui-catalog/package.json | 2 +- .../catalogDetail/CatalogDetailContent.tsx | 1 + .../src/localization/bundles/en-US.json | 8 + .../src/quality/QualityScoreCardScore.tsx | 2 +- .../src/quality/QualitySeverityIcon.tsx | 20 +- libs/sdk-ui-catalog/styles/scss/detail.scss | 7 +- libs/sdk-ui-catalog/styles/scss/main.scss | 5 +- libs/sdk-ui-charts/package.json | 2 +- .../baseHeadlineDataItems/withTitle.tsx | 12 +- libs/sdk-ui-charts/styles/scss/headline.scss | 11 + libs/sdk-ui-dashboard/package.json | 2 +- .../components/bars/AttributeBar.tsx | 4 +- .../src/kdaDialog/components/bars/DateBar.tsx | 19 +- .../kdaDialog/composition/AddFilterButton.tsx | 4 +- .../src/kdaDialog/dialog/KdaDialog.tsx | 5 + .../drill/crossFilteringHandler.ts | 55 +- .../components/AutomationFiltersSelect.tsx | 10 +- .../localization/bundles/en-US.json | 4 +- .../DrillDialogExportDropdown.tsx | 7 +- .../DashboardInsightMenuButton.tsx | 6 +- libs/sdk-ui-ext/package.json | 2 +- libs/sdk-ui-filters/package.json | 2 +- .../MeasureValueFilter/AttributePicker.tsx | 21 +- .../styles/scss/measureValueFilter.scss | 24 +- libs/sdk-ui-gen-ai/package.json | 2 +- .../src/store/messages/messagesSlice.ts | 27 +- .../src/store/sideEffects/onUserMessage.ts | 103 +- libs/sdk-ui-geo/package.json | 2 +- libs/sdk-ui-kit/api/sdk-ui-kit.api.md | 2 + libs/sdk-ui-kit/package.json | 2 +- .../UiAsyncTable/UiAsyncTableRow.tsx | 1 + .../sdk-ui-kit/src/@ui/UiChip/ChipContent.tsx | 7 +- .../sdk-ui-kit/src/@ui/UiDrawer/UiDrawer.scss | 13 +- .../UiNavigationBypass.scss | 1 + .../UiPagedVirtualList/UiPagedVirtualList.tsx | 1 + libs/sdk-ui-kit/src/Dialog/DialogBase.tsx | 4 +- libs/sdk-ui-kit/src/Dialog/typings.ts | 3 +- libs/sdk-ui-kit/src/Dropdown/Dropdown.tsx | 3 + .../src/Dropdown/DropdownButton.tsx | 10 +- libs/sdk-ui-kit/src/Header/Header.tsx | 371 +-- libs/sdk-ui-loaders/package.json | 2 +- libs/sdk-ui-pivot/package.json | 2 +- libs/sdk-ui-semantic-search/package.json | 2 +- .../cypress/support/featureHub.ts | 11 +- ...e_with_comparison_0_document_0_desktop.png | Bin 26151 -> 26151 bytes ...ith_multi_measure_0_document_0_desktop.png | Bin 29020 -> 29020 bytes ...e_with_comparison_0_document_0_desktop.png | Bin 21224 -> 21223 bytes ...th_multi_measures_0_document_0_desktop.png | Bin 24005 -> 24095 bytes libs/sdk-ui-theme-provider/package.json | 2 +- libs/sdk-ui-vis-commons/package.json | 2 +- .../styles/scss/headlinePagination.scss | 15 +- libs/sdk-ui/package.json | 2 +- libs/util/package.json | 2 +- tools/app-toolkit/package.json | 2 +- tools/catalog-export/package.json | 2 +- tools/eslint-config/package.json | 2 +- tools/i18n-toolkit/package.json | 2 +- tools/mock-handling/package.json | 2 +- tools/plugin-toolkit/package.json | 2 +- tools/reference-workspace/package.json | 2 +- 105 files changed, 2465 insertions(+), 1982 deletions(-) create mode 100644 common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-07-49.json create mode 100644 common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-14-29.json create mode 100644 common/changes/@gooddata/sdk-ui-all/JSVA-dialog-data-test-id_2026-01-15-12-21.json create mode 100644 common/changes/@gooddata/sdk-ui-all/SHA_master_2026-01-15-08-48.json create mode 100644 common/changes/@gooddata/sdk-ui-all/jsc-f_1_2026-01-15-12-02.json create mode 100644 common/changes/@gooddata/sdk-ui-all/vbar-GDAI-1213_2026-01-14-16-40.json diff --git a/common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-07-49.json b/common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-07-49.json new file mode 100644 index 00000000000..c8b420ed044 --- /dev/null +++ b/common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-07-49.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "Fix `AppHeader` responsive measurement.", + "type": "none", + "packageName": "@gooddata/sdk-ui-all" + } + ], + "packageName": "@gooddata/sdk-ui-all", + "email": "jan.svager@gooddata.com" +} diff --git a/common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-14-29.json b/common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-14-29.json new file mode 100644 index 00000000000..dc109851e99 --- /dev/null +++ b/common/changes/@gooddata/sdk-ui-all/JSVA-GDAI-1081-accessibility-4_2026-01-14-14-29.json @@ -0,0 +1,11 @@ +{ + "changes": [ + { + "comment": "sdk-ui-kit: Fix mobile `UiDrawer` layout to render full-width.", + "type": "none", + "packageName": "@gooddata/sdk-ui-all" + } + ], + "packageName": "@gooddata/sdk-ui-all", + "email": "jan.svager@gooddata.com" +} diff --git a/common/changes/@gooddata/sdk-ui-all/JSVA-dialog-data-test-id_2026-01-15-12-21.json b/common/changes/@gooddata/sdk-ui-all/JSVA-dialog-data-test-id_2026-01-15-12-21.json new file mode 100644 index 00000000000..5e9f5931000 --- /dev/null +++ b/common/changes/@gooddata/sdk-ui-all/JSVA-dialog-data-test-id_2026-01-15-12-21.json @@ -0,0 +1,15 @@ +{ + "changes": [ + { + "packageName": "@gooddata/sdk-ui-all", + "comment": "sdk-ui-kit: Add support for `data-testid` attribute to `Dialog` component.", + "type": "none" + }, + { + "packageName": "@gooddata/sdk-ui-all", + "comment": "sdk-ui-dashboard: Add `data-testid` attributes to `KdaDialog` component.", + "type": "none" + } + ], + "packageName": "@gooddata/sdk-ui-all" +} diff --git a/common/changes/@gooddata/sdk-ui-all/SHA_master_2026-01-15-08-48.json b/common/changes/@gooddata/sdk-ui-all/SHA_master_2026-01-15-08-48.json new file mode 100644 index 00000000000..1aa4df257b4 --- /dev/null +++ b/common/changes/@gooddata/sdk-ui-all/SHA_master_2026-01-15-08-48.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@gooddata/sdk-ui-all", + "comment": "sdk-backend-tiger: add isLocked into memory item", + "type": "none" + } + ], + "packageName": "@gooddata/sdk-ui-all" +} diff --git a/common/changes/@gooddata/sdk-ui-all/jsc-f_1_2026-01-15-12-02.json b/common/changes/@gooddata/sdk-ui-all/jsc-f_1_2026-01-15-12-02.json new file mode 100644 index 00000000000..79ef861b917 --- /dev/null +++ b/common/changes/@gooddata/sdk-ui-all/jsc-f_1_2026-01-15-12-02.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@gooddata/sdk-ui-all", + "comment": "sdk-ui-kit: Enhance dropdown accessibility props.", + "type": "none" + } + ], + "packageName": "@gooddata/sdk-ui-all" +} diff --git a/common/changes/@gooddata/sdk-ui-all/vbar-GDAI-1213_2026-01-14-16-40.json b/common/changes/@gooddata/sdk-ui-all/vbar-GDAI-1213_2026-01-14-16-40.json new file mode 100644 index 00000000000..65ea306aae3 --- /dev/null +++ b/common/changes/@gooddata/sdk-ui-all/vbar-GDAI-1213_2026-01-14-16-40.json @@ -0,0 +1,10 @@ +{ + "changes": [ + { + "packageName": "@gooddata/sdk-ui-all", + "comment": "sdk-ui-gen-ai: Change the logic for handling multiple interaction IDs in the assistant message stream.", + "type": "none" + } + ], + "packageName": "@gooddata/sdk-ui-all" +} diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index a9950c08883..96d5b893ed1 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -1,1346 +1,1266 @@ -// DO NOT ADD COMMENTS IN THIS FILE. They will be lost when the Rush tool resaves it. -{ - "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/approved-packages.schema.json", - "packages": [ - { - "name": "@aaronhayes/react-use-hubspot-form", - "allowedCategories": [ "production" ] - }, - { - "name": "@babel/cli", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@babel/core", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@babel/plugin-proposal-export-default-from", - "allowedCategories": [ "production" ] - }, - { - "name": "@babel/plugin-transform-async-to-generator", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@babel/plugin-transform-class-properties", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@babel/plugin-transform-object-rest-spread", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@babel/plugin-transform-typescript", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@babel/preset-env", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@babel/preset-react", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@babel/preset-typescript", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@babel/runtime", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@braintree/sanitize-url", - "allowedCategories": [ "production" ] - }, - { - "name": "@codemirror/autocomplete", - "allowedCategories": [ "production" ] - }, - { - "name": "@codemirror/commands", - "allowedCategories": [ "production" ] - }, - { - "name": "@codemirror/lang-yaml", - "allowedCategories": [ "production" ] - }, - { - "name": "@codemirror/language", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@codemirror/lint", - "allowedCategories": [ "production" ] - }, - { - "name": "@codemirror/state", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@codemirror/view", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@componentdriven/csf", - "allowedCategories": [ "production" ] - }, - { - "name": "@cypress/grep", - "allowedCategories": [ "production" ] - }, - { - "name": "@evil-internetmann/react-dnd", - "allowedCategories": [ "production" ] - }, - { - "name": "@floating-ui/dom", - "allowedCategories": [ "production" ] - }, - { - "name": "@floating-ui/react", - "allowedCategories": [ "production" ] - }, - { - "name": "@floating-ui/react-dom", - "allowedCategories": [ "production" ] - }, - { - "name": "@formatjs/cli-lib", - "allowedCategories": [ "tools" ] - }, - { - "name": "@formatjs/icu-messageformat-parser", - "allowedCategories": [ "tools" ] - }, - { - "name": "@gooddata/api-client-tiger", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@gooddata/catalog-export", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/emailjs-mime-codec-new", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/eslint-config", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/fixtures", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@gooddata/i18n-toolkit", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/mock-handling", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@gooddata/number-formatter", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/plugin-toolkit", - "allowedCategories": [ "tools" ] - }, - { - "name": "@gooddata/reference-workspace", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/sdk-backend-base", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-backend-mockingbird", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/sdk-backend-spi", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-backend-tiger", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-embedding", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/sdk-model", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-catalog", - "allowedCategories": [ "examples" ] - }, - { - "name": "@gooddata/sdk-ui-charts", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-dashboard", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-ext", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-filters", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-gen-ai", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-geo", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-kit", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-loaders", - "allowedCategories": [ "examples", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-pivot", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@gooddata/sdk-ui-semantic-search", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@gooddata/sdk-ui-theme-provider", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@gooddata/sdk-ui-vis-commons", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/sdk-ui-web-components", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/stylelint-config", - "allowedCategories": [ "production" ] - }, - { - "name": "@gooddata/util", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@lezer/highlight", - "allowedCategories": [ "production" ] - }, - { - "name": "@microsoft/api-documenter", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@microsoft/api-extractor", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@openapitools/openapi-generator-cli", - "allowedCategories": [ "production" ] - }, - { - "name": "@react-aria/interactions", - "allowedCategories": [ "production" ] - }, - { - "name": "@reduxjs/toolkit", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/addon-a11y", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/builder-vite", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/builder-webpack5", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/cli", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/manager-webpack5", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/preset-scss", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/react", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/react-vite", - "allowedCategories": [ "production" ] - }, - { - "name": "@storybook/react-webpack5", - "allowedCategories": [ "production" ] - }, - { - "name": "@tanstack/react-virtual", - "allowedCategories": [ "production" ] - }, - { - "name": "@testing-library/dom", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@testing-library/react", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@testing-library/user-event", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/babel__core", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/blessed", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/columnify", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/cross-spawn", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/debounce-promise", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/fast-levenshtein", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/fs-extra", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/geojson", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/history", - "allowedCategories": [ "examples" ] - }, - { - "name": "@types/hoist-non-react-statics", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/inquirer", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/isomorphic-fetch", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@types/js-yaml", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/json5", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/kefir", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/lodash-es", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@types/mapbox-gl", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/maplibre-gl", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/mdast", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/node", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@types/node-fetch", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/pdf-parse", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/prettier", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/qs", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/raf", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@types/react", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@types/react-datepicker", - "allowedCategories": [ "examples" ] - }, - { - "name": "@types/react-dom", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@types/react-google-recaptcha", - "allowedCategories": [ "examples" ] - }, - { - "name": "@types/react-helmet", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@types/react-lines-ellipsis", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/react-measure", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@types/react-native-listener", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/react-portal", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/react-redux", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/react-router-dom", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@types/react-syntax-highlighter", - "allowedCategories": [ "examples" ] - }, - { - "name": "@types/react-textarea-autosize", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/react-transition-group", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/rimraf", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/semver", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/spark-md5", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/stringify-object", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/tar", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/tinycolor2", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/tough-cookie", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/unist", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/uuid", - "allowedCategories": [ "production" ] - }, - { - "name": "@types/validate-npm-package-name", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/watchpack", - "allowedCategories": [ "tools" ] - }, - { - "name": "@types/webpack-env", - "allowedCategories": [ "examples" ] - }, - { - "name": "@typescript-eslint/eslint-plugin", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@typescript-eslint/parser", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "@vitejs/plugin-react", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "@vitejs/plugin-react-swc", - "allowedCategories": [ "examples" ] - }, - { - "name": "@vitest/eslint-plugin", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "@welldone-software/why-did-you-render", - "allowedCategories": [ "examples" ] - }, - { - "name": "ag-grid-community", - "allowedCategories": [ "production" ] - }, - { - "name": "ag-grid-enterprise", - "allowedCategories": [ "production" ] - }, - { - "name": "ag-grid-react", - "allowedCategories": [ "production" ] - }, - { - "name": "async", - "allowedCategories": [ "production" ] - }, - { - "name": "axios", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "axios-cache-interceptor", - "allowedCategories": [ "production" ] - }, - { - "name": "babel-loader", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "babel-plugin-lodash", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "babel-plugin-require-context-hook", - "allowedCategories": [ "production" ] - }, - { - "name": "blessed", - "allowedCategories": [ "tools" ] - }, - { - "name": "blob-polyfill", - "allowedCategories": [ "production" ] - }, - { - "name": "case-sensitive-paths-webpack-plugin", - "allowedCategories": [ "examples", "tools" ] - }, - { - "name": "chalk", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "chokidar", - "allowedCategories": [ "tools" ] - }, - { - "name": "circular-dependency-plugin", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "classnames", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "clean-webpack-plugin", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "codemirror", - "allowedCategories": [ "production" ] - }, - { - "name": "columnify", - "allowedCategories": [ "tools" ] - }, - { - "name": "commander", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "compression-webpack-plugin", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "concurrently", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "copy-to-clipboard", - "allowedCategories": [ "production" ] - }, - { - "name": "copy-webpack-plugin", - "allowedCategories": [ "production" ] - }, - { - "name": "core-js", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "cron-parser", - "allowedCategories": [ "production" ] - }, - { - "name": "cross-spawn", - "allowedCategories": [ "tools" ] - }, - { - "name": "css-loader", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "cypress", - "allowedCategories": [ "production" ] - }, - { - "name": "cypress-multi-reporters", - "allowedCategories": [ "production" ] - }, - { - "name": "cypress-real-events", - "allowedCategories": [ "production" ] - }, - { - "name": "cypress-terminal-report", - "allowedCategories": [ "production" ] - }, - { - "name": "date-fns", - "allowedCategories": [ "production" ] - }, - { - "name": "date-fns-tz", - "allowedCategories": [ "production" ] - }, - { - "name": "debounce-promise", - "allowedCategories": [ "production" ] - }, - { - "name": "default-import", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "dependency-cruiser", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "dotenv", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "dotenv-webpack", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "downshift", - "allowedCategories": [ "production" ] - }, - { - "name": "esbuild-loader", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-config-prettier", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-import-resolver-typescript", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-chai-friendly", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "eslint-plugin-cypress", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "eslint-plugin-eslint-comments", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-header", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-import", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-import-esm", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-no-only-tests", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-prettier", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-react", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-react-hooks", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-regexp", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-sonarjs", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eslint-plugin-storybook", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "eslint-plugin-tsdoc", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "eventsource-parser", - "allowedCategories": [ "production" ] - }, - { - "name": "exponential-backoff", - "allowedCategories": [ "production" ] - }, - { - "name": "fast-equals", - "allowedCategories": [ "production" ] - }, - { - "name": "fast-glob", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "fast-levenshtein", - "allowedCategories": [ "production" ] - }, - { - "name": "fetch-cookie", - "allowedCategories": [ "production" ] - }, - { - "name": "fetch-mock", - "allowedCategories": [ "production" ] - }, - { - "name": "find-up", - "allowedCategories": [ "tools" ] - }, - { - "name": "fix-esm-import-path", - "allowedCategories": [ "production" ] - }, - { - "name": "fixed-data-table-2", - "allowedCategories": [ "production" ] - }, - { - "name": "fork-ts-checker-webpack-plugin", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "fs-extra", - "allowedCategories": [ "tools" ] - }, - { - "name": "full-icu", - "allowedCategories": [ "production" ] - }, - { - "name": "glob", - "allowedCategories": [ "production" ] - }, - { - "name": "happy-dom", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "highcharts", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "highcharts-react-official", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "history", - "allowedCategories": [ "examples" ] - }, - { - "name": "hoist-non-react-statics", - "allowedCategories": [ "production" ] - }, - { - "name": "html-validate", - "allowedCategories": [ "tools" ] - }, - { - "name": "html-webpack-plugin", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "http-status-codes", - "allowedCategories": [ "production" ] - }, - { - "name": "immer", - "allowedCategories": [ "production" ] - }, - { - "name": "inquirer", - "allowedCategories": [ "tools" ] - }, - { - "name": "isomorphic-fetch", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "js-object-pretty-print", - "allowedCategories": [ "production" ] - }, - { - "name": "js-yaml", - "allowedCategories": [ "production" ] - }, - { - "name": "jsdom", - "allowedCategories": [ "production" ] - }, - { - "name": "json-loader", - "allowedCategories": [ "production" ] - }, - { - "name": "json-stable-stringify", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "json5", - "allowedCategories": [ "tools" ] - }, - { - "name": "jsonschema", - "allowedCategories": [ "tools" ] - }, - { - "name": "kefir", - "allowedCategories": [ "production" ] - }, - { - "name": "lodash-es", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "lru-cache", - "allowedCategories": [ "production" ] - }, - { - "name": "lz-string", - "allowedCategories": [ "production" ] - }, - { - "name": "mapbox-gl", - "allowedCategories": [ "production" ] - }, - { - "name": "maplibre-gl", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "mdast", - "allowedCategories": [ "production" ] - }, - { - "name": "mini-css-extract-plugin", - "allowedCategories": [ "production" ] - }, - { - "name": "mkdirp", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "mocha", - "allowedCategories": [ "production" ] - }, - { - "name": "mocha-junit-reporter", - "allowedCategories": [ "production" ] - }, - { - "name": "moment", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "moment-timezone", - "allowedCategories": [ "production" ] - }, - { - "name": "node-fetch", - "allowedCategories": [ "production" ] - }, - { - "name": "node-xlsx", - "allowedCategories": [ "production" ] - }, - { - "name": "npm-run-all", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "open", - "allowedCategories": [ "tools" ] - }, - { - "name": "ora", - "allowedCategories": [ "tools" ] - }, - { - "name": "p-map", - "allowedCategories": [ "tools" ] - }, - { - "name": "pdf-parse", - "allowedCategories": [ "production" ] - }, - { - "name": "polished", - "allowedCategories": [ "production" ] - }, - { - "name": "postcss", - "allowedCategories": [ "production" ] - }, - { - "name": "postcss-value-parser", - "allowedCategories": [ "production" ] - }, - { - "name": "prettier", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "prettier-loader", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "process", - "allowedCategories": [ "examples", "tools" ] - }, - { - "name": "qs", - "allowedCategories": [ "production" ] - }, - { - "name": "raf", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "react", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "react-content-loader", - "allowedCategories": [ "production" ] - }, - { - "name": "react-datepicker", - "allowedCategories": [ "examples" ] - }, - { - "name": "react-day-picker", - "allowedCategories": [ "production" ] - }, - { - "name": "react-dnd", - "allowedCategories": [ "production" ] - }, - { - "name": "react-dnd-html5-backend", - "allowedCategories": [ "production" ] - }, - { - "name": "react-dom", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "react-fast-compare", - "allowedCategories": [ "production" ] - }, - { - "name": "react-ga", - "allowedCategories": [ "examples" ] - }, - { - "name": "react-google-recaptcha", - "allowedCategories": [ "examples" ] - }, - { - "name": "react-grid-system", - "allowedCategories": [ "production" ] - }, - { - "name": "react-helmet", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "react-intl", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "react-lines-ellipsis", - "allowedCategories": [ "production" ] - }, - { - "name": "react-loading-skeleton", - "allowedCategories": [ "production" ] - }, - { - "name": "react-markdown", - "allowedCategories": [ "production" ] - }, - { - "name": "react-measure", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "react-native-listener", - "allowedCategories": [ "production" ] - }, - { - "name": "react-portal", - "allowedCategories": [ "production" ] - }, - { - "name": "react-redux", - "allowedCategories": [ "production" ] - }, - { - "name": "react-responsive", - "allowedCategories": [ "production" ] - }, - { - "name": "react-router-dom", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "react-select", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "react-select-async-paginate", - "allowedCategories": [ "production" ] - }, - { - "name": "react-syntax-highlighter", - "allowedCategories": [ "examples" ] - }, - { - "name": "react-textarea-autosize", - "allowedCategories": [ "production" ] - }, - { - "name": "react-transition-group", - "allowedCategories": [ "production" ] - }, - { - "name": "react-window", - "allowedCategories": [ "production" ] - }, - { - "name": "recharts", - "allowedCategories": [ "examples" ] - }, - { - "name": "redux", - "allowedCategories": [ "production" ] - }, - { - "name": "redux-batched-actions", - "allowedCategories": [ "production" ] - }, - { - "name": "redux-saga", - "allowedCategories": [ "production" ] - }, - { - "name": "remark", - "allowedCategories": [ "production" ] - }, - { - "name": "remark-emoji", - "allowedCategories": [ "production" ] - }, - { - "name": "require-from-string", - "allowedCategories": [ "production" ] - }, - { - "name": "reselect", - "allowedCategories": [ "production" ] - }, - { - "name": "rollup", - "allowedCategories": [ "production" ] - }, - { - "name": "sass", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "sass-loader", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "semver", - "allowedCategories": [ "production" ] - }, - { - "name": "source-map-loader", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "spark-md5", - "allowedCategories": [ "production" ] - }, - { - "name": "speed-measure-webpack-plugin", - "allowedCategories": [ "examples" ] - }, - { - "name": "storybook", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "stringify-object", - "allowedCategories": [ "production" ] - }, - { - "name": "strip-ansi", - "allowedCategories": [ "tools" ] - }, - { - "name": "style-loader", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "styled-jsx", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "stylelint", - "allowedCategories": [ "production" ] - }, - { - "name": "stylelint-checkstyle-formatter", - "allowedCategories": [ "production" ] - }, - { - "name": "stylelint-config-prettier", - "allowedCategories": [ "production" ] - }, - { - "name": "svgo", - "allowedCategories": [ "production" ] - }, - { - "name": "tar", - "allowedCategories": [ "tools" ] - }, - { - "name": "tinycolor2", - "allowedCategories": [ "production" ] - }, - { - "name": "ts-invariant", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "ts-loader", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "ts-morph", - "allowedCategories": [ "tools" ] - }, - { - "name": "tsd", - "allowedCategories": [ "production" ] - }, - { - "name": "tslib", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "typescript", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "unified", - "allowedCategories": [ "production" ] - }, - { - "name": "util", - "allowedCategories": [ "examples", "tools" ] - }, - { - "name": "uuid", - "allowedCategories": [ "production" ] - }, - { - "name": "validate-npm-package-name", - "allowedCategories": [ "examples", "tools" ] - }, - { - "name": "vite", - "allowedCategories": [ "examples", "production" ] - }, - { - "name": "vite-node", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "vite-plugin-css-injected-by-js", - "allowedCategories": [ "production" ] - }, - { - "name": "vite-plugin-environment", - "allowedCategories": [ "production" ] - }, - { - "name": "vite-plugin-html", - "allowedCategories": [ "examples" ] - }, - { - "name": "vite-plugin-mkcert", - "allowedCategories": [ "examples" ] - }, - { - "name": "vite-plugin-static-copy", - "allowedCategories": [ "production" ] - }, - { - "name": "vitest", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "vitest-dom", - "allowedCategories": [ "production" ] - }, - { - "name": "wait-on", - "allowedCategories": [ "production" ] - }, - { - "name": "watchpack", - "allowedCategories": [ "tools" ] - }, - { - "name": "webpack", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "webpack-bundle-analyzer", - "allowedCategories": [ "production", "tools" ] - }, - { - "name": "webpack-cli", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "webpack-dev-server", - "allowedCategories": [ "examples", "production", "tools" ] - }, - { - "name": "xml2js", - "allowedCategories": [ "production" ] - } - ] -} +// DO NOT ADD COMMENTS IN THIS FILE. They will be lost when the Rush tool resaves it. +{ + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/approved-packages.schema.json", + "packages": [ + { + "name": "@aaronhayes/react-use-hubspot-form", + "allowedCategories": ["production"] + }, + { + "name": "@babel/cli", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@babel/core", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@babel/plugin-proposal-export-default-from", + "allowedCategories": ["production"] + }, + { + "name": "@babel/plugin-transform-async-to-generator", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@babel/plugin-transform-class-properties", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@babel/plugin-transform-object-rest-spread", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@babel/plugin-transform-typescript", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@babel/preset-env", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@babel/preset-react", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@babel/preset-typescript", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@babel/runtime", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@braintree/sanitize-url", + "allowedCategories": ["production"] + }, + { + "name": "@codemirror/autocomplete", + "allowedCategories": ["production"] + }, + { + "name": "@codemirror/commands", + "allowedCategories": ["production"] + }, + { + "name": "@codemirror/lang-yaml", + "allowedCategories": ["production"] + }, + { + "name": "@codemirror/language", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@codemirror/lint", + "allowedCategories": ["production"] + }, + { + "name": "@codemirror/state", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@codemirror/view", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@componentdriven/csf", + "allowedCategories": ["production"] + }, + { + "name": "@cypress/grep", + "allowedCategories": ["production"] + }, + { + "name": "@floating-ui/dom", + "allowedCategories": ["production"] + }, + { + "name": "@floating-ui/react", + "allowedCategories": ["production"] + }, + { + "name": "@floating-ui/react-dom", + "allowedCategories": ["production"] + }, + { + "name": "@formatjs/cli-lib", + "allowedCategories": ["tools"] + }, + { + "name": "@formatjs/icu-messageformat-parser", + "allowedCategories": ["tools"] + }, + { + "name": "@gooddata/api-client-tiger", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@gooddata/catalog-export", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/eslint-config", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/fixtures", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@gooddata/i18n-toolkit", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/mock-handling", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@gooddata/number-formatter", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/plugin-toolkit", + "allowedCategories": ["tools"] + }, + { + "name": "@gooddata/reference-workspace", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/sdk-backend-base", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-backend-mockingbird", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/sdk-backend-spi", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-backend-tiger", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-embedding", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/sdk-model", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-dashboard", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-ext", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-filters", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-gen-ai", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-geo", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-charts", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-kit", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-loaders", + "allowedCategories": ["examples", "tools"] + }, + { + "name": "@gooddata/sdk-ui-pivot", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@gooddata/sdk-ui-semantic-search", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@gooddata/sdk-ui-theme-provider", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@gooddata/sdk-ui-vis-commons", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/sdk-ui-web-components", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/stylelint-config", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/util", + "allowedCategories": ["production"] + }, + { + "name": "@lezer/highlight", + "allowedCategories": ["production"] + }, + { + "name": "@microsoft/api-documenter", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@microsoft/api-extractor", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@openapitools/openapi-generator-cli", + "allowedCategories": ["production"] + }, + { + "name": "@react-aria/interactions", + "allowedCategories": ["production"] + }, + { + "name": "@reduxjs/toolkit", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/builder-vite", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/builder-webpack5", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/cli", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/manager-webpack5", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/preset-scss", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/react", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/react-vite", + "allowedCategories": ["production"] + }, + { + "name": "@storybook/react-webpack5", + "allowedCategories": ["production"] + }, + { + "name": "@tanstack/react-virtual", + "allowedCategories": ["production"] + }, + { + "name": "@testing-library/dom", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@testing-library/react", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@testing-library/user-event", + "allowedCategories": ["production"] + }, + { + "name": "@types/babel__core", + "allowedCategories": ["tools"] + }, + { + "name": "@types/blessed", + "allowedCategories": ["tools"] + }, + { + "name": "@types/columnify", + "allowedCategories": ["tools"] + }, + { + "name": "@types/cross-spawn", + "allowedCategories": ["tools"] + }, + { + "name": "@types/debounce-promise", + "allowedCategories": ["production"] + }, + { + "name": "@types/fast-levenshtein", + "allowedCategories": ["production"] + }, + { + "name": "@types/fs-extra", + "allowedCategories": ["tools"] + }, + { + "name": "@types/history", + "allowedCategories": ["examples"] + }, + { + "name": "@types/hoist-non-react-statics", + "allowedCategories": ["production"] + }, + { + "name": "@types/inquirer", + "allowedCategories": ["tools"] + }, + { + "name": "@types/isomorphic-fetch", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@types/js-yaml", + "allowedCategories": ["production"] + }, + { + "name": "@types/json5", + "allowedCategories": ["tools"] + }, + { + "name": "@types/kefir", + "allowedCategories": ["production"] + }, + { + "name": "@types/mapbox-gl", + "allowedCategories": ["production"] + }, + { + "name": "@types/mdast", + "allowedCategories": ["production"] + }, + { + "name": "@types/node", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@types/node-fetch", + "allowedCategories": ["production"] + }, + { + "name": "@types/pdf-parse", + "allowedCategories": ["production"] + }, + { + "name": "@types/prettier", + "allowedCategories": ["tools"] + }, + { + "name": "@types/qs", + "allowedCategories": ["production"] + }, + { + "name": "@types/raf", + "allowedCategories": ["production", "tools"] + }, + { + "name": "@types/react", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@types/react-datepicker", + "allowedCategories": ["examples"] + }, + { + "name": "@types/react-dom", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@types/react-google-recaptcha", + "allowedCategories": ["examples"] + }, + { + "name": "@types/react-helmet", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@types/react-lines-ellipsis", + "allowedCategories": ["production"] + }, + { + "name": "@types/react-measure", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@types/react-native-listener", + "allowedCategories": ["production"] + }, + { + "name": "@types/react-portal", + "allowedCategories": ["production"] + }, + { + "name": "@types/react-redux", + "allowedCategories": ["production"] + }, + { + "name": "@types/react-router-dom", + "allowedCategories": ["examples", "production"] + }, + { + "name": "@types/react-syntax-highlighter", + "allowedCategories": ["examples"] + }, + { + "name": "@types/react-textarea-autosize", + "allowedCategories": ["production"] + }, + { + "name": "@types/react-transition-group", + "allowedCategories": ["production"] + }, + { + "name": "@types/rimraf", + "allowedCategories": ["tools"] + }, + { + "name": "@types/semver", + "allowedCategories": ["production"] + }, + { + "name": "@types/spark-md5", + "allowedCategories": ["production"] + }, + { + "name": "@types/stringify-object", + "allowedCategories": ["production"] + }, + { + "name": "@types/tar", + "allowedCategories": ["tools"] + }, + { + "name": "@types/tinycolor2", + "allowedCategories": ["production"] + }, + { + "name": "@types/tough-cookie", + "allowedCategories": ["production"] + }, + { + "name": "@types/unist", + "allowedCategories": ["production"] + }, + { + "name": "@types/uuid", + "allowedCategories": ["production"] + }, + { + "name": "@types/validate-npm-package-name", + "allowedCategories": ["tools"] + }, + { + "name": "@types/watchpack", + "allowedCategories": ["tools"] + }, + { + "name": "@types/webpack-env", + "allowedCategories": ["examples"] + }, + { + "name": "@typescript-eslint/eslint-plugin", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@typescript-eslint/parser", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "@vitejs/plugin-react", + "allowedCategories": ["examples"] + }, + { + "name": "@vitejs/plugin-react-swc", + "allowedCategories": ["examples"] + }, + { + "name": "@welldone-software/why-did-you-render", + "allowedCategories": ["examples"] + }, + { + "name": "ag-grid-community", + "allowedCategories": ["production"] + }, + { + "name": "ag-grid-enterprise", + "allowedCategories": ["production"] + }, + { + "name": "ag-grid-react", + "allowedCategories": ["production"] + }, + { + "name": "async", + "allowedCategories": ["production"] + }, + { + "name": "axios", + "allowedCategories": ["production", "tools"] + }, + { + "name": "axios-cache-interceptor", + "allowedCategories": ["production"] + }, + { + "name": "babel-loader", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "babel-plugin-lodash", + "allowedCategories": ["examples", "production"] + }, + { + "name": "babel-plugin-require-context-hook", + "allowedCategories": ["production"] + }, + { + "name": "blessed", + "allowedCategories": ["tools"] + }, + { + "name": "blob-polyfill", + "allowedCategories": ["production"] + }, + { + "name": "case-sensitive-paths-webpack-plugin", + "allowedCategories": ["examples", "tools"] + }, + { + "name": "circular-dependency-plugin", + "allowedCategories": ["examples", "production"] + }, + { + "name": "classnames", + "allowedCategories": ["examples", "production"] + }, + { + "name": "clean-webpack-plugin", + "allowedCategories": ["examples", "production"] + }, + { + "name": "codemirror", + "allowedCategories": ["production"] + }, + { + "name": "columnify", + "allowedCategories": ["tools"] + }, + { + "name": "commander", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "compression-webpack-plugin", + "allowedCategories": ["examples", "production"] + }, + { + "name": "concurrently", + "allowedCategories": ["production", "tools"] + }, + { + "name": "copy-to-clipboard", + "allowedCategories": ["production"] + }, + { + "name": "copy-webpack-plugin", + "allowedCategories": ["production"] + }, + { + "name": "core-js", + "allowedCategories": ["examples", "production"] + }, + { + "name": "cron-parser", + "allowedCategories": ["production"] + }, + { + "name": "cross-spawn", + "allowedCategories": ["tools"] + }, + { + "name": "css-loader", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "cypress", + "allowedCategories": ["production"] + }, + { + "name": "cypress-multi-reporters", + "allowedCategories": ["production"] + }, + { + "name": "cypress-real-events", + "allowedCategories": ["production"] + }, + { + "name": "cypress-terminal-report", + "allowedCategories": ["production"] + }, + { + "name": "date-fns", + "allowedCategories": ["production"] + }, + { + "name": "date-fns-tz", + "allowedCategories": ["production"] + }, + { + "name": "debounce-promise", + "allowedCategories": ["production"] + }, + { + "name": "default-import", + "allowedCategories": ["examples", "production"] + }, + { + "name": "dependency-cruiser", + "allowedCategories": ["production", "tools"] + }, + { + "name": "dotenv", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "dotenv-webpack", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "downshift", + "allowedCategories": ["production"] + }, + { + "name": "@gooddata/emailjs-mime-codec-new", + "allowedCategories": ["production"] + }, + { + "name": "esbuild-loader", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-config-prettier", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-import-resolver-typescript", + "allowedCategories": ["examples", "production"] + }, + { + "name": "eslint-plugin-header", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-import", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-import-esm", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-no-only-tests", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-prettier", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-react", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-react-hooks", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-regexp", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-sonarjs", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eslint-plugin-tsdoc", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "eventsource-parser", + "allowedCategories": ["production"] + }, + { + "name": "exponential-backoff", + "allowedCategories": ["production"] + }, + { + "name": "fast-glob", + "allowedCategories": ["production", "tools"] + }, + { + "name": "fast-levenshtein", + "allowedCategories": ["production"] + }, + { + "name": "fetch-cookie", + "allowedCategories": ["production"] + }, + { + "name": "fetch-mock", + "allowedCategories": ["production"] + }, + { + "name": "find-up", + "allowedCategories": ["tools"] + }, + { + "name": "fix-esm-import-path", + "allowedCategories": ["production"] + }, + { + "name": "fixed-data-table-2", + "allowedCategories": ["production"] + }, + { + "name": "fork-ts-checker-webpack-plugin", + "allowedCategories": ["examples", "production"] + }, + { + "name": "fs-extra", + "allowedCategories": ["tools"] + }, + { + "name": "full-icu", + "allowedCategories": ["production"] + }, + { + "name": "glob", + "allowedCategories": ["production"] + }, + { + "name": "happy-dom", + "allowedCategories": ["production", "tools"] + }, + { + "name": "highcharts", + "allowedCategories": ["examples", "production"] + }, + { + "name": "highcharts-react-official", + "allowedCategories": ["examples", "production"] + }, + { + "name": "history", + "allowedCategories": ["examples"] + }, + { + "name": "hoist-non-react-statics", + "allowedCategories": ["production"] + }, + { + "name": "html-validate", + "allowedCategories": ["tools"] + }, + { + "name": "html-webpack-plugin", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "http-status-codes", + "allowedCategories": ["production"] + }, + { + "name": "chalk", + "allowedCategories": ["production", "tools"] + }, + { + "name": "chokidar", + "allowedCategories": ["tools"] + }, + { + "name": "immer", + "allowedCategories": ["production"] + }, + { + "name": "inquirer", + "allowedCategories": ["tools"] + }, + { + "name": "isomorphic-fetch", + "allowedCategories": ["examples", "production"] + }, + { + "name": "js-object-pretty-print", + "allowedCategories": ["production"] + }, + { + "name": "js-yaml", + "allowedCategories": ["production"] + }, + { + "name": "jsdom", + "allowedCategories": ["production"] + }, + { + "name": "json-loader", + "allowedCategories": ["production"] + }, + { + "name": "json-stable-stringify", + "allowedCategories": ["production", "tools"] + }, + { + "name": "json5", + "allowedCategories": ["tools"] + }, + { + "name": "jsonschema", + "allowedCategories": ["tools"] + }, + { + "name": "kefir", + "allowedCategories": ["production"] + }, + { + "name": "lru-cache", + "allowedCategories": ["production"] + }, + { + "name": "lz-string", + "allowedCategories": ["production"] + }, + { + "name": "mapbox-gl", + "allowedCategories": ["production"] + }, + { + "name": "mdast", + "allowedCategories": ["production"] + }, + { + "name": "mini-css-extract-plugin", + "allowedCategories": ["production"] + }, + { + "name": "mkdirp", + "allowedCategories": ["production", "tools"] + }, + { + "name": "mocha", + "allowedCategories": ["production"] + }, + { + "name": "mocha-junit-reporter", + "allowedCategories": ["production"] + }, + { + "name": "moment", + "allowedCategories": ["examples", "production"] + }, + { + "name": "node-fetch", + "allowedCategories": ["production"] + }, + { + "name": "node-xlsx", + "allowedCategories": ["production"] + }, + { + "name": "npm-run-all", + "allowedCategories": ["examples", "production"] + }, + { + "name": "open", + "allowedCategories": ["tools"] + }, + { + "name": "ora", + "allowedCategories": ["tools"] + }, + { + "name": "p-map", + "allowedCategories": ["tools"] + }, + { + "name": "pdf-parse", + "allowedCategories": ["production"] + }, + { + "name": "polished", + "allowedCategories": ["production"] + }, + { + "name": "postcss", + "allowedCategories": ["production"] + }, + { + "name": "postcss-value-parser", + "allowedCategories": ["production"] + }, + { + "name": "prettier", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "prettier-loader", + "allowedCategories": ["examples", "production"] + }, + { + "name": "process", + "allowedCategories": ["examples", "tools"] + }, + { + "name": "qs", + "allowedCategories": ["production"] + }, + { + "name": "raf", + "allowedCategories": ["production", "tools"] + }, + { + "name": "react", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "react-content-loader", + "allowedCategories": ["production"] + }, + { + "name": "react-datepicker", + "allowedCategories": ["examples"] + }, + { + "name": "react-day-picker", + "allowedCategories": ["production"] + }, + { + "name": "react-dnd", + "allowedCategories": ["production"] + }, + { + "name": "react-dnd-html5-backend", + "allowedCategories": ["production"] + }, + { + "name": "react-dom", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "react-fast-compare", + "allowedCategories": ["production"] + }, + { + "name": "react-ga", + "allowedCategories": ["examples"] + }, + { + "name": "react-google-recaptcha", + "allowedCategories": ["examples"] + }, + { + "name": "react-grid-system", + "allowedCategories": ["production"] + }, + { + "name": "react-helmet", + "allowedCategories": ["examples", "production"] + }, + { + "name": "react-intl", + "allowedCategories": ["production", "tools"] + }, + { + "name": "react-lines-ellipsis", + "allowedCategories": ["production"] + }, + { + "name": "react-loading-skeleton", + "allowedCategories": ["production"] + }, + { + "name": "react-markdown", + "allowedCategories": ["production"] + }, + { + "name": "react-measure", + "allowedCategories": ["examples", "production"] + }, + { + "name": "react-native-listener", + "allowedCategories": ["production"] + }, + { + "name": "react-portal", + "allowedCategories": ["production"] + }, + { + "name": "react-redux", + "allowedCategories": ["production"] + }, + { + "name": "react-responsive", + "allowedCategories": ["production"] + }, + { + "name": "react-router-dom", + "allowedCategories": ["examples", "production"] + }, + { + "name": "react-select", + "allowedCategories": ["examples", "production"] + }, + { + "name": "react-select-async-paginate", + "allowedCategories": ["production"] + }, + { + "name": "react-syntax-highlighter", + "allowedCategories": ["examples"] + }, + { + "name": "react-textarea-autosize", + "allowedCategories": ["production"] + }, + { + "name": "react-transition-group", + "allowedCategories": ["production"] + }, + { + "name": "react-window", + "allowedCategories": ["production"] + }, + { + "name": "redux-batched-actions", + "allowedCategories": ["production"] + }, + { + "name": "redux-saga", + "allowedCategories": ["production"] + }, + { + "name": "recharts", + "allowedCategories": ["examples"] + }, + { + "name": "remark", + "allowedCategories": ["production"] + }, + { + "name": "remark-emoji", + "allowedCategories": ["production"] + }, + { + "name": "require-from-string", + "allowedCategories": ["production"] + }, + { + "name": "reselect", + "allowedCategories": ["production"] + }, + { + "name": "sass", + "allowedCategories": ["examples", "production"] + }, + { + "name": "sass-loader", + "allowedCategories": ["examples", "production"] + }, + { + "name": "semver", + "allowedCategories": ["production"] + }, + { + "name": "source-map-loader", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "spark-md5", + "allowedCategories": ["production"] + }, + { + "name": "speed-measure-webpack-plugin", + "allowedCategories": ["examples"] + }, + { + "name": "storybook", + "allowedCategories": ["production"] + }, + { + "name": "stringify-object", + "allowedCategories": ["production"] + }, + { + "name": "strip-ansi", + "allowedCategories": ["tools"] + }, + { + "name": "style-loader", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "styled-jsx", + "allowedCategories": ["examples", "production"] + }, + { + "name": "stylelint", + "allowedCategories": ["production"] + }, + { + "name": "stylelint-config-prettier", + "allowedCategories": ["production"] + }, + { + "name": "stylelint-checkstyle-formatter", + "allowedCategories": ["production"] + }, + { + "name": "svgo", + "allowedCategories": ["production"] + }, + { + "name": "tar", + "allowedCategories": ["tools"] + }, + { + "name": "tinycolor2", + "allowedCategories": ["production"] + }, + { + "name": "ts-invariant", + "allowedCategories": ["examples", "production"] + }, + { + "name": "ts-loader", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "ts-morph", + "allowedCategories": ["tools"] + }, + { + "name": "tsd", + "allowedCategories": ["production"] + }, + { + "name": "tslib", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "typescript", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "unified", + "allowedCategories": ["production"] + }, + { + "name": "util", + "allowedCategories": ["examples", "tools"] + }, + { + "name": "uuid", + "allowedCategories": ["production"] + }, + { + "name": "validate-npm-package-name", + "allowedCategories": ["examples", "tools"] + }, + { + "name": "vite", + "allowedCategories": ["examples", "production"] + }, + { + "name": "vite-plugin-html", + "allowedCategories": ["examples"] + }, + { + "name": "vite-plugin-mkcert", + "allowedCategories": ["examples"] + }, + { + "name": "vite-plugin-static-copy", + "allowedCategories": ["production"] + }, + { + "name": "vitest", + "allowedCategories": ["production", "tools"] + }, + { + "name": "vitest-dom", + "allowedCategories": ["production"] + }, + { + "name": "wait-on", + "allowedCategories": ["production"] + }, + { + "name": "watchpack", + "allowedCategories": ["tools"] + }, + { + "name": "webpack", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "webpack-bundle-analyzer", + "allowedCategories": ["production", "tools"] + }, + { + "name": "webpack-cli", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "webpack-dev-server", + "allowedCategories": ["examples", "production", "tools"] + }, + { + "name": "xml2js", + "allowedCategories": ["production"] + } + ] +} diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index 430647c25c9..b4eaf8a3f15 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -8,7 +8,7 @@ importers: .: {} - ../../examples/playground: + ../../../sdk/examples/playground: devDependencies: '@codemirror/state': specifier: ~6.5.3 @@ -164,13 +164,13 @@ importers: specifier: ^6.3.6 version: 6.3.6(@types/node@22.18.5)(sass@1.70.0) - ../../examples/sdk-interactive-examples: + ../../../sdk/examples/sdk-interactive-examples: devDependencies: validate-npm-package-name: specifier: ^5.0.0 version: 5.0.1 - ../../examples/sdk-interactive-examples/examples-template: + ../../../sdk/examples/sdk-interactive-examples/examples-template: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -291,7 +291,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-attributefilter: + ../../../sdk/examples/sdk-interactive-examples/examples/example-attributefilter: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -412,7 +412,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-chartconfig: + ../../../sdk/examples/sdk-interactive-examples/examples/example-chartconfig: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -533,7 +533,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-columnchart: + ../../../sdk/examples/sdk-interactive-examples/examples/example-columnchart: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -654,7 +654,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-combochart: + ../../../sdk/examples/sdk-interactive-examples/examples/example-combochart: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -775,7 +775,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-dashboard: + ../../../sdk/examples/sdk-interactive-examples/examples/example-dashboard: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -896,7 +896,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-datefilter: + ../../../sdk/examples/sdk-interactive-examples/examples/example-datefilter: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1017,7 +1017,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-dependentfilters: + ../../../sdk/examples/sdk-interactive-examples/examples/example-dependentfilters: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1138,7 +1138,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-execute: + ../../../sdk/examples/sdk-interactive-examples/examples/example-execute: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1268,7 +1268,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-granularity: + ../../../sdk/examples/sdk-interactive-examples/examples/example-granularity: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1389,7 +1389,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-headline: + ../../../sdk/examples/sdk-interactive-examples/examples/example-headline: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1510,7 +1510,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-pivottable: + ../../../sdk/examples/sdk-interactive-examples/examples/example-pivottable: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1631,7 +1631,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-relativedatefilter: + ../../../sdk/examples/sdk-interactive-examples/examples/example-relativedatefilter: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1752,7 +1752,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../examples/sdk-interactive-examples/examples/example-repeater: + ../../../sdk/examples/sdk-interactive-examples/examples/example-repeater: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1873,7 +1873,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../libs/api-client-tiger: + ../../../sdk/libs/api-client-tiger: dependencies: '@gooddata/sdk-model': specifier: workspace:* @@ -1973,7 +1973,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../libs/sdk-backend-base: + ../../../sdk/libs/sdk-backend-base: dependencies: '@braintree/sanitize-url': specifier: ^6.0.0 @@ -2079,7 +2079,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../libs/sdk-backend-mockingbird: + ../../../sdk/libs/sdk-backend-mockingbird: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -2173,7 +2173,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../libs/sdk-backend-spi: + ../../../sdk/libs/sdk-backend-spi: dependencies: '@gooddata/sdk-model': specifier: workspace:* @@ -2252,7 +2252,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../libs/sdk-backend-tiger: + ../../../sdk/libs/sdk-backend-tiger: dependencies: '@gooddata/api-client-tiger': specifier: workspace:* @@ -2385,7 +2385,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../libs/sdk-embedding: + ../../../sdk/libs/sdk-embedding: dependencies: '@gooddata/sdk-model': specifier: workspace:* @@ -2464,7 +2464,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../libs/sdk-model: + ../../../sdk/libs/sdk-model: dependencies: '@types/geojson': specifier: ^7946.0.16 @@ -2558,7 +2558,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../libs/sdk-ui: + ../../../sdk/libs/sdk-ui: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -2742,7 +2742,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-all: + ../../../sdk/libs/sdk-ui-all: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -2830,7 +2830,7 @@ importers: specifier: 5.9.3 version: 5.9.3 - ../../libs/sdk-ui-catalog: + ../../../sdk/libs/sdk-ui-catalog: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -2987,7 +2987,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-charts: + ../../../sdk/libs/sdk-ui-charts: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -3207,7 +3207,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-dashboard: + ../../../sdk/libs/sdk-ui-dashboard: dependencies: '@codemirror/language': specifier: ~6.12.1 @@ -3469,7 +3469,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-ext: + ../../../sdk/libs/sdk-ui-ext: dependencies: '@codemirror/commands': specifier: ~6.10.1 @@ -3746,7 +3746,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-filters: + ../../../sdk/libs/sdk-ui-filters: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -3945,7 +3945,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-gen-ai: + ../../../sdk/libs/sdk-ui-gen-ai: dependencies: '@codemirror/autocomplete': specifier: ^6.20.0 @@ -4183,7 +4183,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-geo: + ../../../sdk/libs/sdk-ui-geo: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -4367,7 +4367,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-kit: + ../../../sdk/libs/sdk-ui-kit: dependencies: '@aaronhayes/react-use-hubspot-form': specifier: ^2.1.2 @@ -4656,7 +4656,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-loaders: + ../../../sdk/libs/sdk-ui-loaders: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -4681,7 +4681,7 @@ importers: version: 7.1.11(react@19.1.1)(typescript@5.9.3) semver: specifier: ^7.3.5 - version: 7.7.3 + version: 7.7.2 ts-invariant: specifier: ^0.7.5 version: 0.7.5 @@ -4780,7 +4780,7 @@ importers: specifier: 5.9.3 version: 5.9.3 - ../../libs/sdk-ui-pivot: + ../../../sdk/libs/sdk-ui-pivot: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -4967,7 +4967,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-semantic-search: + ../../../sdk/libs/sdk-ui-semantic-search: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -5121,7 +5121,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-tests: + ../../../sdk/libs/sdk-ui-tests: devDependencies: '@babel/core': specifier: ^7.23.5 @@ -5394,7 +5394,7 @@ importers: specifier: 5.93.0 version: 5.93.0(webpack-cli@6.0.1) - ../../libs/sdk-ui-tests-e2e: + ../../../sdk/libs/sdk-ui-tests-e2e: devDependencies: '@babel/core': specifier: ^7.23.5 @@ -5613,7 +5613,7 @@ importers: specifier: ^0.5.0 version: 0.5.0 - ../../libs/sdk-ui-theme-provider: + ../../../sdk/libs/sdk-ui-theme-provider: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -5761,7 +5761,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../libs/sdk-ui-vis-commons: + ../../../sdk/libs/sdk-ui-vis-commons: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -5927,7 +5927,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../libs/sdk-ui-web-components: + ../../../sdk/libs/sdk-ui-web-components: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -6090,7 +6090,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../libs/util: + ../../../sdk/libs/util: dependencies: lodash-es: specifier: ^4.17.21 @@ -6166,7 +6166,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../skel/sdk-skel-ts: + ../../../sdk/skel/sdk-skel-ts: dependencies: lodash-es: specifier: ^4.17.21 @@ -6236,7 +6236,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../skel/sdk-skel-tsx: + ../../../sdk/skel/sdk-skel-tsx: dependencies: lodash-es: specifier: ^4.17.21 @@ -6339,7 +6339,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../tools/app-toolkit: + ../../../sdk/tools/app-toolkit: dependencies: '@babel/cli': specifier: ^7.23.4 @@ -6493,7 +6493,7 @@ importers: specifier: 5.93.0 version: 5.93.0(webpack-cli@6.0.1) - ../../tools/applink: + ../../../sdk/tools/applink: devDependencies: '@gooddata/eslint-config': specifier: workspace:* @@ -6592,7 +6592,7 @@ importers: specifier: ^2.4.4 version: 2.4.4 - ../../tools/catalog-export: + ../../../sdk/tools/catalog-export: dependencies: '@babel/core': specifier: ^7.23.5 @@ -6713,7 +6713,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../tools/dashboard-plugin-template: + ../../../sdk/tools/dashboard-plugin-template: dependencies: json-stable-stringify: specifier: 1.3.0 @@ -6906,7 +6906,7 @@ importers: specifier: 5.2.2 version: 5.2.2(webpack-cli@6.0.1)(webpack@5.93.0) - ../../tools/eslint-config: + ../../../sdk/tools/eslint-config: devDependencies: '@testing-library/dom': specifier: 10.4.0 @@ -6993,7 +6993,7 @@ importers: specifier: ^5.2.0 version: 5.2.0(@types/node@22.18.5) - ../../tools/i18n-toolkit: + ../../../sdk/tools/i18n-toolkit: dependencies: '@formatjs/cli-lib': specifier: ^6.1.1 @@ -7096,7 +7096,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../tools/mock-handling: + ../../../sdk/tools/mock-handling: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -7199,7 +7199,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../tools/plugin-toolkit: + ../../../sdk/tools/plugin-toolkit: dependencies: '@babel/cli': specifier: ^7.23.4 @@ -7344,7 +7344,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../tools/react-app-template: + ../../../sdk/tools/react-app-template: dependencies: '@codemirror/state': specifier: ~6.5.3 @@ -7507,7 +7507,7 @@ importers: specifier: 5.2.2 version: 5.2.2(webpack-cli@6.0.1)(webpack@5.93.0) - ../../tools/reference-workspace: + ../../../sdk/tools/reference-workspace: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -7580,7 +7580,7 @@ importers: specifier: 5.9.3 version: 5.9.3 - ../../tools/reference-workspace-mgmt: + ../../../sdk/tools/reference-workspace-mgmt: dependencies: '@gooddata/catalog-export': specifier: workspace:* @@ -8864,13 +8864,22 @@ packages: resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} dev: false + /@codemirror/autocomplete@6.18.7: + resolution: {integrity: sha512-8EzdeIoWPJDsMBwz3zdzwXnUpCzMiCyz5/A3FIPpriaclFCGDkAzK13sMcnsu5rowqiyeQN2Vs2TsOcoDPZirQ==} + dependencies: + '@codemirror/language': 6.12.1 + '@codemirror/state': 6.5.3 + '@codemirror/view': 6.39.10 + '@lezer/common': 1.5.0 + dev: false + /@codemirror/autocomplete@6.20.0: resolution: {integrity: sha512-bOwvTOIJcG5FVo5gUUupiwYh8MioPLQ4UcqbcRf7UQ98X90tCa9E1kZ3Z7tqwpZxYyOvh1YTYbmZE9RTfTp5hg==} dependencies: '@codemirror/language': 6.12.1 '@codemirror/state': 6.5.3 '@codemirror/view': 6.39.10 - '@lezer/common': 1.5.0 + '@lezer/common': 1.2.3 dev: false /@codemirror/commands@6.10.1: @@ -8879,16 +8888,16 @@ packages: '@codemirror/language': 6.12.1 '@codemirror/state': 6.5.3 '@codemirror/view': 6.39.10 - '@lezer/common': 1.5.0 + '@lezer/common': 1.2.3 dev: false /@codemirror/lang-yaml@6.1.2: resolution: {integrity: sha512-dxrfG8w5Ce/QbT7YID7mWZFKhdhsaTNOYjOkSIMt1qmC4VQnXSDSYVHHHn8k6kJUfIhtLo8t1JJgltlxWdsITw==} dependencies: - '@codemirror/autocomplete': 6.20.0 + '@codemirror/autocomplete': 6.18.7 '@codemirror/language': 6.12.1 '@codemirror/state': 6.5.3 - '@lezer/common': 1.5.0 + '@lezer/common': 1.2.3 '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.2 '@lezer/yaml': 1.0.3 @@ -9550,6 +9559,16 @@ packages: dev: true optional: true + /@eslint-community/eslint-utils@4.9.0(eslint@8.57.1): + resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} + engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} + peerDependencies: + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 + dependencies: + eslint: 8.57.1 + eslint-visitor-keys: 3.4.3 + dev: true + /@eslint-community/eslint-utils@4.9.1(eslint@8.57.1): resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -9560,6 +9579,11 @@ packages: eslint-visitor-keys: 3.4.3 dev: true + /@eslint-community/regexpp@4.12.1: + resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} + engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} + dev: true + /@eslint-community/regexpp@4.12.2: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -10022,7 +10046,7 @@ packages: optional: true dependencies: glob: 10.4.5 - magic-string: 0.30.21 + magic-string: 0.30.19 react-docgen-typescript: 2.4.0(typescript@5.9.3) typescript: 5.9.3 vite: 6.3.6(@types/node@22.18.5)(sass@1.70.0) @@ -10121,6 +10145,10 @@ packages: /@leichtgewicht/ip-codec@2.0.5: resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} + /@lezer/common@1.2.3: + resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==} + dev: false + /@lezer/common@1.5.0: resolution: {integrity: sha512-PNGcolp9hr4PJdXR4ix7XtixDrClScvtSCYW3rQG106oVMOOI+jFb+0+J3mbeL/53g1Zd6s0kJzaw6Ri68GmAA==} dev: false @@ -10282,7 +10310,7 @@ packages: /@nestjs/axios@4.0.1(@nestjs/common@11.1.6)(axios@1.12.2)(rxjs@7.8.2): resolution: {integrity: sha512-68pFJgu+/AZbWkGu65Z3r55bTsCPlgyKaV4BSG8yUAD72q1PPuyVRgUwFv6BxdnibTUHlyxm06FmYWNC+bjN7A==} peerDependencies: - '@nestjs/common': ^10.0.0 || ^11.0.0 || 9.3.11 + '@nestjs/common': ^10.0.0 || ^11.0.0 axios: ^1.3.1 rxjs: ^7.0.0 dependencies: @@ -10320,7 +10348,7 @@ packages: engines: {node: '>= 20'} requiresBuild: true peerDependencies: - '@nestjs/common': ^11.0.0 || 9.3.11 + '@nestjs/common': ^11.0.0 '@nestjs/microservices': ^11.0.0 '@nestjs/platform-express': ^11.0.0 '@nestjs/websockets': ^11.0.0 @@ -10607,11 +10635,26 @@ packages: picomatch: 4.0.3 dev: true + /@rollup/rollup-android-arm-eabi@4.50.2: + resolution: {integrity: sha512-uLN8NAiFVIRKX9ZQha8wy6UUs06UNSZ32xj6giK/rmMXAgKahwExvK6SsmgU5/brh4w/nSgj8e0k3c1HBQpa0A==} + cpu: [arm] + os: [android] + requiresBuild: true + optional: true + /@rollup/rollup-android-arm-eabi@4.54.0: resolution: {integrity: sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==} cpu: [arm] os: [android] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-android-arm64@4.50.2: + resolution: {integrity: sha512-oEouqQk2/zxxj22PNcGSskya+3kV0ZKH+nQxuCCOGJ4oTXBdNTbv+f/E3c74cNLeMO1S5wVWacSws10TTSB77g==} + cpu: [arm64] + os: [android] + requiresBuild: true optional: true /@rollup/rollup-android-arm64@4.54.0: @@ -10619,6 +10662,14 @@ packages: cpu: [arm64] os: [android] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-arm64@4.50.2: + resolution: {integrity: sha512-OZuTVTpj3CDSIxmPgGH8en/XtirV5nfljHZ3wrNwvgkT5DQLhIKAeuFSiwtbMto6oVexV0k1F1zqURPKf5rI1Q==} + cpu: [arm64] + os: [darwin] + requiresBuild: true optional: true /@rollup/rollup-darwin-arm64@4.54.0: @@ -10626,6 +10677,14 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-darwin-x64@4.50.2: + resolution: {integrity: sha512-Wa/Wn8RFkIkr1vy1k1PB//VYhLnlnn5eaJkfTQKivirOvzu5uVd2It01ukeQstMursuz7S1bU+8WW+1UPXpa8A==} + cpu: [x64] + os: [darwin] + requiresBuild: true optional: true /@rollup/rollup-darwin-x64@4.54.0: @@ -10633,6 +10692,14 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-freebsd-arm64@4.50.2: + resolution: {integrity: sha512-QkzxvH3kYN9J1w7D1A+yIMdI1pPekD+pWx7G5rXgnIlQ1TVYVC6hLl7SOV9pi5q9uIDF9AuIGkuzcbF7+fAhow==} + cpu: [arm64] + os: [freebsd] + requiresBuild: true optional: true /@rollup/rollup-freebsd-arm64@4.54.0: @@ -10640,6 +10707,14 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-freebsd-x64@4.50.2: + resolution: {integrity: sha512-dkYXB0c2XAS3a3jmyDkX4Jk0m7gWLFzq1C3qUnJJ38AyxIF5G/dyS4N9B30nvFseCfgtCEdbYFhk0ChoCGxPog==} + cpu: [x64] + os: [freebsd] + requiresBuild: true optional: true /@rollup/rollup-freebsd-x64@4.54.0: @@ -10647,6 +10722,14 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-gnueabihf@4.50.2: + resolution: {integrity: sha512-9VlPY/BN3AgbukfVHAB8zNFWB/lKEuvzRo1NKev0Po8sYFKx0i+AQlCYftgEjcL43F2h9Ui1ZSdVBc4En/sP2w==} + cpu: [arm] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-arm-gnueabihf@4.54.0: @@ -10654,6 +10737,14 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm-musleabihf@4.50.2: + resolution: {integrity: sha512-+GdKWOvsifaYNlIVf07QYan1J5F141+vGm5/Y8b9uCZnG/nxoGqgCmR24mv0koIWWuqvFYnbURRqw1lv7IBINw==} + cpu: [arm] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-arm-musleabihf@4.54.0: @@ -10661,6 +10752,14 @@ packages: cpu: [arm] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-gnu@4.50.2: + resolution: {integrity: sha512-df0Eou14ojtUdLQdPFnymEQteENwSJAdLf5KCDrmZNsy1c3YaCNaJvYsEUHnrg+/DLBH612/R0xd3dD03uz2dg==} + cpu: [arm64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-arm64-gnu@4.54.0: @@ -10668,6 +10767,14 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-arm64-musl@4.50.2: + resolution: {integrity: sha512-iPeouV0UIDtz8j1YFR4OJ/zf7evjauqv7jQ/EFs0ClIyL+by++hiaDAfFipjOgyz6y6xbDvJuiU4HwpVMpRFDQ==} + cpu: [arm64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-arm64-musl@4.54.0: @@ -10675,6 +10782,14 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-loong64-gnu@4.50.2: + resolution: {integrity: sha512-OL6KaNvBopLlj5fTa5D5bau4W82f+1TyTZRr2BdnfsrnQnmdxh4okMxR2DcDkJuh4KeoQZVuvHvzuD/lyLn2Kw==} + cpu: [loong64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-loong64-gnu@4.54.0: @@ -10682,6 +10797,14 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-ppc64-gnu@4.50.2: + resolution: {integrity: sha512-I21VJl1w6z/K5OTRl6aS9DDsqezEZ/yKpbqlvfHbW0CEF5IL8ATBMuUx6/mp683rKTK8thjs/0BaNrZLXetLag==} + cpu: [ppc64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-ppc64-gnu@4.54.0: @@ -10689,6 +10812,14 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.50.2: + resolution: {integrity: sha512-Hq6aQJT/qFFHrYMjS20nV+9SKrXL2lvFBENZoKfoTH2kKDOJqff5OSJr4x72ZaG/uUn+XmBnGhfr4lwMRrmqCQ==} + cpu: [riscv64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-riscv64-gnu@4.54.0: @@ -10696,6 +10827,14 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-musl@4.50.2: + resolution: {integrity: sha512-82rBSEXRv5qtKyr0xZ/YMF531oj2AIpLZkeNYxmKNN6I2sVE9PGegN99tYDLK2fYHJITL1P2Lgb4ZXnv0PjQvw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-riscv64-musl@4.54.0: @@ -10703,6 +10842,14 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-s390x-gnu@4.50.2: + resolution: {integrity: sha512-4Q3S3Hy7pC6uaRo9gtXUTJ+EKo9AKs3BXKc2jYypEcMQ49gDPFU2P1ariX9SEtBzE5egIX6fSUmbmGazwBVF9w==} + cpu: [s390x] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-s390x-gnu@4.54.0: @@ -10710,6 +10857,14 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.50.2: + resolution: {integrity: sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==} + cpu: [x64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-x64-gnu@4.54.0: @@ -10717,6 +10872,14 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-musl@4.50.2: + resolution: {integrity: sha512-HPNJwxPL3EmhzeAnsWQCM3DcoqOz3/IC6de9rWfGR8ZCuEHETi9km66bH/wG3YH0V3nyzyFEGUZeL5PKyy4xvw==} + cpu: [x64] + os: [linux] + requiresBuild: true optional: true /@rollup/rollup-linux-x64-musl@4.54.0: @@ -10724,6 +10887,14 @@ packages: cpu: [x64] os: [linux] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-openharmony-arm64@4.50.2: + resolution: {integrity: sha512-nMKvq6FRHSzYfKLHZ+cChowlEkR2lj/V0jYj9JnGUVPL2/mIeFGmVM2mLaFeNa5Jev7W7TovXqXIG2d39y1KYA==} + cpu: [arm64] + os: [openharmony] + requiresBuild: true optional: true /@rollup/rollup-openharmony-arm64@4.54.0: @@ -10731,6 +10902,14 @@ packages: cpu: [arm64] os: [openharmony] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-arm64-msvc@4.50.2: + resolution: {integrity: sha512-eFUvvnTYEKeTyHEijQKz81bLrUQOXKZqECeiWH6tb8eXXbZk+CXSG2aFrig2BQ/pjiVRj36zysjgILkqarS2YA==} + cpu: [arm64] + os: [win32] + requiresBuild: true optional: true /@rollup/rollup-win32-arm64-msvc@4.54.0: @@ -10738,6 +10917,14 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-ia32-msvc@4.50.2: + resolution: {integrity: sha512-cBaWmXqyfRhH8zmUxK3d3sAhEWLrtMjWBRwdMMHJIXSjvjLKvv49adxiEz+FJ8AP90apSDDBx2Tyd/WylV6ikA==} + cpu: [ia32] + os: [win32] + requiresBuild: true optional: true /@rollup/rollup-win32-ia32-msvc@4.54.0: @@ -10745,6 +10932,7 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true + dev: true optional: true /@rollup/rollup-win32-x64-gnu@4.54.0: @@ -10752,6 +10940,14 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-win32-x64-msvc@4.50.2: + resolution: {integrity: sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==} + cpu: [x64] + os: [win32] + requiresBuild: true optional: true /@rollup/rollup-win32-x64-msvc@4.54.0: @@ -10759,6 +10955,7 @@ packages: cpu: [x64] os: [win32] requiresBuild: true + dev: true optional: true /@rtsao/scc@1.1.0: @@ -10995,7 +11192,7 @@ packages: '@storybook/builder-vite': 10.0.6(storybook@10.0.6)(vite@6.3.6)(webpack@5.93.0) '@storybook/react': 10.0.6(react-dom@19.1.1)(react@19.1.1)(storybook@10.0.6)(typescript@5.9.3) empathic: 2.0.0 - magic-string: 0.30.21 + magic-string: 0.30.19 react: 19.1.1 react-docgen: 8.0.1 react-dom: 19.1.1(react@19.1.1) @@ -11845,6 +12042,20 @@ packages: - supports-color dev: true + /@typescript-eslint/project-service@8.46.0(typescript@5.9.3): + resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + dependencies: + '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) + '@typescript-eslint/types': 8.46.0 + debug: 4.4.3(supports-color@8.1.1) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/project-service@8.52.0(typescript@5.9.3): resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -11859,6 +12070,14 @@ packages: - supports-color dev: true + /@typescript-eslint/scope-manager@8.46.0: + resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + '@typescript-eslint/types': 8.46.0 + '@typescript-eslint/visitor-keys': 8.46.0 + dev: true + /@typescript-eslint/scope-manager@8.52.0: resolution: {integrity: sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -11867,6 +12086,15 @@ packages: '@typescript-eslint/visitor-keys': 8.52.0 dev: true + /@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3): + resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + dependencies: + typescript: 5.9.3 + dev: true + /@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3): resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -11894,11 +12122,37 @@ packages: - supports-color dev: true + /@typescript-eslint/types@8.46.0: + resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dev: true + /@typescript-eslint/types@8.52.0: resolution: {integrity: sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true + /@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3): + resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + typescript: '>=4.8.4 <6.0.0' + dependencies: + '@typescript-eslint/project-service': 8.46.0(typescript@5.9.3) + '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) + '@typescript-eslint/types': 8.46.0 + '@typescript-eslint/visitor-keys': 8.46.0 + debug: 4.4.3(supports-color@8.1.1) + fast-glob: 3.3.3 + is-glob: 4.0.3 + minimatch: 9.0.5 + semver: 7.7.2 + ts-api-utils: 2.1.0(typescript@5.9.3) + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/typescript-estree@8.52.0(typescript@5.9.3): resolution: {integrity: sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -11919,6 +12173,23 @@ packages: - supports-color dev: true + /@typescript-eslint/utils@8.46.0(eslint@8.57.1)(typescript@5.9.3): + resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + peerDependencies: + eslint: ^8.57.0 || ^9.0.0 + typescript: '>=4.8.4 <6.0.0' + dependencies: + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@typescript-eslint/scope-manager': 8.46.0 + '@typescript-eslint/types': 8.46.0 + '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) + eslint: 8.57.1 + typescript: 5.9.3 + transitivePeerDependencies: + - supports-color + dev: true + /@typescript-eslint/utils@8.52.0(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -11936,6 +12207,14 @@ packages: - supports-color dev: true + /@typescript-eslint/visitor-keys@8.46.0: + resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==} + engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} + dependencies: + '@typescript-eslint/types': 8.46.0 + eslint-visitor-keys: 4.2.1 + dev: true + /@typescript-eslint/visitor-keys@8.52.0: resolution: {integrity: sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12142,8 +12421,8 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/scope-manager': 8.52.0 - '@typescript-eslint/utils': 8.52.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.46.0 + '@typescript-eslint/utils': 8.46.0(eslint@8.57.1)(typescript@5.9.3) eslint: 8.57.1 typescript: 5.9.3 vitest: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) @@ -12184,7 +12463,7 @@ packages: dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.21 + magic-string: 0.30.19 vite: 6.3.6(@types/node@22.18.5)(sass@1.70.0) dev: true @@ -12356,9 +12635,6 @@ packages: peerDependencies: webpack: ^5.82.0 webpack-cli: 6.x.x - peerDependenciesMeta: - webpack: - optional: true dependencies: webpack: 5.93.0(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.93.0) @@ -12369,9 +12645,6 @@ packages: peerDependencies: webpack: ^5.82.0 webpack-cli: 6.x.x - peerDependenciesMeta: - webpack: - optional: true dependencies: webpack: 5.93.0(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.93.0) @@ -12384,8 +12657,6 @@ packages: webpack-cli: 6.x.x webpack-dev-server: '*' peerDependenciesMeta: - webpack: - optional: true webpack-dev-server: optional: true dependencies: @@ -12956,9 +13227,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' - peerDependenciesMeta: - webpack: - optional: true dependencies: '@babel/core': 7.28.4 find-cache-dir: 3.3.2 @@ -13718,7 +13986,7 @@ packages: resolution: {integrity: sha512-AVITY/tGNdoBGAkaYqNsDGFzf5THvvjGBW7u0djTqC8xAqyj7WTLOD/bTGnhUfSn1X8E3qA9GyZjvIY+WnqzRA==} hasBin: true dependencies: - semver: 7.7.3 + semver: 7.7.2 storybook: 10.0.6(@testing-library/dom@10.4.0)(prettier@3.6.2)(react-dom@19.1.1)(react@19.1.1)(vite@6.3.6) transitivePeerDependencies: - '@testing-library/dom' @@ -13783,7 +14051,7 @@ packages: postcss-modules-scope: 3.2.1(postcss@8.5.6) postcss-modules-values: 4.0.0(postcss@8.5.6) postcss-value-parser: 4.2.0 - semver: 7.7.3 + semver: 7.7.2 webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -13856,7 +14124,7 @@ packages: debug: 4.4.3(supports-color@8.1.1) lodash: 4.17.21 mocha: 11.1.0 - semver: 7.7.3 + semver: 7.7.2 transitivePeerDependencies: - supports-color dev: true @@ -13924,7 +14192,7 @@ packages: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.7.3 + semver: 7.7.2 supports-color: 8.1.1 tmp: 0.2.5 tree-kill: 1.2.2 @@ -14149,7 +14417,7 @@ packages: prompts: 2.4.2 rechoir: 0.8.0 safe-regex: 2.1.1 - semver: 7.7.3 + semver: 7.7.2 semver-try-require: 6.2.3 teamcity-service-messages: 0.1.14 tsconfig-paths-webpack-plugin: 4.1.0 @@ -14322,9 +14590,6 @@ packages: engines: {node: '>=10'} peerDependencies: webpack: ^4 || ^5 - peerDependenciesMeta: - webpack: - optional: true dependencies: dotenv-defaults: 2.0.2 webpack: 5.93.0(webpack-cli@6.0.1) @@ -14633,9 +14898,6 @@ packages: resolution: {integrity: sha512-D7HeJNdkDKKMarPQO/3dlJT6RwN2YJO7ENU6RPlpOz5YxSHnUNi2yvW41Bckvi1EVwctIaLzlb0ni5ag2GINYA==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true dependencies: esbuild: 0.25.9 get-tsconfig: 4.10.1 @@ -14968,8 +15230,8 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) - '@eslint-community/regexpp': 4.12.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.1 comment-parser: 1.4.1 eslint: 8.57.1 grapheme-splitter: 1.0.4 @@ -14994,7 +15256,7 @@ packages: eslint: '>=8' storybook: ^10.0.6 dependencies: - '@typescript-eslint/utils': 8.52.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.46.0(eslint@8.57.1)(typescript@5.9.3) eslint: 8.57.1 storybook: 10.0.6(@testing-library/dom@10.4.0)(prettier@3.6.2)(react-dom@19.1.1)(react@19.1.1)(vite@6.3.6) transitivePeerDependencies: @@ -15044,8 +15306,8 @@ packages: deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) - '@eslint-community/regexpp': 4.12.2 + '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.1 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.1 '@humanwhocodes/config-array': 0.13.0 @@ -16092,7 +16354,7 @@ packages: kleur: 4.1.5 minimist: 1.2.8 prompts: 2.4.2 - semver: 7.7.3 + semver: 7.7.2 vitest: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) dev: false @@ -16498,7 +16760,7 @@ packages: /is-bun-module@2.0.0: resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} dependencies: - semver: 7.7.3 + semver: 7.7.2 dev: true /is-callable@1.2.7: @@ -17287,6 +17549,12 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true + /magic-string@0.30.19: + resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} + dependencies: + '@jridgewell/sourcemap-codec': 1.5.5 + dev: true + /magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} dependencies: @@ -18104,7 +18372,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.3 + semver: 7.7.2 validate-npm-package-license: 3.0.4 dev: true @@ -19392,9 +19660,6 @@ packages: resolution: {integrity: sha512-6orZWyCnIQXMGY4DUGM0oj0L7oYnwTACsfsru/J7r94RM3P9eS7SORGpr3LCeRCMoIMQcpfKZ7X4NdyFHBS8Eg==} peerDependencies: redux: '>=1.0.0' - peerDependenciesMeta: - redux: - optional: true dependencies: redux: 5.0.1 dev: false @@ -19409,9 +19674,6 @@ packages: resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} peerDependencies: redux: ^5.0.0 - peerDependenciesMeta: - redux: - optional: true dependencies: redux: 5.0.1 dev: false @@ -19429,7 +19691,7 @@ packages: resolution: {integrity: sha512-486O8/pQXwj9jV0mVvUnTsxq0uknpBnNJ0eCUhkZqJRQ8KutrT1PhzmumdCeM1hSBF2eMlFPmwECRER4IbKXlQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - '@eslint-community/regexpp': 4.12.2 + '@eslint-community/regexpp': 4.12.1 dev: true /reflect-metadata@0.2.2: @@ -19463,7 +19725,7 @@ packages: resolution: {integrity: sha512-OLxjyjPkVH+rQlBLb1I/P/VTmamSjGkvN5PTV5BXP432k3uVz727J7H29GA5IFiY0m7e1xBN7049Wn59FY3DEQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - '@eslint-community/regexpp': 4.12.2 + '@eslint-community/regexpp': 4.12.1 refa: 0.11.0 dev: true @@ -19701,6 +19963,36 @@ packages: glob: 7.2.3 dev: true + /rollup@4.50.2: + resolution: {integrity: sha512-BgLRGy7tNS9H66aIMASq1qSYbAAJV6Z6WR4QYTvj5FgF15rZ/ympT1uixHXwzbZUBDbkvqUI1KR0fH1FhMaQ9w==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.8 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.50.2 + '@rollup/rollup-android-arm64': 4.50.2 + '@rollup/rollup-darwin-arm64': 4.50.2 + '@rollup/rollup-darwin-x64': 4.50.2 + '@rollup/rollup-freebsd-arm64': 4.50.2 + '@rollup/rollup-freebsd-x64': 4.50.2 + '@rollup/rollup-linux-arm-gnueabihf': 4.50.2 + '@rollup/rollup-linux-arm-musleabihf': 4.50.2 + '@rollup/rollup-linux-arm64-gnu': 4.50.2 + '@rollup/rollup-linux-arm64-musl': 4.50.2 + '@rollup/rollup-linux-loong64-gnu': 4.50.2 + '@rollup/rollup-linux-ppc64-gnu': 4.50.2 + '@rollup/rollup-linux-riscv64-gnu': 4.50.2 + '@rollup/rollup-linux-riscv64-musl': 4.50.2 + '@rollup/rollup-linux-s390x-gnu': 4.50.2 + '@rollup/rollup-linux-x64-gnu': 4.50.2 + '@rollup/rollup-linux-x64-musl': 4.50.2 + '@rollup/rollup-openharmony-arm64': 4.50.2 + '@rollup/rollup-win32-arm64-msvc': 4.50.2 + '@rollup/rollup-win32-ia32-msvc': 4.50.2 + '@rollup/rollup-win32-x64-msvc': 4.50.2 + fsevents: 2.3.3 + /rollup@4.54.0: resolution: {integrity: sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -19731,6 +20023,7 @@ packages: '@rollup/rollup-win32-x64-gnu': 4.54.0 '@rollup/rollup-win32-x64-msvc': 4.54.0 fsevents: 2.3.3 + dev: true /run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} @@ -19810,14 +20103,12 @@ packages: optional: true sass: optional: true - webpack: - optional: true dependencies: klona: 2.0.6 loader-utils: 2.0.4 neo-async: 2.6.2 schema-utils: 3.3.0 - semver: 7.7.3 + semver: 7.7.2 webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -19866,7 +20157,7 @@ packages: /scslre@0.2.0: resolution: {integrity: sha512-4hc49fUMmX3jM0XdFUAPBrs1xwEcdHa0KyjEsjFs+Zfc66mpFpq5YmRgDtl+Ffo6AtJIilfei+yKw8fUn3N88w==} dependencies: - '@eslint-community/regexpp': 4.12.2 + '@eslint-community/regexpp': 4.12.1 refa: 0.11.0 regexp-ast-analysis: 0.6.0 dev: true @@ -19886,7 +20177,7 @@ packages: engines: {node: ^14||^16||>=18} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: - semver: 7.7.3 + semver: 7.7.2 dev: true /semver@5.7.2: @@ -19905,10 +20196,16 @@ packages: lru-cache: 6.0.0 dev: true + /semver@7.7.2: + resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} + engines: {node: '>=10'} + hasBin: true + /semver@7.7.3: resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true + dev: true /send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} @@ -20170,9 +20467,6 @@ packages: engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.72.1 - peerDependenciesMeta: - webpack: - optional: true dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 @@ -20323,7 +20617,7 @@ packages: esbuild: 0.25.9 prettier: 3.6.2 recast: 0.23.11 - semver: 7.7.3 + semver: 7.7.2 ws: 8.18.3 transitivePeerDependencies: - '@testing-library/dom' @@ -20500,9 +20794,6 @@ packages: engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 - peerDependenciesMeta: - webpack: - optional: true dependencies: webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -20809,8 +21100,6 @@ packages: optional: true uglify-js: optional: true - webpack: - optional: true dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 @@ -21014,6 +21303,15 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: false + /ts-api-utils@2.1.0(typescript@5.9.3): + resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} + engines: {node: '>=18.12'} + peerDependencies: + typescript: '>=4.8.4' + dependencies: + typescript: 5.9.3 + dev: true + /ts-api-utils@2.4.0(typescript@5.9.3): resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} @@ -21040,15 +21338,12 @@ packages: peerDependencies: typescript: '*' webpack: '*' - peerDependenciesMeta: - webpack: - optional: true dependencies: chalk: 4.1.2 enhanced-resolve: 4.5.0 loader-utils: 2.0.4 micromatch: 4.0.8 - semver: 7.7.3 + semver: 7.7.2 typescript: 5.9.3 webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -21681,7 +21976,7 @@ packages: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.54.0 + rollup: 4.50.2 sass: 1.70.0 tinyglobby: 0.2.15 optionalDependencies: @@ -22049,8 +22344,6 @@ packages: webpack-bundle-analyzer: '*' webpack-dev-server: '*' peerDependenciesMeta: - webpack: - optional: true webpack-bundle-analyzer: optional: true webpack-dev-server: diff --git a/common/config/rush/version-policies.json b/common/config/rush/version-policies.json index d4abe1dd168..17f1e824dfa 100644 --- a/common/config/rush/version-policies.json +++ b/common/config/rush/version-policies.json @@ -12,14 +12,14 @@ { "definitionName": "lockStepVersion", "policyName": "sdk", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "nextBump": "prerelease", "mainProject": "@gooddata/sdk-ui-all" }, { "definitionName": "lockStepVersion", "policyName": "sdk-examples", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "nextBump": "prerelease", "mainProject": "@gooddata/sdk-ui-all" } diff --git a/examples/sdk-interactive-examples/examples-template/package.json b/examples/sdk-interactive-examples/examples-template/package.json index 4e2f9e15308..05fc2189305 100644 --- a/examples/sdk-interactive-examples/examples-template/package.json +++ b/examples/sdk-interactive-examples/examples-template/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-examples-template", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "GoodData interactive example template", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-attributefilter/package.json b/examples/sdk-interactive-examples/examples/example-attributefilter/package.json index 5193ac682ef..c828910dde7 100644 --- a/examples/sdk-interactive-examples/examples/example-attributefilter/package.json +++ b/examples/sdk-interactive-examples/examples/example-attributefilter/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-attributefilter", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example demonstrates how to use the AttributeFilter component to filter data in a visualization.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-chartconfig/package.json b/examples/sdk-interactive-examples/examples/example-chartconfig/package.json index 4d069621513..61225494576 100644 --- a/examples/sdk-interactive-examples/examples/example-chartconfig/package.json +++ b/examples/sdk-interactive-examples/examples/example-chartconfig/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-chartconfig", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This interactive example demonstrates how to manipulate the chart config.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-columnchart/package.json b/examples/sdk-interactive-examples/examples/example-columnchart/package.json index 2f2dd9fea8f..f49c1e12cce 100644 --- a/examples/sdk-interactive-examples/examples/example-columnchart/package.json +++ b/examples/sdk-interactive-examples/examples/example-columnchart/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-columnchart", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example demonstrates the usage of the ColumnChart component with the viewBy and stackBy properties.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-combochart/package.json b/examples/sdk-interactive-examples/examples/example-combochart/package.json index eb3f1a8f868..e3b75eeb965 100644 --- a/examples/sdk-interactive-examples/examples/example-combochart/package.json +++ b/examples/sdk-interactive-examples/examples/example-combochart/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-combochart", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "Example demonstrates ComboChart secondaryMeasures definition. ", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-dashboard/package.json b/examples/sdk-interactive-examples/examples/example-dashboard/package.json index f7c6dc9683a..dc4f8e1bddb 100644 --- a/examples/sdk-interactive-examples/examples/example-dashboard/package.json +++ b/examples/sdk-interactive-examples/examples/example-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-dashboard", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example shows how to use the Dashboard component.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-datefilter/package.json b/examples/sdk-interactive-examples/examples/example-datefilter/package.json index c4b63c758cd..82ea0604a5a 100644 --- a/examples/sdk-interactive-examples/examples/example-datefilter/package.json +++ b/examples/sdk-interactive-examples/examples/example-datefilter/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-datefilter", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "Example demonstrates usage of Date Filter component.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-dependentfilters/package.json b/examples/sdk-interactive-examples/examples/example-dependentfilters/package.json index 66fcfd1427e..7ddeaf69eb0 100644 --- a/examples/sdk-interactive-examples/examples/example-dependentfilters/package.json +++ b/examples/sdk-interactive-examples/examples/example-dependentfilters/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-dependentfilters", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example demonstrates how to use multiple attribute filters linked together to filter data in a visualization.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-execute/package.json b/examples/sdk-interactive-examples/examples/example-execute/package.json index 5c76bfaf27d..4b025550213 100644 --- a/examples/sdk-interactive-examples/examples/example-execute/package.json +++ b/examples/sdk-interactive-examples/examples/example-execute/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-execute", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example demonstrates using Execute component and build custom visualization.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-granularity/package.json b/examples/sdk-interactive-examples/examples/example-granularity/package.json index 6a2e485473e..269711d5889 100644 --- a/examples/sdk-interactive-examples/examples/example-granularity/package.json +++ b/examples/sdk-interactive-examples/examples/example-granularity/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-granularity", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example exmplains DateFilter granularity ", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-headline/package.json b/examples/sdk-interactive-examples/examples/example-headline/package.json index de77ba73c7f..395a4ebebe0 100644 --- a/examples/sdk-interactive-examples/examples/example-headline/package.json +++ b/examples/sdk-interactive-examples/examples/example-headline/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-headline", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example shows how to use the Headline component.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-pivottable/package.json b/examples/sdk-interactive-examples/examples/example-pivottable/package.json index 65759e49c26..1ca7765c95d 100644 --- a/examples/sdk-interactive-examples/examples/example-pivottable/package.json +++ b/examples/sdk-interactive-examples/examples/example-pivottable/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-pivottable", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "Basic PivotTable manipulation.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-relativedatefilter/package.json b/examples/sdk-interactive-examples/examples/example-relativedatefilter/package.json index ede74cb61d9..37898688e54 100644 --- a/examples/sdk-interactive-examples/examples/example-relativedatefilter/package.json +++ b/examples/sdk-interactive-examples/examples/example-relativedatefilter/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-relativedatefilter", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "Example demonstrates how to set relative DateFilter for visualization.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/examples/example-repeater/package.json b/examples/sdk-interactive-examples/examples/example-repeater/package.json index f6ce8044f3b..bb674518db8 100644 --- a/examples/sdk-interactive-examples/examples/example-repeater/package.json +++ b/examples/sdk-interactive-examples/examples/example-repeater/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-example-repeater", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "This example demonstrates how to use Repeater component.", "license": "LicenseRef-LICENSE", diff --git a/examples/sdk-interactive-examples/package.json b/examples/sdk-interactive-examples/package.json index cfd83678e76..014550a1fd9 100644 --- a/examples/sdk-interactive-examples/package.json +++ b/examples/sdk-interactive-examples/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-interactive-examples", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "private": false, "description": "GoodData React interactive examples", "license": "LicenseRef-LICENSE", diff --git a/libs/api-client-tiger/.eslintrc.cjs b/libs/api-client-tiger/.eslintrc.cjs index 04d42b08dcf..9b5dbd9a7a2 100644 --- a/libs/api-client-tiger/.eslintrc.cjs +++ b/libs/api-client-tiger/.eslintrc.cjs @@ -1,20 +1,17 @@ -// (C) 2020 GoodData Corporation +// (C) 2020-2026 GoodData Corporation const { tsOverride } = require("@gooddata/eslint-config/tsOverride"); module.exports = { extends: ["@gooddata/eslint-config/esm"], rules: { - "import/export": "off", + "import/export": "warn", }, overrides: [ tsOverride(__dirname, { - "@typescript-eslint/no-namespace": "off", - "@typescript-eslint/no-unsafe-assignment": "off", - "@typescript-eslint/naming-convention": "off", - "@typescript-eslint/no-unsafe-return": "off", - "@typescript-eslint/no-unsafe-member-access": "off", - "@typescript-eslint/no-unnecessary-type-assertion": "off", + "@typescript-eslint/no-unsafe-assignment": "warn", + "@typescript-eslint/no-unsafe-return": "warn", + "@typescript-eslint/no-unsafe-member-access": "warn", }), ], }; diff --git a/libs/api-client-tiger/api/api-client-tiger.api.md b/libs/api-client-tiger/api/api-client-tiger.api.md index d6f26ed3c86..58c164b75ab 100644 --- a/libs/api-client-tiger/api/api-client-tiger.api.md +++ b/libs/api-client-tiger/api/api-client-tiger.api.md @@ -23,29 +23,21 @@ import { VisualizationProperties } from '@gooddata/sdk-model'; // @public export interface AacAnalyticsModel { - // (undocumented) - [key: string]: unknown; - // (undocumented) - attribute_hierarchies?: unknown[]; - // (undocumented) - dashboards?: unknown[]; - // (undocumented) - metrics?: unknown[]; - // (undocumented) - plugins?: unknown[]; - // (undocumented) - visualizations?: unknown[]; + attribute_hierarchies?: Array; + dashboards?: Array; + metrics?: Array; + plugins?: Array; + visualizations?: Array; } // @public export class AACAnalyticsModelApi extends MetadataBaseApi implements AACAnalyticsModelApiInterface { - // Warning: (ae-forgotten-export) The symbol "AacAnalyticsModel_2" needs to be exported by the entry point index.d.ts - getAnalyticsModelAac(requestParameters: AACAnalyticsModelApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + getAnalyticsModelAac(requestParameters: AACAnalyticsModelApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; setAnalyticsModelAac(requestParameters: AACAnalyticsModelApiSetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } // @public -export function AACAnalyticsModelApi_GetAnalyticsModelAac(axios: AxiosInstance, basePath: string, requestParameters: AACAnalyticsModelApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; +export function AACAnalyticsModelApi_GetAnalyticsModelAac(axios: AxiosInstance, basePath: string, requestParameters: AACAnalyticsModelApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; // @public export function AACAnalyticsModelApi_SetAnalyticsModelAac(axios: AxiosInstance, basePath: string, requestParameters: AACAnalyticsModelApiSetAnalyticsModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; @@ -54,7 +46,7 @@ export function AACAnalyticsModelApi_SetAnalyticsModelAac(axios: AxiosInstance, export function AACAnalyticsModelApiAxiosParamCreator_GetAnalyticsModelAac(workspaceId: string, exclude?: Array<"ACTIVITY_INFO">, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; // @public -export function AACAnalyticsModelApiAxiosParamCreator_SetAnalyticsModelAac(workspaceId: string, aacAnalyticsModel: AacAnalyticsModel_2, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; +export function AACAnalyticsModelApiAxiosParamCreator_SetAnalyticsModelAac(workspaceId: string, aacAnalyticsModel: AacAnalyticsModel, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; // @public export interface AACAnalyticsModelApiGetAnalyticsModelAacRequest { @@ -64,13 +56,13 @@ export interface AACAnalyticsModelApiGetAnalyticsModelAacRequest { // @public export interface AACAnalyticsModelApiInterface { - getAnalyticsModelAac(requestParameters: AACAnalyticsModelApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + getAnalyticsModelAac(requestParameters: AACAnalyticsModelApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; setAnalyticsModelAac(requestParameters: AACAnalyticsModelApiSetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } // @public export interface AACAnalyticsModelApiSetAnalyticsModelAacRequest { - readonly aacAnalyticsModel: AacAnalyticsModel_2; + readonly aacAnalyticsModel: AacAnalyticsModel; readonly workspaceId: string; } @@ -79,28 +71,23 @@ export type AacAnalyticsModelExclude = "ACTIVITY_INFO"; // @public export class AacApi extends MetadataBaseApi implements AacApiInterface { - // Warning: (ae-forgotten-export) The symbol "AacApiGetAnalyticsModelAacRequest_2" needs to be exported by the entry point index.d.ts - getAnalyticsModelAac(requestParameters: AacApiGetAnalyticsModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; - // Warning: (ae-forgotten-export) The symbol "AacApiGetLogicalModelAacRequest_2" needs to be exported by the entry point index.d.ts - // Warning: (ae-forgotten-export) The symbol "AacLogicalModel_2" needs to be exported by the entry point index.d.ts - getLogicalModelAac(requestParameters: AacApiGetLogicalModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; - // Warning: (ae-forgotten-export) The symbol "AacApiSetAnalyticsModelAacRequest_2" needs to be exported by the entry point index.d.ts - setAnalyticsModelAac(requestParameters: AacApiSetAnalyticsModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; - // Warning: (ae-forgotten-export) The symbol "AacApiSetLogicalModelAacRequest_2" needs to be exported by the entry point index.d.ts - setLogicalModelAac(requestParameters: AacApiSetLogicalModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; + getAnalyticsModelAac(requestParameters: AacApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + getLogicalModelAac(requestParameters: AacApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + setAnalyticsModelAac(requestParameters: AacApiSetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + setLogicalModelAac(requestParameters: AacApiSetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } // @public (undocumented) -export function AacApi_GetAnalyticsModelAac(axios: AxiosInstance, basePath: string, requestParameters: AacApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; +export function AacApi_GetAnalyticsModelAac(axios: AxiosInstance, basePath: string, requestParameters: IAacApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; // @public (undocumented) -export function AacApi_GetLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: AacApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; +export function AacApi_GetLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: IAacApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; // @public (undocumented) -export function AacApi_SetAnalyticsModelAac(axios: AxiosInstance, basePath: string, requestParameters: AacApiSetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; +export function AacApi_SetAnalyticsModelAac(axios: AxiosInstance, basePath: string, requestParameters: IAacApiSetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; // @public (undocumented) -export function AacApi_SetLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: AacApiSetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; +export function AacApi_SetLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: IAacApiSetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; // @public export function AacApiAxiosParamCreator_GetAnalyticsModelAac(workspaceId: string, exclude?: Array<"ACTIVITY_INFO">, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; @@ -109,48 +96,40 @@ export function AacApiAxiosParamCreator_GetAnalyticsModelAac(workspaceId: string export function AacApiAxiosParamCreator_GetLogicalModelAac(workspaceId: string, includeParents?: boolean, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; // @public -export function AacApiAxiosParamCreator_SetAnalyticsModelAac(workspaceId: string, aacAnalyticsModel: AacAnalyticsModel_2, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; +export function AacApiAxiosParamCreator_SetAnalyticsModelAac(workspaceId: string, aacAnalyticsModel: AacAnalyticsModel, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; // @public -export function AacApiAxiosParamCreator_SetLogicalModelAac(workspaceId: string, aacLogicalModel: AacLogicalModel_2, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; +export function AacApiAxiosParamCreator_SetLogicalModelAac(workspaceId: string, aacLogicalModel: AacLogicalModel, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; -// @public (undocumented) +// @public export interface AacApiGetAnalyticsModelAacRequest { - // (undocumented) - readonly exclude?: Array; - // (undocumented) + readonly exclude?: Array<"ACTIVITY_INFO">; readonly workspaceId: string; } -// @public (undocumented) +// @public export interface AacApiGetLogicalModelAacRequest { - // (undocumented) readonly includeParents?: boolean; - // (undocumented) readonly workspaceId: string; } // @public export interface AacApiInterface { - getAnalyticsModelAac(requestParameters: AacApiGetAnalyticsModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; - getLogicalModelAac(requestParameters: AacApiGetLogicalModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; - setAnalyticsModelAac(requestParameters: AacApiSetAnalyticsModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; - setLogicalModelAac(requestParameters: AacApiSetLogicalModelAacRequest_2, options?: AxiosRequestConfig): AxiosPromise; + getAnalyticsModelAac(requestParameters: AacApiGetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + getLogicalModelAac(requestParameters: AacApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + setAnalyticsModelAac(requestParameters: AacApiSetAnalyticsModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + setLogicalModelAac(requestParameters: AacApiSetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } -// @public (undocumented) +// @public export interface AacApiSetAnalyticsModelAacRequest { - // (undocumented) readonly aacAnalyticsModel: AacAnalyticsModel; - // (undocumented) readonly workspaceId: string; } -// @public (undocumented) +// @public export interface AacApiSetLogicalModelAacRequest { - // (undocumented) readonly aacLogicalModel: AacLogicalModel; - // (undocumented) readonly workspaceId: string; } @@ -344,12 +323,12 @@ export interface AacLabelTranslation { // @public export class AACLogicalDataModelApi extends MetadataBaseApi implements AACLogicalDataModelApiInterface { - getLogicalModelAac(requestParameters: AACLogicalDataModelApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + getLogicalModelAac(requestParameters: AACLogicalDataModelApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; setLogicalModelAac(requestParameters: AACLogicalDataModelApiSetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } // @public -export function AACLogicalDataModelApi_GetLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: AACLogicalDataModelApiGetLogicalModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; +export function AACLogicalDataModelApi_GetLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: AACLogicalDataModelApiGetLogicalModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; // @public export function AACLogicalDataModelApi_SetLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: AACLogicalDataModelApiSetLogicalModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; @@ -358,7 +337,7 @@ export function AACLogicalDataModelApi_SetLogicalModelAac(axios: AxiosInstance, export function AACLogicalDataModelApiAxiosParamCreator_GetLogicalModelAac(workspaceId: string, includeParents?: boolean, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; // @public -export function AACLogicalDataModelApiAxiosParamCreator_SetLogicalModelAac(workspaceId: string, aacLogicalModel: AacLogicalModel_2, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; +export function AACLogicalDataModelApiAxiosParamCreator_SetLogicalModelAac(workspaceId: string, aacLogicalModel: AacLogicalModel, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; // @public export interface AACLogicalDataModelApiGetLogicalModelAacRequest { @@ -368,24 +347,20 @@ export interface AACLogicalDataModelApiGetLogicalModelAacRequest { // @public export interface AACLogicalDataModelApiInterface { - getLogicalModelAac(requestParameters: AACLogicalDataModelApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + getLogicalModelAac(requestParameters: AACLogicalDataModelApiGetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; setLogicalModelAac(requestParameters: AACLogicalDataModelApiSetLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } // @public export interface AACLogicalDataModelApiSetLogicalModelAacRequest { - readonly aacLogicalModel: AacLogicalModel_2; + readonly aacLogicalModel: AacLogicalModel; readonly workspaceId: string; } // @public export interface AacLogicalModel { - // (undocumented) - [key: string]: unknown; - // (undocumented) - datasets?: unknown[]; - // (undocumented) - date_datasets?: unknown[]; + datasets?: Array; + date_datasets?: Array; } // @public @@ -611,7 +586,7 @@ export class ActionsApi extends MetadataBaseApi implements ActionsApiInterface { deleteOrganizationAutomations(requestParameters: ActionsApiDeleteOrganizationAutomationsRequest, options?: AxiosRequestConfig): AxiosPromise; deleteWorkspaceAutomations(requestParameters: ActionsApiDeleteWorkspaceAutomationsRequest, options?: AxiosRequestConfig): AxiosPromise; generateLogicalModel(requestParameters: ActionsApiGenerateLogicalModelRequest, options?: AxiosRequestConfig): AxiosPromise; - generateLogicalModelAac(requestParameters: ActionsApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + generateLogicalModelAac(requestParameters: ActionsApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; getDependentEntitiesGraph(requestParameters: ActionsApiGetDependentEntitiesGraphRequest, options?: AxiosRequestConfig): AxiosPromise; getDependentEntitiesGraphFromEntryPoints(requestParameters: ActionsApiGetDependentEntitiesGraphFromEntryPointsRequest, options?: AxiosRequestConfig): AxiosPromise; getTranslationTags(requestParameters: ActionsApiGetTranslationTagsRequest, options?: AxiosRequestConfig): AxiosPromise; @@ -676,7 +651,7 @@ export function ActionsApi_DeleteWorkspaceAutomations(axios: AxiosInstance, base export function ActionsApi_GenerateLogicalModel(axios: AxiosInstance, basePath: string, requestParameters: ActionsApiGenerateLogicalModelRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; // @public -export function ActionsApi_GenerateLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: ActionsApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; +export function ActionsApi_GenerateLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: ActionsApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; // @public export function ActionsApi_GetDependentEntitiesGraph(axios: AxiosInstance, basePath: string, requestParameters: ActionsApiGetDependentEntitiesGraphRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; @@ -1145,7 +1120,7 @@ export interface ActionsApiInterface { deleteOrganizationAutomations(requestParameters: ActionsApiDeleteOrganizationAutomationsRequest, options?: AxiosRequestConfig): AxiosPromise; deleteWorkspaceAutomations(requestParameters: ActionsApiDeleteWorkspaceAutomationsRequest, options?: AxiosRequestConfig): AxiosPromise; generateLogicalModel(requestParameters: ActionsApiGenerateLogicalModelRequest, options?: AxiosRequestConfig): AxiosPromise; - generateLogicalModelAac(requestParameters: ActionsApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + generateLogicalModelAac(requestParameters: ActionsApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; getDependentEntitiesGraph(requestParameters: ActionsApiGetDependentEntitiesGraphRequest, options?: AxiosRequestConfig): AxiosPromise; getDependentEntitiesGraphFromEntryPoints(requestParameters: ActionsApiGetDependentEntitiesGraphFromEntryPointsRequest, options?: AxiosRequestConfig): AxiosPromise; getTranslationTags(requestParameters: ActionsApiGetTranslationTagsRequest, options?: AxiosRequestConfig): AxiosPromise>; @@ -13358,14 +13333,14 @@ export interface GenerateLdmRequest { // @public export class GenerateLogicalDataModelApi extends MetadataBaseApi implements GenerateLogicalDataModelApiInterface { generateLogicalModel(requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelRequest, options?: AxiosRequestConfig): AxiosPromise; - generateLogicalModelAac(requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + generateLogicalModelAac(requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } // @public export function GenerateLogicalDataModelApi_GenerateLogicalModel(axios: AxiosInstance, basePath: string, requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; // @public -export function GenerateLogicalDataModelApi_GenerateLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; +export function GenerateLogicalDataModelApi_GenerateLogicalModelAac(axios: AxiosInstance, basePath: string, requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): AxiosPromise; // @public export function GenerateLogicalDataModelApiAxiosParamCreator_GenerateLogicalModel(dataSourceId: string, generateLdmRequest: GenerateLdmRequest, options?: AxiosRequestConfig, configuration?: MetadataConfiguration): Promise; @@ -13388,7 +13363,7 @@ export interface GenerateLogicalDataModelApiGenerateLogicalModelRequest { // @public export interface GenerateLogicalDataModelApiInterface { generateLogicalModel(requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelRequest, options?: AxiosRequestConfig): AxiosPromise; - generateLogicalModelAac(requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; + generateLogicalModelAac(requestParameters: GenerateLogicalDataModelApiGenerateLogicalModelAacRequest, options?: AxiosRequestConfig): AxiosPromise; } // @public @@ -13526,6 +13501,64 @@ export interface HistogramProperties { bucketCount: number; } +// @public +export interface IAacAnalyticsModel { + // (undocumented) + [key: string]: unknown; + // (undocumented) + attribute_hierarchies?: unknown[]; + // (undocumented) + dashboards?: unknown[]; + // (undocumented) + metrics?: unknown[]; + // (undocumented) + plugins?: unknown[]; + // (undocumented) + visualizations?: unknown[]; +} + +// @public (undocumented) +export interface IAacApiGetAnalyticsModelAacRequest { + // (undocumented) + readonly exclude?: Array; + // (undocumented) + readonly workspaceId: string; +} + +// @public (undocumented) +export interface IAacApiGetLogicalModelAacRequest { + // (undocumented) + readonly includeParents?: boolean; + // (undocumented) + readonly workspaceId: string; +} + +// @public (undocumented) +export interface IAacApiSetAnalyticsModelAacRequest { + // (undocumented) + readonly aacAnalyticsModel: IAacAnalyticsModel; + // (undocumented) + readonly workspaceId: string; +} + +// @public (undocumented) +export interface IAacApiSetLogicalModelAacRequest { + // (undocumented) + readonly aacLogicalModel: IAacLogicalModel; + // (undocumented) + readonly workspaceId: string; +} + +// @public +export interface IAacLogicalModel { + // (undocumented) + [key: string]: unknown; + // (undocumented) + datasets?: unknown[]; + // (undocumented) + date_datasets?: unknown[]; +} + // @public @deprecated (undocumented) interface IAnalyticalDashboard { // (undocumented) @@ -20864,9 +20897,9 @@ export interface LocalIdentifier { } // @public -export interface LocationStyleApiInterface { +export type LocationStyleApiInterface = { getDefaultStyle(): Promise; -} +}; // @public export type LocationStyleDocument = Record; @@ -23842,12 +23875,10 @@ export interface PositiveAttributeFilterPositiveAttributeFilter { } // @public (undocumented) -export interface ProfileApiInterface { - // (undocumented) +export type ProfileApiInterface = { getCurrent: () => Promise; - // (undocumented) getCurrentWithDetails: () => Promise; -} +}; // @public (undocumented) interface Range_2 { diff --git a/libs/api-client-tiger/package.json b/libs/api-client-tiger/package.json index a17683458bc..7e649c2ca7c 100644 --- a/libs/api-client-tiger/package.json +++ b/libs/api-client-tiger/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/api-client-tiger", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "API Client for GoodData Cloud and GoodData.CN", "repository": { "type": "git", diff --git a/libs/api-client-tiger/src/client.ts b/libs/api-client-tiger/src/client.ts index 3e5d2c1efff..ace0c231f08 100644 --- a/libs/api-client-tiger/src/client.ts +++ b/libs/api-client-tiger/src/client.ts @@ -1,4 +1,4 @@ -// (C) 2019-2025 GoodData Corporation +// (C) 2019-2026 GoodData Corporation import { type AxiosInstance } from "axios"; diff --git a/libs/api-client-tiger/src/endpoints/aac/index.ts b/libs/api-client-tiger/src/endpoints/aac/index.ts index 7ca68ae37a4..8f62fcd580e 100644 --- a/libs/api-client-tiger/src/endpoints/aac/index.ts +++ b/libs/api-client-tiger/src/endpoints/aac/index.ts @@ -11,7 +11,7 @@ export type AacAnalyticsModelExclude = "ACTIVITY_INFO"; * permissive so we can expose the endpoint without requiring a full regenerated * OpenAPI client. */ -export interface AacAnalyticsModel { +export interface IAacAnalyticsModel { metrics?: unknown[]; visualizations?: unknown[]; dashboards?: unknown[]; @@ -27,30 +27,30 @@ export interface AacAnalyticsModel { * permissive so we can expose the endpoint without requiring a full regenerated * OpenAPI client. */ -export interface AacLogicalModel { +export interface IAacLogicalModel { datasets?: unknown[]; date_datasets?: unknown[]; [key: string]: unknown; } -export interface AacApiGetAnalyticsModelAacRequest { +export interface IAacApiGetAnalyticsModelAacRequest { readonly workspaceId: string; readonly exclude?: Array; } -export interface AacApiSetAnalyticsModelAacRequest { +export interface IAacApiSetAnalyticsModelAacRequest { readonly workspaceId: string; - readonly aacAnalyticsModel: AacAnalyticsModel; + readonly aacAnalyticsModel: IAacAnalyticsModel; } -export interface AacApiGetLogicalModelAacRequest { +export interface IAacApiGetLogicalModelAacRequest { readonly workspaceId: string; readonly includeParents?: boolean; } -export interface AacApiSetLogicalModelAacRequest { +export interface IAacApiSetLogicalModelAacRequest { readonly workspaceId: string; - readonly aacLogicalModel: AacLogicalModel; + readonly aacLogicalModel: IAacLogicalModel; } const toPathString = (url: URL): string => `${url.pathname}${url.search}${url.hash}`; @@ -84,18 +84,18 @@ const buildUrlWithParams = ( export function AacApi_GetAnalyticsModelAac( axios: AxiosInstance, basePath: string, - requestParameters: AacApiGetAnalyticsModelAacRequest, + requestParameters: IAacApiGetAnalyticsModelAacRequest, options: AxiosRequestConfig = {}, -): AxiosPromise { +): AxiosPromise { const path = `/api/v1/aac/workspaces/${encodeURIComponent(requestParameters.workspaceId)}/analyticsModel`; const url = `${basePath}${buildUrlWithParams(path, { exclude: requestParameters.exclude })}`; - return axios.request({ ...options, method: "GET", url }); + return axios.request({ ...options, method: "GET", url }); } export function AacApi_SetAnalyticsModelAac( axios: AxiosInstance, basePath: string, - requestParameters: AacApiSetAnalyticsModelAacRequest, + requestParameters: IAacApiSetAnalyticsModelAacRequest, options: AxiosRequestConfig = {}, ): AxiosPromise { const path = `/api/v1/aac/workspaces/${encodeURIComponent(requestParameters.workspaceId)}/analyticsModel`; @@ -115,18 +115,18 @@ export function AacApi_SetAnalyticsModelAac( export function AacApi_GetLogicalModelAac( axios: AxiosInstance, basePath: string, - requestParameters: AacApiGetLogicalModelAacRequest, + requestParameters: IAacApiGetLogicalModelAacRequest, options: AxiosRequestConfig = {}, -): AxiosPromise { +): AxiosPromise { const path = `/api/v1/aac/workspaces/${encodeURIComponent(requestParameters.workspaceId)}/logicalModel`; const url = `${basePath}${buildUrlWithParams(path, { includeParents: requestParameters.includeParents })}`; - return axios.request({ ...options, method: "GET", url }); + return axios.request({ ...options, method: "GET", url }); } export function AacApi_SetLogicalModelAac( axios: AxiosInstance, basePath: string, - requestParameters: AacApiSetLogicalModelAacRequest, + requestParameters: IAacApiSetLogicalModelAacRequest, options: AxiosRequestConfig = {}, ): AxiosPromise { const path = `/api/v1/aac/workspaces/${encodeURIComponent(requestParameters.workspaceId)}/logicalModel`; diff --git a/libs/api-client-tiger/src/index.ts b/libs/api-client-tiger/src/index.ts index 2ab07378bba..801c60ea6bc 100644 --- a/libs/api-client-tiger/src/index.ts +++ b/libs/api-client-tiger/src/index.ts @@ -626,13 +626,13 @@ export { AacApi_SetLogicalModelAac, } from "./endpoints/aac/index.js"; export type { - AacAnalyticsModel, + IAacAnalyticsModel, AacAnalyticsModelExclude, - AacLogicalModel, - AacApiGetAnalyticsModelAacRequest, - AacApiGetLogicalModelAacRequest, - AacApiSetAnalyticsModelAacRequest, - AacApiSetLogicalModelAacRequest, + IAacLogicalModel, + IAacApiGetAnalyticsModelAacRequest, + IAacApiGetLogicalModelAacRequest, + IAacApiSetAnalyticsModelAacRequest, + IAacApiSetLogicalModelAacRequest, } from "./endpoints/aac/index.js"; export const defaultTigerClient: ITigerClient = tigerClientFactory(defaultAxios); diff --git a/libs/api-client-tiger/src/locationStyle.ts b/libs/api-client-tiger/src/locationStyle.ts index f6b04ed0999..a202bade160 100644 --- a/libs/api-client-tiger/src/locationStyle.ts +++ b/libs/api-client-tiger/src/locationStyle.ts @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2025-2026 GoodData Corporation import { type AxiosInstance } from "axios"; @@ -10,12 +10,12 @@ export type LocationStyleDocument = Record; /** * Interface describing available operations for location service style endpoint. */ -export interface LocationStyleApiInterface { +export type LocationStyleApiInterface = { /** * Loads the default MapLibre style document configured for the organization. */ getDefaultStyle(): Promise; -} +}; /** * Factory producing a typed client for interacting with the location style endpoint. diff --git a/libs/api-client-tiger/src/metadataUtilities.ts b/libs/api-client-tiger/src/metadataUtilities.ts index 65dc04422c5..74002d2b5f7 100644 --- a/libs/api-client-tiger/src/metadataUtilities.ts +++ b/libs/api-client-tiger/src/metadataUtilities.ts @@ -1,4 +1,4 @@ -// (C) 2019-2025 GoodData Corporation +// (C) 2019-2026 GoodData Corporation import { type AxiosInstance, type AxiosPromise, type GenericAbortSignal } from "axios"; import { merge, uniqBy } from "lodash-es"; @@ -261,7 +261,7 @@ export class MetadataUtilities { data: pages.flatMap((page: any) => page.data) as any, included: uniqBy( // we need the as any because the JsonApiDashboardPluginOutList does not have the "included" property - pages.flatMap((page: any) => (page as any).included ?? []), + pages.flatMap((page: any) => page.included ?? []), (item: any) => `${item.id}_${item.type}`, ) as any, } as T; diff --git a/libs/api-client-tiger/src/profile.ts b/libs/api-client-tiger/src/profile.ts index 886148a906a..cff61b376d2 100644 --- a/libs/api-client-tiger/src/profile.ts +++ b/libs/api-client-tiger/src/profile.ts @@ -1,4 +1,5 @@ -// (C) 2019-2025 GoodData Corporation +// (C) 2019-2026 GoodData Corporation + import { type AxiosInstance } from "axios"; import { type ApiEntitlement, EntitiesApi_GetEntityUsers } from "./generated/metadata-json-api/index.js"; @@ -64,10 +65,10 @@ export interface IUserProfile { deployment?: string; } -export interface ProfileApiInterface { +export type ProfileApiInterface = { getCurrent: () => Promise; getCurrentWithDetails: () => Promise; -} +}; export const tigerProfileClientFactory = (axios: AxiosInstance): ProfileApiInterface => { return { diff --git a/libs/sdk-backend-base/package.json b/libs/sdk-backend-base/package.json index 9058d953159..01efe3ac25d 100644 --- a/libs/sdk-backend-base/package.json +++ b/libs/sdk-backend-base/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-backend-base", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - Base for backend implementations", "repository": { "type": "git", diff --git a/libs/sdk-backend-mockingbird/package.json b/libs/sdk-backend-mockingbird/package.json index 787cc00adde..8990a954e42 100644 --- a/libs/sdk-backend-mockingbird/package.json +++ b/libs/sdk-backend-mockingbird/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-backend-mockingbird", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "Mock GoodData Backend SPI implementation", "repository": { "type": "git", diff --git a/libs/sdk-backend-spi/package.json b/libs/sdk-backend-spi/package.json index 2ba368011fb..d2f072d119b 100644 --- a/libs/sdk-backend-spi/package.json +++ b/libs/sdk-backend-spi/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-backend-spi", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData Backend SPI abstraction interfaces", "repository": { "type": "git", diff --git a/libs/sdk-backend-tiger/api/sdk-backend-tiger.api.md b/libs/sdk-backend-tiger/api/sdk-backend-tiger.api.md index c0277865e04..05a05538812 100644 --- a/libs/sdk-backend-tiger/api/sdk-backend-tiger.api.md +++ b/libs/sdk-backend-tiger/api/sdk-backend-tiger.api.md @@ -4,8 +4,6 @@ ```ts -import { AacAnalyticsModel } from '@gooddata/api-client-tiger/endpoints/aac'; -import { AacLogicalModel } from '@gooddata/api-client-tiger/endpoints/aac'; import { ActionsApiProcessInvitationRequest } from '@gooddata/api-client-tiger'; import { AfmExecution } from '@gooddata/api-client-tiger'; import { AnalyzeCsvRequest } from '@gooddata/api-client-tiger'; @@ -24,6 +22,8 @@ import { DependentEntitiesResponse } from '@gooddata/api-client-tiger'; import { GdStorageFile } from '@gooddata/api-client-tiger'; import { GenerateLdmRequest } from '@gooddata/api-client-tiger'; import { HierarchyObjectIdentification } from '@gooddata/api-client-tiger'; +import { IAacAnalyticsModel } from '@gooddata/api-client-tiger/endpoints/aac'; +import { IAacLogicalModel } from '@gooddata/api-client-tiger/endpoints/aac'; import { IAnalyticalBackend } from '@gooddata/sdk-backend-spi'; import { IAnalyticalBackendConfig } from '@gooddata/sdk-backend-spi'; import { IAuthenticatedPrincipal } from '@gooddata/sdk-backend-spi'; @@ -464,10 +464,10 @@ export type TigerSpecificFunctions = { getWorkspaceEntitiesDatasets?: (id: string) => Promise; getEntitlements?: () => Promise>; putWorkspaceLayout?: (requestParameters: PutWorkspaceLayoutRequest) => Promise; - getWorkspaceAnalyticsModelAac?: (workspaceId: string, exclude?: Array<"ACTIVITY_INFO">) => Promise; - setWorkspaceAnalyticsModelAac?: (workspaceId: string, analyticsModel: AacAnalyticsModel) => Promise; - getWorkspaceLogicalModelAac?: (workspaceId: string, includeParents?: boolean) => Promise; - setWorkspaceLogicalModelAac?: (workspaceId: string, logicalModel: AacLogicalModel) => Promise; + getWorkspaceAnalyticsModelAac?: (workspaceId: string, exclude?: Array<"ACTIVITY_INFO">) => Promise; + setWorkspaceAnalyticsModelAac?: (workspaceId: string, analyticsModel: IAacAnalyticsModel) => Promise; + getWorkspaceLogicalModelAac?: (workspaceId: string, includeParents?: boolean) => Promise; + setWorkspaceLogicalModelAac?: (workspaceId: string, logicalModel: IAacLogicalModel) => Promise; getAllDataSources?: () => Promise; getDataSourceById?: (id: string) => Promise; getDataSourceIdentifierById?: (id: string) => Promise; diff --git a/libs/sdk-backend-tiger/package.json b/libs/sdk-backend-tiger/package.json index 135db054cae..ea3379b900c 100644 --- a/libs/sdk-backend-tiger/package.json +++ b/libs/sdk-backend-tiger/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-backend-tiger", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData Backend SPI implementation for GoodData Cloud and GoodData.CN", "repository": { "type": "git", diff --git a/libs/sdk-backend-tiger/src/backend/tigerSpecificFunctions.ts b/libs/sdk-backend-tiger/src/backend/tigerSpecificFunctions.ts index 7feccdfb459..b1842fda1bd 100644 --- a/libs/sdk-backend-tiger/src/backend/tigerSpecificFunctions.ts +++ b/libs/sdk-backend-tiger/src/backend/tigerSpecificFunctions.ts @@ -53,12 +53,12 @@ import { jsonApiHeaders, } from "@gooddata/api-client-tiger"; import { - type AacAnalyticsModel, AacApi_GetAnalyticsModelAac, AacApi_GetLogicalModelAac, AacApi_SetAnalyticsModelAac, AacApi_SetLogicalModelAac, - type AacLogicalModel, + type IAacAnalyticsModel, + type IAacLogicalModel, } from "@gooddata/api-client-tiger/endpoints/aac"; import { ActionsApi_AllPlatformUsage, @@ -461,10 +461,16 @@ export type TigerSpecificFunctions = { getWorkspaceAnalyticsModelAac?: ( workspaceId: string, exclude?: Array<"ACTIVITY_INFO">, - ) => Promise; - setWorkspaceAnalyticsModelAac?: (workspaceId: string, analyticsModel: AacAnalyticsModel) => Promise; - getWorkspaceLogicalModelAac?: (workspaceId: string, includeParents?: boolean) => Promise; - setWorkspaceLogicalModelAac?: (workspaceId: string, logicalModel: AacLogicalModel) => Promise; + ) => Promise; + setWorkspaceAnalyticsModelAac?: ( + workspaceId: string, + analyticsModel: IAacAnalyticsModel, + ) => Promise; + getWorkspaceLogicalModelAac?: ( + workspaceId: string, + includeParents?: boolean, + ) => Promise; + setWorkspaceLogicalModelAac?: (workspaceId: string, logicalModel: IAacLogicalModel) => Promise; getAllDataSources?: () => Promise; getDataSourceById?: (id: string) => Promise; getDataSourceIdentifierById?: (id: string) => Promise; @@ -1083,7 +1089,7 @@ export const buildTigerSpecificFunctions = ( throw convertApiError(error); } }, - setWorkspaceAnalyticsModelAac: async (workspaceId: string, analyticsModel: AacAnalyticsModel) => { + setWorkspaceAnalyticsModelAac: async (workspaceId: string, analyticsModel: IAacAnalyticsModel) => { try { return await authApiCall(async (sdk) => { await AacApi_SetAnalyticsModelAac(sdk.axios, sdk.basePath, { @@ -1108,7 +1114,7 @@ export const buildTigerSpecificFunctions = ( throw convertApiError(error); } }, - setWorkspaceLogicalModelAac: async (workspaceId: string, logicalModel: AacLogicalModel) => { + setWorkspaceLogicalModelAac: async (workspaceId: string, logicalModel: IAacLogicalModel) => { try { return await authApiCall(async (sdk) => { await AacApi_SetLogicalModelAac(sdk.axios, sdk.basePath, { diff --git a/libs/sdk-backend-tiger/src/convertors/fromBackend/MemoryItemConverter.ts b/libs/sdk-backend-tiger/src/convertors/fromBackend/MemoryItemConverter.ts index 1194f09c5a6..fcbdd698bdc 100644 --- a/libs/sdk-backend-tiger/src/convertors/fromBackend/MemoryItemConverter.ts +++ b/libs/sdk-backend-tiger/src/convertors/fromBackend/MemoryItemConverter.ts @@ -1,4 +1,4 @@ -// (C) 2024-2025 GoodData Corporation +// (C) 2024-2026 GoodData Corporation import { invariant } from "ts-invariant"; @@ -11,6 +11,7 @@ import { import { type IMemoryCreatedByUsers } from "@gooddata/sdk-backend-spi"; import { type IMemoryItemMetadataObject, type IUser, idRef } from "@gooddata/sdk-model"; +import { isInheritedObject } from "./ObjectInheritance.js"; import { type IIncludedWithUserIdentifier, convertUserIdentifier } from "./UsersConverter.js"; /** @@ -25,6 +26,7 @@ export function convertMemoryItem( return { id: memoryItem.id, type: "memoryItem", + isLocked: isInheritedObject(memoryItem), title: memoryItem.attributes?.title ?? "", description: memoryItem.attributes?.description ?? "", tags: memoryItem.attributes?.tags, diff --git a/libs/sdk-embedding/package.json b/libs/sdk-embedding/package.json index 4d5305464ee..4fe283d8459 100644 --- a/libs/sdk-embedding/package.json +++ b/libs/sdk-embedding/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-embedding", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData Embedding APIs", "repository": { "type": "git", diff --git a/libs/sdk-model/api/sdk-model.api.md b/libs/sdk-model/api/sdk-model.api.md index 624e1f5eaae..7cf08820050 100644 --- a/libs/sdk-model/api/sdk-model.api.md +++ b/libs/sdk-model/api/sdk-model.api.md @@ -2726,26 +2726,19 @@ export interface IMeasureValueFilterRangeOptions { // @public export interface IMemoryItemDefinition { - // (undocumented) description: string; - // (undocumented) instruction: string; - // (undocumented) isDisabled: boolean; - // (undocumented) keywords?: string[]; - // (undocumented) strategy: MemoryItemStrategy; - // (undocumented) tags?: string[]; - // (undocumented) title: string; } // @public export interface IMemoryItemMetadataObject extends IMetadataObject, IMemoryItemDefinition { - // (undocumented) createdBy: IUser | undefined; + isLocked?: boolean; // (undocumented) type: "memoryItem"; } diff --git a/libs/sdk-model/package.json b/libs/sdk-model/package.json index fbca62eafe5..59a0e5eabd0 100644 --- a/libs/sdk-model/package.json +++ b/libs/sdk-model/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-model", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData Model definitions used by UI components and Backend SPI", "repository": { "type": "git", diff --git a/libs/sdk-model/src/ldm/metadata/memoryItem/index.ts b/libs/sdk-model/src/ldm/metadata/memoryItem/index.ts index f50a985741c..9c82e2d71f9 100644 --- a/libs/sdk-model/src/ldm/metadata/memoryItem/index.ts +++ b/libs/sdk-model/src/ldm/metadata/memoryItem/index.ts @@ -1,4 +1,4 @@ -// (C) 2019-2025 GoodData Corporation +// (C) 2019-2026 GoodData Corporation import { type IUser } from "../../../user/index.js"; import { type IMetadataObject, isMetadataObject } from "../types.js"; @@ -14,12 +14,33 @@ export type MemoryItemStrategy = "ALWAYS" | "AUTO"; * @public */ export interface IMemoryItemDefinition { + /** + * Title associated with the memory item + */ title: string; + /** + * Description associated with the memory item + */ description: string; + /** + * Tags associated with the memory item + */ tags?: string[]; + /** + * Strategy associated with the memory item + */ strategy: MemoryItemStrategy; + /** + * Instructions associated with the memory item + */ instruction: string; + /** + * Whether the memory item is disabled + */ isDisabled: boolean; + /** + * Keywords associated with the memory item + */ keywords?: string[]; } @@ -30,6 +51,15 @@ export interface IMemoryItemDefinition { */ export interface IMemoryItemMetadataObject extends IMetadataObject, IMemoryItemDefinition { type: "memoryItem"; + + /** + * Whether the memory is locked for editing + */ + isLocked?: boolean; + + /** + * The user who created the memory item + */ createdBy: IUser | undefined; } diff --git a/libs/sdk-ui-all/package.json b/libs/sdk-ui-all/package.json index f6fb1de36ca..0a454c3cafd 100644 --- a/libs/sdk-ui-all/package.json +++ b/libs/sdk-ui-all/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-all", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK - All-In-One", "repository": { "type": "git", diff --git a/libs/sdk-ui-catalog/package.json b/libs/sdk-ui-catalog/package.json index 88687e53742..92070b01be1 100644 --- a/libs/sdk-ui-catalog/package.json +++ b/libs/sdk-ui-catalog/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-catalog", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK - Analytics Catalog", "repository": { "type": "git", diff --git a/libs/sdk-ui-catalog/src/catalogDetail/CatalogDetailContent.tsx b/libs/sdk-ui-catalog/src/catalogDetail/CatalogDetailContent.tsx index 77fa72c52d1..b2376abb750 100644 --- a/libs/sdk-ui-catalog/src/catalogDetail/CatalogDetailContent.tsx +++ b/libs/sdk-ui-catalog/src/catalogDetail/CatalogDetailContent.tsx @@ -183,6 +183,7 @@ export function CatalogDetailContent({ { onOpenClick?.(event, { item, diff --git a/libs/sdk-ui-catalog/src/localization/bundles/en-US.json b/libs/sdk-ui-catalog/src/localization/bundles/en-US.json index 0dfc9b7f4e7..53a4f388235 100644 --- a/libs/sdk-ui-catalog/src/localization/bundles/en-US.json +++ b/libs/sdk-ui-catalog/src/localization/bundles/en-US.json @@ -479,6 +479,14 @@ "text": "Last checked: {date}", "crowdinContext": "Text that is prepended to the date of the last check of the quality score card." }, + "analyticsCatalog.quality.severity.warning": { + "text": "{count, plural, one {warning} other {warnings}}", + "crowdinContext": "Semantic quality score card: Accessibility label for the warning severity icon. The number is displayed next to the icon; this label provides only the severity word. Example output: if count is 1, output is 'warning'; if count is 3, output is 'warnings'." + }, + "analyticsCatalog.quality.severity.suggestion": { + "text": "{count, plural, one {suggestion} other {suggestions}}", + "crowdinContext": "Semantic quality score card: Accessibility label for the suggestion severity icon. The number is displayed next to the icon; this label provides only the severity word. Example output: if count is 1, output is 'suggestion'; if count is 3, output is 'suggestions'." + }, "metricComponent.metricType.label": { "text": "Metric type", "crowdinContext": "Analytics Catalog detail drawer: Label for the dropdown that selects whether a measure is treated as currency or left unspecified." diff --git a/libs/sdk-ui-catalog/src/quality/QualityScoreCardScore.tsx b/libs/sdk-ui-catalog/src/quality/QualityScoreCardScore.tsx index 88c212347f1..f4f12d746b5 100644 --- a/libs/sdk-ui-catalog/src/quality/QualityScoreCardScore.tsx +++ b/libs/sdk-ui-catalog/src/quality/QualityScoreCardScore.tsx @@ -27,7 +27,7 @@ export function QualityScoreCardScore({ issues, isLoading }: Props) { return (
{issues.length} - +
); }) diff --git a/libs/sdk-ui-catalog/src/quality/QualitySeverityIcon.tsx b/libs/sdk-ui-catalog/src/quality/QualitySeverityIcon.tsx index fb4e962fcae..6bbd99fdc0f 100644 --- a/libs/sdk-ui-catalog/src/quality/QualitySeverityIcon.tsx +++ b/libs/sdk-ui-catalog/src/quality/QualitySeverityIcon.tsx @@ -1,5 +1,7 @@ // (C) 2025-2026 GoodData Corporation +import { useIntl } from "react-intl"; + import type { SemanticQualityIssueSeverity } from "@gooddata/sdk-model"; import { type ThemeColor, UiIcon } from "@gooddata/sdk-ui-kit"; @@ -8,9 +10,13 @@ type Props = { size?: number; backgroundSize?: number; backgroundColor?: ThemeColor; + /** Optional count of issues for this severity. Used for pluralized accessible label. */ + count?: number; }; -export function QualitySeverityIcon({ severity, size, backgroundSize, backgroundColor }: Props) { +export function QualitySeverityIcon({ severity, count = 1, size, backgroundSize, backgroundColor }: Props) { + const intl = useIntl(); + if (severity === "WARNING") { return ( ); } @@ -29,6 +41,12 @@ export function QualitySeverityIcon({ severity, size, backgroundSize, background size={size} backgroundSize={backgroundSize} backgroundColor={backgroundColor} + accessibilityConfig={{ + ariaLabel: intl.formatMessage( + { id: "analyticsCatalog.quality.severity.suggestion" }, + { count }, + ), + }} /> ); } diff --git a/libs/sdk-ui-catalog/styles/scss/detail.scss b/libs/sdk-ui-catalog/styles/scss/detail.scss index a5d5af18623..e61ade0e6e6 100644 --- a/libs/sdk-ui-catalog/styles/scss/detail.scss +++ b/libs/sdk-ui-catalog/styles/scss/detail.scss @@ -14,10 +14,13 @@ $content-font-size: 14px; .gd-analytics-catalog-detail { font-family: kit-variables.$gd-font-primary; font-size: $content-font-size; - min-width: $width; - max-width: $width; + width: $width; height: 100%; + @media #{kit-variables.$small-only} { + width: 100%; + } + &__loading, &__error { display: flex; diff --git a/libs/sdk-ui-catalog/styles/scss/main.scss b/libs/sdk-ui-catalog/styles/scss/main.scss index a466e7c1b2f..e0c03b9b841 100644 --- a/libs/sdk-ui-catalog/styles/scss/main.scss +++ b/libs/sdk-ui-catalog/styles/scss/main.scss @@ -103,6 +103,7 @@ $content-font-size: 14px; display: flex; gap: 10px; align-items: center; + flex-wrap: wrap; &__title { font-size: 11px; @@ -196,7 +197,9 @@ $content-font-size: 14px; } &__quality-score-card { - width: 280px; + box-sizing: border-box; + width: 100%; + max-width: 280px; display: grid; grid-template-columns: 1fr auto; align-items: center; diff --git a/libs/sdk-ui-charts/package.json b/libs/sdk-ui-charts/package.json index b284fa8e4c2..b43818c9185 100644 --- a/libs/sdk-ui-charts/package.json +++ b/libs/sdk-ui-charts/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-charts", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - Charts", "repository": { "type": "git", diff --git a/libs/sdk-ui-charts/src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx b/libs/sdk-ui-charts/src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx index 3140acb626c..fb87cf6a9f5 100644 --- a/libs/sdk-ui-charts/src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx +++ b/libs/sdk-ui-charts/src/charts/headline/internal/headlines/baseHeadline/baseHeadlineDataItems/withTitle.tsx @@ -1,4 +1,4 @@ -// (C) 2023-2025 GoodData Corporation +// (C) 2023-2026 GoodData Corporation import { type ComponentType } from "react"; @@ -12,9 +12,10 @@ export const withTitle = ( function WithTitle(props: T & IWithTitleProps) { const { shouldHideTitle, titleRef, dataItem } = props; return ( - <> - - {shouldHideTitle ? null : ( +
+ {shouldHideTitle ? ( +
{dataItem?.title}
+ ) : (
( {dataItem?.title}
)} - + +
); } return wrapDisplayName("withTitle", BaseHeadlineDataItem)(WithTitle); diff --git a/libs/sdk-ui-charts/styles/scss/headline.scss b/libs/sdk-ui-charts/styles/scss/headline.scss index 2ce70ac99de..564e242abd2 100644 --- a/libs/sdk-ui-charts/styles/scss/headline.scss +++ b/libs/sdk-ui-charts/styles/scss/headline.scss @@ -11,6 +11,17 @@ width: 100%; height: 100%; + // Wrapper for items with title and value + .headline-item-with-title { + display: contents; // Don't interfere with parent layout + } + + // In compare section, apply flex layout and reverse visual order + .headline-compare-section-item .headline-item-with-title { + display: flex; + flex-direction: column-reverse; + } + .primary-section { &.gd-flex-container { justify-content: center; diff --git a/libs/sdk-ui-dashboard/package.json b/libs/sdk-ui-dashboard/package.json index 2476a54b6e5..349f5c03b7c 100644 --- a/libs/sdk-ui-dashboard/package.json +++ b/libs/sdk-ui-dashboard/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-dashboard", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK - Dashboard Component", "repository": { "type": "git", diff --git a/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/AttributeBar.tsx b/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/AttributeBar.tsx index 1766c8b682c..5dd732a4da8 100644 --- a/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/AttributeBar.tsx +++ b/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/AttributeBar.tsx @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2025-2026 GoodData Corporation import { type MutableRefObject, useCallback, useId } from "react"; @@ -166,6 +166,8 @@ function KdaAttributeFilterDropdownButtonComponent( }} accessibilityConfig={{ isExpanded: props.isOpen, + popupId: props.dropdownId, + popupType: "dialog", deleteAriaLabel: props.deleteAriaLabel, ariaDescribedBy: attributeFilterTooltipId, }} diff --git a/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/DateBar.tsx b/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/DateBar.tsx index 158f4092ac9..b90a8a72318 100644 --- a/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/DateBar.tsx +++ b/libs/sdk-ui-dashboard/src/kdaDialog/components/bars/DateBar.tsx @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2025-2026 GoodData Corporation import { type RefObject, useMemo, useRef, useState } from "react"; @@ -21,6 +21,7 @@ export function DateBar(props: IDateBarProps) { const intl = useIntl(); const ref = useRef(null); const [isActive, setIsActive] = useState(false); + const listboxId = "kda-dialog-date-bar"; const splitter = intl.formatMessage({ id: "kdaDialog.dialog.bars.date.splitter" }); const label = intl.formatMessage( @@ -59,7 +60,19 @@ export function DateBar(props: IDateBarProps) { anchor={ } + anchor={ + + } title={intl.formatMessage({ id: "kdaDialog.dialog.bars.date.period.title" })} initialFocus={ref as RefObject} content={({ onClose }) => ( @@ -69,7 +82,7 @@ export function DateBar(props: IDateBarProps) { selectedItemId={props.options.period} items={items} ariaAttributes={{ - id: "kda-dialog-date-bar", + id: listboxId, }} onClose={onClose} onSelect={(item) => { diff --git a/libs/sdk-ui-dashboard/src/kdaDialog/composition/AddFilterButton.tsx b/libs/sdk-ui-dashboard/src/kdaDialog/composition/AddFilterButton.tsx index d6e41a7afe8..5215094c954 100644 --- a/libs/sdk-ui-dashboard/src/kdaDialog/composition/AddFilterButton.tsx +++ b/libs/sdk-ui-dashboard/src/kdaDialog/composition/AddFilterButton.tsx @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2025-2026 GoodData Corporation import { type RefObject, useCallback, useId, useMemo } from "react"; @@ -45,7 +45,7 @@ export function AddFilterButton() { ref={buttonRef as RefObject} accessibilityConfig={{ ariaLabel: tooltipText, - ariaControls: attributesDropdownId, + ariaControls: isOpen ? attributesDropdownId : undefined, ariaExpanded: isOpen, ariaHaspopup: "dialog", }} diff --git a/libs/sdk-ui-dashboard/src/kdaDialog/dialog/KdaDialog.tsx b/libs/sdk-ui-dashboard/src/kdaDialog/dialog/KdaDialog.tsx index 2a643701408..19e115a2c3a 100644 --- a/libs/sdk-ui-dashboard/src/kdaDialog/dialog/KdaDialog.tsx +++ b/libs/sdk-ui-dashboard/src/kdaDialog/dialog/KdaDialog.tsx @@ -28,6 +28,9 @@ import { KdaErrorComponent, KdaErrorType } from "../components/KdaErrorComponent const overlayController = OverlayController.getInstance(KDA_DIALOG_OVERS_Z_INDEX); +const KDA_DIALOG_MINIMIZED_DATA_TEST_ID = "kda-dialog-minimized"; +const KDA_DIALOG_EXPANDED_DATA_TEST_ID = "kda-dialog-expanded"; + /** * @internal */ @@ -65,6 +68,7 @@ export function KdaDialog({ className, showCloseButton = true, onClose }: IKdaDi displayCloseButton={displayCloseButton} onClose={onClose} CloseButton={KdaDialogControls} + dataTestId={KDA_DIALOG_MINIMIZED_DATA_TEST_ID} > , + attributeFilterDisplayAsLabelMap: Map, +): boolean { + return drillIntersectionFilters.some(({ attributeFilter, primaryLabel }) => { + const displayForm = attributeFilter.attributeFilter.displayForm; + return ( + findMatchingVirtualFilter( + [virtualFilter], + attributeFilterDisplayAsLabelMap, + displayForm, + primaryLabel, + ) !== undefined + ); + }); +} + function shouldUpdateExistingFiltering( crossFilteringItemByWidget: { filterLocalIdentifiers: string[] } | undefined, - drillIntersectionFiltersLength: number, + drillIntersectionFilters: ReturnType, + currentVirtualFilters: IDashboardAttributeFilter[], + attributeFilterDisplayAsLabelMap: Map, ): boolean { - /** - * Intersection may have multiple lengths in pivot table so we need to make sure that when we are updating existing - * cross-filtering, the intersection length has to be larger or the same than the current virtual filters length. - * Otherwise we would want the cross-filtering to be reset together with all virtual filters. - */ - return ( - !isEmpty(crossFilteringItemByWidget) && - crossFilteringItemByWidget!.filterLocalIdentifiers.length <= drillIntersectionFiltersLength + if (isEmpty(crossFilteringItemByWidget)) { + return false; + } + + // Intersection may have multiple lengths in pivot table so we need to make sure that when we are updating existing + // cross-filtering, the intersection length has to be larger or the same than the current virtual filters length. + // Otherwise we would want the cross-filtering to be reset together with all virtual filters. + if (crossFilteringItemByWidget!.filterLocalIdentifiers.length > drillIntersectionFilters.length) { + return false; + } + + // Only update if every existing filter has a matching attribute in the new intersection. + // This prevents filter accumulation when clicking on different structures (e.g., different geo chart layers + // with different attributes) while still allowing updates when clicking on the same structure with different values. + return currentVirtualFilters.every((vf) => + virtualFilterHasMatchInIntersection(vf, drillIntersectionFilters, attributeFilterDisplayAsLabelMap), ); } @@ -134,7 +165,9 @@ export function* crossFilteringHandler(ctx: DashboardContext, cmd: CrossFilterin const shouldUpdateExisting = shouldUpdateExistingFiltering( crossFilteringItemByWidget, - drillIntersectionFilters.length, + drillIntersectionFilters, + currentVirtualFilters, + attributeFilterDisplayAsLabelMap, ); const virtualFilters = drillIntersectionFilters.map((drillFilterData, i) => { diff --git a/libs/sdk-ui-dashboard/src/presentation/automationFilters/components/AutomationFiltersSelect.tsx b/libs/sdk-ui-dashboard/src/presentation/automationFilters/components/AutomationFiltersSelect.tsx index 36c93d4f09a..4dc92644bdb 100644 --- a/libs/sdk-ui-dashboard/src/presentation/automationFilters/components/AutomationFiltersSelect.tsx +++ b/libs/sdk-ui-dashboard/src/presentation/automationFilters/components/AutomationFiltersSelect.tsx @@ -1,4 +1,4 @@ -// (C) 2025 GoodData Corporation +// (C) 2025-2026 GoodData Corporation import { type KeyboardEvent, type ReactElement, type ReactNode, useState } from "react"; @@ -419,7 +419,9 @@ export function AutomationFiltersSelect({ }} accessibilityConfig={{ ariaLabel: tabTooltipText, - ariaControls: `${AUTOMATION_FILTERS_DIALOG_ID}-${tab.tabId}`, + ariaControls: isOpen + ? `${AUTOMATION_FILTERS_DIALOG_ID}-${tab.tabId}` + : undefined, ariaExpanded: isOpen, ariaHaspopup: "dialog", }} @@ -534,7 +536,9 @@ export function AutomationFiltersSelect({ }} accessibilityConfig={{ ariaLabel: tooltipText, - ariaControls: AUTOMATION_FILTERS_DIALOG_ID, + ariaControls: isOpen + ? AUTOMATION_FILTERS_DIALOG_ID + : undefined, ariaExpanded: isOpen, ariaHaspopup: "dialog", }} diff --git a/libs/sdk-ui-dashboard/src/presentation/localization/bundles/en-US.json b/libs/sdk-ui-dashboard/src/presentation/localization/bundles/en-US.json index 0f8061f9b89..884bd0adaa9 100644 --- a/libs/sdk-ui-dashboard/src/presentation/localization/bundles/en-US.json +++ b/libs/sdk-ui-dashboard/src/presentation/localization/bundles/en-US.json @@ -396,8 +396,8 @@ "crowdinContext": "Label for viewing more details about drill interactions" }, "drill_modal_picker.drill_to_url.disabled.missing_attributes": { - "text": "Drill action unavailable. Missing attributes: {attributes}", - "crowdinContext": "Tooltip text shown when a drill to URL action is disabled because required attribute values are not present in the clicked data point. The {attributes} placeholder contains a comma-separated list of missing attribute names. Example output: 'Drill unavailable. Missing attributes: City, Region'" + "text": "Error: Drill unavailable. Select an item that includes: {attributes}.", + "crowdinContext": "Tooltip text shown when a drill to URL action is disabled because required attribute values are not present in the clicked data point. The {attributes} placeholder contains a comma-separated list of missing attribute names." }, "drill_modal_picker.label": { "text": "Choose drill action", diff --git a/libs/sdk-ui-dashboard/src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.tsx b/libs/sdk-ui-dashboard/src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.tsx index 8e499b10475..415c7587595 100644 --- a/libs/sdk-ui-dashboard/src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.tsx +++ b/libs/sdk-ui-dashboard/src/presentation/widget/insight/ViewModeDashboardInsight/InsightDrillDialog/DrillDialogExportDropdown.tsx @@ -1,4 +1,4 @@ -// (C) 2021-2025 GoodData Corporation +// (C) 2021-2026 GoodData Corporation import { useCallback } from "react"; @@ -204,7 +204,10 @@ function DropdownTriggerButton({ label={formatMessage({ id: "dialogs.export.submit" })} variant="tertiary" isDisabled={isDisabled} - accessibilityConfig={accessibilityConfig} + accessibilityConfig={{ + ...accessibilityConfig, + ariaHaspopup: "menu", + }} /> ); } diff --git a/libs/sdk-ui-dashboard/src/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.tsx b/libs/sdk-ui-dashboard/src/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.tsx index 3668eebfbe5..9197b35420f 100644 --- a/libs/sdk-ui-dashboard/src/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.tsx +++ b/libs/sdk-ui-dashboard/src/presentation/widget/insightMenu/DefaultDashboardInsightMenu/DashboardInsightMenuButton.tsx @@ -1,4 +1,4 @@ -// (C) 2021-2025 GoodData Corporation +// (C) 2021-2026 GoodData Corporation import { type KeyboardEvent, type ReactElement, useCallback } from "react"; @@ -40,6 +40,7 @@ export function DashboardInsightMenuButton({ } const widgetRefAsString = objRefToString(widgetRef(widget)); + const menuId = `insight-menu-${widgetRefAsString}`; const optionsIconClasses = cx( "dash-item-action-options", @@ -68,6 +69,9 @@ export function DashboardInsightMenuButton({ role="button" tabIndex={0} aria-label={intl.formatMessage({ id: "controlButtons.options.tooltip" })} + aria-expanded={isOpen} + aria-haspopup="menu" + aria-controls={isOpen ? menuId : undefined} >
diff --git a/libs/sdk-ui-ext/package.json b/libs/sdk-ui-ext/package.json index 79ed273bbd7..5f92c0a7075 100644 --- a/libs/sdk-ui-ext/package.json +++ b/libs/sdk-ui-ext/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-ext", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - Extensions", "repository": { "type": "git", diff --git a/libs/sdk-ui-filters/package.json b/libs/sdk-ui-filters/package.json index f5fe1ea5f96..14088e14225 100644 --- a/libs/sdk-ui-filters/package.json +++ b/libs/sdk-ui-filters/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-filters", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - Filter Components", "repository": { "type": "git", diff --git a/libs/sdk-ui-filters/src/MeasureValueFilter/AttributePicker.tsx b/libs/sdk-ui-filters/src/MeasureValueFilter/AttributePicker.tsx index 71b57ad2dec..d9d693a0279 100644 --- a/libs/sdk-ui-filters/src/MeasureValueFilter/AttributePicker.tsx +++ b/libs/sdk-ui-filters/src/MeasureValueFilter/AttributePicker.tsx @@ -14,6 +14,7 @@ import { UiIcon, UiIconButton, UiListbox, + UiSubmenuHeader, } from "@gooddata/sdk-ui-kit"; import { type IDateDatasetOption, type IDimensionalityItem } from "./typings.js"; @@ -244,21 +245,11 @@ export const AttributePicker = memo(function AttributePicker({ className="gd-mvf-attribute-picker-body s-mvf-attribute-picker" data-testid="mvf-attribute-picker" > -
-
- {intl.formatMessage({ id: "mvf.attributePicker.title" })} -
- -
+
{ +/** + * Get the user message before the assistant message, or undefined if there isn't one. + * This is useful for dynamically created assistant messages that don't have a preceding user message. + */ +const getUserMessageBeforeSafe = ( + state: MessagesSliceState, + assistantMessageId: string, +): UserMessage | undefined => { const messageIndex = state.messageOrder.indexOf(assistantMessageId); - const message = state.messages[state.messageOrder[messageIndex - 1]]; - if (!isUserMessage(message)) { - throw new Error(`Unexpected error during message evaluation.`); + if (messageIndex <= 0) { + return undefined; } - return message; + const message = state.messages[state.messageOrder[messageIndex - 1]]; + return isUserMessage(message) ? message : undefined; }; const messagesSlice = createSlice({ @@ -211,9 +218,13 @@ const messagesSlice = createSlice({ assistantMessage.content.push(...payload.contents); assistantMessage.cancelled = false; - // Also update the interaction id in the relevant user message - const userMessage = getUserMessageBeforeStrict(state, payload.assistantMessageId); - userMessage.id = payload.interactionId ?? userMessage.id; + // Also update the interaction id in the relevant user message (if one exists) + // Note: dynamically created assistant messages (for multi-interaction streams) + // may not have a preceding user message + const userMessage = getUserMessageBeforeSafe(state, payload.assistantMessageId); + if (userMessage) { + userMessage.id = payload.interactionId ?? userMessage.id; + } }, evaluateMessageCompleteAction: ( state, diff --git a/libs/sdk-ui-gen-ai/src/store/sideEffects/onUserMessage.ts b/libs/sdk-ui-gen-ai/src/store/sideEffects/onUserMessage.ts index 7e89df45799..3322d15a03b 100644 --- a/libs/sdk-ui-gen-ai/src/store/sideEffects/onUserMessage.ts +++ b/libs/sdk-ui-gen-ai/src/store/sideEffects/onUserMessage.ts @@ -1,4 +1,4 @@ -// (C) 2024-2025 GoodData Corporation +// (C) 2024-2026 GoodData Corporation import { type PayloadAction } from "@reduxjs/toolkit"; import { call, cancel, cancelled, getContext, put, select } from "redux-saga/effects"; @@ -34,7 +34,8 @@ import { * @internal */ export function* onUserMessage({ payload }: PayloadAction) { - let newAssistantMessage: AssistantMessage | undefined = undefined; + let initialAssistantMessage: AssistantMessage | undefined = undefined; + let lastAssistantMessage: AssistantMessage | undefined = undefined; try { // Make sure the message is a user message and it got text contents @@ -49,10 +50,10 @@ export function* onUserMessage({ payload }: PayloadAction) { } // Create a new empty assistant message - newAssistantMessage = makeAssistantMessage([]); + initialAssistantMessage = makeAssistantMessage([]); // Set evaluation state in store - yield put(evaluateMessageAction({ message: newAssistantMessage })); + yield put(evaluateMessageAction({ message: initialAssistantMessage })); // Retrieve backend from context const backend: IAnalyticalBackend = yield getContext("backend"); @@ -61,14 +62,23 @@ export function* onUserMessage({ payload }: PayloadAction) { // Make the request to start the evaluation const chatThreadQuery = backend.workspace(workspace).genAI().getChatThread().query(textContents); - yield call(evaluateUserMessage, newAssistantMessage, chatThreadQuery); + // evaluateUserMessage may create additional assistant messages if the stream contains + // multiple interaction IDs. It returns the last message that needs to be completed. + const result: EvaluateUserMessageResult = yield call( + evaluateUserMessage, + initialAssistantMessage, + chatThreadQuery, + ); + lastAssistantMessage = result.lastAssistantMessage; } catch (e) { const wasCanceled: boolean = yield cancelled(); - if (newAssistantMessage && !wasCanceled) { + // On error, mark the last known message (or initial if no result yet) + const messageToError = lastAssistantMessage ?? initialAssistantMessage; + if (messageToError && !wasCanceled) { yield put( evaluateMessageErrorAction({ - assistantMessageId: newAssistantMessage.localId, + assistantMessageId: messageToError.localId, error: extractError(e), }), ); @@ -76,22 +86,46 @@ export function* onUserMessage({ payload }: PayloadAction) { } finally { const wasCanceled: boolean = yield cancelled(); - if (newAssistantMessage && !wasCanceled) { - yield put( - evaluateMessageCompleteAction({ - assistantMessageId: newAssistantMessage.localId, - }), - ); + // Mark the last assistant message as complete + const messageToComplete = lastAssistantMessage ?? initialAssistantMessage; + if (messageToComplete && !wasCanceled) { + // Check if the message still exists before marking it complete + // (it may have been removed if the chat was cleared) + const currentMessages: Message[] = yield select(messagesSelector); + const messageExists = currentMessages.some((m) => m.localId === messageToComplete.localId); + + if (messageExists) { + yield put( + evaluateMessageCompleteAction({ + assistantMessageId: messageToComplete.localId, + }), + ); + } } } } +/** + * Result of evaluating a user message, containing all assistant messages created during the stream. + */ +type EvaluateUserMessageResult = { + /** + * The last assistant message that was being processed when the stream ended. + * This is the message that needs to be marked as complete by the caller. + */ + lastAssistantMessage: AssistantMessage; +}; + function* evaluateUserMessage(message: AssistantMessage, preparedChatThread: IChatThreadQuery) { let reader: ReadableStreamReader | undefined = undefined; const settings: IUserWorkspaceSettings | undefined = yield select(settingsSelector); const objectTypes: GenAIObjectType[] | undefined = yield select(objectTypesSelector); const showReasoning = Boolean(settings?.enableGenAIReasoningVisibility); + // Track interaction ID to assistant message mapping + let currentAssistantMessage = message; + let currentInteractionId: string | undefined = undefined; + try { const results: ReadableStream = yield call([ preparedChatThread @@ -112,15 +146,52 @@ function* evaluateUserMessage(message: AssistantMessage, preparedChatThread: ICh } if (value) { + const chunkInteractionId = value.chatHistoryInteractionId; + + // If we see a NEW interaction ID, create a new assistant message + if ( + chunkInteractionId && + currentInteractionId && + chunkInteractionId !== currentInteractionId + ) { + // Check if the current message still exists before marking it complete + // (it may have been removed if the chat was cleared) + const currentMessages: Message[] = yield select(messagesSelector); + const messageExists = currentMessages.some( + (m) => m.localId === currentAssistantMessage.localId, + ); + + if (messageExists) { + // Mark current message as complete + yield put( + evaluateMessageCompleteAction({ + assistantMessageId: currentAssistantMessage.localId, + }), + ); + } + + // Create new assistant message for the new interaction + currentAssistantMessage = makeAssistantMessage([]); + yield put(evaluateMessageAction({ message: currentAssistantMessage })); + } + + // Track the current interaction ID + if (chunkInteractionId) { + currentInteractionId = chunkInteractionId; + } + + // Dispatch streaming content to current message yield put( evaluateMessageStreamingAction({ - assistantMessageId: message.localId, - interactionId: value.chatHistoryInteractionId, + assistantMessageId: currentAssistantMessage.localId, + interactionId: chunkInteractionId, contents: processContents(value, true, { showReasoning }), }), ); } } + + return { lastAssistantMessage: currentAssistantMessage }; } finally { if (reader) { const wasCancelled: boolean = yield cancelled(); @@ -134,7 +205,7 @@ function* evaluateUserMessage(message: AssistantMessage, preparedChatThread: ICh //Cancel saga const messages: Message[] = yield select(messagesSelector); - const found = messages.find((m) => m.localId === message.localId); + const found = messages.find((m) => m.localId === currentAssistantMessage.localId); if (!found) { yield cancel(); } diff --git a/libs/sdk-ui-geo/package.json b/libs/sdk-ui-geo/package.json index ff292ed530a..5ab7f8aa61e 100644 --- a/libs/sdk-ui-geo/package.json +++ b/libs/sdk-ui-geo/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-geo", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - Geo Charts", "repository": { "type": "git", diff --git a/libs/sdk-ui-kit/api/sdk-ui-kit.api.md b/libs/sdk-ui-kit/api/sdk-ui-kit.api.md index 71f82c16e02..99b32eabf10 100644 --- a/libs/sdk-ui-kit/api/sdk-ui-kit.api.md +++ b/libs/sdk-ui-kit/api/sdk-ui-kit.api.md @@ -1974,6 +1974,8 @@ export interface IDialogBaseProps { CloseButton?: ComponentType; containerClassName?: string; // (undocumented) + dataTestId?: string; + // (undocumented) displayCloseButton?: boolean; focusCheckFn?: (element: HTMLElement) => boolean; // (undocumented) diff --git a/libs/sdk-ui-kit/package.json b/libs/sdk-ui-kit/package.json index 065017a260d..8757d7c9ad1 100644 --- a/libs/sdk-ui-kit/package.json +++ b/libs/sdk-ui-kit/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-kit", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK - UI Building Components", "repository": { "type": "git", diff --git a/libs/sdk-ui-kit/src/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableRow.tsx b/libs/sdk-ui-kit/src/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableRow.tsx index ea0abdeb193..53b0fc98176 100644 --- a/libs/sdk-ui-kit/src/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableRow.tsx +++ b/libs/sdk-ui-kit/src/@ui/UiAsyncTable/UiAsyncTable/UiAsyncTableRow.tsx @@ -59,6 +59,7 @@ export function UiAsyncTableRow({ })} ref={isRowFocused ? (focusedElementRef as Ref) : undefined} role="row" + aria-rowindex={itemIndex + 1} aria-labelledby={getRowLabelId(itemIndex)} > {hasCheckbox && item ? ( diff --git a/libs/sdk-ui-kit/src/@ui/UiChip/ChipContent.tsx b/libs/sdk-ui-kit/src/@ui/UiChip/ChipContent.tsx index 5e2bc9e26a3..a0d19f7067d 100644 --- a/libs/sdk-ui-kit/src/@ui/UiChip/ChipContent.tsx +++ b/libs/sdk-ui-kit/src/@ui/UiChip/ChipContent.tsx @@ -22,12 +22,13 @@ export function ChipContent({ buttonRef, styleObj, }: IChipContentProps) { - const { isExpanded, popupId, ariaLabel, ariaLabelledBy, ariaControls } = accessibilityConfig ?? {}; + const { isExpanded, popupId, popupType, ariaHaspopup, ariaLabel, ariaLabelledBy, ariaControls } = + accessibilityConfig ?? {}; const ariaDropdownProps = { ...(popupId && isExpanded ? { "aria-controls": popupId } : {}), - ...(popupId ? { "aria-haspopup": !!popupId } : {}), + ...(!popupId && isExpanded && ariaControls ? { "aria-controls": ariaControls } : {}), + ...(popupId ? { "aria-haspopup": popupType ?? ariaHaspopup ?? !!popupId } : {}), ...(isExpanded === undefined ? {} : { "aria-expanded": isExpanded }), - ...(ariaControls ? { "aria-controls": ariaControls } : {}), }; return ( diff --git a/libs/sdk-ui-kit/src/@ui/UiDrawer/UiDrawer.scss b/libs/sdk-ui-kit/src/@ui/UiDrawer/UiDrawer.scss index feaaa3e86c2..bc8e6f37ee5 100644 --- a/libs/sdk-ui-kit/src/@ui/UiDrawer/UiDrawer.scss +++ b/libs/sdk-ui-kit/src/@ui/UiDrawer/UiDrawer.scss @@ -21,7 +21,7 @@ top: 0; left: 0; bottom: 0; - max-width: 80vw; + max-width: 100vw; transform: translateX(-105%); border-right: 1px solid variables.$gd-border-color; } @@ -45,7 +45,7 @@ top: 0; right: 0; bottom: 0; - max-width: 80vw; + max-width: 100vw; transform: translateX(105%); border-left: 1px solid variables.$gd-border-color; } @@ -60,6 +60,15 @@ } } + @media #{variables.$small-only} { + &--anchor-left, + &--anchor-right { + #{$root}__content { + width: 100vw; + } + } + } + &__backdrop { position: absolute; top: 0; diff --git a/libs/sdk-ui-kit/src/@ui/UiNavigationBypass/UiNavigationBypass.scss b/libs/sdk-ui-kit/src/@ui/UiNavigationBypass/UiNavigationBypass.scss index 1d21f155e9a..96f709448de 100644 --- a/libs/sdk-ui-kit/src/@ui/UiNavigationBypass/UiNavigationBypass.scss +++ b/libs/sdk-ui-kit/src/@ui/UiNavigationBypass/UiNavigationBypass.scss @@ -38,6 +38,7 @@ $navigation-bypass-item-line-height: 18px; } &__dropdown-item { + box-sizing: border-box; display: flex; align-items: center; align-self: stretch; diff --git a/libs/sdk-ui-kit/src/@ui/UiPagedVirtualList/UiPagedVirtualList.tsx b/libs/sdk-ui-kit/src/@ui/UiPagedVirtualList/UiPagedVirtualList.tsx index eedbad85566..864e0a78781 100644 --- a/libs/sdk-ui-kit/src/@ui/UiPagedVirtualList/UiPagedVirtualList.tsx +++ b/libs/sdk-ui-kit/src/@ui/UiPagedVirtualList/UiPagedVirtualList.tsx @@ -158,6 +158,7 @@ function UiPagedVirtualListNotWrapped( onKeyDown={ tabIndex < 0 ? undefined : (customKeyboardNavigationHandler ?? onKeyboardNavigation) } + role={representAs === "grid" ? "rowgroup" : undefined} {...listboxProps} > {virtualItems.map((virtualRow) => { diff --git a/libs/sdk-ui-kit/src/Dialog/DialogBase.tsx b/libs/sdk-ui-kit/src/Dialog/DialogBase.tsx index a5fe74701e9..bbf117536e9 100644 --- a/libs/sdk-ui-kit/src/Dialog/DialogBase.tsx +++ b/libs/sdk-ui-kit/src/Dialog/DialogBase.tsx @@ -1,4 +1,4 @@ -// (C) 2020-2025 GoodData Corporation +// (C) 2020-2026 GoodData Corporation import { type KeyboardEvent, type KeyboardEventHandler, memo, useCallback } from "react"; @@ -33,6 +33,7 @@ export const DialogBase = memo(function DialogBase({ onClose, accessibilityConfig, className, + dataTestId, autofocusOnOpen = true, refocusKey, children, @@ -74,6 +75,7 @@ export const DialogBase = memo(function DialogBase({
({ - ...prevState, - childrenWidth, - })); + setState((prevState) => { + // When responsive mode is active, the header DOM no longer contains the full set of + // elements used for width measurement (e.g. horizontal menu sections), so updating the + // measured width would be incorrect and could lead to mode thrashing. + if (prevState.responsiveMode) { + return prevState; + } + if (prevState.childrenWidth === childrenWidth) { + return prevState; + } + return { ...prevState, childrenWidth }; + }); }, []); + useEffect(() => { + // Re-measure the header content width whenever the rendered header content changes. + // + // This is important for apps that load header menu items/workspace picker content + // asynchronously after the header is mounted (e.g. permissions-driven menus). + if (!state.responsiveMode) { + measureChildren(); + } + }, [ + measureChildren, + state.responsiveMode, + menuItemsGroups, + accountMenuItems, + helpMenuItems, + search, + notificationsPanel, + badges, + showChatItem, + showUpsellButton, + expiredDate, + userName, + documentationUrl, + helpRedirectUrl, + disableHelpDropdown, + ]); + const measure = useCallback(() => { const currentDOMNode = nodeRef.current; if (!currentDOMNode) { @@ -183,6 +217,10 @@ export const AppHeader = withTheme(function AppHeader({ stylesheetRef.current = addCssToStylesheet(`header-css-${guid}`, css.join("\n"), true); }, [state, activeColor, headerColor, headerTextColor]); + useEffect(() => { + createStyles(); + }, [createStyles]); + const setOverlayMenu = useCallback((isOverlayMenuOpen: boolean) => { setState((prevState) => ({ ...prevState, @@ -235,17 +273,15 @@ export const AppHeader = withTheme(function AppHeader({ })); }, []); - const setHelpMenu = useCallback((isHelpMenuOpen: boolean) => { + const toggleHelpMenu = useCallback(() => { setState((prevState) => ({ ...prevState, - isHelpMenuOpen, + isHelpMenuOpen: !prevState.isHelpMenuOpen, isSearchMenuOpen: false, isNotificationsMenuOpen: false, })); }, []); - const toggleHelpMenu = useCallback(() => setHelpMenu(!state.isHelpMenuOpen), [setHelpMenu, state]); - const handleMenuItemClick = useCallback( (item: IHeaderMenuItem, event: MouseEvent) => { if (state.isHelpMenuOpen) { @@ -253,74 +289,64 @@ export const AppHeader = withTheme(function AppHeader({ } onMenuItemClick?.(item, event); }, - [state, setOverlayMenu, onMenuItemClick], + [state.isHelpMenuOpen, setOverlayMenu, onMenuItemClick], ); - const getHelpMenuLink = useCallback( - (icon = "gd-icon-header-help") => ({ + const getHelpMenuLink = (icon = "gd-icon-header-help") => { + const shouldOpenDropdown = state.responsiveMode && helpMenuItems.length > 0; + return { key: "gs.header.help", className: `s-menu-help ${icon}`, - href: state.responsiveMode && helpMenuItems ? undefined : documentationUrl, - onClick: state.responsiveMode && helpMenuItems ? toggleHelpMenu : undefined, - }), - [state, helpMenuItems, documentationUrl, toggleHelpMenu], - ); + href: shouldOpenDropdown ? undefined : documentationUrl, + onClick: shouldOpenDropdown ? toggleHelpMenu : undefined, + }; + }; - const addHelpItemGroup = useCallback( - (itemGroups: IHeaderMenuItem[][]): IHeaderMenuItem[][] => { - return documentationUrl ? [...itemGroups, [getHelpMenuLink()]] : itemGroups; - }, - [documentationUrl, getHelpMenuLink], - ); + const addHelpItemGroup = (itemGroups: IHeaderMenuItem[][]): IHeaderMenuItem[][] => { + return documentationUrl ? [...itemGroups, [getHelpMenuLink()]] : itemGroups; + }; - const addAdditionalItems = useCallback( - (itemGroups: IHeaderMenuItem[][]): IHeaderMenuItem[][] => { - const additionalItems = []; - if (search) { - additionalItems.push({ - key: messages.search.id, - className: "gd-icon-header-search", - onClick: toggleSearchMenu, - }); - } + const addAdditionalItems = (itemGroups: IHeaderMenuItem[][]): IHeaderMenuItem[][] => { + const additionalItems: IHeaderMenuItem[] = []; - if (showChatItem) { - const AiIcon = Icon["GenAI2"]; + if (search) { + additionalItems.push({ + key: messages.search.id, + className: "gd-icon-header-search", + onClick: toggleSearchMenu, + }); + } - additionalItems.push({ - key: messages.aiChatMobile.id, - className: "gd-icon-header-ai", - icon: , - onClick: toggleAiChat, - }); - } + if (showChatItem) { + const AiIcon = Icon["GenAI2"]; - if (notificationsPanel) { - const AlertIcon = Icon["Alert"]; + additionalItems.push({ + key: messages.aiChatMobile.id, + className: "gd-icon-header-ai", + icon: , + onClick: toggleAiChat, + }); + } - additionalItems.push({ - key: messages.notifications.id, - className: "gd-icon-header-notifications", - icon: , - onClick: toggleNotificationsMenu, - }); - } + if (notificationsPanel) { + const AlertIcon = Icon["Alert"]; - if (!additionalItems.length) { - return itemGroups; - } + additionalItems.push({ + key: messages.notifications.id, + className: "gd-icon-header-notifications", + icon: , + onClick: toggleNotificationsMenu, + }); + } - return [...itemGroups, additionalItems]; - }, - [search, showChatItem, notificationsPanel, toggleAiChat, toggleSearchMenu, toggleNotificationsMenu], - ); + if (!additionalItems.length) { + return itemGroups; + } - const getHelpMenu = useCallback( - () => [[getHelpMenuLink("gd-icon-header-help-back"), ...helpMenuItems]], - [getHelpMenuLink, helpMenuItems], - ); + return [...itemGroups, additionalItems]; + }; - const getTrialCountdown = useCallback((expiredDate: string) => { + const renderTrialCountdown = (expiredDate: string) => { // expiredDate is the last day that user can use the service const trialDaysLeft = differenceInCalendarDays(new Date(expiredDate), new Date()) + 1; if (trialDaysLeft === 1) { @@ -351,67 +377,53 @@ export const AppHeader = withTheme(function AppHeader({ ); } return ""; - }, []); - - const getClassNames = useCallback(() => { - return cx({ - "gd-header": true, - [state.guid]: true, - [className as string]: !!className, - }); - }, [state.guid, className]); + }; - const renderLogo = useCallback( - (logoLinkClassName: string) => { - return ( - - - - ); - }, - [logoHref, onLogoClick, logoUrl, logoTitle, measureChildren], - ); + const renderLogo = (logoLinkClassName: string) => { + return ( + + + + ); + }; - const renderAccessibilityLogo = useCallback( - (logoLinkClassName: string, organizationName: string) => { - const logoHrefAccesibilityText = intl.formatMessage({ - id: "gs.header.href.accessibility", - }); - const imageAltAccessibilityText = intl.formatMessage( - { - id: "gs.header.logo.title.accessibility", - }, - { organizationName: organizationName || "GoodData" }, - ); + const renderAccessibilityLogo = (logoLinkClassName: string, organizationName: string) => { + const logoHrefAccesibilityText = intl.formatMessage({ + id: "gs.header.href.accessibility", + }); + const imageAltAccessibilityText = intl.formatMessage( + { + id: "gs.header.logo.title.accessibility", + }, + { organizationName: organizationName || "GoodData" }, + ); - return ( - - {imageAltAccessibilityText} - - ); - }, - [intl, logoHref, onLogoClick, logoUrl, logoTitle, measureChildren], - ); + return ( + + {imageAltAccessibilityText} + + ); + }; - const renderSearchMenu = useCallback(() => { + const renderSearchMenu = () => { return (
@@ -422,9 +434,9 @@ export const AppHeader = withTheme(function AppHeader({
); - }, [state.isSearchMenuOpen, toggleSearchMenu, search]); + }; - const renderNotificationsOverlay = useCallback(() => { + const renderNotificationsOverlay = () => { if (!notificationsPanel) { return null; } @@ -439,14 +451,14 @@ export const AppHeader = withTheme(function AppHeader({ })}
); - }, [notificationsPanel, closeNotificationsMenu]); + }; - const renderTrialItems = useCallback(() => { + const renderTrialItems = () => { if (expiredDate || showUpsellButton) { return (
{expiredDate ? ( -
{getTrialCountdown(expiredDate)}
+
{renderTrialCountdown(expiredDate)}
) : null} {showUpsellButton ? ( @@ -456,9 +468,9 @@ export const AppHeader = withTheme(function AppHeader({ ); } return null; - }, [expiredDate, showUpsellButton, getTrialCountdown, onUpsellButtonClick]); + }; - const renderLogoutButton = useCallback(() => { + const renderLogoutButton = () => { const [logoutMenuItem] = accountMenuItems.filter((item) => item.key === "gs.header.logout"); const LogoutIcon = Icon["Logout"]; return logoutMenuItem ? ( @@ -476,11 +488,11 @@ export const AppHeader = withTheme(function AppHeader({ ) : ( false ); - }, [accountMenuItems, onMenuItemClick, theme?.palette?.complementary?.c0]); + }; - const renderVerticalMenu = useCallback(() => { + const renderVerticalMenu = () => { const menuItemsGroupsToRender = state.isHelpMenuOpen - ? getHelpMenu() + ? [[getHelpMenuLink("gd-icon-header-help-back"), ...helpMenuItems]] : showStaticHelpMenu ? [[getHelpMenuLink()]] : addHelpItemGroup(addAdditionalItems(menuItemsGroups)); @@ -507,22 +519,9 @@ export const AppHeader = withTheme(function AppHeader({
); - }, [ - state.isHelpMenuOpen, - showStaticHelpMenu, - getHelpMenuLink, - addHelpItemGroup, - addAdditionalItems, - menuItemsGroups, - getHelpMenu, - handleMenuItemClick, - renderTrialItems, - badges, - userName, - renderLogoutButton, - ]); + }; - const renderOverlayMenu = useCallback(() => { + const renderOverlayMenu = () => { let content: ReactElement | null = renderVerticalMenu(); if (state.isSearchMenuOpen) { content = renderSearchMenu(); @@ -549,17 +548,9 @@ export const AppHeader = withTheme(function AppHeader({ {content} ); - }, [ - renderVerticalMenu, - state.isSearchMenuOpen, - state.isNotificationsMenuOpen, - renderSearchMenu, - renderNotificationsOverlay, - state.isOverlayMenuOpen, - setOverlayMenu, - ]); + }; - const renderMobileNav = useCallback(() => { + const renderMobileNav = () => { const iconClasses = cx({ "hamburger-icon": true, "is-open": state.isOverlayMenuOpen, @@ -586,16 +577,9 @@ export const AppHeader = withTheme(function AppHeader({ {state.isOverlayMenuOpen ? renderOverlayMenu() : null} ); - }, [ - state.isOverlayMenuOpen, - state.isSearchMenuOpen, - state.isNotificationsMenuOpen, - setOverlayMenu, - renderOverlayMenu, - intl, - ]); + }; - const renderStandardNav = useCallback(() => { + const renderStandardNav = () => { return (
{badges}
: null} ); - }, [ - onMenuItemClick, - menuItemsGroups, - renderTrialItems, - showChatItem, - intl, - onChatItemClick, - notificationsPanel, - closeNotificationsMenu, - search, - state.isSearchMenuOpen, - toggleSearchMenu, - helpMenuItems, - helpDropdownAlign, - disableHelpDropdown, - onHelpClick, - helpRedirectUrl, - userName, - accountMenuItems, - badges, - ]); - - const renderNav = useCallback(() => { - return state.responsiveMode ? renderMobileNav() : renderStandardNav(); - }, [state.responsiveMode, renderMobileNav, renderStandardNav]); - - useEffect(() => { - createStyles(); - }, [createStyles]); - - const logoLinkClassName = useMemo( - () => - cx({ - "gd-header-logo": true, - "gd-header-measure": true, - "gd-header-shrink": state.responsiveMode, - }), - [state.responsiveMode], - ); + }; - const applicationHeaderAccessibilityLabel = useMemo( - () => - intl.formatMessage({ - id: "gs.header.accessibility.label", - }), - [intl], - ); + const logoLinkClassName = cx({ + "gd-header-logo": true, + "gd-header-measure": true, + "gd-header-shrink": state.responsiveMode, + }); return ( -
+
{isAccessibilityCompliant ? renderAccessibilityLogo(logoLinkClassName, organizationName ?? "") : renderLogo(logoLinkClassName)} - {workspacePicker} - {renderNav()} + {state.responsiveMode ? renderMobileNav() : renderStandardNav()}
); }); diff --git a/libs/sdk-ui-loaders/package.json b/libs/sdk-ui-loaders/package.json index b5bf4730f4b..91dfaaba333 100644 --- a/libs/sdk-ui-loaders/package.json +++ b/libs/sdk-ui-loaders/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-loaders", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK Runtime Component Loaders", "repository": { "type": "git", diff --git a/libs/sdk-ui-pivot/package.json b/libs/sdk-ui-pivot/package.json index 350b9113116..1c51daec50c 100644 --- a/libs/sdk-ui-pivot/package.json +++ b/libs/sdk-ui-pivot/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-pivot", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - Pivot Table", "repository": { "type": "git", diff --git a/libs/sdk-ui-semantic-search/package.json b/libs/sdk-ui-semantic-search/package.json index a119cc90b17..233d06c2d7d 100644 --- a/libs/sdk-ui-semantic-search/package.json +++ b/libs/sdk-ui-semantic-search/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-semantic-search", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK TypeScript & React skeleton", "repository": { "type": "git", diff --git a/libs/sdk-ui-tests-e2e/cypress/support/featureHub.ts b/libs/sdk-ui-tests-e2e/cypress/support/featureHub.ts index 8ab5a6799e1..6b174366ab8 100644 --- a/libs/sdk-ui-tests-e2e/cypress/support/featureHub.ts +++ b/libs/sdk-ui-tests-e2e/cypress/support/featureHub.ts @@ -1,4 +1,4 @@ -// (C) 2021-2025 GoodData Corporation +// (C) 2021-2026 GoodData Corporation /** * Mocking FeatureHub request to remove dependency on it @@ -65,6 +65,15 @@ beforeEach(() => { value: true, v: "0d2K", }, + { + id: "78538cca-c3db-43a3-ac43-eb385b1ebea8", + key: "enableEmptyDateValuesFilter", + l: false, + version: 13, + type: "BOOLEAN", + value: true, + v: "NsVT", + }, ], }, ], diff --git a/libs/sdk-ui-tests/neobackstop/output/reference/storybook_chromium_02_Custom_Test_Stories_Headline_-_compactSize_with_comparison_0_document_0_desktop.png b/libs/sdk-ui-tests/neobackstop/output/reference/storybook_chromium_02_Custom_Test_Stories_Headline_-_compactSize_with_comparison_0_document_0_desktop.png index 326ad1c2f468ef0c1b3aaceb0a54c1b9264a01db..9c6d308b6aaedf31d9cd41be9cd51c7b5c5cbf79 100644 GIT binary patch delta 5569 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 delta 5621 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 delta 5595 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 diff --git a/libs/sdk-ui-tests/neobackstop/output/reference/storybook_chromium_02_Custom_Test_Stories_Headline_-_responsive_with_comparison_0_document_0_desktop.png b/libs/sdk-ui-tests/neobackstop/output/reference/storybook_chromium_02_Custom_Test_Stories_Headline_-_responsive_with_comparison_0_document_0_desktop.png index 6ff2037c5d07d7e0f72f00e22f44fa797ad0b9b6..8f06ded046942f5d9dcf947e4fd1757a6f9e8520 100644 GIT binary patch literal 21223 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 ajq%I@vKaXkdXQ&9o=Ypi@}IqV|Gxp(F6Wv6 literal 21224 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 Q-vhyC;$tj@@s7CvZ{Kw9vH$=8 literal 24005 zcmdqJ1yEH{+~|7{MLF)0Cdh6i# zy?5Vy@4b0<=FXivcMk)Hvk!Z(z1F|~zlGmNNnvbE5=;mLg8e~6KpFzM3tpn4qu&8P z#sVNP@B_tKS{M$=?RmNefjonJ5P1LDA#QWZ-kH$$ns2w)%nnu=t5dk
>@k^F)V z_wfH}A-obc_A}zAxG7v^L##_tB%L(hD zjKzjN+uS&tt=C>=Nj!7rWf|k+-HGm9VY%b2i4H~pfw147TQa+S1ySMr_ZB4Xc97sr zs;~df)cHO8_rl`&fBDFBl5O{Q&&rDEP|CV?C9uHfEYKR!Agj1vWZpMD0KZD!;dj6N z>;JCH{{Oi1f6qq(-$G8i&0WL7!mL9{P;ZB`AXdlN_4oeWM)G-4adBE28ta!-b$QVq zd=B8WJ59Vn5tRaMBoE?vbEdYosHmu_swz483m!fpVfc?9kBN!xyWfsvD;0~rBqXojpZca{4Utiy+PoKbd>*X%RDu?`df~>48zMIQ~{{H^)@$rrhQDWk# zA3uJywY8m|p2}v)HMg_`AH!dVwI5!c%uw(;m;L(ntElL6-biaxlYpRLb5j$oVu4Oa z_?s7zyY=@exc8a}R8>`N8ITrOi5qc`_qpD=}>kkB}T#rj}|t*vdz zitE`@l%b)aous&k2)oO9(UxCoYH9!xU4i-hA3?E-!Ps(oK|@7FGvon^S>N*5%E-zT72!ef; zjvP&_nxf(vn8oVr^9>VG8JPi9`>A5{8D3%P`LkBO>wLExS2KTjvTtA@EiJ8%%%IT` z&&gz1RMg7+ycLRUpvd#kKNF~^sGB9?l!*0=^v$@{?d=}3Z%b&w{$nOJ3&C9ClmosT z7Z(@hmAJg8Nn7r(2Uf z8*A=5EQSh~tpTOcOtiqo!5I&Rzj^aUb0g^6w-xg9&BETY9H*V?lQQ9yloYZ+1T!;p z8Pzmmr+RB^>+mB2aWP(OTrLboSH3cBKjX3qm6GapyIi1{?4O*P^2r+1VLrRKu(mdv zsu(h0WyX?GRprrc!7@u#cR7mi7-9Z-bGgE2k`IMKjf!JTI*VLTcYC;YENJK$7${@~9d0d(WJ4cBV<1h!WJL5e;qlQ?pA8#C z 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 diff --git a/libs/sdk-ui-theme-provider/package.json b/libs/sdk-ui-theme-provider/package.json index 0da20ffcbe0..5e257122329 100644 --- a/libs/sdk-ui-theme-provider/package.json +++ b/libs/sdk-ui-theme-provider/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-theme-provider", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK - Theme provider", "repository": { "type": "git", diff --git a/libs/sdk-ui-vis-commons/package.json b/libs/sdk-ui-vis-commons/package.json index 28ce5dc54f8..59469456ebd 100644 --- a/libs/sdk-ui-vis-commons/package.json +++ b/libs/sdk-ui-vis-commons/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui-vis-commons", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - common functionality for different types of visualizations", "repository": { "type": "git", diff --git a/libs/sdk-ui-vis-commons/styles/scss/headlinePagination.scss b/libs/sdk-ui-vis-commons/styles/scss/headlinePagination.scss index eb2c2caff77..5799b3b6245 100644 --- a/libs/sdk-ui-vis-commons/styles/scss/headlinePagination.scss +++ b/libs/sdk-ui-vis-commons/styles/scss/headlinePagination.scss @@ -117,7 +117,7 @@ $legend-paging-background: #eee; &.gd-small, &.gd-shortened-label { display: flex; - flex-flow: column-reverse wrap; + flex-flow: column wrap; .headline-compare-section-item { width: 100%; @@ -155,12 +155,6 @@ $legend-paging-background: #eee; .headline-tertiary-item, .headline-compare-item:nth-child(1) { - padding: 10px 0 0; - text-align: center; - } - - .headline-secondary-item, - .headline-compare-item:nth-child(2) { border-left: 0; border-bottom: 1px dashed var( @@ -173,6 +167,13 @@ $legend-paging-background: #eee; padding: 0 0 10px; text-align: center; } + + .headline-secondary-item, + .headline-compare-item:nth-child(2) { + padding: 10px 0 0; + text-align: center; + border-left: none; + } } &.gd-shortened-label, diff --git a/libs/sdk-ui/package.json b/libs/sdk-ui/package.json index e15bee00e1d..137f07b07b7 100644 --- a/libs/sdk-ui/package.json +++ b/libs/sdk-ui/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/sdk-ui", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData.UI SDK - Core", "repository": { "type": "git", diff --git a/libs/util/package.json b/libs/util/package.json index d44658f8993..7ec8bb6be75 100644 --- a/libs/util/package.json +++ b/libs/util/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/util", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData Utility Functions", "repository": { "type": "git", diff --git a/tools/app-toolkit/package.json b/tools/app-toolkit/package.json index 91dbe2839dc..8551184cc43 100644 --- a/tools/app-toolkit/package.json +++ b/tools/app-toolkit/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/app-toolkit", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "CLI with useful tools for creating and maintaining GoodData web applications.", "repository": { "type": "git", diff --git a/tools/catalog-export/package.json b/tools/catalog-export/package.json index 3abf413c680..baeb9e80815 100644 --- a/tools/catalog-export/package.json +++ b/tools/catalog-export/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/catalog-export", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK Catalog Export tooling", "repository": { "type": "git", diff --git a/tools/eslint-config/package.json b/tools/eslint-config/package.json index 925c2894d7c..cce123ca083 100644 --- a/tools/eslint-config/package.json +++ b/tools/eslint-config/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/eslint-config", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "repository": { "type": "git", "url": "https://github.com/gooddata/gooddata-ui-sdk.git", diff --git a/tools/i18n-toolkit/package.json b/tools/i18n-toolkit/package.json index 4a5f4b815ca..923e37e2363 100644 --- a/tools/i18n-toolkit/package.json +++ b/tools/i18n-toolkit/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/i18n-toolkit", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "Localization validator to validate localization complexity and intl and html format.", "repository": { "type": "git", diff --git a/tools/mock-handling/package.json b/tools/mock-handling/package.json index 462f523f43d..97d23b852bf 100644 --- a/tools/mock-handling/package.json +++ b/tools/mock-handling/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/mock-handling", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK Mock data capture and management tool", "repository": { "type": "git", diff --git a/tools/plugin-toolkit/package.json b/tools/plugin-toolkit/package.json index 9b753fae444..dbb7ab79881 100644 --- a/tools/plugin-toolkit/package.json +++ b/tools/plugin-toolkit/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/plugin-toolkit", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData Set of Tools for working with Plugins", "repository": { "type": "git", diff --git a/tools/reference-workspace/package.json b/tools/reference-workspace/package.json index 83f51ef2f63..566d2d6c41f 100644 --- a/tools/reference-workspace/package.json +++ b/tools/reference-workspace/package.json @@ -1,6 +1,6 @@ { "name": "@gooddata/reference-workspace", - "version": "11.17.0-alpha.0", + "version": "11.17.0-alpha.1", "description": "GoodData SDK - Reference Workspace for tests", "repository": { "type": "git", From 97d25ab96aa172c6c678d709911fbca4472fe03c Mon Sep 17 00:00:00 2001 From: git-action Date: Fri, 16 Jan 2026 04:35:08 +0000 Subject: [PATCH 2/2] chore: update dependencies after rush update risk: low --- .../rush/browser-approved-packages.json | 2612 +++++++++-------- common/config/rush/pnpm-lock.yaml | 545 +--- 2 files changed, 1472 insertions(+), 1685 deletions(-) diff --git a/common/config/rush/browser-approved-packages.json b/common/config/rush/browser-approved-packages.json index 96d5b893ed1..a9950c08883 100644 --- a/common/config/rush/browser-approved-packages.json +++ b/common/config/rush/browser-approved-packages.json @@ -1,1266 +1,1346 @@ -// DO NOT ADD COMMENTS IN THIS FILE. They will be lost when the Rush tool resaves it. -{ - "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/approved-packages.schema.json", - "packages": [ - { - "name": "@aaronhayes/react-use-hubspot-form", - "allowedCategories": ["production"] - }, - { - "name": "@babel/cli", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@babel/core", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@babel/plugin-proposal-export-default-from", - "allowedCategories": ["production"] - }, - { - "name": "@babel/plugin-transform-async-to-generator", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@babel/plugin-transform-class-properties", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@babel/plugin-transform-object-rest-spread", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@babel/plugin-transform-typescript", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@babel/preset-env", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@babel/preset-react", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@babel/preset-typescript", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@babel/runtime", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@braintree/sanitize-url", - "allowedCategories": ["production"] - }, - { - "name": "@codemirror/autocomplete", - "allowedCategories": ["production"] - }, - { - "name": "@codemirror/commands", - "allowedCategories": ["production"] - }, - { - "name": "@codemirror/lang-yaml", - "allowedCategories": ["production"] - }, - { - "name": "@codemirror/language", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@codemirror/lint", - "allowedCategories": ["production"] - }, - { - "name": "@codemirror/state", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@codemirror/view", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@componentdriven/csf", - "allowedCategories": ["production"] - }, - { - "name": "@cypress/grep", - "allowedCategories": ["production"] - }, - { - "name": "@floating-ui/dom", - "allowedCategories": ["production"] - }, - { - "name": "@floating-ui/react", - "allowedCategories": ["production"] - }, - { - "name": "@floating-ui/react-dom", - "allowedCategories": ["production"] - }, - { - "name": "@formatjs/cli-lib", - "allowedCategories": ["tools"] - }, - { - "name": "@formatjs/icu-messageformat-parser", - "allowedCategories": ["tools"] - }, - { - "name": "@gooddata/api-client-tiger", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@gooddata/catalog-export", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/eslint-config", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/fixtures", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@gooddata/i18n-toolkit", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/mock-handling", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@gooddata/number-formatter", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/plugin-toolkit", - "allowedCategories": ["tools"] - }, - { - "name": "@gooddata/reference-workspace", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/sdk-backend-base", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-backend-mockingbird", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/sdk-backend-spi", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-backend-tiger", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-embedding", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/sdk-model", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-dashboard", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-ext", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-filters", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-gen-ai", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-geo", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-charts", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-kit", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-loaders", - "allowedCategories": ["examples", "tools"] - }, - { - "name": "@gooddata/sdk-ui-pivot", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@gooddata/sdk-ui-semantic-search", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@gooddata/sdk-ui-theme-provider", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@gooddata/sdk-ui-vis-commons", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/sdk-ui-web-components", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/stylelint-config", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/util", - "allowedCategories": ["production"] - }, - { - "name": "@lezer/highlight", - "allowedCategories": ["production"] - }, - { - "name": "@microsoft/api-documenter", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@microsoft/api-extractor", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@openapitools/openapi-generator-cli", - "allowedCategories": ["production"] - }, - { - "name": "@react-aria/interactions", - "allowedCategories": ["production"] - }, - { - "name": "@reduxjs/toolkit", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/builder-vite", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/builder-webpack5", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/cli", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/manager-webpack5", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/preset-scss", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/react", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/react-vite", - "allowedCategories": ["production"] - }, - { - "name": "@storybook/react-webpack5", - "allowedCategories": ["production"] - }, - { - "name": "@tanstack/react-virtual", - "allowedCategories": ["production"] - }, - { - "name": "@testing-library/dom", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@testing-library/react", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@testing-library/user-event", - "allowedCategories": ["production"] - }, - { - "name": "@types/babel__core", - "allowedCategories": ["tools"] - }, - { - "name": "@types/blessed", - "allowedCategories": ["tools"] - }, - { - "name": "@types/columnify", - "allowedCategories": ["tools"] - }, - { - "name": "@types/cross-spawn", - "allowedCategories": ["tools"] - }, - { - "name": "@types/debounce-promise", - "allowedCategories": ["production"] - }, - { - "name": "@types/fast-levenshtein", - "allowedCategories": ["production"] - }, - { - "name": "@types/fs-extra", - "allowedCategories": ["tools"] - }, - { - "name": "@types/history", - "allowedCategories": ["examples"] - }, - { - "name": "@types/hoist-non-react-statics", - "allowedCategories": ["production"] - }, - { - "name": "@types/inquirer", - "allowedCategories": ["tools"] - }, - { - "name": "@types/isomorphic-fetch", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@types/js-yaml", - "allowedCategories": ["production"] - }, - { - "name": "@types/json5", - "allowedCategories": ["tools"] - }, - { - "name": "@types/kefir", - "allowedCategories": ["production"] - }, - { - "name": "@types/mapbox-gl", - "allowedCategories": ["production"] - }, - { - "name": "@types/mdast", - "allowedCategories": ["production"] - }, - { - "name": "@types/node", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@types/node-fetch", - "allowedCategories": ["production"] - }, - { - "name": "@types/pdf-parse", - "allowedCategories": ["production"] - }, - { - "name": "@types/prettier", - "allowedCategories": ["tools"] - }, - { - "name": "@types/qs", - "allowedCategories": ["production"] - }, - { - "name": "@types/raf", - "allowedCategories": ["production", "tools"] - }, - { - "name": "@types/react", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@types/react-datepicker", - "allowedCategories": ["examples"] - }, - { - "name": "@types/react-dom", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@types/react-google-recaptcha", - "allowedCategories": ["examples"] - }, - { - "name": "@types/react-helmet", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@types/react-lines-ellipsis", - "allowedCategories": ["production"] - }, - { - "name": "@types/react-measure", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@types/react-native-listener", - "allowedCategories": ["production"] - }, - { - "name": "@types/react-portal", - "allowedCategories": ["production"] - }, - { - "name": "@types/react-redux", - "allowedCategories": ["production"] - }, - { - "name": "@types/react-router-dom", - "allowedCategories": ["examples", "production"] - }, - { - "name": "@types/react-syntax-highlighter", - "allowedCategories": ["examples"] - }, - { - "name": "@types/react-textarea-autosize", - "allowedCategories": ["production"] - }, - { - "name": "@types/react-transition-group", - "allowedCategories": ["production"] - }, - { - "name": "@types/rimraf", - "allowedCategories": ["tools"] - }, - { - "name": "@types/semver", - "allowedCategories": ["production"] - }, - { - "name": "@types/spark-md5", - "allowedCategories": ["production"] - }, - { - "name": "@types/stringify-object", - "allowedCategories": ["production"] - }, - { - "name": "@types/tar", - "allowedCategories": ["tools"] - }, - { - "name": "@types/tinycolor2", - "allowedCategories": ["production"] - }, - { - "name": "@types/tough-cookie", - "allowedCategories": ["production"] - }, - { - "name": "@types/unist", - "allowedCategories": ["production"] - }, - { - "name": "@types/uuid", - "allowedCategories": ["production"] - }, - { - "name": "@types/validate-npm-package-name", - "allowedCategories": ["tools"] - }, - { - "name": "@types/watchpack", - "allowedCategories": ["tools"] - }, - { - "name": "@types/webpack-env", - "allowedCategories": ["examples"] - }, - { - "name": "@typescript-eslint/eslint-plugin", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@typescript-eslint/parser", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "@vitejs/plugin-react", - "allowedCategories": ["examples"] - }, - { - "name": "@vitejs/plugin-react-swc", - "allowedCategories": ["examples"] - }, - { - "name": "@welldone-software/why-did-you-render", - "allowedCategories": ["examples"] - }, - { - "name": "ag-grid-community", - "allowedCategories": ["production"] - }, - { - "name": "ag-grid-enterprise", - "allowedCategories": ["production"] - }, - { - "name": "ag-grid-react", - "allowedCategories": ["production"] - }, - { - "name": "async", - "allowedCategories": ["production"] - }, - { - "name": "axios", - "allowedCategories": ["production", "tools"] - }, - { - "name": "axios-cache-interceptor", - "allowedCategories": ["production"] - }, - { - "name": "babel-loader", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "babel-plugin-lodash", - "allowedCategories": ["examples", "production"] - }, - { - "name": "babel-plugin-require-context-hook", - "allowedCategories": ["production"] - }, - { - "name": "blessed", - "allowedCategories": ["tools"] - }, - { - "name": "blob-polyfill", - "allowedCategories": ["production"] - }, - { - "name": "case-sensitive-paths-webpack-plugin", - "allowedCategories": ["examples", "tools"] - }, - { - "name": "circular-dependency-plugin", - "allowedCategories": ["examples", "production"] - }, - { - "name": "classnames", - "allowedCategories": ["examples", "production"] - }, - { - "name": "clean-webpack-plugin", - "allowedCategories": ["examples", "production"] - }, - { - "name": "codemirror", - "allowedCategories": ["production"] - }, - { - "name": "columnify", - "allowedCategories": ["tools"] - }, - { - "name": "commander", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "compression-webpack-plugin", - "allowedCategories": ["examples", "production"] - }, - { - "name": "concurrently", - "allowedCategories": ["production", "tools"] - }, - { - "name": "copy-to-clipboard", - "allowedCategories": ["production"] - }, - { - "name": "copy-webpack-plugin", - "allowedCategories": ["production"] - }, - { - "name": "core-js", - "allowedCategories": ["examples", "production"] - }, - { - "name": "cron-parser", - "allowedCategories": ["production"] - }, - { - "name": "cross-spawn", - "allowedCategories": ["tools"] - }, - { - "name": "css-loader", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "cypress", - "allowedCategories": ["production"] - }, - { - "name": "cypress-multi-reporters", - "allowedCategories": ["production"] - }, - { - "name": "cypress-real-events", - "allowedCategories": ["production"] - }, - { - "name": "cypress-terminal-report", - "allowedCategories": ["production"] - }, - { - "name": "date-fns", - "allowedCategories": ["production"] - }, - { - "name": "date-fns-tz", - "allowedCategories": ["production"] - }, - { - "name": "debounce-promise", - "allowedCategories": ["production"] - }, - { - "name": "default-import", - "allowedCategories": ["examples", "production"] - }, - { - "name": "dependency-cruiser", - "allowedCategories": ["production", "tools"] - }, - { - "name": "dotenv", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "dotenv-webpack", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "downshift", - "allowedCategories": ["production"] - }, - { - "name": "@gooddata/emailjs-mime-codec-new", - "allowedCategories": ["production"] - }, - { - "name": "esbuild-loader", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-config-prettier", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-import-resolver-typescript", - "allowedCategories": ["examples", "production"] - }, - { - "name": "eslint-plugin-header", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-import", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-import-esm", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-no-only-tests", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-prettier", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-react", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-react-hooks", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-regexp", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-sonarjs", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eslint-plugin-tsdoc", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "eventsource-parser", - "allowedCategories": ["production"] - }, - { - "name": "exponential-backoff", - "allowedCategories": ["production"] - }, - { - "name": "fast-glob", - "allowedCategories": ["production", "tools"] - }, - { - "name": "fast-levenshtein", - "allowedCategories": ["production"] - }, - { - "name": "fetch-cookie", - "allowedCategories": ["production"] - }, - { - "name": "fetch-mock", - "allowedCategories": ["production"] - }, - { - "name": "find-up", - "allowedCategories": ["tools"] - }, - { - "name": "fix-esm-import-path", - "allowedCategories": ["production"] - }, - { - "name": "fixed-data-table-2", - "allowedCategories": ["production"] - }, - { - "name": "fork-ts-checker-webpack-plugin", - "allowedCategories": ["examples", "production"] - }, - { - "name": "fs-extra", - "allowedCategories": ["tools"] - }, - { - "name": "full-icu", - "allowedCategories": ["production"] - }, - { - "name": "glob", - "allowedCategories": ["production"] - }, - { - "name": "happy-dom", - "allowedCategories": ["production", "tools"] - }, - { - "name": "highcharts", - "allowedCategories": ["examples", "production"] - }, - { - "name": "highcharts-react-official", - "allowedCategories": ["examples", "production"] - }, - { - "name": "history", - "allowedCategories": ["examples"] - }, - { - "name": "hoist-non-react-statics", - "allowedCategories": ["production"] - }, - { - "name": "html-validate", - "allowedCategories": ["tools"] - }, - { - "name": "html-webpack-plugin", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "http-status-codes", - "allowedCategories": ["production"] - }, - { - "name": "chalk", - "allowedCategories": ["production", "tools"] - }, - { - "name": "chokidar", - "allowedCategories": ["tools"] - }, - { - "name": "immer", - "allowedCategories": ["production"] - }, - { - "name": "inquirer", - "allowedCategories": ["tools"] - }, - { - "name": "isomorphic-fetch", - "allowedCategories": ["examples", "production"] - }, - { - "name": "js-object-pretty-print", - "allowedCategories": ["production"] - }, - { - "name": "js-yaml", - "allowedCategories": ["production"] - }, - { - "name": "jsdom", - "allowedCategories": ["production"] - }, - { - "name": "json-loader", - "allowedCategories": ["production"] - }, - { - "name": "json-stable-stringify", - "allowedCategories": ["production", "tools"] - }, - { - "name": "json5", - "allowedCategories": ["tools"] - }, - { - "name": "jsonschema", - "allowedCategories": ["tools"] - }, - { - "name": "kefir", - "allowedCategories": ["production"] - }, - { - "name": "lru-cache", - "allowedCategories": ["production"] - }, - { - "name": "lz-string", - "allowedCategories": ["production"] - }, - { - "name": "mapbox-gl", - "allowedCategories": ["production"] - }, - { - "name": "mdast", - "allowedCategories": ["production"] - }, - { - "name": "mini-css-extract-plugin", - "allowedCategories": ["production"] - }, - { - "name": "mkdirp", - "allowedCategories": ["production", "tools"] - }, - { - "name": "mocha", - "allowedCategories": ["production"] - }, - { - "name": "mocha-junit-reporter", - "allowedCategories": ["production"] - }, - { - "name": "moment", - "allowedCategories": ["examples", "production"] - }, - { - "name": "node-fetch", - "allowedCategories": ["production"] - }, - { - "name": "node-xlsx", - "allowedCategories": ["production"] - }, - { - "name": "npm-run-all", - "allowedCategories": ["examples", "production"] - }, - { - "name": "open", - "allowedCategories": ["tools"] - }, - { - "name": "ora", - "allowedCategories": ["tools"] - }, - { - "name": "p-map", - "allowedCategories": ["tools"] - }, - { - "name": "pdf-parse", - "allowedCategories": ["production"] - }, - { - "name": "polished", - "allowedCategories": ["production"] - }, - { - "name": "postcss", - "allowedCategories": ["production"] - }, - { - "name": "postcss-value-parser", - "allowedCategories": ["production"] - }, - { - "name": "prettier", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "prettier-loader", - "allowedCategories": ["examples", "production"] - }, - { - "name": "process", - "allowedCategories": ["examples", "tools"] - }, - { - "name": "qs", - "allowedCategories": ["production"] - }, - { - "name": "raf", - "allowedCategories": ["production", "tools"] - }, - { - "name": "react", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "react-content-loader", - "allowedCategories": ["production"] - }, - { - "name": "react-datepicker", - "allowedCategories": ["examples"] - }, - { - "name": "react-day-picker", - "allowedCategories": ["production"] - }, - { - "name": "react-dnd", - "allowedCategories": ["production"] - }, - { - "name": "react-dnd-html5-backend", - "allowedCategories": ["production"] - }, - { - "name": "react-dom", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "react-fast-compare", - "allowedCategories": ["production"] - }, - { - "name": "react-ga", - "allowedCategories": ["examples"] - }, - { - "name": "react-google-recaptcha", - "allowedCategories": ["examples"] - }, - { - "name": "react-grid-system", - "allowedCategories": ["production"] - }, - { - "name": "react-helmet", - "allowedCategories": ["examples", "production"] - }, - { - "name": "react-intl", - "allowedCategories": ["production", "tools"] - }, - { - "name": "react-lines-ellipsis", - "allowedCategories": ["production"] - }, - { - "name": "react-loading-skeleton", - "allowedCategories": ["production"] - }, - { - "name": "react-markdown", - "allowedCategories": ["production"] - }, - { - "name": "react-measure", - "allowedCategories": ["examples", "production"] - }, - { - "name": "react-native-listener", - "allowedCategories": ["production"] - }, - { - "name": "react-portal", - "allowedCategories": ["production"] - }, - { - "name": "react-redux", - "allowedCategories": ["production"] - }, - { - "name": "react-responsive", - "allowedCategories": ["production"] - }, - { - "name": "react-router-dom", - "allowedCategories": ["examples", "production"] - }, - { - "name": "react-select", - "allowedCategories": ["examples", "production"] - }, - { - "name": "react-select-async-paginate", - "allowedCategories": ["production"] - }, - { - "name": "react-syntax-highlighter", - "allowedCategories": ["examples"] - }, - { - "name": "react-textarea-autosize", - "allowedCategories": ["production"] - }, - { - "name": "react-transition-group", - "allowedCategories": ["production"] - }, - { - "name": "react-window", - "allowedCategories": ["production"] - }, - { - "name": "redux-batched-actions", - "allowedCategories": ["production"] - }, - { - "name": "redux-saga", - "allowedCategories": ["production"] - }, - { - "name": "recharts", - "allowedCategories": ["examples"] - }, - { - "name": "remark", - "allowedCategories": ["production"] - }, - { - "name": "remark-emoji", - "allowedCategories": ["production"] - }, - { - "name": "require-from-string", - "allowedCategories": ["production"] - }, - { - "name": "reselect", - "allowedCategories": ["production"] - }, - { - "name": "sass", - "allowedCategories": ["examples", "production"] - }, - { - "name": "sass-loader", - "allowedCategories": ["examples", "production"] - }, - { - "name": "semver", - "allowedCategories": ["production"] - }, - { - "name": "source-map-loader", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "spark-md5", - "allowedCategories": ["production"] - }, - { - "name": "speed-measure-webpack-plugin", - "allowedCategories": ["examples"] - }, - { - "name": "storybook", - "allowedCategories": ["production"] - }, - { - "name": "stringify-object", - "allowedCategories": ["production"] - }, - { - "name": "strip-ansi", - "allowedCategories": ["tools"] - }, - { - "name": "style-loader", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "styled-jsx", - "allowedCategories": ["examples", "production"] - }, - { - "name": "stylelint", - "allowedCategories": ["production"] - }, - { - "name": "stylelint-config-prettier", - "allowedCategories": ["production"] - }, - { - "name": "stylelint-checkstyle-formatter", - "allowedCategories": ["production"] - }, - { - "name": "svgo", - "allowedCategories": ["production"] - }, - { - "name": "tar", - "allowedCategories": ["tools"] - }, - { - "name": "tinycolor2", - "allowedCategories": ["production"] - }, - { - "name": "ts-invariant", - "allowedCategories": ["examples", "production"] - }, - { - "name": "ts-loader", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "ts-morph", - "allowedCategories": ["tools"] - }, - { - "name": "tsd", - "allowedCategories": ["production"] - }, - { - "name": "tslib", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "typescript", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "unified", - "allowedCategories": ["production"] - }, - { - "name": "util", - "allowedCategories": ["examples", "tools"] - }, - { - "name": "uuid", - "allowedCategories": ["production"] - }, - { - "name": "validate-npm-package-name", - "allowedCategories": ["examples", "tools"] - }, - { - "name": "vite", - "allowedCategories": ["examples", "production"] - }, - { - "name": "vite-plugin-html", - "allowedCategories": ["examples"] - }, - { - "name": "vite-plugin-mkcert", - "allowedCategories": ["examples"] - }, - { - "name": "vite-plugin-static-copy", - "allowedCategories": ["production"] - }, - { - "name": "vitest", - "allowedCategories": ["production", "tools"] - }, - { - "name": "vitest-dom", - "allowedCategories": ["production"] - }, - { - "name": "wait-on", - "allowedCategories": ["production"] - }, - { - "name": "watchpack", - "allowedCategories": ["tools"] - }, - { - "name": "webpack", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "webpack-bundle-analyzer", - "allowedCategories": ["production", "tools"] - }, - { - "name": "webpack-cli", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "webpack-dev-server", - "allowedCategories": ["examples", "production", "tools"] - }, - { - "name": "xml2js", - "allowedCategories": ["production"] - } - ] -} +// DO NOT ADD COMMENTS IN THIS FILE. They will be lost when the Rush tool resaves it. +{ + "$schema": "https://developer.microsoft.com/json-schemas/rush/v5/approved-packages.schema.json", + "packages": [ + { + "name": "@aaronhayes/react-use-hubspot-form", + "allowedCategories": [ "production" ] + }, + { + "name": "@babel/cli", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@babel/core", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@babel/plugin-proposal-export-default-from", + "allowedCategories": [ "production" ] + }, + { + "name": "@babel/plugin-transform-async-to-generator", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@babel/plugin-transform-class-properties", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@babel/plugin-transform-object-rest-spread", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@babel/plugin-transform-typescript", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@babel/preset-env", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@babel/preset-react", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@babel/preset-typescript", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@babel/runtime", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@braintree/sanitize-url", + "allowedCategories": [ "production" ] + }, + { + "name": "@codemirror/autocomplete", + "allowedCategories": [ "production" ] + }, + { + "name": "@codemirror/commands", + "allowedCategories": [ "production" ] + }, + { + "name": "@codemirror/lang-yaml", + "allowedCategories": [ "production" ] + }, + { + "name": "@codemirror/language", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@codemirror/lint", + "allowedCategories": [ "production" ] + }, + { + "name": "@codemirror/state", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@codemirror/view", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@componentdriven/csf", + "allowedCategories": [ "production" ] + }, + { + "name": "@cypress/grep", + "allowedCategories": [ "production" ] + }, + { + "name": "@evil-internetmann/react-dnd", + "allowedCategories": [ "production" ] + }, + { + "name": "@floating-ui/dom", + "allowedCategories": [ "production" ] + }, + { + "name": "@floating-ui/react", + "allowedCategories": [ "production" ] + }, + { + "name": "@floating-ui/react-dom", + "allowedCategories": [ "production" ] + }, + { + "name": "@formatjs/cli-lib", + "allowedCategories": [ "tools" ] + }, + { + "name": "@formatjs/icu-messageformat-parser", + "allowedCategories": [ "tools" ] + }, + { + "name": "@gooddata/api-client-tiger", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@gooddata/catalog-export", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/emailjs-mime-codec-new", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/eslint-config", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/fixtures", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@gooddata/i18n-toolkit", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/mock-handling", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@gooddata/number-formatter", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/plugin-toolkit", + "allowedCategories": [ "tools" ] + }, + { + "name": "@gooddata/reference-workspace", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/sdk-backend-base", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-backend-mockingbird", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/sdk-backend-spi", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-backend-tiger", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-embedding", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/sdk-model", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-catalog", + "allowedCategories": [ "examples" ] + }, + { + "name": "@gooddata/sdk-ui-charts", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-dashboard", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-ext", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-filters", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-gen-ai", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-geo", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-kit", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-loaders", + "allowedCategories": [ "examples", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-pivot", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@gooddata/sdk-ui-semantic-search", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@gooddata/sdk-ui-theme-provider", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@gooddata/sdk-ui-vis-commons", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/sdk-ui-web-components", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/stylelint-config", + "allowedCategories": [ "production" ] + }, + { + "name": "@gooddata/util", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@lezer/highlight", + "allowedCategories": [ "production" ] + }, + { + "name": "@microsoft/api-documenter", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@microsoft/api-extractor", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@openapitools/openapi-generator-cli", + "allowedCategories": [ "production" ] + }, + { + "name": "@react-aria/interactions", + "allowedCategories": [ "production" ] + }, + { + "name": "@reduxjs/toolkit", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/addon-a11y", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/builder-vite", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/builder-webpack5", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/cli", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/manager-webpack5", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/preset-scss", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/react", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/react-vite", + "allowedCategories": [ "production" ] + }, + { + "name": "@storybook/react-webpack5", + "allowedCategories": [ "production" ] + }, + { + "name": "@tanstack/react-virtual", + "allowedCategories": [ "production" ] + }, + { + "name": "@testing-library/dom", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@testing-library/react", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@testing-library/user-event", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/babel__core", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/blessed", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/columnify", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/cross-spawn", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/debounce-promise", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/fast-levenshtein", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/fs-extra", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/geojson", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/history", + "allowedCategories": [ "examples" ] + }, + { + "name": "@types/hoist-non-react-statics", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/inquirer", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/isomorphic-fetch", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@types/js-yaml", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/json5", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/kefir", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/lodash-es", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@types/mapbox-gl", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/maplibre-gl", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/mdast", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/node", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@types/node-fetch", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/pdf-parse", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/prettier", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/qs", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/raf", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@types/react", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@types/react-datepicker", + "allowedCategories": [ "examples" ] + }, + { + "name": "@types/react-dom", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@types/react-google-recaptcha", + "allowedCategories": [ "examples" ] + }, + { + "name": "@types/react-helmet", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@types/react-lines-ellipsis", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/react-measure", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@types/react-native-listener", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/react-portal", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/react-redux", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/react-router-dom", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@types/react-syntax-highlighter", + "allowedCategories": [ "examples" ] + }, + { + "name": "@types/react-textarea-autosize", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/react-transition-group", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/rimraf", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/semver", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/spark-md5", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/stringify-object", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/tar", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/tinycolor2", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/tough-cookie", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/unist", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/uuid", + "allowedCategories": [ "production" ] + }, + { + "name": "@types/validate-npm-package-name", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/watchpack", + "allowedCategories": [ "tools" ] + }, + { + "name": "@types/webpack-env", + "allowedCategories": [ "examples" ] + }, + { + "name": "@typescript-eslint/eslint-plugin", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@typescript-eslint/parser", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "@vitejs/plugin-react", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "@vitejs/plugin-react-swc", + "allowedCategories": [ "examples" ] + }, + { + "name": "@vitest/eslint-plugin", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "@welldone-software/why-did-you-render", + "allowedCategories": [ "examples" ] + }, + { + "name": "ag-grid-community", + "allowedCategories": [ "production" ] + }, + { + "name": "ag-grid-enterprise", + "allowedCategories": [ "production" ] + }, + { + "name": "ag-grid-react", + "allowedCategories": [ "production" ] + }, + { + "name": "async", + "allowedCategories": [ "production" ] + }, + { + "name": "axios", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "axios-cache-interceptor", + "allowedCategories": [ "production" ] + }, + { + "name": "babel-loader", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "babel-plugin-lodash", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "babel-plugin-require-context-hook", + "allowedCategories": [ "production" ] + }, + { + "name": "blessed", + "allowedCategories": [ "tools" ] + }, + { + "name": "blob-polyfill", + "allowedCategories": [ "production" ] + }, + { + "name": "case-sensitive-paths-webpack-plugin", + "allowedCategories": [ "examples", "tools" ] + }, + { + "name": "chalk", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "chokidar", + "allowedCategories": [ "tools" ] + }, + { + "name": "circular-dependency-plugin", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "classnames", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "clean-webpack-plugin", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "codemirror", + "allowedCategories": [ "production" ] + }, + { + "name": "columnify", + "allowedCategories": [ "tools" ] + }, + { + "name": "commander", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "compression-webpack-plugin", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "concurrently", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "copy-to-clipboard", + "allowedCategories": [ "production" ] + }, + { + "name": "copy-webpack-plugin", + "allowedCategories": [ "production" ] + }, + { + "name": "core-js", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "cron-parser", + "allowedCategories": [ "production" ] + }, + { + "name": "cross-spawn", + "allowedCategories": [ "tools" ] + }, + { + "name": "css-loader", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "cypress", + "allowedCategories": [ "production" ] + }, + { + "name": "cypress-multi-reporters", + "allowedCategories": [ "production" ] + }, + { + "name": "cypress-real-events", + "allowedCategories": [ "production" ] + }, + { + "name": "cypress-terminal-report", + "allowedCategories": [ "production" ] + }, + { + "name": "date-fns", + "allowedCategories": [ "production" ] + }, + { + "name": "date-fns-tz", + "allowedCategories": [ "production" ] + }, + { + "name": "debounce-promise", + "allowedCategories": [ "production" ] + }, + { + "name": "default-import", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "dependency-cruiser", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "dotenv", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "dotenv-webpack", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "downshift", + "allowedCategories": [ "production" ] + }, + { + "name": "esbuild-loader", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-config-prettier", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-import-resolver-typescript", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-chai-friendly", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "eslint-plugin-cypress", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "eslint-plugin-eslint-comments", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-header", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-import", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-import-esm", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-no-only-tests", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-prettier", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-react", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-react-hooks", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-regexp", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-sonarjs", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eslint-plugin-storybook", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "eslint-plugin-tsdoc", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "eventsource-parser", + "allowedCategories": [ "production" ] + }, + { + "name": "exponential-backoff", + "allowedCategories": [ "production" ] + }, + { + "name": "fast-equals", + "allowedCategories": [ "production" ] + }, + { + "name": "fast-glob", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "fast-levenshtein", + "allowedCategories": [ "production" ] + }, + { + "name": "fetch-cookie", + "allowedCategories": [ "production" ] + }, + { + "name": "fetch-mock", + "allowedCategories": [ "production" ] + }, + { + "name": "find-up", + "allowedCategories": [ "tools" ] + }, + { + "name": "fix-esm-import-path", + "allowedCategories": [ "production" ] + }, + { + "name": "fixed-data-table-2", + "allowedCategories": [ "production" ] + }, + { + "name": "fork-ts-checker-webpack-plugin", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "fs-extra", + "allowedCategories": [ "tools" ] + }, + { + "name": "full-icu", + "allowedCategories": [ "production" ] + }, + { + "name": "glob", + "allowedCategories": [ "production" ] + }, + { + "name": "happy-dom", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "highcharts", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "highcharts-react-official", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "history", + "allowedCategories": [ "examples" ] + }, + { + "name": "hoist-non-react-statics", + "allowedCategories": [ "production" ] + }, + { + "name": "html-validate", + "allowedCategories": [ "tools" ] + }, + { + "name": "html-webpack-plugin", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "http-status-codes", + "allowedCategories": [ "production" ] + }, + { + "name": "immer", + "allowedCategories": [ "production" ] + }, + { + "name": "inquirer", + "allowedCategories": [ "tools" ] + }, + { + "name": "isomorphic-fetch", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "js-object-pretty-print", + "allowedCategories": [ "production" ] + }, + { + "name": "js-yaml", + "allowedCategories": [ "production" ] + }, + { + "name": "jsdom", + "allowedCategories": [ "production" ] + }, + { + "name": "json-loader", + "allowedCategories": [ "production" ] + }, + { + "name": "json-stable-stringify", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "json5", + "allowedCategories": [ "tools" ] + }, + { + "name": "jsonschema", + "allowedCategories": [ "tools" ] + }, + { + "name": "kefir", + "allowedCategories": [ "production" ] + }, + { + "name": "lodash-es", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "lru-cache", + "allowedCategories": [ "production" ] + }, + { + "name": "lz-string", + "allowedCategories": [ "production" ] + }, + { + "name": "mapbox-gl", + "allowedCategories": [ "production" ] + }, + { + "name": "maplibre-gl", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "mdast", + "allowedCategories": [ "production" ] + }, + { + "name": "mini-css-extract-plugin", + "allowedCategories": [ "production" ] + }, + { + "name": "mkdirp", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "mocha", + "allowedCategories": [ "production" ] + }, + { + "name": "mocha-junit-reporter", + "allowedCategories": [ "production" ] + }, + { + "name": "moment", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "moment-timezone", + "allowedCategories": [ "production" ] + }, + { + "name": "node-fetch", + "allowedCategories": [ "production" ] + }, + { + "name": "node-xlsx", + "allowedCategories": [ "production" ] + }, + { + "name": "npm-run-all", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "open", + "allowedCategories": [ "tools" ] + }, + { + "name": "ora", + "allowedCategories": [ "tools" ] + }, + { + "name": "p-map", + "allowedCategories": [ "tools" ] + }, + { + "name": "pdf-parse", + "allowedCategories": [ "production" ] + }, + { + "name": "polished", + "allowedCategories": [ "production" ] + }, + { + "name": "postcss", + "allowedCategories": [ "production" ] + }, + { + "name": "postcss-value-parser", + "allowedCategories": [ "production" ] + }, + { + "name": "prettier", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "prettier-loader", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "process", + "allowedCategories": [ "examples", "tools" ] + }, + { + "name": "qs", + "allowedCategories": [ "production" ] + }, + { + "name": "raf", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "react", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "react-content-loader", + "allowedCategories": [ "production" ] + }, + { + "name": "react-datepicker", + "allowedCategories": [ "examples" ] + }, + { + "name": "react-day-picker", + "allowedCategories": [ "production" ] + }, + { + "name": "react-dnd", + "allowedCategories": [ "production" ] + }, + { + "name": "react-dnd-html5-backend", + "allowedCategories": [ "production" ] + }, + { + "name": "react-dom", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "react-fast-compare", + "allowedCategories": [ "production" ] + }, + { + "name": "react-ga", + "allowedCategories": [ "examples" ] + }, + { + "name": "react-google-recaptcha", + "allowedCategories": [ "examples" ] + }, + { + "name": "react-grid-system", + "allowedCategories": [ "production" ] + }, + { + "name": "react-helmet", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "react-intl", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "react-lines-ellipsis", + "allowedCategories": [ "production" ] + }, + { + "name": "react-loading-skeleton", + "allowedCategories": [ "production" ] + }, + { + "name": "react-markdown", + "allowedCategories": [ "production" ] + }, + { + "name": "react-measure", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "react-native-listener", + "allowedCategories": [ "production" ] + }, + { + "name": "react-portal", + "allowedCategories": [ "production" ] + }, + { + "name": "react-redux", + "allowedCategories": [ "production" ] + }, + { + "name": "react-responsive", + "allowedCategories": [ "production" ] + }, + { + "name": "react-router-dom", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "react-select", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "react-select-async-paginate", + "allowedCategories": [ "production" ] + }, + { + "name": "react-syntax-highlighter", + "allowedCategories": [ "examples" ] + }, + { + "name": "react-textarea-autosize", + "allowedCategories": [ "production" ] + }, + { + "name": "react-transition-group", + "allowedCategories": [ "production" ] + }, + { + "name": "react-window", + "allowedCategories": [ "production" ] + }, + { + "name": "recharts", + "allowedCategories": [ "examples" ] + }, + { + "name": "redux", + "allowedCategories": [ "production" ] + }, + { + "name": "redux-batched-actions", + "allowedCategories": [ "production" ] + }, + { + "name": "redux-saga", + "allowedCategories": [ "production" ] + }, + { + "name": "remark", + "allowedCategories": [ "production" ] + }, + { + "name": "remark-emoji", + "allowedCategories": [ "production" ] + }, + { + "name": "require-from-string", + "allowedCategories": [ "production" ] + }, + { + "name": "reselect", + "allowedCategories": [ "production" ] + }, + { + "name": "rollup", + "allowedCategories": [ "production" ] + }, + { + "name": "sass", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "sass-loader", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "semver", + "allowedCategories": [ "production" ] + }, + { + "name": "source-map-loader", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "spark-md5", + "allowedCategories": [ "production" ] + }, + { + "name": "speed-measure-webpack-plugin", + "allowedCategories": [ "examples" ] + }, + { + "name": "storybook", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "stringify-object", + "allowedCategories": [ "production" ] + }, + { + "name": "strip-ansi", + "allowedCategories": [ "tools" ] + }, + { + "name": "style-loader", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "styled-jsx", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "stylelint", + "allowedCategories": [ "production" ] + }, + { + "name": "stylelint-checkstyle-formatter", + "allowedCategories": [ "production" ] + }, + { + "name": "stylelint-config-prettier", + "allowedCategories": [ "production" ] + }, + { + "name": "svgo", + "allowedCategories": [ "production" ] + }, + { + "name": "tar", + "allowedCategories": [ "tools" ] + }, + { + "name": "tinycolor2", + "allowedCategories": [ "production" ] + }, + { + "name": "ts-invariant", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "ts-loader", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "ts-morph", + "allowedCategories": [ "tools" ] + }, + { + "name": "tsd", + "allowedCategories": [ "production" ] + }, + { + "name": "tslib", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "typescript", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "unified", + "allowedCategories": [ "production" ] + }, + { + "name": "util", + "allowedCategories": [ "examples", "tools" ] + }, + { + "name": "uuid", + "allowedCategories": [ "production" ] + }, + { + "name": "validate-npm-package-name", + "allowedCategories": [ "examples", "tools" ] + }, + { + "name": "vite", + "allowedCategories": [ "examples", "production" ] + }, + { + "name": "vite-node", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "vite-plugin-css-injected-by-js", + "allowedCategories": [ "production" ] + }, + { + "name": "vite-plugin-environment", + "allowedCategories": [ "production" ] + }, + { + "name": "vite-plugin-html", + "allowedCategories": [ "examples" ] + }, + { + "name": "vite-plugin-mkcert", + "allowedCategories": [ "examples" ] + }, + { + "name": "vite-plugin-static-copy", + "allowedCategories": [ "production" ] + }, + { + "name": "vitest", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "vitest-dom", + "allowedCategories": [ "production" ] + }, + { + "name": "wait-on", + "allowedCategories": [ "production" ] + }, + { + "name": "watchpack", + "allowedCategories": [ "tools" ] + }, + { + "name": "webpack", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "webpack-bundle-analyzer", + "allowedCategories": [ "production", "tools" ] + }, + { + "name": "webpack-cli", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "webpack-dev-server", + "allowedCategories": [ "examples", "production", "tools" ] + }, + { + "name": "xml2js", + "allowedCategories": [ "production" ] + } + ] +} diff --git a/common/config/rush/pnpm-lock.yaml b/common/config/rush/pnpm-lock.yaml index b4eaf8a3f15..430647c25c9 100644 --- a/common/config/rush/pnpm-lock.yaml +++ b/common/config/rush/pnpm-lock.yaml @@ -8,7 +8,7 @@ importers: .: {} - ../../../sdk/examples/playground: + ../../examples/playground: devDependencies: '@codemirror/state': specifier: ~6.5.3 @@ -164,13 +164,13 @@ importers: specifier: ^6.3.6 version: 6.3.6(@types/node@22.18.5)(sass@1.70.0) - ../../../sdk/examples/sdk-interactive-examples: + ../../examples/sdk-interactive-examples: devDependencies: validate-npm-package-name: specifier: ^5.0.0 version: 5.0.1 - ../../../sdk/examples/sdk-interactive-examples/examples-template: + ../../examples/sdk-interactive-examples/examples-template: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -291,7 +291,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-attributefilter: + ../../examples/sdk-interactive-examples/examples/example-attributefilter: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -412,7 +412,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-chartconfig: + ../../examples/sdk-interactive-examples/examples/example-chartconfig: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -533,7 +533,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-columnchart: + ../../examples/sdk-interactive-examples/examples/example-columnchart: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -654,7 +654,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-combochart: + ../../examples/sdk-interactive-examples/examples/example-combochart: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -775,7 +775,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-dashboard: + ../../examples/sdk-interactive-examples/examples/example-dashboard: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -896,7 +896,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-datefilter: + ../../examples/sdk-interactive-examples/examples/example-datefilter: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1017,7 +1017,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-dependentfilters: + ../../examples/sdk-interactive-examples/examples/example-dependentfilters: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1138,7 +1138,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-execute: + ../../examples/sdk-interactive-examples/examples/example-execute: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1268,7 +1268,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-granularity: + ../../examples/sdk-interactive-examples/examples/example-granularity: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1389,7 +1389,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-headline: + ../../examples/sdk-interactive-examples/examples/example-headline: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1510,7 +1510,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-pivottable: + ../../examples/sdk-interactive-examples/examples/example-pivottable: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1631,7 +1631,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-relativedatefilter: + ../../examples/sdk-interactive-examples/examples/example-relativedatefilter: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1752,7 +1752,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/examples/sdk-interactive-examples/examples/example-repeater: + ../../examples/sdk-interactive-examples/examples/example-repeater: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -1873,7 +1873,7 @@ importers: specifier: ~3.2.0 version: 3.2.2(vite@6.3.6) - ../../../sdk/libs/api-client-tiger: + ../../libs/api-client-tiger: dependencies: '@gooddata/sdk-model': specifier: workspace:* @@ -1973,7 +1973,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/libs/sdk-backend-base: + ../../libs/sdk-backend-base: dependencies: '@braintree/sanitize-url': specifier: ^6.0.0 @@ -2079,7 +2079,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/libs/sdk-backend-mockingbird: + ../../libs/sdk-backend-mockingbird: dependencies: '@gooddata/sdk-backend-base': specifier: workspace:* @@ -2173,7 +2173,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/libs/sdk-backend-spi: + ../../libs/sdk-backend-spi: dependencies: '@gooddata/sdk-model': specifier: workspace:* @@ -2252,7 +2252,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/libs/sdk-backend-tiger: + ../../libs/sdk-backend-tiger: dependencies: '@gooddata/api-client-tiger': specifier: workspace:* @@ -2385,7 +2385,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/libs/sdk-embedding: + ../../libs/sdk-embedding: dependencies: '@gooddata/sdk-model': specifier: workspace:* @@ -2464,7 +2464,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/libs/sdk-model: + ../../libs/sdk-model: dependencies: '@types/geojson': specifier: ^7946.0.16 @@ -2558,7 +2558,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/libs/sdk-ui: + ../../libs/sdk-ui: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -2742,7 +2742,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-all: + ../../libs/sdk-ui-all: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -2830,7 +2830,7 @@ importers: specifier: 5.9.3 version: 5.9.3 - ../../../sdk/libs/sdk-ui-catalog: + ../../libs/sdk-ui-catalog: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -2987,7 +2987,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-charts: + ../../libs/sdk-ui-charts: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -3207,7 +3207,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-dashboard: + ../../libs/sdk-ui-dashboard: dependencies: '@codemirror/language': specifier: ~6.12.1 @@ -3469,7 +3469,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-ext: + ../../libs/sdk-ui-ext: dependencies: '@codemirror/commands': specifier: ~6.10.1 @@ -3746,7 +3746,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-filters: + ../../libs/sdk-ui-filters: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -3945,7 +3945,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-gen-ai: + ../../libs/sdk-ui-gen-ai: dependencies: '@codemirror/autocomplete': specifier: ^6.20.0 @@ -4183,7 +4183,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-geo: + ../../libs/sdk-ui-geo: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -4367,7 +4367,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-kit: + ../../libs/sdk-ui-kit: dependencies: '@aaronhayes/react-use-hubspot-form': specifier: ^2.1.2 @@ -4656,7 +4656,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-loaders: + ../../libs/sdk-ui-loaders: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -4681,7 +4681,7 @@ importers: version: 7.1.11(react@19.1.1)(typescript@5.9.3) semver: specifier: ^7.3.5 - version: 7.7.2 + version: 7.7.3 ts-invariant: specifier: ^0.7.5 version: 0.7.5 @@ -4780,7 +4780,7 @@ importers: specifier: 5.9.3 version: 5.9.3 - ../../../sdk/libs/sdk-ui-pivot: + ../../libs/sdk-ui-pivot: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -4967,7 +4967,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-semantic-search: + ../../libs/sdk-ui-semantic-search: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -5121,7 +5121,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-tests: + ../../libs/sdk-ui-tests: devDependencies: '@babel/core': specifier: ^7.23.5 @@ -5394,7 +5394,7 @@ importers: specifier: 5.93.0 version: 5.93.0(webpack-cli@6.0.1) - ../../../sdk/libs/sdk-ui-tests-e2e: + ../../libs/sdk-ui-tests-e2e: devDependencies: '@babel/core': specifier: ^7.23.5 @@ -5613,7 +5613,7 @@ importers: specifier: ^0.5.0 version: 0.5.0 - ../../../sdk/libs/sdk-ui-theme-provider: + ../../libs/sdk-ui-theme-provider: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -5761,7 +5761,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../../sdk/libs/sdk-ui-vis-commons: + ../../libs/sdk-ui-vis-commons: dependencies: '@gooddata/number-formatter': specifier: ^1.0.6 @@ -5927,7 +5927,7 @@ importers: specifier: 0.1.1 version: 0.1.1(vitest@4.0.8) - ../../../sdk/libs/sdk-ui-web-components: + ../../libs/sdk-ui-web-components: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -6090,7 +6090,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../../sdk/libs/util: + ../../libs/util: dependencies: lodash-es: specifier: ^4.17.21 @@ -6166,7 +6166,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/skel/sdk-skel-ts: + ../../skel/sdk-skel-ts: dependencies: lodash-es: specifier: ^4.17.21 @@ -6236,7 +6236,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/skel/sdk-skel-tsx: + ../../skel/sdk-skel-tsx: dependencies: lodash-es: specifier: ^4.17.21 @@ -6339,7 +6339,7 @@ importers: specifier: 4.0.8 version: 4.0.8(happy-dom@18.0.1)(sass@1.70.0) - ../../../sdk/tools/app-toolkit: + ../../tools/app-toolkit: dependencies: '@babel/cli': specifier: ^7.23.4 @@ -6493,7 +6493,7 @@ importers: specifier: 5.93.0 version: 5.93.0(webpack-cli@6.0.1) - ../../../sdk/tools/applink: + ../../tools/applink: devDependencies: '@gooddata/eslint-config': specifier: workspace:* @@ -6592,7 +6592,7 @@ importers: specifier: ^2.4.4 version: 2.4.4 - ../../../sdk/tools/catalog-export: + ../../tools/catalog-export: dependencies: '@babel/core': specifier: ^7.23.5 @@ -6713,7 +6713,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../../sdk/tools/dashboard-plugin-template: + ../../tools/dashboard-plugin-template: dependencies: json-stable-stringify: specifier: 1.3.0 @@ -6906,7 +6906,7 @@ importers: specifier: 5.2.2 version: 5.2.2(webpack-cli@6.0.1)(webpack@5.93.0) - ../../../sdk/tools/eslint-config: + ../../tools/eslint-config: devDependencies: '@testing-library/dom': specifier: 10.4.0 @@ -6993,7 +6993,7 @@ importers: specifier: ^5.2.0 version: 5.2.0(@types/node@22.18.5) - ../../../sdk/tools/i18n-toolkit: + ../../tools/i18n-toolkit: dependencies: '@formatjs/cli-lib': specifier: ^6.1.1 @@ -7096,7 +7096,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../../sdk/tools/mock-handling: + ../../tools/mock-handling: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -7199,7 +7199,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../../sdk/tools/plugin-toolkit: + ../../tools/plugin-toolkit: dependencies: '@babel/cli': specifier: ^7.23.4 @@ -7344,7 +7344,7 @@ importers: specifier: 4.0.8 version: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) - ../../../sdk/tools/react-app-template: + ../../tools/react-app-template: dependencies: '@codemirror/state': specifier: ~6.5.3 @@ -7507,7 +7507,7 @@ importers: specifier: 5.2.2 version: 5.2.2(webpack-cli@6.0.1)(webpack@5.93.0) - ../../../sdk/tools/reference-workspace: + ../../tools/reference-workspace: dependencies: '@gooddata/sdk-backend-spi': specifier: workspace:* @@ -7580,7 +7580,7 @@ importers: specifier: 5.9.3 version: 5.9.3 - ../../../sdk/tools/reference-workspace-mgmt: + ../../tools/reference-workspace-mgmt: dependencies: '@gooddata/catalog-export': specifier: workspace:* @@ -8864,22 +8864,13 @@ packages: resolution: {integrity: sha512-s3jaWicZd0pkP0jf5ysyHUI/RE7MHos6qlToFcGWXVp+ykHOy77OUMrfbgJ9it2C5bow7OIQwYYaHjk9XlBQ2A==} dev: false - /@codemirror/autocomplete@6.18.7: - resolution: {integrity: sha512-8EzdeIoWPJDsMBwz3zdzwXnUpCzMiCyz5/A3FIPpriaclFCGDkAzK13sMcnsu5rowqiyeQN2Vs2TsOcoDPZirQ==} - dependencies: - '@codemirror/language': 6.12.1 - '@codemirror/state': 6.5.3 - '@codemirror/view': 6.39.10 - '@lezer/common': 1.5.0 - dev: false - /@codemirror/autocomplete@6.20.0: resolution: {integrity: sha512-bOwvTOIJcG5FVo5gUUupiwYh8MioPLQ4UcqbcRf7UQ98X90tCa9E1kZ3Z7tqwpZxYyOvh1YTYbmZE9RTfTp5hg==} dependencies: '@codemirror/language': 6.12.1 '@codemirror/state': 6.5.3 '@codemirror/view': 6.39.10 - '@lezer/common': 1.2.3 + '@lezer/common': 1.5.0 dev: false /@codemirror/commands@6.10.1: @@ -8888,16 +8879,16 @@ packages: '@codemirror/language': 6.12.1 '@codemirror/state': 6.5.3 '@codemirror/view': 6.39.10 - '@lezer/common': 1.2.3 + '@lezer/common': 1.5.0 dev: false /@codemirror/lang-yaml@6.1.2: resolution: {integrity: sha512-dxrfG8w5Ce/QbT7YID7mWZFKhdhsaTNOYjOkSIMt1qmC4VQnXSDSYVHHHn8k6kJUfIhtLo8t1JJgltlxWdsITw==} dependencies: - '@codemirror/autocomplete': 6.18.7 + '@codemirror/autocomplete': 6.20.0 '@codemirror/language': 6.12.1 '@codemirror/state': 6.5.3 - '@lezer/common': 1.2.3 + '@lezer/common': 1.5.0 '@lezer/highlight': 1.2.3 '@lezer/lr': 1.4.2 '@lezer/yaml': 1.0.3 @@ -9559,16 +9550,6 @@ packages: dev: true optional: true - /@eslint-community/eslint-utils@4.9.0(eslint@8.57.1): - resolution: {integrity: sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==} - engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - peerDependencies: - eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 - dependencies: - eslint: 8.57.1 - eslint-visitor-keys: 3.4.3 - dev: true - /@eslint-community/eslint-utils@4.9.1(eslint@8.57.1): resolution: {integrity: sha512-phrYmNiYppR7znFEdqgfWHXR6NCkZEK7hwWDHZUjit/2/U0r6XvkDl0SYnoM51Hq7FhCGdLDT6zxCCOY1hexsQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -9579,11 +9560,6 @@ packages: eslint-visitor-keys: 3.4.3 dev: true - /@eslint-community/regexpp@4.12.1: - resolution: {integrity: sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==} - engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} - dev: true - /@eslint-community/regexpp@4.12.2: resolution: {integrity: sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} @@ -10046,7 +10022,7 @@ packages: optional: true dependencies: glob: 10.4.5 - magic-string: 0.30.19 + magic-string: 0.30.21 react-docgen-typescript: 2.4.0(typescript@5.9.3) typescript: 5.9.3 vite: 6.3.6(@types/node@22.18.5)(sass@1.70.0) @@ -10145,10 +10121,6 @@ packages: /@leichtgewicht/ip-codec@2.0.5: resolution: {integrity: sha512-Vo+PSpZG2/fmgmiNzYK9qWRh8h/CHrwD0mo1h1DzL4yzHNSfWYujGTYsWGreD000gcgmZ7K4Ys6Tx9TxtsKdDw==} - /@lezer/common@1.2.3: - resolution: {integrity: sha512-w7ojc8ejBqr2REPsWxJjrMFsA/ysDCFICn8zEOR9mrqzOu2amhITYuLD8ag6XZf0CFXDrhKqw7+tW8cX66NaDA==} - dev: false - /@lezer/common@1.5.0: resolution: {integrity: sha512-PNGcolp9hr4PJdXR4ix7XtixDrClScvtSCYW3rQG106oVMOOI+jFb+0+J3mbeL/53g1Zd6s0kJzaw6Ri68GmAA==} dev: false @@ -10310,7 +10282,7 @@ packages: /@nestjs/axios@4.0.1(@nestjs/common@11.1.6)(axios@1.12.2)(rxjs@7.8.2): resolution: {integrity: sha512-68pFJgu+/AZbWkGu65Z3r55bTsCPlgyKaV4BSG8yUAD72q1PPuyVRgUwFv6BxdnibTUHlyxm06FmYWNC+bjN7A==} peerDependencies: - '@nestjs/common': ^10.0.0 || ^11.0.0 + '@nestjs/common': ^10.0.0 || ^11.0.0 || 9.3.11 axios: ^1.3.1 rxjs: ^7.0.0 dependencies: @@ -10348,7 +10320,7 @@ packages: engines: {node: '>= 20'} requiresBuild: true peerDependencies: - '@nestjs/common': ^11.0.0 + '@nestjs/common': ^11.0.0 || 9.3.11 '@nestjs/microservices': ^11.0.0 '@nestjs/platform-express': ^11.0.0 '@nestjs/websockets': ^11.0.0 @@ -10635,26 +10607,11 @@ packages: picomatch: 4.0.3 dev: true - /@rollup/rollup-android-arm-eabi@4.50.2: - resolution: {integrity: sha512-uLN8NAiFVIRKX9ZQha8wy6UUs06UNSZ32xj6giK/rmMXAgKahwExvK6SsmgU5/brh4w/nSgj8e0k3c1HBQpa0A==} - cpu: [arm] - os: [android] - requiresBuild: true - optional: true - /@rollup/rollup-android-arm-eabi@4.54.0: resolution: {integrity: sha512-OywsdRHrFvCdvsewAInDKCNyR3laPA2mc9bRYJ6LBp5IyvF3fvXbbNR0bSzHlZVFtn6E0xw2oZlyjg4rKCVcng==} cpu: [arm] os: [android] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-android-arm64@4.50.2: - resolution: {integrity: sha512-oEouqQk2/zxxj22PNcGSskya+3kV0ZKH+nQxuCCOGJ4oTXBdNTbv+f/E3c74cNLeMO1S5wVWacSws10TTSB77g==} - cpu: [arm64] - os: [android] - requiresBuild: true optional: true /@rollup/rollup-android-arm64@4.54.0: @@ -10662,14 +10619,6 @@ packages: cpu: [arm64] os: [android] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-arm64@4.50.2: - resolution: {integrity: sha512-OZuTVTpj3CDSIxmPgGH8en/XtirV5nfljHZ3wrNwvgkT5DQLhIKAeuFSiwtbMto6oVexV0k1F1zqURPKf5rI1Q==} - cpu: [arm64] - os: [darwin] - requiresBuild: true optional: true /@rollup/rollup-darwin-arm64@4.54.0: @@ -10677,14 +10626,6 @@ packages: cpu: [arm64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-darwin-x64@4.50.2: - resolution: {integrity: sha512-Wa/Wn8RFkIkr1vy1k1PB//VYhLnlnn5eaJkfTQKivirOvzu5uVd2It01ukeQstMursuz7S1bU+8WW+1UPXpa8A==} - cpu: [x64] - os: [darwin] - requiresBuild: true optional: true /@rollup/rollup-darwin-x64@4.54.0: @@ -10692,14 +10633,6 @@ packages: cpu: [x64] os: [darwin] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-freebsd-arm64@4.50.2: - resolution: {integrity: sha512-QkzxvH3kYN9J1w7D1A+yIMdI1pPekD+pWx7G5rXgnIlQ1TVYVC6hLl7SOV9pi5q9uIDF9AuIGkuzcbF7+fAhow==} - cpu: [arm64] - os: [freebsd] - requiresBuild: true optional: true /@rollup/rollup-freebsd-arm64@4.54.0: @@ -10707,14 +10640,6 @@ packages: cpu: [arm64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-freebsd-x64@4.50.2: - resolution: {integrity: sha512-dkYXB0c2XAS3a3jmyDkX4Jk0m7gWLFzq1C3qUnJJ38AyxIF5G/dyS4N9B30nvFseCfgtCEdbYFhk0ChoCGxPog==} - cpu: [x64] - os: [freebsd] - requiresBuild: true optional: true /@rollup/rollup-freebsd-x64@4.54.0: @@ -10722,14 +10647,6 @@ packages: cpu: [x64] os: [freebsd] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-gnueabihf@4.50.2: - resolution: {integrity: sha512-9VlPY/BN3AgbukfVHAB8zNFWB/lKEuvzRo1NKev0Po8sYFKx0i+AQlCYftgEjcL43F2h9Ui1ZSdVBc4En/sP2w==} - cpu: [arm] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-arm-gnueabihf@4.54.0: @@ -10737,14 +10654,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm-musleabihf@4.50.2: - resolution: {integrity: sha512-+GdKWOvsifaYNlIVf07QYan1J5F141+vGm5/Y8b9uCZnG/nxoGqgCmR24mv0koIWWuqvFYnbURRqw1lv7IBINw==} - cpu: [arm] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-arm-musleabihf@4.54.0: @@ -10752,14 +10661,6 @@ packages: cpu: [arm] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-gnu@4.50.2: - resolution: {integrity: sha512-df0Eou14ojtUdLQdPFnymEQteENwSJAdLf5KCDrmZNsy1c3YaCNaJvYsEUHnrg+/DLBH612/R0xd3dD03uz2dg==} - cpu: [arm64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-arm64-gnu@4.54.0: @@ -10767,14 +10668,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-arm64-musl@4.50.2: - resolution: {integrity: sha512-iPeouV0UIDtz8j1YFR4OJ/zf7evjauqv7jQ/EFs0ClIyL+by++hiaDAfFipjOgyz6y6xbDvJuiU4HwpVMpRFDQ==} - cpu: [arm64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-arm64-musl@4.54.0: @@ -10782,14 +10675,6 @@ packages: cpu: [arm64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-loong64-gnu@4.50.2: - resolution: {integrity: sha512-OL6KaNvBopLlj5fTa5D5bau4W82f+1TyTZRr2BdnfsrnQnmdxh4okMxR2DcDkJuh4KeoQZVuvHvzuD/lyLn2Kw==} - cpu: [loong64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-loong64-gnu@4.54.0: @@ -10797,14 +10682,6 @@ packages: cpu: [loong64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-ppc64-gnu@4.50.2: - resolution: {integrity: sha512-I21VJl1w6z/K5OTRl6aS9DDsqezEZ/yKpbqlvfHbW0CEF5IL8ATBMuUx6/mp683rKTK8thjs/0BaNrZLXetLag==} - cpu: [ppc64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-ppc64-gnu@4.54.0: @@ -10812,14 +10689,6 @@ packages: cpu: [ppc64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.50.2: - resolution: {integrity: sha512-Hq6aQJT/qFFHrYMjS20nV+9SKrXL2lvFBENZoKfoTH2kKDOJqff5OSJr4x72ZaG/uUn+XmBnGhfr4lwMRrmqCQ==} - cpu: [riscv64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-riscv64-gnu@4.54.0: @@ -10827,14 +10696,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-musl@4.50.2: - resolution: {integrity: sha512-82rBSEXRv5qtKyr0xZ/YMF531oj2AIpLZkeNYxmKNN6I2sVE9PGegN99tYDLK2fYHJITL1P2Lgb4ZXnv0PjQvw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-riscv64-musl@4.54.0: @@ -10842,14 +10703,6 @@ packages: cpu: [riscv64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-s390x-gnu@4.50.2: - resolution: {integrity: sha512-4Q3S3Hy7pC6uaRo9gtXUTJ+EKo9AKs3BXKc2jYypEcMQ49gDPFU2P1ariX9SEtBzE5egIX6fSUmbmGazwBVF9w==} - cpu: [s390x] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-s390x-gnu@4.54.0: @@ -10857,14 +10710,6 @@ packages: cpu: [s390x] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.50.2: - resolution: {integrity: sha512-9Jie/At6qk70dNIcopcL4p+1UirusEtznpNtcq/u/C5cC4HBX7qSGsYIcG6bdxj15EYWhHiu02YvmdPzylIZlA==} - cpu: [x64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-x64-gnu@4.54.0: @@ -10872,14 +10717,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-musl@4.50.2: - resolution: {integrity: sha512-HPNJwxPL3EmhzeAnsWQCM3DcoqOz3/IC6de9rWfGR8ZCuEHETi9km66bH/wG3YH0V3nyzyFEGUZeL5PKyy4xvw==} - cpu: [x64] - os: [linux] - requiresBuild: true optional: true /@rollup/rollup-linux-x64-musl@4.54.0: @@ -10887,14 +10724,6 @@ packages: cpu: [x64] os: [linux] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-openharmony-arm64@4.50.2: - resolution: {integrity: sha512-nMKvq6FRHSzYfKLHZ+cChowlEkR2lj/V0jYj9JnGUVPL2/mIeFGmVM2mLaFeNa5Jev7W7TovXqXIG2d39y1KYA==} - cpu: [arm64] - os: [openharmony] - requiresBuild: true optional: true /@rollup/rollup-openharmony-arm64@4.54.0: @@ -10902,14 +10731,6 @@ packages: cpu: [arm64] os: [openharmony] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-arm64-msvc@4.50.2: - resolution: {integrity: sha512-eFUvvnTYEKeTyHEijQKz81bLrUQOXKZqECeiWH6tb8eXXbZk+CXSG2aFrig2BQ/pjiVRj36zysjgILkqarS2YA==} - cpu: [arm64] - os: [win32] - requiresBuild: true optional: true /@rollup/rollup-win32-arm64-msvc@4.54.0: @@ -10917,14 +10738,6 @@ packages: cpu: [arm64] os: [win32] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-ia32-msvc@4.50.2: - resolution: {integrity: sha512-cBaWmXqyfRhH8zmUxK3d3sAhEWLrtMjWBRwdMMHJIXSjvjLKvv49adxiEz+FJ8AP90apSDDBx2Tyd/WylV6ikA==} - cpu: [ia32] - os: [win32] - requiresBuild: true optional: true /@rollup/rollup-win32-ia32-msvc@4.54.0: @@ -10932,7 +10745,6 @@ packages: cpu: [ia32] os: [win32] requiresBuild: true - dev: true optional: true /@rollup/rollup-win32-x64-gnu@4.54.0: @@ -10940,14 +10752,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-win32-x64-msvc@4.50.2: - resolution: {integrity: sha512-APwKy6YUhvZaEoHyM+9xqmTpviEI+9eL7LoCH+aLcvWYHJ663qG5zx7WzWZY+a9qkg5JtzcMyJ9z0WtQBMDmgA==} - cpu: [x64] - os: [win32] - requiresBuild: true optional: true /@rollup/rollup-win32-x64-msvc@4.54.0: @@ -10955,7 +10759,6 @@ packages: cpu: [x64] os: [win32] requiresBuild: true - dev: true optional: true /@rtsao/scc@1.1.0: @@ -11192,7 +10995,7 @@ packages: '@storybook/builder-vite': 10.0.6(storybook@10.0.6)(vite@6.3.6)(webpack@5.93.0) '@storybook/react': 10.0.6(react-dom@19.1.1)(react@19.1.1)(storybook@10.0.6)(typescript@5.9.3) empathic: 2.0.0 - magic-string: 0.30.19 + magic-string: 0.30.21 react: 19.1.1 react-docgen: 8.0.1 react-dom: 19.1.1(react@19.1.1) @@ -12042,20 +11845,6 @@ packages: - supports-color dev: true - /@typescript-eslint/project-service@8.46.0(typescript@5.9.3): - resolution: {integrity: sha512-OEhec0mH+U5Je2NZOeK1AbVCdm0ChyapAyTeXVIYTPXDJ3F07+cu87PPXcGoYqZ7M9YJVvFnfpGg1UmCIqM+QQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - dependencies: - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) - '@typescript-eslint/types': 8.46.0 - debug: 4.4.3(supports-color@8.1.1) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/project-service@8.52.0(typescript@5.9.3): resolution: {integrity: sha512-xD0MfdSdEmeFa3OmVqonHi+Cciab96ls1UhIF/qX/O/gPu5KXD0bY9lu33jj04fjzrXHcuvjBcBC+D3SNSadaw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12070,14 +11859,6 @@ packages: - supports-color dev: true - /@typescript-eslint/scope-manager@8.46.0: - resolution: {integrity: sha512-lWETPa9XGcBes4jqAMYD9fW0j4n6hrPtTJwWDmtqgFO/4HF4jmdH/Q6wggTw5qIT5TXjKzbt7GsZUBnWoO3dqw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/visitor-keys': 8.46.0 - dev: true - /@typescript-eslint/scope-manager@8.52.0: resolution: {integrity: sha512-ixxqmmCcc1Nf8S0mS0TkJ/3LKcC8mruYJPOU6Ia2F/zUUR4pApW7LzrpU3JmtePbRUTes9bEqRc1Gg4iyRnDzA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12086,15 +11867,6 @@ packages: '@typescript-eslint/visitor-keys': 8.52.0 dev: true - /@typescript-eslint/tsconfig-utils@8.46.0(typescript@5.9.3): - resolution: {integrity: sha512-WrYXKGAHY836/N7zoK/kzi6p8tXFhasHh8ocFL9VZSAkvH956gfeRfcnhs3xzRy8qQ/dq3q44v1jvQieMFg2cw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - dependencies: - typescript: 5.9.3 - dev: true - /@typescript-eslint/tsconfig-utils@8.52.0(typescript@5.9.3): resolution: {integrity: sha512-jl+8fzr/SdzdxWJznq5nvoI7qn2tNYV/ZBAEcaFMVXf+K6jmXvAFrgo/+5rxgnL152f//pDEAYAhhBAZGrVfwg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12122,37 +11894,11 @@ packages: - supports-color dev: true - /@typescript-eslint/types@8.46.0: - resolution: {integrity: sha512-bHGGJyVjSE4dJJIO5yyEWt/cHyNwga/zXGJbJJ8TiO01aVREK6gCTu3L+5wrkb1FbDkQ+TKjMNe9R/QQQP9+rA==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dev: true - /@typescript-eslint/types@8.52.0: resolution: {integrity: sha512-LWQV1V4q9V4cT4H5JCIx3481iIFxH1UkVk+ZkGGAV1ZGcjGI9IoFOfg3O6ywz8QqCDEp7Inlg6kovMofsNRaGg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} dev: true - /@typescript-eslint/typescript-estree@8.46.0(typescript@5.9.3): - resolution: {integrity: sha512-ekDCUfVpAKWJbRfm8T1YRrCot1KFxZn21oV76v5Fj4tr7ELyk84OS+ouvYdcDAwZL89WpEkEj2DKQ+qg//+ucg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - typescript: '>=4.8.4 <6.0.0' - dependencies: - '@typescript-eslint/project-service': 8.46.0(typescript@5.9.3) - '@typescript-eslint/tsconfig-utils': 8.46.0(typescript@5.9.3) - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/visitor-keys': 8.46.0 - debug: 4.4.3(supports-color@8.1.1) - fast-glob: 3.3.3 - is-glob: 4.0.3 - minimatch: 9.0.5 - semver: 7.7.2 - ts-api-utils: 2.1.0(typescript@5.9.3) - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/typescript-estree@8.52.0(typescript@5.9.3): resolution: {integrity: sha512-XP3LClsCc0FsTK5/frGjolyADTh3QmsLp6nKd476xNI9CsSsLnmn4f0jrzNoAulmxlmNIpeXuHYeEQv61Q6qeQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12173,23 +11919,6 @@ packages: - supports-color dev: true - /@typescript-eslint/utils@8.46.0(eslint@8.57.1)(typescript@5.9.3): - resolution: {integrity: sha512-nD6yGWPj1xiOm4Gk0k6hLSZz2XkNXhuYmyIrOWcHoPuAhjT9i5bAG+xbWPgFeNR8HPHHtpNKdYUXJl/D3x7f5g==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - peerDependencies: - eslint: ^8.57.0 || ^9.0.0 - typescript: '>=4.8.4 <6.0.0' - dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) - '@typescript-eslint/scope-manager': 8.46.0 - '@typescript-eslint/types': 8.46.0 - '@typescript-eslint/typescript-estree': 8.46.0(typescript@5.9.3) - eslint: 8.57.1 - typescript: 5.9.3 - transitivePeerDependencies: - - supports-color - dev: true - /@typescript-eslint/utils@8.52.0(eslint@8.57.1)(typescript@5.9.3): resolution: {integrity: sha512-wYndVMWkweqHpEpwPhwqE2lnD2DxC6WVLupU/DOt/0/v+/+iQbbzO3jOHjmBMnhu0DgLULvOaU4h4pwHYi2oRQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12207,14 +11936,6 @@ packages: - supports-color dev: true - /@typescript-eslint/visitor-keys@8.46.0: - resolution: {integrity: sha512-FrvMpAK+hTbFy7vH5j1+tMYHMSKLE6RzluFJlkFNKD0p9YsUT75JlBSmr5so3QRzvMwU5/bIEdeNrxm8du8l3Q==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - dependencies: - '@typescript-eslint/types': 8.46.0 - eslint-visitor-keys: 4.2.1 - dev: true - /@typescript-eslint/visitor-keys@8.52.0: resolution: {integrity: sha512-ink3/Zofus34nmBsPjow63FP5M7IGff0RKAgqR6+CFpdk22M7aLwC9gOcLGYqr7MczLPzZVERW9hRog3O4n1sQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -12421,8 +12142,8 @@ packages: vitest: optional: true dependencies: - '@typescript-eslint/scope-manager': 8.46.0 - '@typescript-eslint/utils': 8.46.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/scope-manager': 8.52.0 + '@typescript-eslint/utils': 8.52.0(eslint@8.57.1)(typescript@5.9.3) eslint: 8.57.1 typescript: 5.9.3 vitest: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) @@ -12463,7 +12184,7 @@ packages: dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 - magic-string: 0.30.19 + magic-string: 0.30.21 vite: 6.3.6(@types/node@22.18.5)(sass@1.70.0) dev: true @@ -12635,6 +12356,9 @@ packages: peerDependencies: webpack: ^5.82.0 webpack-cli: 6.x.x + peerDependenciesMeta: + webpack: + optional: true dependencies: webpack: 5.93.0(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.93.0) @@ -12645,6 +12369,9 @@ packages: peerDependencies: webpack: ^5.82.0 webpack-cli: 6.x.x + peerDependenciesMeta: + webpack: + optional: true dependencies: webpack: 5.93.0(webpack-cli@6.0.1) webpack-cli: 6.0.1(webpack-bundle-analyzer@4.10.2)(webpack-dev-server@5.2.2)(webpack@5.93.0) @@ -12657,6 +12384,8 @@ packages: webpack-cli: 6.x.x webpack-dev-server: '*' peerDependenciesMeta: + webpack: + optional: true webpack-dev-server: optional: true dependencies: @@ -13227,6 +12956,9 @@ packages: peerDependencies: '@babel/core': ^7.0.0 webpack: '>=2' + peerDependenciesMeta: + webpack: + optional: true dependencies: '@babel/core': 7.28.4 find-cache-dir: 3.3.2 @@ -13986,7 +13718,7 @@ packages: resolution: {integrity: sha512-AVITY/tGNdoBGAkaYqNsDGFzf5THvvjGBW7u0djTqC8xAqyj7WTLOD/bTGnhUfSn1X8E3qA9GyZjvIY+WnqzRA==} hasBin: true dependencies: - semver: 7.7.2 + semver: 7.7.3 storybook: 10.0.6(@testing-library/dom@10.4.0)(prettier@3.6.2)(react-dom@19.1.1)(react@19.1.1)(vite@6.3.6) transitivePeerDependencies: - '@testing-library/dom' @@ -14051,7 +13783,7 @@ packages: postcss-modules-scope: 3.2.1(postcss@8.5.6) postcss-modules-values: 4.0.0(postcss@8.5.6) postcss-value-parser: 4.2.0 - semver: 7.7.2 + semver: 7.7.3 webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -14124,7 +13856,7 @@ packages: debug: 4.4.3(supports-color@8.1.1) lodash: 4.17.21 mocha: 11.1.0 - semver: 7.7.2 + semver: 7.7.3 transitivePeerDependencies: - supports-color dev: true @@ -14192,7 +13924,7 @@ packages: process: 0.11.10 proxy-from-env: 1.0.0 request-progress: 3.0.0 - semver: 7.7.2 + semver: 7.7.3 supports-color: 8.1.1 tmp: 0.2.5 tree-kill: 1.2.2 @@ -14417,7 +14149,7 @@ packages: prompts: 2.4.2 rechoir: 0.8.0 safe-regex: 2.1.1 - semver: 7.7.2 + semver: 7.7.3 semver-try-require: 6.2.3 teamcity-service-messages: 0.1.14 tsconfig-paths-webpack-plugin: 4.1.0 @@ -14590,6 +14322,9 @@ packages: engines: {node: '>=10'} peerDependencies: webpack: ^4 || ^5 + peerDependenciesMeta: + webpack: + optional: true dependencies: dotenv-defaults: 2.0.2 webpack: 5.93.0(webpack-cli@6.0.1) @@ -14898,6 +14633,9 @@ packages: resolution: {integrity: sha512-D7HeJNdkDKKMarPQO/3dlJT6RwN2YJO7ENU6RPlpOz5YxSHnUNi2yvW41Bckvi1EVwctIaLzlb0ni5ag2GINYA==} peerDependencies: webpack: ^4.40.0 || ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true dependencies: esbuild: 0.25.9 get-tsconfig: 4.10.1 @@ -15230,8 +14968,8 @@ packages: peerDependencies: eslint: '>=6.0.0' dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.2 comment-parser: 1.4.1 eslint: 8.57.1 grapheme-splitter: 1.0.4 @@ -15256,7 +14994,7 @@ packages: eslint: '>=8' storybook: ^10.0.6 dependencies: - '@typescript-eslint/utils': 8.46.0(eslint@8.57.1)(typescript@5.9.3) + '@typescript-eslint/utils': 8.52.0(eslint@8.57.1)(typescript@5.9.3) eslint: 8.57.1 storybook: 10.0.6(@testing-library/dom@10.4.0)(prettier@3.6.2)(react-dom@19.1.1)(react@19.1.1)(vite@6.3.6) transitivePeerDependencies: @@ -15306,8 +15044,8 @@ packages: deprecated: This version is no longer supported. Please see https://eslint.org/version-support for other options. hasBin: true dependencies: - '@eslint-community/eslint-utils': 4.9.0(eslint@8.57.1) - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/eslint-utils': 4.9.1(eslint@8.57.1) + '@eslint-community/regexpp': 4.12.2 '@eslint/eslintrc': 2.1.4 '@eslint/js': 8.57.1 '@humanwhocodes/config-array': 0.13.0 @@ -16354,7 +16092,7 @@ packages: kleur: 4.1.5 minimist: 1.2.8 prompts: 2.4.2 - semver: 7.7.2 + semver: 7.7.3 vitest: 4.0.8(@types/node@22.18.5)(happy-dom@18.0.1) dev: false @@ -16760,7 +16498,7 @@ packages: /is-bun-module@2.0.0: resolution: {integrity: sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==} dependencies: - semver: 7.7.2 + semver: 7.7.3 dev: true /is-callable@1.2.7: @@ -17549,12 +17287,6 @@ packages: resolution: {integrity: sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ==} hasBin: true - /magic-string@0.30.19: - resolution: {integrity: sha512-2N21sPY9Ws53PZvsEpVtNuSW+ScYbQdp4b9qUaL+9QkHUrGFKo56Lg9Emg5s9V/qrtNBmiR01sYhUOwu3H+VOw==} - dependencies: - '@jridgewell/sourcemap-codec': 1.5.5 - dev: true - /magic-string@0.30.21: resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==} dependencies: @@ -18372,7 +18104,7 @@ packages: dependencies: hosted-git-info: 4.1.0 is-core-module: 2.16.1 - semver: 7.7.2 + semver: 7.7.3 validate-npm-package-license: 3.0.4 dev: true @@ -19660,6 +19392,9 @@ packages: resolution: {integrity: sha512-6orZWyCnIQXMGY4DUGM0oj0L7oYnwTACsfsru/J7r94RM3P9eS7SORGpr3LCeRCMoIMQcpfKZ7X4NdyFHBS8Eg==} peerDependencies: redux: '>=1.0.0' + peerDependenciesMeta: + redux: + optional: true dependencies: redux: 5.0.1 dev: false @@ -19674,6 +19409,9 @@ packages: resolution: {integrity: sha512-NW2r5T6ksUKXCabzhL9z+h206HQw/NJkcLm1GPImRQ8IzfXwRGqjVhKJGauHirT0DAuyy6hjdnMZaRoAcy0Klw==} peerDependencies: redux: ^5.0.0 + peerDependenciesMeta: + redux: + optional: true dependencies: redux: 5.0.1 dev: false @@ -19691,7 +19429,7 @@ packages: resolution: {integrity: sha512-486O8/pQXwj9jV0mVvUnTsxq0uknpBnNJ0eCUhkZqJRQ8KutrT1PhzmumdCeM1hSBF2eMlFPmwECRER4IbKXlQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 dev: true /reflect-metadata@0.2.2: @@ -19725,7 +19463,7 @@ packages: resolution: {integrity: sha512-OLxjyjPkVH+rQlBLb1I/P/VTmamSjGkvN5PTV5BXP432k3uVz727J7H29GA5IFiY0m7e1xBN7049Wn59FY3DEQ==} engines: {node: ^12.0.0 || ^14.0.0 || >=16.0.0} dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 refa: 0.11.0 dev: true @@ -19963,36 +19701,6 @@ packages: glob: 7.2.3 dev: true - /rollup@4.50.2: - resolution: {integrity: sha512-BgLRGy7tNS9H66aIMASq1qSYbAAJV6Z6WR4QYTvj5FgF15rZ/ympT1uixHXwzbZUBDbkvqUI1KR0fH1FhMaQ9w==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.8 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.50.2 - '@rollup/rollup-android-arm64': 4.50.2 - '@rollup/rollup-darwin-arm64': 4.50.2 - '@rollup/rollup-darwin-x64': 4.50.2 - '@rollup/rollup-freebsd-arm64': 4.50.2 - '@rollup/rollup-freebsd-x64': 4.50.2 - '@rollup/rollup-linux-arm-gnueabihf': 4.50.2 - '@rollup/rollup-linux-arm-musleabihf': 4.50.2 - '@rollup/rollup-linux-arm64-gnu': 4.50.2 - '@rollup/rollup-linux-arm64-musl': 4.50.2 - '@rollup/rollup-linux-loong64-gnu': 4.50.2 - '@rollup/rollup-linux-ppc64-gnu': 4.50.2 - '@rollup/rollup-linux-riscv64-gnu': 4.50.2 - '@rollup/rollup-linux-riscv64-musl': 4.50.2 - '@rollup/rollup-linux-s390x-gnu': 4.50.2 - '@rollup/rollup-linux-x64-gnu': 4.50.2 - '@rollup/rollup-linux-x64-musl': 4.50.2 - '@rollup/rollup-openharmony-arm64': 4.50.2 - '@rollup/rollup-win32-arm64-msvc': 4.50.2 - '@rollup/rollup-win32-ia32-msvc': 4.50.2 - '@rollup/rollup-win32-x64-msvc': 4.50.2 - fsevents: 2.3.3 - /rollup@4.54.0: resolution: {integrity: sha512-3nk8Y3a9Ea8szgKhinMlGMhGMw89mqule3KWczxhIzqudyHdCIOHw8WJlj/r329fACjKLEh13ZSk7oE22kyeIw==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -20023,7 +19731,6 @@ packages: '@rollup/rollup-win32-x64-gnu': 4.54.0 '@rollup/rollup-win32-x64-msvc': 4.54.0 fsevents: 2.3.3 - dev: true /run-applescript@7.1.0: resolution: {integrity: sha512-DPe5pVFaAsinSaV6QjQ6gdiedWDcRCbUuiQfQa2wmWV7+xC9bGulGI8+TdRmoFkAPaBXk8CrAbnlY2ISniJ47Q==} @@ -20103,12 +19810,14 @@ packages: optional: true sass: optional: true + webpack: + optional: true dependencies: klona: 2.0.6 loader-utils: 2.0.4 neo-async: 2.6.2 schema-utils: 3.3.0 - semver: 7.7.2 + semver: 7.7.3 webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -20157,7 +19866,7 @@ packages: /scslre@0.2.0: resolution: {integrity: sha512-4hc49fUMmX3jM0XdFUAPBrs1xwEcdHa0KyjEsjFs+Zfc66mpFpq5YmRgDtl+Ffo6AtJIilfei+yKw8fUn3N88w==} dependencies: - '@eslint-community/regexpp': 4.12.1 + '@eslint-community/regexpp': 4.12.2 refa: 0.11.0 regexp-ast-analysis: 0.6.0 dev: true @@ -20177,7 +19886,7 @@ packages: engines: {node: ^14||^16||>=18} deprecated: Package no longer supported. Contact Support at https://www.npmjs.com/support for more info. dependencies: - semver: 7.7.2 + semver: 7.7.3 dev: true /semver@5.7.2: @@ -20196,16 +19905,10 @@ packages: lru-cache: 6.0.0 dev: true - /semver@7.7.2: - resolution: {integrity: sha512-RF0Fw+rO5AMf9MAyaRXI4AV0Ulj5lMHqVxxdSgiVbixSCXoEmmX/jk0CuJw4+3SqroYO9VoUh+HcuJivvtJemA==} - engines: {node: '>=10'} - hasBin: true - /semver@7.7.3: resolution: {integrity: sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==} engines: {node: '>=10'} hasBin: true - dev: true /send@0.19.0: resolution: {integrity: sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw==} @@ -20467,6 +20170,9 @@ packages: engines: {node: '>= 14.15.0'} peerDependencies: webpack: ^5.72.1 + peerDependenciesMeta: + webpack: + optional: true dependencies: iconv-lite: 0.6.3 source-map-js: 1.2.1 @@ -20617,7 +20323,7 @@ packages: esbuild: 0.25.9 prettier: 3.6.2 recast: 0.23.11 - semver: 7.7.2 + semver: 7.7.3 ws: 8.18.3 transitivePeerDependencies: - '@testing-library/dom' @@ -20794,6 +20500,9 @@ packages: engines: {node: '>= 12.13.0'} peerDependencies: webpack: ^5.0.0 + peerDependenciesMeta: + webpack: + optional: true dependencies: webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -21100,6 +20809,8 @@ packages: optional: true uglify-js: optional: true + webpack: + optional: true dependencies: '@jridgewell/trace-mapping': 0.3.31 jest-worker: 27.5.1 @@ -21303,15 +21014,6 @@ packages: resolution: {integrity: sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==} dev: false - /ts-api-utils@2.1.0(typescript@5.9.3): - resolution: {integrity: sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==} - engines: {node: '>=18.12'} - peerDependencies: - typescript: '>=4.8.4' - dependencies: - typescript: 5.9.3 - dev: true - /ts-api-utils@2.4.0(typescript@5.9.3): resolution: {integrity: sha512-3TaVTaAv2gTiMB35i3FiGJaRfwb3Pyn/j3m/bfAvGe8FB7CF6u+LMYqYlDh7reQf7UNvoTvdfAqHGmPGOSsPmA==} engines: {node: '>=18.12'} @@ -21338,12 +21040,15 @@ packages: peerDependencies: typescript: '*' webpack: '*' + peerDependenciesMeta: + webpack: + optional: true dependencies: chalk: 4.1.2 enhanced-resolve: 4.5.0 loader-utils: 2.0.4 micromatch: 4.0.8 - semver: 7.7.2 + semver: 7.7.3 typescript: 5.9.3 webpack: 5.93.0(webpack-cli@6.0.1) dev: true @@ -21976,7 +21681,7 @@ packages: fdir: 6.5.0(picomatch@4.0.3) picomatch: 4.0.3 postcss: 8.5.6 - rollup: 4.50.2 + rollup: 4.54.0 sass: 1.70.0 tinyglobby: 0.2.15 optionalDependencies: @@ -22344,6 +22049,8 @@ packages: webpack-bundle-analyzer: '*' webpack-dev-server: '*' peerDependenciesMeta: + webpack: + optional: true webpack-bundle-analyzer: optional: true webpack-dev-server: