From 199c05e5566556dc7690a8b436c8d3ce68306ccd Mon Sep 17 00:00:00 2001 From: Hetang Modi <62056057+hetangmodi-crest@users.noreply.github.com> Date: Mon, 7 Oct 2024 16:24:54 +0530 Subject: [PATCH 01/22] chore: follow SemVer guidelines for version in globalConfig (#1351) **Issue number:** Issue #1340 [ADDON-75328](https://splunk.atlassian.net/browse/ADDON-75328) ## Summary When UCC builds an app based on a GitHub release, the version it produces does not meet the requirements for a new AppInspect check. ### Changes Update the version naming in the code to comply with the AppInspect check `check_version_is_valid_semver`. > Please provide a summary of what's being changed ### User experience No changes from user end. > Please describe what the user experience looks like before and after this change ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [ ] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --- splunk_add_on_ucc_framework/utils.py | 2 +- .../appserver/static/js/build/globalConfig.json | 2 +- .../test_addons/package_files_conflict_test/globalConfig.json | 2 +- .../package_global_config_everything/globalConfig.json | 2 +- .../globalConfig.json | 2 +- .../package_global_config_multi_input/globalConfig.json | 2 +- .../package_global_config_only_one_tab/globalConfig.json | 2 +- tests/unit/test_utils.py | 2 +- 8 files changed, 8 insertions(+), 8 deletions(-) diff --git a/splunk_add_on_ucc_framework/utils.py b/splunk_add_on_ucc_framework/utils.py index 32489fc6b..5872de3bf 100644 --- a/splunk_add_on_ucc_framework/utils.py +++ b/splunk_add_on_ucc_framework/utils.py @@ -98,7 +98,7 @@ def get_version_from_git() -> str: except RuntimeError: raise exceptions.IsNotAGitRepo() if not version.stage: - stage = "R" + stage = "+" else: stage = version.stage[:1] try: diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/appserver/static/js/build/globalConfig.json b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/appserver/static/js/build/globalConfig.json index 16bd03d51..6ab5da9c8 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/appserver/static/js/build/globalConfig.json +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/appserver/static/js/build/globalConfig.json @@ -1032,7 +1032,7 @@ "apiVersion": "3.2.0", "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.5.8R5fd76615", + "version": "5.5.8+5fd76615", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.2" } diff --git a/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json b/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json index 01a66587f..86e50b7e5 100644 --- a/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json +++ b/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json @@ -200,7 +200,7 @@ "meta": { "name": "test_addon", "restRoot": "test_addon", - "version": "5.47.0Ra2b585f01", + "version": "5.47.0+a2b585f01", "displayName": "This is my add-on", "schemaVersion": "0.0.7", "_uccVersion": "5.47.0" diff --git a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json index fc533e5fc..a2d871821 100644 --- a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json @@ -1622,7 +1622,7 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.50.0R6465f0b6a", + "version": "5.49.0+cc63ee532", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.8", "_uccVersion": "5.50.0", diff --git a/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json b/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json index 876715e14..9c040c6eb 100644 --- a/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json @@ -1172,7 +1172,7 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.47.0Ra2b585f01", + "version": "5.47.0+a2b585f01", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.7", "_uccVersion": "5.47.0" diff --git a/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json b/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json index f57f50d37..134124783 100644 --- a/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json @@ -431,7 +431,7 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.47.0Ra2b585f01", + "version": "5.47.0+a2b585f01", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.7", "_uccVersion": "5.47.0" diff --git a/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json b/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json index 65ba94431..bfaa9475f 100644 --- a/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json @@ -36,7 +36,7 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.47.0Ra2b585f01", + "version": "5.47.0+a2b585f01", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.7", "_uccVersion": "5.47.0" diff --git a/tests/unit/test_utils.py b/tests/unit/test_utils.py index c5165ee93..a10bda04a 100644 --- a/tests/unit/test_utils.py +++ b/tests/unit/test_utils.py @@ -79,7 +79,7 @@ def test_get_version_from_git_when_stage_is_none(mock_version_from_git): ) mock_version_from_git.return_value = version - expected_result = "5.25.0R391ec865" + expected_result = "5.25.0+391ec865" assert expected_result == utils.get_version_from_git() From 9ed9d0878aa5ad6e4bc5b0ccc5374a45ae0b88cf Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 8 Oct 2024 12:54:05 +0000 Subject: [PATCH 02/22] chore(deps): update npm (#1350) --------- Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com> Co-authored-by: Szymon Oleksy Co-authored-by: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> --- ui/package.json | 52 +- .../EntityModal/EntityModal.test.tsx | 9 +- ui/yarn.lock | 1090 +++++++++-------- 3 files changed, 621 insertions(+), 530 deletions(-) diff --git a/ui/package.json b/ui/package.json index a7c38e326..350539539 100644 --- a/ui/package.json +++ b/ui/package.json @@ -21,22 +21,22 @@ "test-storybook:update-snapshots": "yarn run test-storybook -u" }, "dependencies": { - "@splunk/dashboard-action-buttons": "^27.3.1", - "@splunk/dashboard-context": "^27.3.1", - "@splunk/dashboard-core": "^27.3.1", - "@splunk/dashboard-presets": "^27.3.1", - "@splunk/dashboard-state": "^27.3.1", - "@splunk/dashboard-types": "^27.3.1", - "@splunk/react-icons": "^4.7.0", + "@splunk/dashboard-action-buttons": "^27.4.0", + "@splunk/dashboard-context": "^27.4.0", + "@splunk/dashboard-core": "^27.4.0", + "@splunk/dashboard-presets": "^27.4.0", + "@splunk/dashboard-state": "^27.4.0", + "@splunk/dashboard-types": "^27.4.0", + "@splunk/react-icons": "^4.8.0", "@splunk/react-page": "^7.1.0", "@splunk/react-toast-notifications": "^0.11.3", - "@splunk/react-ui": "^4.37.0", + "@splunk/react-ui": "^4.38.0", "@splunk/search-job": "^3.1.0", "@splunk/splunk-utils": "^3.1.0", - "@splunk/themes": "^0.21.0", + "@splunk/themes": "^0.22.0", "@splunk/ui-utils": "^1.7.1", - "@splunk/visualization-context": "^26.2.1", - "@storybook/test": "^8.3.1", + "@splunk/visualization-context": "^26.3.0", + "@storybook/test": "^8.3.4", "axios": "^1.7.7", "immutability-helper": "^3.1.1", "license-webpack-plugin": "^4.0.2", @@ -61,14 +61,14 @@ "@splunk/babel-preset": "^4.0.0", "@splunk/eslint-config": "^4.0.0", "@splunk/webpack-configs": "^7.0.2", - "@storybook/addon-a11y": "^8.3.1", - "@storybook/addon-essentials": "^8.3.1", - "@storybook/addon-interactions": "^8.3.1", - "@storybook/addon-links": "^8.3.1", + "@storybook/addon-a11y": "^8.3.4", + "@storybook/addon-essentials": "^8.3.4", + "@storybook/addon-interactions": "^8.3.4", + "@storybook/addon-links": "^8.3.4", "@storybook/addon-webpack5-compiler-babel": "^3.0.3", - "@storybook/blocks": "^8.3.1", - "@storybook/react": "^8.3.1", - "@storybook/react-webpack5": "^8.3.1", + "@storybook/blocks": "^8.3.4", + "@storybook/react": "^8.3.4", + "@storybook/react-webpack5": "^8.3.4", "@storybook/test-runner": "^0.19.1", "@testing-library/dom": "^8.20.1", "@testing-library/jest-dom": "^6.5.0", @@ -76,8 +76,8 @@ "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.13", "@types/js-yaml": "^4.0.9", - "@types/node": "^20.16.5", - "@types/react": "^16.14.61", + "@types/node": "^20.16.10", + "@types/react": "^16.14.62", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", "babel-eslint": "^10.1.0", @@ -93,33 +93,33 @@ "eslint-plugin-jest": "^28.8.3", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-prettier": "^4.2.1", - "eslint-plugin-react": "^7.36.1", + "eslint-plugin-react": "^7.37.1", "eslint-plugin-react-hooks": "^4.6.2", - "eslint-plugin-storybook": "^0.8.0", + "eslint-plugin-storybook": "^0.9.0", "fork-ts-checker-webpack-plugin": "^9.0.2", "jest": "^29.7.0", "jest-environment-jsdom": "^29.7.0", "jest-image-snapshot": "^6.4.0", "js-yaml": "^4.1.0", - "msw": "2.4.8", + "msw": "2.4.9", "msw-storybook-addon": "^2.0.3", "prettier": "^2.8.8", "querystring-es3": "^0.2.1", - "storybook": "^8.3.1", + "storybook": "^8.3.4", "style-loader": "^4.0.0", "stylelint": "^14.16.1", "ts-node": "^10.9.2", "typescript": "^5.6.2", "undici": "^5.28.4", "url": "^0.11.4", - "webpack": "^5.94.0", + "webpack": "^5.95.0", "webpack-cli": "^5.1.4", "webpack-dev-server": "^5.1.0", "webpack-merge": "^6.0.1" }, "resolutions": { "@npmcli/git": "^2.1.0", - "@types/react": "^16.14.61", + "@types/react": "^16.14.62", "css-what": "^5.1.0", "glob-parent": "^5.1.2", "postcss": "^8.4.47", diff --git a/ui/src/components/EntityModal/EntityModal.test.tsx b/ui/src/components/EntityModal/EntityModal.test.tsx index 94dc4f34a..9b61a8809 100644 --- a/ui/src/components/EntityModal/EntityModal.test.tsx +++ b/ui/src/components/EntityModal/EntityModal.test.tsx @@ -39,11 +39,9 @@ describe('Oauth field disabled on edit - diableonEdit property', () => { render(); }; - const getDisabledOauthField = () => - document.getElementsByClassName('oauth_oauth_text_jest_test')[1]; + const getDisabledOauthField = () => document.querySelector('.oauth_oauth_text_jest_test input'); - const getDisabledBasicField = () => - document.getElementsByClassName('basic_oauth_text_jest_test')[1]; + const getDisabledBasicField = () => document.querySelector('.basic_oauth_text_jest_test input'); it('Oauth Oauth - disableonEdit = true, oauth field not disabled on create', async () => { setUpConfigWithDisabedOauth(); @@ -144,8 +142,7 @@ describe('Options - Enable field property', () => { render(); }; - const getDisabledOauthField = () => - document.getElementsByClassName('oauth_oauth_text_jest_test')[1]; + const getDisabledOauthField = () => document.querySelector('.oauth_oauth_text_jest_test input'); it('Oauth Oauth - Enable field equal false, so field disabled', async () => { setUpConfigWithDisabledComplitelyOauthField(); diff --git a/ui/yarn.lock b/ui/yarn.lock index 299ab11c1..6194bd56e 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -1278,13 +1278,20 @@ resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.13.0", "@babel/runtime@^7.14.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.2.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": +"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.2.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": version "7.25.0" resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== dependencies: regenerator-runtime "^0.14.0" +"@babel/runtime@^7.23.2", "@babel/runtime@^7.25.6": + version "7.25.6" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" + integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== + dependencies: + regenerator-runtime "^0.14.0" + "@babel/template@^7.22.5", "@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": version "7.25.0" resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" @@ -2182,7 +2189,7 @@ rw "^1.3.3" sort-object "^3.0.3" -"@mdhnpm/rgb-hex-converter@^1.0.3": +"@mdhnpm/rgb-hex-converter@^1.2.0": version "1.2.0" resolved "https://registry.npmjs.org/@mdhnpm/rgb-hex-converter/-/rgb-hex-converter-1.2.0.tgz#efb2499ace7d0a25c84910bf22ab0d9445fd0cb0" integrity sha512-/tSC3owWlZSuZMDnR797DoJ2ZVH59+dUKv5rHJ0tO18MOebc+oZ2FtyMOrN5QqC5yG/sgXYfPLmMPf5EGiibzw== @@ -2194,10 +2201,10 @@ dependencies: "@types/mdx" "^2.0.0" -"@mswjs/interceptors@^0.35.6": - version "0.35.6" - resolved "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.6.tgz#66c522036bc01fa6be87b46b49cc378b837bf510" - integrity sha512-PpD687w7qLxVMK176bpQjbzU9O0VC75QnBK5U1lKd29s4hIuxfTItUD6raNKyQ6BN8b64/8HE34RuYTkwH9uPQ== +"@mswjs/interceptors@^0.35.8": + version "0.35.9" + resolved "https://registry.npmjs.org/@mswjs/interceptors/-/interceptors-0.35.9.tgz#1e1488ff2f333683d374eccc8c0f4d5d851c6d3d" + integrity sha512-SSnyl/4ni/2ViHKkiZb8eajA/eN1DNFaHjhGiLUdZvDz6PKF4COSf/17xqSz64nOo2Ia29SA6B2KNCsyCbVmaQ== dependencies: "@open-draft/deferred-promise" "^2.2.0" "@open-draft/logger" "^0.3.0" @@ -2419,12 +2426,12 @@ dependencies: "@sinonjs/commons" "^3.0.0" -"@splunk/async-dynamic-options-evaluator@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/async-dynamic-options-evaluator/-/async-dynamic-options-evaluator-26.2.1.tgz#f3339f2b918b7e1f0509a55723cd2bec0c700541" - integrity sha512-XoO9DKIuHwkRXIHCL0m5FWXALJxLXipT18ZNIq3rPQgvlpShVK4eJLw3LEA9jWmBjsP1eqF0mcsnFwBLcwpPig== +"@splunk/async-dynamic-options-evaluator@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/async-dynamic-options-evaluator/-/async-dynamic-options-evaluator-26.3.0.tgz#34d7fd31a48c70ef25f950a9eea50817c03c4cf3" + integrity sha512-BXbvHYtu1vKGoIlTPqzBAuMWrw0S9G+N8IwztXZonXa1wB1OEwpfgYDUfPKb9W47XWs4hqnjOzd0bvyjxG1AbA== dependencies: - "@splunk/visualization-encoding" "^26.2.1" + "@splunk/visualization-encoding" "^26.3.0" "@splunk/babel-preset@^4.0.0": version "4.0.0" @@ -2437,308 +2444,309 @@ "@babel/preset-env" "^7.2.0" "@babel/preset-react" "^7.0.0" -"@splunk/charting-bundle@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/charting-bundle/-/charting-bundle-26.2.1.tgz#7c1b5b7432020ee26781ba7be38e590817d262f8" - integrity sha512-BjQIOIcsal9ykiWavzVlaIkD9hqi0mC8uFHXSSyovLUjLzH0fAc372drSZR+IjRKp1eJkQarymyS/53SiWsrBA== +"@splunk/charting-bundle@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/charting-bundle/-/charting-bundle-26.3.0.tgz#03b05004754a1968d8a9d271ffd89b397ab30014" + integrity sha512-R3Pes87jrgj8KMiOdXX2qQlVz+3iKmxkhA8BErkL3txpvFtkuEgoqUw2Djx/oDC4zbnfzbhPSeUy4JKWQqG47A== -"@splunk/dashboard-action-buttons@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-action-buttons/-/dashboard-action-buttons-27.3.1.tgz#c6e93aa2d019dc4fc190e0e7a1ce5c831670828a" - integrity sha512-kIw+pQ3yJoE1dSOW2Jijsv4JCoCGrmwskhfZyEsUdIRXodoT9n+tIKQvdiBP4hKfuzjFWuHo1L/hjFp6rn0xKw== +"@splunk/dashboard-action-buttons@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-action-buttons/-/dashboard-action-buttons-27.4.0.tgz#793d985b0de378c02f08d6223a96eb8b9abd87f6" + integrity sha512-xOBWesBwapx1Q2WUQ19N13PFK9Lr7h7bzD+b/ZlcxAuGymi47Jpo6oG36boajpeU971EIHBnzOhnHl5sdincDg== dependencies: - "@splunk/dashboard-icons" "^27.3.1" - "@splunk/dashboard-telemetry" "^27.3.1" - "@splunk/dashboard-ui" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" + "@splunk/dashboard-icons" "^27.4.0" + "@splunk/dashboard-telemetry" "^27.4.0" + "@splunk/dashboard-ui" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" "@splunk/react-icons" "^4.6.0" "@splunk/react-toast-notifications" "^0.11.1" "@splunk/react-ui" "^4.32.0" - "@splunk/themes" "^0.20.0" + "@splunk/themes" "^0.21.0" "@splunk/ui-utils" "^1.4.0" lodash "^4.17.21" prop-types "^15.7.2" -"@splunk/dashboard-context@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-context/-/dashboard-context-27.3.1.tgz#5f15fcc5f6b97436ef19b5190bb2996038cae25b" - integrity sha512-gwSDQuXVqHOsinctL3h3iq/s3T7fi/P+WNJtH0EVjmmnWZADuucXGBIZJQUgck7+20IQZ4bfb8COJoEsbAlPww== +"@splunk/dashboard-context@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-context/-/dashboard-context-27.4.0.tgz#7c564ea40a00eb39c4a1436d164d150402fcb489" + integrity sha512-hKrrosiLEebGUCd/2fhRU2FO2CIipm5ag3SKuCTryDTg2ojNAWB3scR/Pyr60xo1JnsrEX8OyE//s5R24ORqVg== dependencies: "@dnd-kit/core" "^6.0.5" "@dnd-kit/sortable" "^7.0.1" "@dnd-kit/utilities" "^3.2.0" - "@splunk/dashboard-definition" "^27.3.1" - "@splunk/dashboard-icons" "^27.3.1" - "@splunk/dashboard-search" "^27.3.1" - "@splunk/dashboard-state" "^27.3.1" - "@splunk/dashboard-telemetry" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" - "@splunk/datasource-utils" "^27.3.1" - "@splunk/datasources" "^27.3.1" + "@splunk/dashboard-definition" "^27.4.0" + "@splunk/dashboard-icons" "^27.4.0" + "@splunk/dashboard-search" "^27.4.0" + "@splunk/dashboard-state" "^27.4.0" + "@splunk/dashboard-telemetry" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" + "@splunk/datasource-utils" "^27.4.0" + "@splunk/datasources" "^27.4.0" "@splunk/react-ui" "^4.32.0" - "@splunk/themes" "^0.20.0" + "@splunk/themes" "^0.21.0" "@splunk/ui-utils" "^1.4.0" - "@types/mousetrap" "^1.6.5" + ctrl-keys "^1.0.3" lodash "^4.17.21" - memoize-one "^5.2.1" - mousetrap "^1.6.3" + memoize-one "^6.0.0" prop-types "^15.7.2" -"@splunk/dashboard-core@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-core/-/dashboard-core-27.3.1.tgz#eb81b77e12ebaf468b29031d63fae66dfe14bf14" - integrity sha512-oLSpo8Pt4lUuQxzpNn7OdHkmXYWwA9lIF8d5gabx633vsRdZSLOoxsFrw1omUSqkxgUyM9ZqDZkHGZK5qMny8g== +"@splunk/dashboard-core@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-core/-/dashboard-core-27.4.0.tgz#1a41ffca4f5ec741892742fc926172429ab03e37" + integrity sha512-EANaBfTbTYj3ZJGiZ76Mv0Gz8M6JtwtsK8DNIQ4vjnmUU9YfSuWqp4BcONyeGIuUfyIPbVrnZHrx7vp7cDzGeA== dependencies: "@dnd-kit/core" "^6.0.5" "@dnd-kit/sortable" "^7.0.1" "@dnd-kit/utilities" "^3.2.0" - "@splunk/dashboard-definition" "^27.3.1" - "@splunk/dashboard-layouts" "^27.3.1" - "@splunk/dashboard-search" "^27.3.1" - "@splunk/dashboard-telemetry" "^27.3.1" - "@splunk/dashboard-ui" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" - "@splunk/dashboard-validation" "^27.3.1" - "@splunk/datasource-utils" "^27.3.1" - "@splunk/datasources" "^27.3.1" + "@splunk/dashboard-definition" "^27.4.0" + "@splunk/dashboard-layouts" "^27.4.0" + "@splunk/dashboard-search" "^27.4.0" + "@splunk/dashboard-telemetry" "^27.4.0" + "@splunk/dashboard-ui" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" + "@splunk/dashboard-validation" "^27.4.0" + "@splunk/datasource-utils" "^27.4.0" + "@splunk/datasources" "^27.4.0" "@splunk/react-icons" "^4.6.0" "@splunk/react-ui" "^4.32.0" - "@splunk/themes" "^0.20.0" + "@splunk/themes" "^0.21.0" "@splunk/ui-utils" "^1.4.0" - "@splunk/visualization-icons" "^26.2.1" + "@splunk/visualization-icons" "^26.3.0" hash-it "^5.0.0" lodash "^4.17.21" prop-types "^15.7.2" react-full-screen "^1.0.2" rxjs "^5.5.12" -"@splunk/dashboard-definition@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-definition/-/dashboard-definition-27.3.1.tgz#0addac3689d3402136484a4a80006992afd885d2" - integrity sha512-HGgV5TY7EgtRkzUI1HoScHZFpR4zMuQ6QH9mF3oAaTblttniuLNi1z0vd9WNkDYHvmWQQgeA5oDi4Q/xaLuqTA== +"@splunk/dashboard-definition@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-definition/-/dashboard-definition-27.4.0.tgz#099b58730acd70cf0e58e21c44de8ae33fdf0a1a" + integrity sha512-4oIM3i9wvWv9gBJGkSkWPnX3uepAIi8iCvAPz2GKd6rTyGTPvcjruwNkWai9j51gsBkXPlQQuzp3dSb+8cl+eg== dependencies: - "@splunk/dashboard-utils" "^27.3.1" - "@splunk/dashboard-validation" "^27.3.1" + "@splunk/dashboard-utils" "^27.4.0" + "@splunk/dashboard-validation" "^27.4.0" "@splunk/ui-utils" "^1.4.0" ajv "^8.5.0" fast-json-patch "^3.1.1" hash-it "^5.0.0" lodash "^4.17.21" -"@splunk/dashboard-event-handlers@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-event-handlers/-/dashboard-event-handlers-27.3.1.tgz#8d056761dda3065c8b5c29cb5c29eaeb4c2b349b" - integrity sha512-7I8pswMKHkhx4rOnLNCIzkwKroscJCTi5fXzwp7/jSeQE9lg+J6pgw8q1Ui3n1zPTMBd6vusJOUA7E0RX17OMQ== +"@splunk/dashboard-event-handlers@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-event-handlers/-/dashboard-event-handlers-27.4.0.tgz#a9658e4079f1dd894e9f2466c5cca857feebb2d6" + integrity sha512-fGDETZfH73Ixw45yo4G9eItP1IcbtD5ntIUICJvJn3K3UGJbGu6FvsVlvnhhQhoK/0oaDsZIsn3XZ27oJYpwJA== dependencies: - "@splunk/dashboard-utils" "^27.3.1" + "@splunk/dashboard-utils" "^27.4.0" -"@splunk/dashboard-icons@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-icons/-/dashboard-icons-27.3.1.tgz#34914e818681a19e5dd106a8b09ef83fea2a503f" - integrity sha512-vOi2WHavj9YghmoD5kuVBpj1K5L34D67laqWwUGi/yhzHS/OAd8rUhCWxjyTefv68HhrP4McVP7QsZ6jf9E5tw== +"@splunk/dashboard-icons@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-icons/-/dashboard-icons-27.4.0.tgz#30ed03cb2bcbbaae9d5ce6129cd6ca0816c6b3f0" + integrity sha512-02uLjbRwhdAsdz/xxMsiNLZ/ddyEQIrBp7t0wm+DYMSdXYnGDYBQ2eqyOQxBuzvIpkVANcqsd41v7Hcu96AM5w== dependencies: - "@splunk/dashboard-utils" "^27.3.1" + "@splunk/dashboard-utils" "^27.4.0" "@splunk/react-icons" "^4.6.0" "@splunk/ui-utils" "^1.4.0" - prop-types "^15.7.2" -"@splunk/dashboard-inputs@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-inputs/-/dashboard-inputs-27.3.1.tgz#72b12cf1cf4dfc284dac7725b6a1a5f6a1da9182" - integrity sha512-cndXmUj5NIvDLZ46KuW0oFje3bR1c2vJskEWZOJihz89GBGJ77nl0iTZvLsk+E2vgOTpdKDnMb8YlHan9zcRQw== +"@splunk/dashboard-inputs@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-inputs/-/dashboard-inputs-27.4.0.tgz#1eb992a1dd8461777a6896f51de62a0ffb9ccf80" + integrity sha512-fB9BPxiLA/IrZwRiiBaSw3SvPW6IKstLWNgHb6SrXl6wvE2Mos7dk/4uxSv0h5EgHMXJnF2sDWskYzpS26qMPQ== dependencies: - "@splunk/dashboard-icons" "^27.3.1" - "@splunk/dashboard-telemetry" "^27.3.1" - "@splunk/dashboard-ui" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" + "@splunk/dashboard-icons" "^27.4.0" + "@splunk/dashboard-telemetry" "^27.4.0" + "@splunk/dashboard-ui" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" "@splunk/moment" "^0.7.0" "@splunk/react-icons" "^4.6.0" - "@splunk/react-time-range" "^9.2.0" + "@splunk/react-time-range" "^9.3.1" "@splunk/react-ui" "^4.33.0" "@splunk/splunk-utils" "^3.1.0" - "@splunk/themes" "^0.20.0" + "@splunk/themes" "^0.21.0" "@splunk/time-range-utils" "^3.2.0" "@splunk/ui-utils" "^1.4.0" - "@splunk/visualization-encoding" "^26.2.1" - "@splunk/visualization-encoding-parsers" "^26.2.1" - "@splunk/visualizations-shared" "^26.2.1" + "@splunk/visualization-encoding" "^26.3.0" + "@splunk/visualization-encoding-parsers" "^26.3.0" + "@splunk/visualizations-shared" "^26.3.0" lodash "^4.17.21" - memoize-one "^5.2.1" + memoize-one "^6.0.0" prop-types "^15.7.2" -"@splunk/dashboard-layouts@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-layouts/-/dashboard-layouts-27.3.1.tgz#d197da33da660880c6f7ace434622a1e494334ae" - integrity sha512-ZvjBndINRjum4DrQSesivYogAcr2UvDwRZ6cHgrJpp2moAYTcKiDfEx8k+BA1oAKS1b/f8GBR68K5BGEbk5FNA== +"@splunk/dashboard-layouts@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-layouts/-/dashboard-layouts-27.4.0.tgz#ba36d9ebddd8b4b82bc1521573974709580a18c8" + integrity sha512-KNAuilSyFpqfTp77FibltL+qwmbj2Rkx4OWyRr7QI1dh9awqJaR8hGke+4XqlhHBEBJslIgp+kM6n1oWNZIMyA== dependencies: "@dnd-kit/core" "^6.0.5" - "@splunk/dashboard-definition" "^27.3.1" - "@splunk/dashboard-state" "^27.3.1" - "@splunk/dashboard-telemetry" "^27.3.1" - "@splunk/dashboard-ui" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" + "@dnd-kit/sortable" "^7.0.1" + "@dnd-kit/utilities" "^3.2.0" + "@splunk/dashboard-definition" "^27.4.0" + "@splunk/dashboard-state" "^27.4.0" + "@splunk/dashboard-telemetry" "^27.4.0" + "@splunk/dashboard-ui" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" "@splunk/react-icons" "^4.6.0" - "@splunk/themes" "^0.20.0" + "@splunk/themes" "^0.21.0" "@splunk/ui-utils" "^1.4.0" - "@splunk/visualization-color-palettes" "^26.2.1" - "@splunk/visualization-encoding" "^26.2.1" - "@splunk/visualizations" "^26.2.1" - "@splunk/visualizations-shared" "^26.2.1" + "@splunk/visualization-color-palettes" "^26.3.0" + "@splunk/visualization-encoding" "^26.3.0" + "@splunk/visualizations" "^26.3.0" + "@splunk/visualizations-shared" "^26.3.0" lodash "^4.17.21" - memoize-one "^5.2.1" + memoize-one "^6.0.0" prop-types "^15.7.2" rxjs "^5.5.12" -"@splunk/dashboard-presets@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-presets/-/dashboard-presets-27.3.1.tgz#617343bde94227fa6befbd583f01d0cc608584a7" - integrity sha512-L3PzLIl3CSM22dIAFXsdM8HSRwlEcuA1/6sbIay7KJ/Kk9RHuCVt7+9DtsS/IUhJIMsxklHxGuCUbPBr6OaLrw== - dependencies: - "@splunk/dashboard-event-handlers" "^27.3.1" - "@splunk/dashboard-icons" "^27.3.1" - "@splunk/dashboard-inputs" "^27.3.1" - "@splunk/dashboard-layouts" "^27.3.1" - "@splunk/dashboard-ui" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" - "@splunk/dashboard-visualizations" "^26.2.1" - "@splunk/datasources" "^27.3.1" +"@splunk/dashboard-presets@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-presets/-/dashboard-presets-27.4.0.tgz#e3aedcc87c8436c9a96551c97adacfc687094ec6" + integrity sha512-rd8nZN9OE72wAMUyq5QJYmuE60f14FFv0mgsKHgrB9ALmJCCRDQx24i4JVKeaSFjoeEZiVw8H5f0WLcE2cdKZA== + dependencies: + "@splunk/dashboard-event-handlers" "^27.4.0" + "@splunk/dashboard-icons" "^27.4.0" + "@splunk/dashboard-inputs" "^27.4.0" + "@splunk/dashboard-layouts" "^27.4.0" + "@splunk/dashboard-ui" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" + "@splunk/dashboard-visualizations" "^26.3.0" + "@splunk/datasources" "^27.4.0" "@splunk/react-icons" "^4.6.0" "@splunk/ui-utils" "^1.4.0" - "@splunk/visualization-icons" "^26.2.1" - "@splunk/visualizations" "^26.2.1" + "@splunk/visualization-icons" "^26.3.0" + "@splunk/visualizations" "^26.3.0" lodash "^4.17.21" -"@splunk/dashboard-search@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-search/-/dashboard-search-27.3.1.tgz#db3b1898bb88f614632fe38be06d616c11c1a830" - integrity sha512-Dtv/GrjyECX859kOjH3qX3PV2xhqo7KyDC0u2LF2UUleSqb2YugbxBPePaEGSbp9Xw8vrDd0vRG1yKsluxHk/Q== +"@splunk/dashboard-search@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-search/-/dashboard-search-27.4.0.tgz#95b74a82cf3af70b1b07505e566116616e92e168" + integrity sha512-fSlCQO9gnT+x4+gQhh3wcm0G7QzA+A6SriX77BiFc6qby9Eu6X42QMp/dteabX5B9s3815Px+EtChbfOLv3+rQ== dependencies: - "@splunk/dashboard-utils" "^27.3.1" - "@splunk/datasource-utils" "^27.3.1" - "@splunk/datasources" "^27.3.1" + "@splunk/dashboard-utils" "^27.4.0" + "@splunk/datasource-utils" "^27.4.0" + "@splunk/datasources" "^27.4.0" "@splunk/ui-utils" "^1.4.0" hash-it "^5.0.0" lodash "^4.17.21" rxjs "^5.5.12" -"@splunk/dashboard-state@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-state/-/dashboard-state-27.3.1.tgz#fc92a42cb0c89d5ee8b4e172e6c3f0c40145a3eb" - integrity sha512-AkC7SdOi9on0KPc855zBSbpUea8st5q1aGLlMOjPQVsXHKKU3vhRI/RDlPGXydNx15Ck/IEL4J77Zh2P4+BJGw== +"@splunk/dashboard-state@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-state/-/dashboard-state-27.4.0.tgz#48793d4387dff37ffc5afb00079d5d076ae167fb" + integrity sha512-YKx5GsHcyIGpBDbhGnwPugg3Qb72rKd8vLS4sGN8u/edYLWp0zDr3jc8eo601dxFxNSTpgOFsvJwX9i8LRY0HA== dependencies: "@reduxjs/toolkit" "^1.9.4" - "@splunk/dashboard-definition" "^27.3.1" - "@splunk/dashboard-telemetry" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" + "@splunk/dashboard-definition" "^27.4.0" + "@splunk/dashboard-telemetry" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" "@splunk/ui-utils" "^1.4.0" lodash "^4.17.21" react-redux "^8.0.5" -"@splunk/dashboard-telemetry@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-telemetry/-/dashboard-telemetry-27.3.1.tgz#d66ae9cdaae3afcfc9d3af5041c1f0fb8ea30e37" - integrity sha512-TLkvIzMOP1+aCxSmX6OF8yyJABhZYuBVMbxROqDm7pQQ7yMJEmnwC419C74dZtG3qA7VAWQz3OzXjrgJ56fGPQ== +"@splunk/dashboard-telemetry@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-telemetry/-/dashboard-telemetry-27.4.0.tgz#954fdd0a4267ee092d8a38a3d70a631ddcfc54a5" + integrity sha512-TWAeStYa5wr4FUdn58ylhrV8PPgv5cI+oLQ5m93csq2yPbWMAVuEUI6LL2AjNt2k/WKoTHbqHUAhmwljvsGmlg== dependencies: - "@splunk/dashboard-utils" "^27.3.1" + "@splunk/dashboard-utils" "^27.4.0" lodash "^4.17.21" -"@splunk/dashboard-types@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-types/-/dashboard-types-27.3.1.tgz#9423d797f6870d22c15f6f0400a0c077647170af" - integrity sha512-dn3tJ8pCe76rTrga2KCaNec2A3UXco+U/M+v0JMIS7Kp3NOpjp2l45TkZtd/1Le6CxNquIbRwuWM7aZKTLRgyQ== - -"@splunk/dashboard-ui@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-ui/-/dashboard-ui-27.3.1.tgz#c23bb058c1219a9476fa80b2593e7018d169b91b" - integrity sha512-Qe9eNz1aGSEAqXIHRcLH4IjUK58SDUCw3QBuptMX+AKuqgD+Q9WXyAqjK9M0hebWi3u7ka6NmQZZHQpbKAf9hg== - dependencies: - "@splunk/dashboard-definition" "^27.3.1" - "@splunk/dashboard-icons" "^27.3.1" - "@splunk/dashboard-telemetry" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" - "@splunk/datasource-utils" "^27.3.1" +"@splunk/dashboard-types@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-types/-/dashboard-types-27.4.0.tgz#3878fbc587ccf8b30a8053a150ca6789eed3bb77" + integrity sha512-GPY31OhsdFR6ZbH9kXLKswAzicYf9R+ah1eEmeoF/ubeskWD7+oKrquXnY6vvw2EVzVzlVkR85EyNxUki7Hgnw== + +"@splunk/dashboard-ui@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-ui/-/dashboard-ui-27.4.0.tgz#2adbf44a77fc1bd486bba656fdc9bede48c53ff0" + integrity sha512-5SLC5Gepmkj32hEsEqMZVTFX+yhPEFn/9ZWh7p610OW9umaja0GdSu+wevVVPwwqamYRASOydCRB13lhOK0mNA== + dependencies: + "@splunk/dashboard-definition" "^27.4.0" + "@splunk/dashboard-icons" "^27.4.0" + "@splunk/dashboard-telemetry" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" + "@splunk/datasource-utils" "^27.4.0" "@splunk/moment" "^0.7.0" "@splunk/react-icons" "^4.6.0" "@splunk/react-search" "^5.0.0" "@splunk/react-ui" "^4.33.0" "@splunk/splunk-utils" "^3.1.0" - "@splunk/themes" "^0.20.0" + "@splunk/themes" "^0.21.0" "@splunk/ui-utils" "^1.4.0" - "@splunk/visualization-icons" "^26.2.1" - "@splunk/visualizations-shared" "^26.2.1" + "@splunk/visualization-icons" "^26.3.0" + "@splunk/visualizations-shared" "^26.3.0" hoist-non-react-statics "^3.3.2" lodash "^4.17.21" - memoize-one "^5.2.1" + memoize-one "^6.0.0" prop-types "^15.7.2" resize-observer-polyfill "^1.5.1" tinycolor2 "^1.4.1" -"@splunk/dashboard-utils@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-utils/-/dashboard-utils-27.3.1.tgz#68e9b8195f8c37839c7b520f5f5ed6fc8e39bab9" - integrity sha512-xKbLORre38V0e4aLGi/by9QDhTfE2iy6zfHk57vzRhQDwxSIRLYQ0pHXrN7rhsOQaUApISYyeyfWy7ix9yndGg== +"@splunk/dashboard-utils@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-utils/-/dashboard-utils-27.4.0.tgz#2d96600f029581f24f3384f393d6e6176b81cde9" + integrity sha512-5NHa3r2mHDYUrBE/IhH1ZINkavKwCYoaqr3sNJx9nf12vvoj3MQyPkK/iz9qpxX4MDxnMThUD9pMouvCqgLFRQ== dependencies: "@splunk/moment" "^0.7.0" "@splunk/splunk-utils" "^3.1.0" "@splunk/ui-utils" "^1.4.0" - "@splunk/visualization-migrations" "^26.2.1" + "@splunk/visualization-migrations" "^26.3.0" ajv "^8.5.0" crypto-js "^4.0.0" - jspdf "2.5.1" + jspdf "2.5.2" lodash "^4.17.21" - memoize-one "^5.2.1" + memoize-one "^6.0.0" -"@splunk/dashboard-validation@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-validation/-/dashboard-validation-27.3.1.tgz#6a9a652a5a6c99815aae04702d94a62d828a2b6c" - integrity sha512-78nJ+NJ8gaC7sgMMBeiaoo8G73YK3lurClfwwJAvJzq31JKhxZi+6Ke5r4nuc1STC4uHQQ10mWntwQRMb5VXnQ== +"@splunk/dashboard-validation@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-validation/-/dashboard-validation-27.4.0.tgz#2d6ad52d5a9311afbb12e87c0fea0df13df6d0a6" + integrity sha512-OX7OwXASiYvZah8yN96jh5Y58ZNSveLV2oJ3JzsaOMz6vdn6G8FiHVfbB+XWTroOIk3nyKjZYdJOOnszBJlmpA== dependencies: "@splunk/ui-utils" "^1.4.0" ajv "^8.5.0" ajv-errors "^3.0.0" -"@splunk/dashboard-visualizations@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/dashboard-visualizations/-/dashboard-visualizations-26.2.1.tgz#b99cefead0328248f8e34b7f3dcf10f89ce74ff7" - integrity sha512-yadU74iLlK2r8zEoceDz2Bn93exGuJYNLNWNH8Wb+mKlcD53lCqPDndA2vYYL/NkI9/t/PmFiYZfZaZTIZ2T7g== +"@splunk/dashboard-visualizations@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/dashboard-visualizations/-/dashboard-visualizations-26.3.0.tgz#7c4c6af7b9b033e5197270414afc85f10b340351" + integrity sha512-uty5cEQO3uQI9byclQ25WKFoMhPp/BPblbvPWuEuktZ04Eq0sTCSAr0Yznqhq2TVqldfGeXvAhJtikMeVZ2Quw== dependencies: - "@babel/runtime" "^7.13.0" - "@splunk/charting-bundle" "^26.2.1" + "@babel/runtime" "^7.25.6" + "@splunk/charting-bundle" "^26.3.0" "@splunk/moment" "^0.6.0" - "@splunk/react-icons" "^4.6.0" - "@splunk/react-sparkline" "^0.6.2" - "@splunk/react-ui" "^4.33.0" - "@splunk/react-visualizations" "^26.2.1" - "@splunk/themes" "^0.19.0" - "@splunk/ui-utils" "^1.2.1" - "@splunk/visualization-color-palettes" "^26.2.1" - "@splunk/visualization-encoding-parsers" "^26.2.1" - "@splunk/visualization-icons" "^26.2.1" - "@splunk/visualization-themes" "^26.2.1" - "@splunk/visualizations" "^26.2.1" - "@splunk/visualizations-shared" "^26.2.1" + "@splunk/react-icons" "^4.7.0" + "@splunk/react-sparkline" "^0.6.3" + "@splunk/react-ui" "^4.37.0" + "@splunk/react-visualizations" "^26.3.0" + "@splunk/themes" "^0.21.0" + "@splunk/ui-utils" "^1.7.1" + "@splunk/visualization-color-palettes" "^26.3.0" + "@splunk/visualization-encoding-parsers" "^26.3.0" + "@splunk/visualization-icons" "^26.3.0" + "@splunk/visualization-schemas" "^26.3.0" + "@splunk/visualization-themes" "^26.3.0" + "@splunk/visualizations" "^26.3.0" + "@splunk/visualizations-shared" "^26.3.0" chroma-js "^2.0.0" lodash "^4.17.21" numeral "^2.0.6" react-event-listener "^0.6.4" xmlserializer "^0.6.1" -"@splunk/datasource-utils@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/datasource-utils/-/datasource-utils-27.3.1.tgz#6fba09cb9ffd0c1e538ba927850d6f338cef05b8" - integrity sha512-Wf8xyoifbdSgnMeyL9tpz69K2F2jZm/6AfNxMa5hCIAydwREoOwUKdnJ3SXfXLWXneOj00WyRdZ56z4Z8vEqqQ== +"@splunk/datasource-utils@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/datasource-utils/-/datasource-utils-27.4.0.tgz#23f03b81fb712cde27854f113bfa419b3876403d" + integrity sha512-f04nGf9C6rsdPQCWUpqi8kTREscjG/soXJq608TsjlEJfWk/6bI50pcplsxHiPhAuY1atFI1InQk3rRYXVHSLw== dependencies: - "@splunk/dashboard-utils" "^27.3.1" + "@splunk/dashboard-utils" "^27.4.0" lodash "^4.17.21" -"@splunk/datasources@^27.3.1": - version "27.3.1" - resolved "https://registry.npmjs.org/@splunk/datasources/-/datasources-27.3.1.tgz#d4a29b1799349678ed8ba8321655f93e46ac5138" - integrity sha512-S3TjaQpKyPdIVEzbn0PG/lwXWoLIiFtgJvNWQ+p4m+lofJUebejIGuGuR9g9bJTeA5bmyXKIjvbJEH8cYKwkLA== +"@splunk/datasources@^27.4.0": + version "27.4.0" + resolved "https://registry.npmjs.org/@splunk/datasources/-/datasources-27.4.0.tgz#14126f6913fe98930154f14b7fdab31f8becd318" + integrity sha512-fCzHdmpU9NsHNOBV9WtCuBJqWf6tt0bLMcMalF73LtqCpwZZDkupYZ1Eibyrawvc3vCGfL3GabCZGOr/K5cQxA== dependencies: - "@splunk/dashboard-definition" "^27.3.1" - "@splunk/dashboard-utils" "^27.3.1" - "@splunk/datasource-utils" "^27.3.1" + "@splunk/dashboard-definition" "^27.4.0" + "@splunk/dashboard-utils" "^27.4.0" + "@splunk/datasource-utils" "^27.4.0" "@splunk/moment" "^0.7.0" "@splunk/search-job" "^3.1.0" "@splunk/splunk-utils" "^3.1.0" @@ -2746,7 +2754,7 @@ "@splunkdev/cloud-sdk" "^15.0.0" hash-it "^5.0.0" lodash "^4.17.21" - memoize-one "^5.2.1" + memoize-one "^6.0.0" moment "^2.29.4" query-string "^6.13.8" rxjs "^5.5.12" @@ -2819,6 +2827,15 @@ lodash "^4.17.14" prop-types "^15.6.2" +"@splunk/react-icons@^4.8.0": + version "4.8.0" + resolved "https://registry.npmjs.org/@splunk/react-icons/-/react-icons-4.8.0.tgz#822de88fb83328852ff4d648a654760cc2522c0f" + integrity sha512-61P3SG9UP4+5DrVN0OhBhwal+mSbLSGL4QF7RcT54vLy9TEcVf36A6YC+NbrsReoHp1LRQ9Pf71IAUENUgCC1Q== + dependencies: + "@splunk/ui-utils" "^1.7.1" + lodash "^4.17.14" + prop-types "^15.6.2" + "@splunk/react-page@^7.1.0": version "7.1.0" resolved "https://registry.npmjs.org/@splunk/react-page/-/react-page-7.1.0.tgz#1eab91f0e610d1357d5db673a27076e32fd54b86" @@ -2845,7 +2862,7 @@ ace-builds "^1.17.0" prop-types "^15.6.0" -"@splunk/react-sparkline@^0.6.2": +"@splunk/react-sparkline@^0.6.3": version "0.6.3" resolved "https://registry.npmjs.org/@splunk/react-sparkline/-/react-sparkline-0.6.3.tgz#7f3e13d2d3a55a1fd8b0bc9ac73eb04acc206949" integrity sha512-7ie1wbEFs+jpVQ6Z/1E25rfAVuuz4x5tjFKDD86h6oi0lW3zYIWH9/dgnSjp8rXFMReh//NU2M7WM/xkXVAmAQ== @@ -2870,6 +2887,21 @@ lodash "^4.17.19" prop-types "^15.6.0" +"@splunk/react-time-range@^9.3.1": + version "9.3.1" + resolved "https://registry.npmjs.org/@splunk/react-time-range/-/react-time-range-9.3.1.tgz#e07e42be74463dd3c0fb44d805fb41d28f6bfa15" + integrity sha512-semUdV7ywJ+grBzq3xhbxJW6pu0xKaYjhwFFGaXJrPVLgRdFq7uc9+NZafhE6952voSZOQAUpSQLIsVd4VLqsw== + dependencies: + "@babel/runtime" "^7.14.0" + "@splunk/moment" "^0.6.0" + "@splunk/react-ui" "^4.19.0" + "@splunk/splunk-utils" "^2.3.1" + "@splunk/themes" "^0.16.1" + "@splunk/time-range-utils" "^3.2.0" + "@splunk/ui-utils" "^1.5.0" + lodash "^4.17.19" + prop-types "^15.6.0" + "@splunk/react-toast-notifications@^0.11.1", "@splunk/react-toast-notifications@^0.11.3": version "0.11.3" resolved "https://registry.npmjs.org/@splunk/react-toast-notifications/-/react-toast-notifications-0.11.3.tgz#8224d3614c0af8d63170274e4ef0edd9e67af50c" @@ -2929,19 +2961,42 @@ tinycolor2 "^1.4.1" use-typed-event-listener "^3.0.0" -"@splunk/react-visualizations@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/react-visualizations/-/react-visualizations-26.2.1.tgz#c193e427a4283be854b0b0e9655ed237bba8f692" - integrity sha512-tkLBSkuaTxKHi0nt4mXO0/LSo5XFQ7zE7IKAzyBdI6TX6GAdkZlGNareD0LfJg7iXHmXWTaxXoT6MMxRhS75Mw== +"@splunk/react-ui@^4.38.0": + version "4.38.0" + resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.38.0.tgz#802cd17ae6f904e811be10e8a8c6f2769269f677" + integrity sha512-7t5coOECgmpbez9+1wy/I8xv+/6dmJ08a39ST5WN0Qwet9zbFRmmA2Ntt+rZ39zWv4So4T1Cc7GQYIOZ47EKaA== + dependencies: + "@dnd-kit/core" "^6.1.0" + "@dnd-kit/modifiers" "^7.0.0" + "@dnd-kit/sortable" "^8.0.0" + "@dnd-kit/utilities" "^3.2.2" + "@splunk/react-icons" "^4.8.0" + "@splunk/themes" "^0.22.0" + "@splunk/ui-utils" "^1.7.1" + commonmark "^0.30.0" + commonmark-react-renderer "^4.3.2" + decimal.js-light "^2.2.3" + lodash "^4.17.14" + moment "^2.29.4" + prop-types "^15.6.2" + react-resize-detector "^3.2.1" + react-spring "9.2.4" + tinycolor2 "^1.4.1" + use-typed-event-listener "^3.0.0" + +"@splunk/react-visualizations@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/react-visualizations/-/react-visualizations-26.3.0.tgz#c47a540b0c86c9de5e8ebae399c3abce9fee1d67" + integrity sha512-5GMVUR87tx7g2whVJExhWVoQ+TFuDszO6ao0Dn/eIJP2aE2Xcg+MZA2yNTyqKPc3XvrNPSxWjuYKIM3uuR0q5A== dependencies: - "@babel/runtime" "^7.13.0" - "@splunk/charting-bundle" "^26.2.1" + "@babel/runtime" "^7.25.6" + "@splunk/charting-bundle" "^26.3.0" "@splunk/moment" "^0.6.0" - "@splunk/ui-utils" "^1.2.1" - "@splunk/visualization-color-palettes" "^26.2.1" - "@splunk/visualization-themes" "^26.2.1" - "@splunk/visualizations" "^26.2.1" - "@splunk/visualizations-shared" "^26.2.1" + "@splunk/ui-utils" "^1.7.1" + "@splunk/visualization-color-palettes" "^26.3.0" + "@splunk/visualization-themes" "^26.3.0" + "@splunk/visualizations" "^26.3.0" + "@splunk/visualizations-shared" "^26.3.0" "@turf/bbox-clip" "^6.0.3" "@turf/helpers" "^6.1.4" chroma-js "^2.0.0" @@ -3002,25 +3057,25 @@ lodash "^4.17.14" tinycolor2 "^1.4.1" -"@splunk/themes@^0.20.0": - version "0.20.0" - resolved "https://registry.npmjs.org/@splunk/themes/-/themes-0.20.0.tgz#fc6384fb8a808352c43c91a0c96f8e96acd73186" - integrity sha512-R4TWxzJD2gV2y/E8DsQe+yF7jJUokyYTuczmCU266A+Ov+DXWJRfyTtc7FzSBUxxWtvSPobDVWKMIqG/vVyZmg== +"@splunk/themes@^0.21.0": + version "0.21.0" + resolved "https://registry.npmjs.org/@splunk/themes/-/themes-0.21.0.tgz#cbe4af2922ef654c4a931ce1723c44416a56b07c" + integrity sha512-1HdlZNiwijjb8BWSsYlnNpkDNmgYFg45+ySqaP0eSpeZNvUk9yethHS5CMUQe5cxw7Nz7zpUoY9IlpvBL6v2SA== dependencies: color-blend "^2.0.9" lodash "^4.17.14" tinycolor2 "^1.4.1" -"@splunk/themes@^0.21.0": - version "0.21.0" - resolved "https://registry.npmjs.org/@splunk/themes/-/themes-0.21.0.tgz#cbe4af2922ef654c4a931ce1723c44416a56b07c" - integrity sha512-1HdlZNiwijjb8BWSsYlnNpkDNmgYFg45+ySqaP0eSpeZNvUk9yethHS5CMUQe5cxw7Nz7zpUoY9IlpvBL6v2SA== +"@splunk/themes@^0.22.0": + version "0.22.0" + resolved "https://registry.npmjs.org/@splunk/themes/-/themes-0.22.0.tgz#405697459748a222ac43b414c1028f79de5aea50" + integrity sha512-U4/PO3KzJLv18TGq8omO8alUTWrABU5Ruxu4ywBV1IfYPHVET+SSqAAl8iapboZR+IoFnrSpxxsjQhgPMNhtLA== dependencies: color-blend "^2.0.9" lodash "^4.17.14" tinycolor2 "^1.4.1" -"@splunk/time-range-utils@^3.0.1", "@splunk/time-range-utils@^3.2.0": +"@splunk/time-range-utils@^3.2.0": version "3.2.0" resolved "https://registry.npmjs.org/@splunk/time-range-utils/-/time-range-utils-3.2.0.tgz#6c13f8ff4a152428c2a932841f70d75ce728c531" integrity sha512-25l8IL9vL4tBRWSu2CByvVaTpf+IVWOoHX/4zrTq+RipYOF4ilpAqDSh+IDrI5/YV6YfzdyLBB7FdXOdfZeQBw== @@ -3031,7 +3086,7 @@ "@splunk/ui-utils" "^1.5.0" lodash "^4.17.19" -"@splunk/ui-utils@^1.2.1", "@splunk/ui-utils@^1.4.0", "@splunk/ui-utils@^1.5.0", "@splunk/ui-utils@^1.5.2", "@splunk/ui-utils@^1.6.0": +"@splunk/ui-utils@^1.4.0", "@splunk/ui-utils@^1.5.0", "@splunk/ui-utils@^1.5.2", "@splunk/ui-utils@^1.6.0": version "1.6.0" resolved "https://registry.npmjs.org/@splunk/ui-utils/-/ui-utils-1.6.0.tgz#66576bdf80830fb0ec8b0f9e48031ce61eb54e7c" integrity sha512-6uMStGhXno5LluvKZtO34K1LO50T6m9hgoC2FvQ5KEtFLz1MID8XkW3vLjh4zcxU/7ntgQBAlteBLRqi38AF7A== @@ -3055,124 +3110,132 @@ keycode "^2.1.9" lodash "^4.17.21" -"@splunk/visualization-color-palettes@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualization-color-palettes/-/visualization-color-palettes-26.2.1.tgz#6837b3913e5e1153afd953afef8c9f0ddc705f3f" - integrity sha512-djSMpT/Y/obYRg5LeQSaTWnAeSpuF/3AZhGkimL8ixYGpi06ZwgszN0o4A4PRT64ac6BrUxLwiBIh0TZ9F/aGA== +"@splunk/visualization-color-palettes@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-color-palettes/-/visualization-color-palettes-26.3.0.tgz#ecaebc6b9e558317ef9102e8fa44dc5a40552484" + integrity sha512-UddwC6AkDWtymGbngxODuiytPLTaIGeMfKMyNjx0TTSJ3832RmiZSUMDPsBJ5+3lQbrn0ddajObFgClIoyKrkQ== dependencies: - "@babel/runtime" "^7.13.0" + "@babel/runtime" "^7.25.6" -"@splunk/visualization-context@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualization-context/-/visualization-context-26.2.1.tgz#db191e66025a4114c75ecb46a709803f3db56ffa" - integrity sha512-fPROsk+gTCQdfQwTGVHSXspv4dGMF11OL8KDRRvLOSxqNf6cEEzxaCnhZFsLb9bPhlCil6YUdL0bOzChLUSFoA== +"@splunk/visualization-context@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-context/-/visualization-context-26.3.0.tgz#1eb5e094f71d05b4a9c6bad0dcf310c69e93be41" + integrity sha512-sIY9cuivY4usbXdCHyYxFj6wKuRI/WZoACo77f0z4XERUYora0TFAbOXdJyllPzH2zfIqCeQbawHLcqPsxuvtQ== dependencies: - "@babel/runtime" "^7.13.0" - "@splunk/ui-utils" "^1.2.1" + "@babel/runtime" "^7.25.6" + "@splunk/ui-utils" "^1.7.1" uuid-v4 "^0.1.0" -"@splunk/visualization-encoding-parsers@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualization-encoding-parsers/-/visualization-encoding-parsers-26.2.1.tgz#6e714123d12dcaafd448dcc742869dbad5d85caa" - integrity sha512-UggkFz0xtdGbfZm+rkWB2BZgcNFibHkpLEkmbOAQgLhiouZAfL+x5Pwq5nW5GgrMrwUiny0IC4IiqByQsNC8yg== +"@splunk/visualization-encoding-parsers@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-encoding-parsers/-/visualization-encoding-parsers-26.3.0.tgz#c005281adaf881a74385e53befe80390abbe60e3" + integrity sha512-nCFOkTxJ3HxNJJYe+tjff4Ld4qKnE2c0JAtMJQZ1iqZIbjiOC4NfdIG4yUbhrPRB88eAg3irVA0up/uDXYoSZw== dependencies: - "@babel/runtime" "^7.13.0" - "@splunk/visualizations-shared" "^26.2.1" + "@babel/runtime" "^7.25.6" + "@splunk/visualizations-shared" "^26.3.0" chroma-js "^2.0.0" lodash "^4.17.21" -"@splunk/visualization-encoding@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualization-encoding/-/visualization-encoding-26.2.1.tgz#8f4d72aa41fd453ece3e88a2cb50fa7793e9429c" - integrity sha512-iK0393yKHFtJU3myyo6vB/7cv0pgv0b7yyJjgzGTalpxC4CpVrPplEp7JJDL03EjOsA1TRCSCtG7xEP0GfAAvA== +"@splunk/visualization-encoding@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-encoding/-/visualization-encoding-26.3.0.tgz#28a811cd2d0c0e281513c3546096cc64e421dc62" + integrity sha512-JLhwptroSR/2EdwxzfPHLnhAAI4yxryt5NiFbmrX0NpsKdvhAAN1CHHXRhwOhp4K9uUPmPr2bvhls1uEtx6vMw== dependencies: "@splunk/moment" "^0.6.1" - "@splunk/visualizations-shared" "^26.2.1" + "@splunk/visualizations-shared" "^26.3.0" chroma-js "^2.0.0" lodash "^4.17.21" nearley "^2.19.1" numbro "2.5.0" -"@splunk/visualization-icons@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualization-icons/-/visualization-icons-26.2.1.tgz#af692a7ccf2e513c987efc81ae3ebfff49c0f190" - integrity sha512-9swSQo3Zkg8U308LBrfdxTqwa58MzekI6qzKu7vostY1AoUNNtXEmKzCbMw5dGDfQTQ6TVHC/+SvQAgFW9QOhA== +"@splunk/visualization-icons@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-icons/-/visualization-icons-26.3.0.tgz#14f8f13f47aa57e088aefd427b05c0598859dc82" + integrity sha512-i/BtySOky+StSbX0OoiBfMqK5J4EKlyHNIXZgnvtmEtlIN07TJOVR48UGwylokvPEApjQMOt6YQc51wggMy/1w== dependencies: - "@babel/runtime" "^7.13.0" - "@splunk/react-icons" "^4.6.0" - "@splunk/ui-utils" "^1.2.1" + "@babel/runtime" "^7.25.6" + "@splunk/react-icons" "^4.7.0" + "@splunk/ui-utils" "^1.7.1" -"@splunk/visualization-migrations@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualization-migrations/-/visualization-migrations-26.2.1.tgz#5c1f78fb7ca629e6c2f95bf3b5ef952527ae1cf1" - integrity sha512-xqFrKMLpVOdGcHN+h28Fq+Khqcv8rrgpNjk94iBcJTcb1MhB3tJ8TYzOEzgTj+pnLcl2tpz+X3XSWrD1Sn2WUg== +"@splunk/visualization-migrations@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-migrations/-/visualization-migrations-26.3.0.tgz#b762e5a1c160d98fba82d6c1d1cd279ed6869326" + integrity sha512-c7zf0291/PAilza9cL2i0Izc9raRWRcpUS2PgPTBBWYEnBB7EiYSAxzOtB97J+eTBSi3dBxALWP7vOllv4C2kA== dependencies: - "@babel/runtime" "^7.13.0" - "@splunk/visualization-encoding" "^26.2.1" - "@splunk/visualization-encoding-parsers" "^26.2.1" - "@splunk/visualizations" "^26.2.1" + "@babel/runtime" "^7.25.6" + "@splunk/visualization-encoding" "^26.3.0" + "@splunk/visualization-encoding-parsers" "^26.3.0" + "@splunk/visualization-schemas" "^26.3.0" lodash "^4.17.21" -"@splunk/visualization-themes@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualization-themes/-/visualization-themes-26.2.1.tgz#c38cc8190069993dfc8ebf5f0e0f8bd09a26b49a" - integrity sha512-PYoWVsMNOAIcnT0NQsfNJZFpPqP1VEItefnZsD8+EIJcfl2cIfOumZlS/NRSdKnJ1eKOiLHzew02EvJDPPwRwA== +"@splunk/visualization-schemas@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-schemas/-/visualization-schemas-26.3.0.tgz#77734577cd2249187cb9690ec2617cc99c4ab83d" + integrity sha512-UL3Ufy9RJjl0P+1la7pCvMa0mLoKhcesJbShIjgIhW4FFkr8DquufpUhRhF9fWCb/1ZpjGY3c5SExECzezrMtQ== dependencies: - "@babel/runtime" "^7.13.0" - "@splunk/themes" "^0.19.0" + "@babel/runtime" "^7.25.6" + "@splunk/visualization-color-palettes" "^26.3.0" -"@splunk/visualizations-shared@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualizations-shared/-/visualizations-shared-26.2.1.tgz#5012f1e34884f6494c879fa8148ea709dfaa45aa" - integrity sha512-vYl+JbI+pKCfJ6F/ci2rkaFRf2Lv5tcm/BSLFozmEDCIey5/fVoSPQwZGM26dJRdvaTl8yxHacVycweqmMFneA== +"@splunk/visualization-themes@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualization-themes/-/visualization-themes-26.3.0.tgz#7ed562275aba634d7c48169773019f75cea83f74" + integrity sha512-Atfo09Z7iG4BVyW6qmRO6DP13A2iu+6PHVhQsyLSApPsynysDjgLJOxWu82v3L9nmO3YuxzR4FTGs/iBtYIrKg== dependencies: - "@babel/runtime" "^7.13.0" + "@babel/runtime" "^7.25.6" + "@splunk/themes" "^0.21.0" + +"@splunk/visualizations-shared@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualizations-shared/-/visualizations-shared-26.3.0.tgz#bf9dce55babcc5b5ea0775f993f3bf494bb4872b" + integrity sha512-jb00GyyrugRuJFgaNFLnJjTwhQGu4/57QshigPMWf/7YfjEP8XIyE8z4h26m+gnhyUX01nVY3rYI1OyFAAD6sQ== + dependencies: + "@babel/runtime" "^7.25.6" "@splunk/moment" "^0.6.1" - "@splunk/react-icons" "^4.6.0" - "@splunk/react-ui" "^4.33.0" - "@splunk/themes" "^0.19.0" - "@splunk/ui-utils" "^1.2.1" - element-resize-detector "^1.1.14" + "@splunk/react-icons" "^4.7.0" + "@splunk/react-ui" "^4.37.0" + "@splunk/themes" "^0.21.0" + "@splunk/ui-utils" "^1.7.1" + "@splunk/visualization-schemas" "^26.3.0" + element-resize-detector "^1.2.4" lodash "^4.17.21" numeral "^2.0.6" xmlserializer "^0.6.1" -"@splunk/visualizations@^26.2.1": - version "26.2.1" - resolved "https://registry.npmjs.org/@splunk/visualizations/-/visualizations-26.2.1.tgz#1ff1ec954863456860505a1ebd2a7bc7e295c171" - integrity sha512-jyJvVUbH2+Mo7FV7mNENKBIGQILB3QsuD7787JEZEn7cHHxeyJne9URBm/CYDWE1CpghrNe9474/NuKRy46JNQ== +"@splunk/visualizations@^26.3.0": + version "26.3.0" + resolved "https://registry.npmjs.org/@splunk/visualizations/-/visualizations-26.3.0.tgz#e25fe91ebfcc41d3c4e2f89478fb7f4c5de48ba3" + integrity sha512-mDadE2XOJMbyBrXaZmHKxTPwJu5D76CldzbjZZBkjbTrYpH4e7YEijpTQdKq79D/O7xtfG/UtnbbOE8EDJi8ow== dependencies: - "@babel/runtime" "^7.13.0" - "@mdhnpm/rgb-hex-converter" "^1.0.3" - "@splunk/async-dynamic-options-evaluator" "^26.2.1" - "@splunk/charting-bundle" "^26.2.1" + "@babel/runtime" "^7.25.6" + "@mdhnpm/rgb-hex-converter" "^1.2.0" + "@splunk/async-dynamic-options-evaluator" "^26.3.0" + "@splunk/charting-bundle" "^26.3.0" "@splunk/moment" "^0.6.1" "@splunk/react-events-viewer" "^5.4.6" "@splunk/react-field-summary" "^0.11.0" - "@splunk/react-icons" "^4.6.0" - "@splunk/react-ui" "^4.33.0" - "@splunk/themes" "^0.19.0" - "@splunk/time-range-utils" "^3.0.1" - "@splunk/ui-utils" "^1.2.1" - "@splunk/visualization-color-palettes" "^26.2.1" - "@splunk/visualization-encoding" "^26.2.1" - "@splunk/visualization-icons" "^26.2.1" - "@splunk/visualization-themes" "^26.2.1" - "@splunk/visualizations-shared" "^26.2.1" - "@xmldom/xmldom" "^0.8.4" + "@splunk/react-icons" "^4.7.0" + "@splunk/react-ui" "^4.37.0" + "@splunk/themes" "^0.21.0" + "@splunk/time-range-utils" "^3.2.0" + "@splunk/ui-utils" "^1.7.1" + "@splunk/visualization-color-palettes" "^26.3.0" + "@splunk/visualization-encoding" "^26.3.0" + "@splunk/visualization-icons" "^26.3.0" + "@splunk/visualization-themes" "^26.3.0" + "@splunk/visualizations-shared" "^26.3.0" + "@xmldom/xmldom" "^0.8.10" cssesc "3.0.0" - d3-array "^2.12.1" + d3-array "^3.2.4" d3-axis "^2.1.0" d3-brush "^2.1.0" d3-collection "^1.0.7" d3-drag "^2.0.0" - d3-format "^3.0.1" d3-interpolate "^3.0.1" d3-scale "^3.3.0" d3-selection "^2.0.0" jexl "^2.2.2" lodash "^4.17.21" - maplibre-gl "^3.0.0" + maplibre-gl "^3.6.2" prop-types "^15.7.2" react-event-listener "^0.6.6" xpath "^0.0.32" @@ -3191,18 +3254,18 @@ resolved "https://registry.npmjs.org/@splunkdev/cloud-sdk/-/cloud-sdk-15.0.0.tgz#30a49eb2e8f26eb1569c4e97402a473dc7f96883" integrity sha512-6oqdH9ljEpnnt6TjkkZuCo3w0IBJH6fiTKMsVIVjaZDBPaoUhxSdRFuXOO+SI/8qf21p+xaGYbepeKZ1ne2HTQ== -"@storybook/addon-a11y@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.3.1.tgz#bdfc07f6ad4a51b5301e8b549584bb89e1c046dc" - integrity sha512-/Xu0v6kk2xugXdB4EJCbrVZDEt/rtJwHDb+MHhxsxp2FYF/ZRDKHinJzyUMMM4BIoJVZQ8BgFjp7P1hprS7yug== +"@storybook/addon-a11y@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.3.4.tgz#572fafefe7d938ebc0d6f412844669f8a0ba077b" + integrity sha512-mbLAJ9vW879Fq66zTUp7Gn7GQ9ZieYDj90ngMsZIjX42SsJEkeIrwbpkwbHlJBlWm2cm7hcF+BrULI0CmTIFpQ== dependencies: - "@storybook/addon-highlight" "8.3.1" + "@storybook/addon-highlight" "8.3.4" axe-core "^4.2.0" -"@storybook/addon-actions@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.1.tgz#17998b880d6db75140752a4762b7e355f1cd9cd0" - integrity sha512-f00NxBNBcsMHqtwsOpRbZKrNMLdUjnSg1G6zYdVxAG7NwxzgpqPZm37I36ebFmgz/WO2XQ3ihxzfV2IKFuiZ6g== +"@storybook/addon-actions@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.4.tgz#236333853ab656215907fef153042d09b18f314a" + integrity sha512-1y0yD3upKcyzNwwA6loAGW2cRDqExwl4oAT7GJQA4tmabI+fNwmANSgU/ezLvvSUf4Qo0eJHg2Zcn8y+Apq2eA== dependencies: "@storybook/global" "^5.0.0" "@types/uuid" "^9.0.1" @@ -3210,35 +3273,35 @@ polished "^4.2.2" uuid "^9.0.0" -"@storybook/addon-backgrounds@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.1.tgz#687c6543f49a8826fdcec7e368fadc75080e40f9" - integrity sha512-HPQElHIi5SMWJTOimYt27QaiPrrwTprVShVfq3gQKpUcDJhT4qMpI3Bn3JCtthPlXlUA+miZcNdNRTIc2XzhSA== +"@storybook/addon-backgrounds@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.4.tgz#2c367ca27c3148d8bb300363a3b77b1e71810726" + integrity sha512-o3nl7cN3x8erJNxLEv8YptanEQAnbqnaseOAsvSC6/nnSAcRYBSs3BvekKvo4CcpS2mxn7F5NJTBFYnCXzy8EA== dependencies: "@storybook/global" "^5.0.0" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.1.tgz#82fb4a5f174a805db364c98ea27abdaafaa78570" - integrity sha512-zqVNRGQ2GS1ReDZ6YTAl+pLmnrOWwE3OUsByRfzHCYlmO55TxYi92HBTSbAXyWRKyqVUKH69PmbKGukc83aX2Q== +"@storybook/addon-controls@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.4.tgz#fb4c5974beb576f7bada6859f67827c756e0c46c" + integrity sha512-qQcaK6dczsb6wXkzGZKOjUYNA7FfKBewRv6NvoVKYY6LfhllGOkmUAtYpdtQG8adsZWTSoZaAOJS2vP2uM67lw== dependencies: "@storybook/global" "^5.0.0" dequal "^2.0.2" lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.1.tgz#b33fc3d9a18159c0ac95ad1597132216442ddb22" - integrity sha512-8ES7ThajpKDoMheAthnDDg/lXUsIxzV+EdHuE4WnRoiw+25XfYr9WIEuEpytRz/drouJhunOgOJV0kCPxZ3XgQ== +"@storybook/addon-docs@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.4.tgz#9dc6c9d873b50848346e5a3c807a907918561c8a" + integrity sha512-TWauhqF/gJgfwPuWeM6KM3LwC+ErCOM+K2z16w3vgao9s67sij8lnrdAoQ0hjA+kw2/KAdCakFS6FyciG81qog== dependencies: "@mdx-js/react" "^3.0.0" - "@storybook/blocks" "8.3.1" - "@storybook/csf-plugin" "8.3.1" + "@storybook/blocks" "8.3.4" + "@storybook/csf-plugin" "8.3.4" "@storybook/global" "^5.0.0" - "@storybook/react-dom-shim" "8.3.1" + "@storybook/react-dom-shim" "8.3.4" "@types/react" "^16.8.0 || ^17.0.0 || ^18.0.0" fs-extra "^11.1.0" react "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -3247,74 +3310,74 @@ rehype-slug "^6.0.0" ts-dedent "^2.0.0" -"@storybook/addon-essentials@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.1.tgz#1a1c9478e2e71b2235f269134d23c30ddd6f9fe8" - integrity sha512-5dNlKKJveBYqe1OT4dSE7V7ZjhULWnL238oeHz6wabjfL/l7W9MgLke5mxir4xSaAKf5sOg+QFK+RSmYYih4pg== - dependencies: - "@storybook/addon-actions" "8.3.1" - "@storybook/addon-backgrounds" "8.3.1" - "@storybook/addon-controls" "8.3.1" - "@storybook/addon-docs" "8.3.1" - "@storybook/addon-highlight" "8.3.1" - "@storybook/addon-measure" "8.3.1" - "@storybook/addon-outline" "8.3.1" - "@storybook/addon-toolbars" "8.3.1" - "@storybook/addon-viewport" "8.3.1" +"@storybook/addon-essentials@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.4.tgz#2260cc927b6f5aa2cfc89ec233f918e158d95df5" + integrity sha512-C3+3hpmSn/8zdx5sXEP0eE6zMzxgRosHVZYfe9nBcMiEDp6UKVUyHVetWxEULOEgN46ysjcpllZ0bUkRYxi2IQ== + dependencies: + "@storybook/addon-actions" "8.3.4" + "@storybook/addon-backgrounds" "8.3.4" + "@storybook/addon-controls" "8.3.4" + "@storybook/addon-docs" "8.3.4" + "@storybook/addon-highlight" "8.3.4" + "@storybook/addon-measure" "8.3.4" + "@storybook/addon-outline" "8.3.4" + "@storybook/addon-toolbars" "8.3.4" + "@storybook/addon-viewport" "8.3.4" ts-dedent "^2.0.0" -"@storybook/addon-highlight@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.1.tgz#27520e5374d3952a436985e6966f3e6c67a643b9" - integrity sha512-hEB4O1a76SGEJypjPwjvBT8e9+pWptAD6VY995gtsOrMLaV0213DJV8aEGJRXhELEk2sr8WUaoYhzxxtgD97KA== +"@storybook/addon-highlight@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.4.tgz#77d6f2793e371723f9184900f4ceb6aef0a24f46" + integrity sha512-rxZTeuZyZ7RnU+xmRhS01COFLbGnVEmlUNxBw8ArsrTEZKW5PbKpIxNLTj9F0zdH8H0MfryJGP+Aadcm0oHWlw== dependencies: "@storybook/global" "^5.0.0" -"@storybook/addon-interactions@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.3.1.tgz#0f636b691c28e027c14b2aaedd8fc42199f7c35e" - integrity sha512-EQiemx7ZvI9r4WrWmKB7hvoh9XO+YJh61LNEBLrdnSnRITJKGFrJtqnfuSrvQXWxFVi6U1PtSqDzCV8z0IwK2g== +"@storybook/addon-interactions@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.3.4.tgz#81305449cd05d3827189eb79011a30a7a6be849c" + integrity sha512-ORxqe35wUmF7EDHo45mdDHiju3Ryk2pZ1vO9PyvW6ZItNlHt/IxAr7T/TysGejZ/eTBg6tMZR3ExGky3lTg/CQ== dependencies: "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.3.1" - "@storybook/test" "8.3.1" + "@storybook/instrumenter" "8.3.4" + "@storybook/test" "8.3.4" polished "^4.2.2" ts-dedent "^2.2.0" -"@storybook/addon-links@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.3.1.tgz#48823e23334e934cd6b3ddd1564ae683e6885016" - integrity sha512-xhd1cXpHKn9mr87ImcEOV+YexDZcITzxFQoW2m5ocGkMyVFotK6NjOk/f9xsZAGIp4T7axsdEmwFNSovHgw91A== +"@storybook/addon-links@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.3.4.tgz#556217a6e14dd37c1344dacfd9db5a4400ab6e0a" + integrity sha512-R1DjARmxRIKJDGIG6uxmQ1yFNyoQbb+QIPUFjgWCak8+AdLJbC7W+Esvo9F5hQfh6czyy0piiM3qj5hpQJVh3A== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-measure@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.1.tgz#a17bcb4608526bfa2e4eaccac1b35cf32545199a" - integrity sha512-XL7Rph0K0vggVcY7mxGws9SNzLJlCvzrPJdz1xZBKBLLd0fdpbR5Y+1oP1w/7qhZ9Xrg44VRVs4yUzCYUeK2OQ== +"@storybook/addon-measure@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.4.tgz#a6f9965f4ee84d2330af65ad443893b2dc821c51" + integrity sha512-IJ6WKEbqmG+r7sukFjo+bVmPB2Zry04sylGx/OGyOh7zIhhqAqpwOwMHP0uQrc3tLNnUM6qB/o83UyYX79ql+A== dependencies: "@storybook/global" "^5.0.0" tiny-invariant "^1.3.1" -"@storybook/addon-outline@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.1.tgz#18aba35ea9f610884dcd6225f72d0409be886d4a" - integrity sha512-bpxiffkMjWbrVAmbonzkGaTQp3zCECOP5B4Uw0oRfH7YVZgUsj1brRjVsMvBB1bwDP/ijj46X12OcZjqVEJP5Q== +"@storybook/addon-outline@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.4.tgz#57c66665dd771a039f29098adb3a251cd108f961" + integrity sha512-kRRJTTLKM8gMfeh/e83djN5XLlc0hFtr9zKWxuZxaXt9Hmr+9tH/PRFtVK/S4SgqnBDoXk49Wgv6raiwj5/e3A== dependencies: "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.1.tgz#bdc58c9ef012300effc1a85eb51582ffe44be347" - integrity sha512-bjlQP9a56O4OCI4g9tDNm51frBcHaFpHma3MJ1vg302oj/XOQrec/am2sA0E6L1l4Hih2PkRYTamo3+GmQRJug== +"@storybook/addon-toolbars@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.4.tgz#4662b80984f011025eddb143856f923291e68938" + integrity sha512-Km1YciVIxqluDbd1xmHjANNFyMonEOtnA6e4MrnBnC9XkPXSigeFlj0JvxyI/zjBsLBoFRmQiwq55W6l3hQ9sA== -"@storybook/addon-viewport@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.1.tgz#98b26bd6efd8833473171fecf62f6b404e63dd78" - integrity sha512-Z0Ls3ThjOx56KE4I5ampOtfK7G4/AAa0bOoaFq7+bLOomXMtZsC3yyXyrm5YQ6ZHmeP2XaXmOe52HDsvq+ko2Q== +"@storybook/addon-viewport@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.4.tgz#f30404c6badfa8a5da17a99b900871580d9eb6ef" + integrity sha512-fU4LdXSSqIOLbCEh2leq/tZUYlFliXZBWr/+igQHdUoU7HY8RIImXqVUaR9wlCaTb48WezAWT60vJtwNijyIiQ== dependencies: memoizerific "^1.11.3" @@ -3326,10 +3389,10 @@ "@babel/core" "^7.23.7" babel-loader "^9.1.3" -"@storybook/blocks@8.3.1", "@storybook/blocks@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.1.tgz#08c1480a11b09807bbdf4933479ca70deb371a6e" - integrity sha512-/wNLRVWR/edzHQAFvSW68VxHYmBcfXpL/XdO46I5Z1X/tXUd0rtgGZmliQ2jZ242FqxcT8guqqFGehbeYUns5w== +"@storybook/blocks@8.3.4", "@storybook/blocks@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.4.tgz#2fed433f6fa1bce01a750b8d3b02167a32d506ec" + integrity sha512-1g4aCrd5CcN+pVhF2ATu9ZRVvAIgBMb2yF9KkCuTpdvqKDuDNK3sGb0CxjS7jp3LOvyjJr9laTOQsz8v8MQc5A== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" @@ -3346,12 +3409,12 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-webpack5@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.3.1.tgz#fbf0a2cd6630bd012d7f3bb80d1115bc168208f8" - integrity sha512-H0KvdNCtsOuezcrqKmvjgNkwgIsT9TU+VWJkeRRXEARr+urN0A6cTYvka2ZXPVqdGfPa4XiCkjr3MX27Z8drZg== +"@storybook/builder-webpack5@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.3.4.tgz#88142c02757fd2c66a5a1048fea394ae81b5e67f" + integrity sha512-EI6ULxRap5f4YSHf5xKUQqkoNGm4MVxJR/+GImx8K5fuZ+xYw2SdYdTu6dG8V+zTh1WZ4MDwmRb6aEbXvRcrFw== dependencies: - "@storybook/core-webpack" "8.3.1" + "@storybook/core-webpack" "8.3.4" "@types/node" "^22.0.0" "@types/semver" "^7.3.4" browser-assert "^1.2.1" @@ -3384,28 +3447,28 @@ resolved "https://registry.npmjs.org/@storybook/components/-/components-8.2.6.tgz#742ff3d9ebff763af8c8a1e2e2c991112e2a27ba" integrity sha512-H8ckH1AnLkHtMtvJ3J8LxnmDtHxkJ7NJacGctHMRrsBIvdKTVwlT4su5nAVVJlan/PrEou+jESfw+OjjBYE5PA== -"@storybook/components@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/components/-/components-8.3.1.tgz#b40a16691462a032945ecb37194e6f713da6f680" - integrity sha512-/CMqX40CpNOKow58oLyO/OvMhHiHCIvOGf/65lXHk/D9qECMvchFfA2/MH8H7HiJUIqoSPit194miBENK5kqdw== +"@storybook/components@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/components/-/components-8.3.4.tgz#9ea844251534b2aabe51afac37e345cb4361ceef" + integrity sha512-iQzLJd87uGbFBbYNqlrN/ABrnx3dUrL0tjPCarzglzshZoPCNOsllJeJx5TJwB9kCxSZ8zB9TTOgr7NXl+oyVA== "@storybook/core-common@^8.0.0": version "8.2.6" resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.2.6.tgz#9e91485ac149f032bbcfad412d0d1e5214f8e9aa" integrity sha512-PLBaCpX2FuuVNEaW3rOI2YtRJ5SSHhfB890ShKX/9XyD1rCjT3C11dgCNZ3Im1GLF/T6vKvfGc+5fie7W2Rjtg== -"@storybook/core-webpack@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.3.1.tgz#b3dba740ab9fb5b9d505eacef3517a98d33e5a06" - integrity sha512-SrHycFCejWopqtxN/Smj9kI0aTkDo6vmtJWW0Rvgp+V8/83ikSJapN+TzRbq+zhSHhAfpvr5NmaFUwYzbwO/rw== +"@storybook/core-webpack@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.3.4.tgz#10f7774489e5e736e0748a1d614cafc21256811d" + integrity sha512-Ftsk/8RANt46roiHT0hTyqfMPUO2/jV7EvlOR5H2XKhSbssA9njK04O2ry+BbfgKItIDIx0LTiz/I575qBCCnQ== dependencies: "@types/node" "^22.0.0" ts-dedent "^2.0.0" -"@storybook/core@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/core/-/core-8.3.1.tgz#8e991bdff670709de7b164c67cd9adcebe8b8d70" - integrity sha512-L8YTtUipcBvl4F8jFNnXU3NM1hnLwZ3Ge2l+SRVKUGoAZzdf/I8O/0eOeZ+3LM3PvDn8bC9x+qjhNyDgtT+ieQ== +"@storybook/core@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/core/-/core-8.3.4.tgz#35c1a2fbb8b31c7015647309c50a08bd20961522" + integrity sha512-4PZB91JJpuKfcjeOR2LXj3ABaPLLSd2P/SfYOKNCygrDstsQa/yay3/yN5Z9yi1cIG84KRr6/sUW+0x8HsGLPg== dependencies: "@storybook/csf" "^0.1.11" "@types/express" "^4.17.21" @@ -3421,10 +3484,10 @@ util "^0.12.5" ws "^8.2.3" -"@storybook/csf-plugin@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.1.tgz#3c6390c830e2d76074aec515564bd2c9f34d12e4" - integrity sha512-K3JWJf79+BkJAbOnAns5KGQ9h0NCqWht/1B05frj9LuAD/U+0sikpByiC2QvJ+qtX4fODhqjRYvrv2jgP8o3mA== +"@storybook/csf-plugin@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.4.tgz#e9294c5f67245486d2b257a8a6105d72e079ce00" + integrity sha512-ZMFWYxeTN4GxCn8dyIH4roECyLDy29yv/QKM+pHM3AC5Ny2HWI35SohWao4fGBAFxPQFbR5hPN8xa6ofHPSSTg== dependencies: unplugin "^1.3.1" @@ -3457,10 +3520,10 @@ resolved "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.10.tgz#d3d44912a3a88f3f04f77ce2c23a7e47e796f766" integrity sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og== -"@storybook/instrumenter@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.3.1.tgz#47f6539a443467489f56f4feacf32b52f37e61ef" - integrity sha512-TtECvALgEPLafdy+YHXz2+xBPobiSMHj532nS7tkqxD9aRD1+Ocy6pWWNaP9+iiWWnHIWlTQ0M/7UEoCxV+Ksg== +"@storybook/instrumenter@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.3.4.tgz#fa1e513af5e243d8757bb6a77c33e317d90935c7" + integrity sha512-jVhfNOPekOyJmta0BTkQl9Z6rgRbFHlc0eV4z1oSrzaawSlc9TFzAeDCtCP57vg3FuBX8ydDYAvyZ7s4xPpLyg== dependencies: "@storybook/global" "^5.0.0" "@vitest/utils" "^2.0.5" @@ -3471,18 +3534,18 @@ resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.6.tgz#87172bcac1deb5378246deb96d68c1d3357ff58e" integrity sha512-uv36h/b5RhlajWtEg4cVPBYV8gZs6juux0nIE+6G9i7vt8Ild6gM9tW1KNabgZcaHFiyWJYCNWxJZoKjgUmXDg== -"@storybook/manager-api@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.1.tgz#ad6097b71b708b2de76850f7a8f8e46e69a19ee8" - integrity sha512-GHJr1/nNAfkzNs4P8z31zBN8ZBucMfl+aSH6ciCy12jN3dOmEfb67mx3aes2PmBJjY3K8HG2lgsO9tNKIyDJXQ== +"@storybook/manager-api@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.4.tgz#cd09c97ca223c4c798ab8a40281f11142f0d0eda" + integrity sha512-tBx7MBfPUrKSlD666zmVjtIvoNArwCciZiW/UJ8IWmomrTJRfFBnVvPVM2gp1lkDIzRHYmz5x9BHbYaEDNcZWQ== -"@storybook/preset-react-webpack@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.3.1.tgz#3b36cecab6c391dd13334c1bed923ed425076019" - integrity sha512-XsnavmDMspA/c9b14d63JHUh1FGvP5veA1DUwz6kIR+XxcNGit5ukb/7oq0IoBGnuK2eto5uy9JtvQ1708phFA== +"@storybook/preset-react-webpack@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.3.4.tgz#45c53d043929a5f6da03c921e05994395280400f" + integrity sha512-aNbozlcBhuX71anW5+2Ujj+vtXHPsYLf5RKOL82lMkCc1q2CzeMuhUB2BoSsU4R4GVnXVpgRPq+3+qLAQMwr6Q== dependencies: - "@storybook/core-webpack" "8.3.1" - "@storybook/react" "8.3.1" + "@storybook/core-webpack" "8.3.4" + "@storybook/react" "8.3.4" "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0" "@types/node" "^22.0.0" "@types/semver" "^7.3.4" @@ -3500,10 +3563,10 @@ resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.6.tgz#8cb1f84d73bc83b9522ad15596084ef46b602575" integrity sha512-5vTj2ndX5ng4nDntZYe+r8UwLjCIGFymhq5/r2adAvRKL+Bo4zQDWGO7bhvGJk16do2THb2JvPz49ComW9LLZw== -"@storybook/preview-api@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.1.tgz#ab48b7e2fae37786fc2b70e2e910205ffd838574" - integrity sha512-mpeeQi0DiK6lGiFEa/iAXNQykZB/wv9UiI5MYwxfgVTCCIh7skeBQsu/7Ye+C+KyXgrNmH5YAP3CjYfkFVimhQ== +"@storybook/preview-api@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.4.tgz#581395380bb4c5d6922d4393f90c349dfcc84e39" + integrity sha512-/YKQ3QDVSHmtFXXCShf5w0XMlg8wkfTpdYxdGv1CKFV8DU24f3N7KWulAgeWWCWQwBzZClDa9kzxmroKlQqx3A== "@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0": version "1.0.6--canary.9.0c3f3b7.0" @@ -3518,32 +3581,32 @@ react-docgen-typescript "^2.2.2" tslib "^2.0.0" -"@storybook/react-dom-shim@8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.1.tgz#13f351d149b1d87766c3757ddd49bc5bffc09e39" - integrity sha512-nHMhXkt3FAm8c08QTTU70vpYhsAu65RpCv/uhYZ89H5OWvmLFHn36iJQPzlpWFtJHJ5+bAV/bfgNODR3BV1gRg== +"@storybook/react-dom-shim@8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.4.tgz#493a89cd859206bfbbf50d4024410dd6bd62d35c" + integrity sha512-L4llDvjaAzqPx6h4ddZMh36wPr75PrI2S8bXy+flLqAeVRYnRt4WNKGuxqH0t0U6MwId9+vlCZ13JBfFuY7eQQ== -"@storybook/react-webpack5@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.3.1.tgz#62e2998ab3d99e4f48f406c0ac6e22c76799fc5e" - integrity sha512-ciyKa/RImHFk7o+GzX8RN59m7VE3BBCMc5cyjjRzOskkrZIg22s87Flji8eXGoYfGum9/Dwwp4tK//7fI2tcvw== +"@storybook/react-webpack5@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.3.4.tgz#30243bc12d91f93e24d49ac966e54ea466c6e340" + integrity sha512-N8dAu9fBsWaa4cw5GTo7z6ANes+PA57oK020RLdt9KSAv5qO9zZYnysC2oq5o9q8W9D+L8wCOBpy6jEQPAyiTQ== dependencies: - "@storybook/builder-webpack5" "8.3.1" - "@storybook/preset-react-webpack" "8.3.1" - "@storybook/react" "8.3.1" + "@storybook/builder-webpack5" "8.3.4" + "@storybook/preset-react-webpack" "8.3.4" + "@storybook/react" "8.3.4" "@types/node" "^22.0.0" -"@storybook/react@8.3.1", "@storybook/react@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/react/-/react-8.3.1.tgz#8873dc4cab4ffa9caa2b444f36ea0fb660e8a446" - integrity sha512-uxr5o5TzUHB1vFMgdayxatDTYUYWJxDse4hcpr+D2E5QMrMCKBk/KRYgJtnPhmEBASoT40lcZvYmEWnP973KWA== +"@storybook/react@8.3.4", "@storybook/react@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/react/-/react-8.3.4.tgz#22fe88bcec8ceec8fa6da8595fbc084c7e771a32" + integrity sha512-PA7iQL4/9X2/iLrv+AUPNtlhTHJWhDao9gQIT1Hef39FtFk+TU9lZGbv+g29R1H9V3cHP5162nG2aTu395kmbA== dependencies: - "@storybook/components" "^8.3.1" + "@storybook/components" "^8.3.4" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "^8.3.1" - "@storybook/preview-api" "^8.3.1" - "@storybook/react-dom-shim" "8.3.1" - "@storybook/theming" "^8.3.1" + "@storybook/manager-api" "^8.3.4" + "@storybook/preview-api" "^8.3.4" + "@storybook/react-dom-shim" "8.3.4" + "@storybook/theming" "^8.3.4" "@types/escodegen" "^0.0.6" "@types/estree" "^0.0.51" "@types/node" "^22.0.0" @@ -3587,14 +3650,14 @@ nyc "^15.1.0" playwright "^1.14.0" -"@storybook/test@8.3.1", "@storybook/test@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/test/-/test-8.3.1.tgz#53d391b47fd35a441a50e5e2088be87089a009aa" - integrity sha512-/ZZFZHr+jsO7oBrLFrrCkgkJrh1/AgHBqO8QR0zdTiR0NK0vo2l9v9FXat/VFhSaYTIpVU/NQdNKiPGTKIfAVw== +"@storybook/test@8.3.4", "@storybook/test@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/test/-/test-8.3.4.tgz#74306ba2f15607a74092e1d591d63afa222569b8" + integrity sha512-HRiUenitln8QPHu6DEWUg9s9cEoiGN79lMykzXzw9shaUvdEIhWCsh82YKtmB3GJPj6qcc6dZL/Aio8srxyGAg== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.3.1" + "@storybook/instrumenter" "8.3.4" "@testing-library/dom" "10.4.0" "@testing-library/jest-dom" "6.5.0" "@testing-library/user-event" "14.5.2" @@ -3602,10 +3665,10 @@ "@vitest/spy" "2.0.5" util "^0.12.4" -"@storybook/theming@^8.3.1": - version "8.3.1" - resolved "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.1.tgz#762cf6dd337ccf05adf751d3e7560f8cdae21fd6" - integrity sha512-R6YZnIdN9P9gTauVkZfVmob0/i6/yaAQxnwfMgRLCaFD0TFQ+UQ2pCz40zPAUp3BcNPwMD168GVxmheBb8cGag== +"@storybook/theming@^8.3.4": + version "8.3.4" + resolved "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.4.tgz#7e8ea53673fea9cbefa4464347cddb4860364f82" + integrity sha512-D4XVsQgTtpHEHLhwkx59aGy1GBwOedVr/mNns7hFrH8FjEpxrrWCuZQASq1ZpCl8LXlh7uvmT5sM2rOdQbGuGg== "@swc/core-darwin-arm64@1.7.2": version "1.7.2" @@ -4039,11 +4102,6 @@ resolved "https://registry.npmjs.org/@types/minimist/-/minimist-1.2.5.tgz#ec10755e871497bcd83efe927e43ec46e8c0747e" integrity sha512-hov8bUuiLiyFPGyFPE1lwWhmzYbirOXQNNo40+y3zow8aFVTeyn3VWL0VFFfdNddA8S4Vf0Tc062rzyNr7Paag== -"@types/mousetrap@^1.6.5": - version "1.6.15" - resolved "https://registry.npmjs.org/@types/mousetrap/-/mousetrap-1.6.15.tgz#f144a0c539a4cef553a631824651d48267e53c86" - integrity sha512-qL0hyIMNPow317QWW/63RvL1x5MVMV+Ru3NaY9f/CuEpCqrmb7WeuK2071ZY5hczOnm38qExWM2i2WtkXLSqFw== - "@types/mute-stream@^0.0.4": version "0.0.4" resolved "https://registry.npmjs.org/@types/mute-stream/-/mute-stream-0.0.4.tgz#77208e56a08767af6c5e1237be8888e2f255c478" @@ -4072,10 +4130,10 @@ dependencies: undici-types "~5.26.4" -"@types/node@^20.16.5": - version "20.16.5" - resolved "https://registry.npmjs.org/@types/node/-/node-20.16.5.tgz#d43c7f973b32ffdf9aa7bd4f80e1072310fd7a53" - integrity sha512-VwYCweNo3ERajwy0IUlqqcyZ8/A7Zwa9ZP3MnENWcB11AejO+tLy3pu850goUW2FC/IJMdZUfKpX/yxL1gymCA== +"@types/node@^20.16.10": + version "20.16.10" + resolved "https://registry.npmjs.org/@types/node/-/node-20.16.10.tgz#0cc3fdd3daf114a4776f54ba19726a01c907ef71" + integrity sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA== dependencies: undici-types "~6.19.2" @@ -4128,10 +4186,10 @@ dependencies: "@types/react" "^17" -"@types/react@*", "@types/react@^16.14.61", "@types/react@^16.8.0 || ^17.0.0 || ^18.0.0", "@types/react@^16.9.38", "@types/react@^17": - version "16.14.61" - resolved "https://registry.npmjs.org/@types/react/-/react-16.14.61.tgz#ce498029a046d17908001e6e563f3febbaf41e7f" - integrity sha512-CK3zd17pDWAEMnN5TdzwQJQlto2dK/lb0WZsI74owWgQ8PR60WRk0sCeBxLWuSuuqqDZKqeUcxod/8yECqrP/g== +"@types/react@*", "@types/react@^16.14.62", "@types/react@^16.8.0 || ^17.0.0 || ^18.0.0", "@types/react@^16.9.38", "@types/react@^17": + version "16.14.62" + resolved "https://registry.npmjs.org/@types/react/-/react-16.14.62.tgz#449e4e81caaf132d0c2c390644e577702db1dd9e" + integrity sha512-BWf7hqninZav6nerxXj+NeZT/mTpDeG6Lk2zREHAy63CrnXoOGPGtNqTFYFN/sqpSaREDP5otVV88axIXmKfGA== dependencies: "@types/prop-types" "*" "@types/scheduler" "^0.16" @@ -4640,7 +4698,7 @@ resolved "https://registry.npmjs.org/@webpack-cli/serve/-/serve-2.0.5.tgz#325db42395cd49fe6c14057f9a900e427df8810e" integrity sha512-lqaoKnRYBdo1UgDX8uF24AfGMifWK19TxPmM5FHc2vAGxrJ/qtyUyFBWoY1tISZdelsQ5fBcOusifo5o5wSJxQ== -"@xmldom/xmldom@^0.8.4": +"@xmldom/xmldom@^0.8.10": version "0.8.10" resolved "https://registry.npmjs.org/@xmldom/xmldom/-/xmldom-0.8.10.tgz#a1337ca426aa61cef9fe15b5b28e340a72f6fa99" integrity sha512-2WALfTl4xo2SkGCYRt6rDTFfk9R1czmBvUQy12gK2KuRKIpWEhcbbzy8EZXtz/jkRqHX8bFEc6FC1HjX4TUWYw== @@ -5995,6 +6053,11 @@ csstype@^3.0.2: resolved "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz#d80ff294d114fb0e6ac500fbf85b60137d7eff81" integrity sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw== +ctrl-keys@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/ctrl-keys/-/ctrl-keys-1.0.3.tgz#e039c6691d2add598ca1029fada0fd004f6c1ecb" + integrity sha512-Kcb05/xUNra57fxpsLOflECWYbjQEQ9ZuQEthB3cgESN5zMLJ364twA9h2kqz8n06RnTY/+rKWM3UbkOWKeEJg== + cwd@^0.10.0: version "0.10.0" resolved "https://registry.npmjs.org/cwd/-/cwd-0.10.0.tgz#172400694057c22a13b0cf16162c7e4b7a7fe567" @@ -6003,13 +6066,20 @@ cwd@^0.10.0: find-pkg "^0.1.2" fs-exists-sync "^0.1.0" -d3-array@2, d3-array@^2.12.1, d3-array@^2.3.0: +d3-array@2, d3-array@^2.3.0: version "2.12.1" resolved "https://registry.npmjs.org/d3-array/-/d3-array-2.12.1.tgz#e20b41aafcdffdf5d50928004ececf815a465e81" integrity sha512-B0ErZK/66mHtEsR1TkPEEkwdy+WDesimkM5gpZr5Dsg54BiTA5RXtYW5qTLIAcekaS9xfZrzBLF/OAkB3Qn1YQ== dependencies: internmap "^1.0.0" +d3-array@^3.2.4: + version "3.2.4" + resolved "https://registry.npmjs.org/d3-array/-/d3-array-3.2.4.tgz#15fec33b237f97ac5d7c986dc77da273a8ed0bb5" + integrity sha512-tdQAmyA18i4J7wprpYq8ClcxZy3SC31QMeByyCFyRt7BVHdREQZ5lpzoe5mFEYZUWe+oq8HBvk9JjpibyEV4Jg== + dependencies: + internmap "1 - 2" + d3-axis@^2.1.0: version "2.1.0" resolved "https://registry.npmjs.org/d3-axis/-/d3-axis-2.1.0.tgz#978db534092711117d032fad5d733d206307f6a0" @@ -6064,11 +6134,6 @@ d3-drag@2, d3-drag@^2.0.0: resolved "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== -d3-format@^3.0.1: - version "3.1.0" - resolved "https://registry.npmjs.org/d3-format/-/d3-format-3.1.0.tgz#9260e23a28ea5cb109e93b21a06e24e2ebd55641" - integrity sha512-YyUI6AEuY/Wpt8KWLgZHsIU86atmikuoOmCfommt0LYHiQSPjvX2AcFc38PX0CBpr2RCyZhjex+NS/LPOv6YqA== - "d3-interpolate@1 - 2", "d3-interpolate@1.2.0 - 2": version "2.0.1" resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" @@ -6492,10 +6557,10 @@ domhandler@^4.0.0, domhandler@^4.2.0, domhandler@^4.3.1: dependencies: domelementtype "^2.2.0" -dompurify@^2.2.0: - version "2.5.6" - resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.5.6.tgz#8402b501611eaa7fb3786072297fcbe2787f8592" - integrity sha512-zUTaUBO8pY4+iJMPE1B9XlO2tXVYIcEA4SNGtvDELzTSCQO7RzH+j7S180BmhmJId78lqGU2z19vgVx2Sxs/PQ== +dompurify@^2.5.4: + version "2.5.7" + resolved "https://registry.npmjs.org/dompurify/-/dompurify-2.5.7.tgz#6e0d36b9177db5a99f18ade1f28579db5ab839d7" + integrity sha512-2q4bEI+coQM8f5ez7kt2xclg1XsecaV9ASJk/54vwlfRRNQfDqJz2pzQ8t0Ix/ToBpXlVjrRIx7pFC/o8itG2Q== domutils@^1.5.1: version "1.7.0" @@ -6537,7 +6602,7 @@ electron-to-chromium@^1.4.820, electron-to-chromium@^1.5.4: resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== -element-resize-detector@^1.1.14: +element-resize-detector@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/element-resize-detector/-/element-resize-detector-1.2.4.tgz#3e6c5982dd77508b5fa7e6d5c02170e26325c9b1" integrity sha512-Fl5Ftk6WwXE0wqCgNoseKWndjzZlDCwuPTcoVZfCP9R3EHQF8qUtr3YUPNETegRBOKqQKPW3n4kiIWngGi8tKg== @@ -6990,10 +7055,10 @@ eslint-plugin-react-hooks@^4.6.2: resolved "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.6.2.tgz#c829eb06c0e6f484b3fbb85a97e57784f328c596" integrity sha512-QzliNJq4GinDBcD8gPB5v0wh6g8q3SUi6EFF0x8N/BL9PoVs0atuGc47ozMRyOWAKdwaZ5OnbOEa3WR+dSGKuQ== -eslint-plugin-react@^7.36.1: - version "7.36.1" - resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.36.1.tgz#f1dabbb11f3d4ebe8b0cf4e54aff4aee81144ee5" - integrity sha512-/qwbqNXZoq+VP30s1d4Nc1C5GTxjJQjk4Jzs4Wq2qzxFM7dSmuG2UkIjg2USMLh3A/aVcUNrK7v0J5U1XEGGwA== +eslint-plugin-react@^7.37.1: + version "7.37.1" + resolved "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.1.tgz#56493d7d69174d0d828bc83afeffe96903fdadbd" + integrity sha512-xwTnwDqzbDRA8uJ7BMxPs/EXRB3i8ZfnOIp8BsxEQkT0nHPp+WWceqGgo6rKb9ctNi8GJLDT4Go5HAWELa/WMg== dependencies: array-includes "^3.1.8" array.prototype.findlast "^1.2.5" @@ -7014,10 +7079,10 @@ eslint-plugin-react@^7.36.1: string.prototype.matchall "^4.0.11" string.prototype.repeat "^1.0.0" -eslint-plugin-storybook@^0.8.0: - version "0.8.0" - resolved "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.8.0.tgz#23185ecabdc289cae55248c090f0c1d8fbae6c41" - integrity sha512-CZeVO5EzmPY7qghO2t64oaFM+8FTaD4uzOEjHKp516exyTKo+skKAL9GI3QALS2BXhyALJjNtwbmr1XinGE8bA== +eslint-plugin-storybook@^0.9.0: + version "0.9.0" + resolved "https://registry.npmjs.org/eslint-plugin-storybook/-/eslint-plugin-storybook-0.9.0.tgz#8f985899b957748d5780f8e6eb5d37c705976bc8" + integrity sha512-qOT/2vQBo0VqrG/BhZv8IdSsKQiyzJw+2Wqq+WFCiblI/PfxLSrGkF/buiXF+HumwfsCyBdaC94UhqhmYFmAvA== dependencies: "@storybook/csf" "^0.0.1" "@typescript-eslint/utils" "^5.62.0" @@ -7338,10 +7403,10 @@ fb-watchman@^2.0.0: dependencies: bser "2.1.1" -fflate@^0.4.8: - version "0.4.8" - resolved "https://registry.npmjs.org/fflate/-/fflate-0.4.8.tgz#f90b82aefbd8ac174213abb338bd7ef848f0f5ae" - integrity sha512-FJqqoDBR00Mdj9ppamLa/Y7vxm+PRmNWA67N846RvsoYVMKB4q3y/de5PA7gUmRMYK/8CMz2GDZQmCRN1wBcWA== +fflate@^0.8.1: + version "0.8.2" + resolved "https://registry.npmjs.org/fflate/-/fflate-0.8.2.tgz#fc8631f5347812ad6028bbe4a2308b2792aa1dea" + integrity sha512-cPJU47OaAoCbg0pBvzsgpTPhmhqI5eJjh/JIu8tPj5q+T7iLvW/JAYUqmE7KOB4R1ZyEhzBaIQpQpardBF5z8A== file-entry-cache@^6.0.1: version "6.0.1" @@ -8216,6 +8281,11 @@ internal-slot@^1.0.4, internal-slot@^1.0.7: hasown "^2.0.0" side-channel "^1.0.4" +"internmap@1 - 2": + version "2.0.3" + resolved "https://registry.npmjs.org/internmap/-/internmap-2.0.3.tgz#6685f23755e43c524e251d29cbc97248e3061009" + integrity sha512-5Hh7Y1wQbvY5ooGgPbDaL5iYLAPzMTUrjMulskHLH6wnv/A+1q5rgEaiuqEjB+oxGXIVZs1FF+R/KPN3ZSQYYg== + internmap@^1.0.0: version "1.0.1" resolved "https://registry.npmjs.org/internmap/-/internmap-1.0.1.tgz#0017cc8a3b99605f0302f2b198d272e015e5df95" @@ -9272,19 +9342,19 @@ jsonfile@^6.0.1: optionalDependencies: graceful-fs "^4.1.6" -jspdf@2.5.1: - version "2.5.1" - resolved "https://registry.npmjs.org/jspdf/-/jspdf-2.5.1.tgz#00c85250abf5447a05f3b32ab9935ab4a56592cc" - integrity sha512-hXObxz7ZqoyhxET78+XR34Xu2qFGrJJ2I2bE5w4SM8eFaFEkW2xcGRVUss360fYelwRSid/jT078kbNvmoW0QA== +jspdf@2.5.2: + version "2.5.2" + resolved "https://registry.npmjs.org/jspdf/-/jspdf-2.5.2.tgz#3c35bb1063ee3ad9428e6353852b0d685d1f923a" + integrity sha512-myeX9c+p7znDWPk0eTrujCzNjT+CXdXyk7YmJq5nD5V7uLLKmSXnlQ/Jn/kuo3X09Op70Apm0rQSnFWyGK8uEQ== dependencies: - "@babel/runtime" "^7.14.0" + "@babel/runtime" "^7.23.2" atob "^2.1.2" btoa "^1.2.1" - fflate "^0.4.8" + fflate "^0.8.1" optionalDependencies: canvg "^3.0.6" core-js "^3.6.0" - dompurify "^2.2.0" + dompurify "^2.5.4" html2canvas "^1.0.0-rc.5" "jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.5: @@ -9547,7 +9617,7 @@ map-or-similar@^1.5.0: resolved "https://registry.npmjs.org/map-or-similar/-/map-or-similar-1.5.0.tgz#6de2653174adfb5d9edc33c69d3e92a1b76faf08" integrity sha512-0aF7ZmVon1igznGI4VS30yugpduQW3y3GkcgGJOp7d8x8QrizhigUxjI/m2UojsXXto+jLAH3KSz+xOJTiORjg== -maplibre-gl@^3.0.0: +maplibre-gl@^3.6.2: version "3.6.2" resolved "https://registry.npmjs.org/maplibre-gl/-/maplibre-gl-3.6.2.tgz#abc2f34bddecabef8c20028eff06d62e36d75ccc" integrity sha512-krg2KFIdOpLPngONDhP6ixCoWl5kbdMINP0moMSJFVX7wX1Clm2M9hlNKXS8vBGlVWwR5R3ZfI6IPrYz7c+aCQ== @@ -9615,10 +9685,10 @@ memfs@^4.6.0: tree-dump "^1.0.1" tslib "^2.0.0" -memoize-one@^5.2.1: - version "5.2.1" - resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-5.2.1.tgz#8337aa3c4335581839ec01c3d594090cebe8f00e" - integrity sha512-zYiwtZUcYyXKo/np96AGZAckk+FWWsUdJ3cHGGmld7+AhvcWmQyGCYUh1hc4Q/pkOhb65dQR/pqCyK0cOaHz4Q== +memoize-one@^6.0.0: + version "6.0.0" + resolved "https://registry.npmjs.org/memoize-one/-/memoize-one-6.0.0.tgz#b2591b871ed82948aee4727dc6abceeeac8c1045" + integrity sha512-rkpe71W0N0c0Xz6QD0eJETuWAJGnJ9afsl1srmwPrI+yBCkge5EycXXbYRyvL29zZVUWQCY7InPRCv3GDXuZNw== memoizerific@^1.11.3: version "1.11.3" @@ -9767,11 +9837,6 @@ moo@^0.5.0: resolved "https://registry.npmjs.org/moo/-/moo-0.5.2.tgz#f9fe82473bc7c184b0d32e2215d3f6e67278733c" integrity sha512-iSAJLHYKnX41mKcJKjqvnAN9sf0LMDTXDEvFv+ffuRR9a1MIuXLjMNL6EsnDHSkKLTWNqQQ5uo61P4EbU4NU+Q== -mousetrap@^1.6.3: - version "1.6.5" - resolved "https://registry.npmjs.org/mousetrap/-/mousetrap-1.6.5.tgz#8a766d8c272b08393d5f56074e0b5ec183485bf9" - integrity sha512-QNo4kEepaIBwiT8CDhP98umTetp+JNfQYBWvC1pc6/OAibuXtRcxZ58Qz8skvEHYvURne/7R8T5VoOI7rDsEUA== - ms@2.0.0: version "2.0.0" resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" @@ -9794,16 +9859,16 @@ msw-storybook-addon@^2.0.3: dependencies: is-node-process "^1.0.1" -msw@2.4.8: - version "2.4.8" - resolved "https://registry.npmjs.org/msw/-/msw-2.4.8.tgz#306b6ba1ae09d0d09bac08009a83eeb622578d73" - integrity sha512-a+FUW1m5yT8cV9GBy0L/cbNg0EA4//SKEzgu3qFrpITrWYeZmqfo7dqtM74T2lAl69jjUjjCaEhZKaxG2Ns8DA== +msw@2.4.9: + version "2.4.9" + resolved "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz#350a84cedb90b578a32c7764431e3750900f8407" + integrity sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg== dependencies: "@bundled-es-modules/cookie" "^2.0.0" "@bundled-es-modules/statuses" "^1.0.1" "@bundled-es-modules/tough-cookie" "^0.1.6" "@inquirer/confirm" "^3.0.0" - "@mswjs/interceptors" "^0.35.6" + "@mswjs/interceptors" "^0.35.8" "@open-draft/until" "^2.1.0" "@types/cookie" "^0.6.0" "@types/statuses" "^2.0.4" @@ -11764,12 +11829,12 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" -storybook@^8.3.1: - version "8.3.1" - resolved "https://registry.npmjs.org/storybook/-/storybook-8.3.1.tgz#4f52975bb0b7895eb4ad8125b37c0b3bba33b555" - integrity sha512-CYqt5KOpaTgb8OczNo2+EtMi8YNDPi4vNVebVlLDOroWxyulb8I7MIOH9gALczcIOb+TZUArPztjoa8rkXTaDQ== +storybook@^8.3.4: + version "8.3.4" + resolved "https://registry.npmjs.org/storybook/-/storybook-8.3.4.tgz#caca649de88372679c126a9bf8ae4ed14406e9a3" + integrity sha512-nzvuK5TsEgJwcWGLGgafabBOxKn37lfJVv7ZoUVPgJIjk2mNRyJDFwYRJzUZaD37eiR/c/lQ6MoaeqlGwiXoxw== dependencies: - "@storybook/core" "8.3.1" + "@storybook/core" "8.3.4" strict-event-emitter@^0.5.1: version "0.5.1" @@ -12888,7 +12953,7 @@ webpack-virtual-modules@^0.6.0, webpack-virtual-modules@^0.6.2: resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8" integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== -webpack@5, webpack@^5.94.0: +webpack@5: version "5.94.0" resolved "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== @@ -12917,6 +12982,35 @@ webpack@5, webpack@^5.94.0: watchpack "^2.4.1" webpack-sources "^3.2.3" +webpack@^5.95.0: + version "5.95.0" + resolved "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" + integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== + dependencies: + "@types/estree" "^1.0.5" + "@webassemblyjs/ast" "^1.12.1" + "@webassemblyjs/wasm-edit" "^1.12.1" + "@webassemblyjs/wasm-parser" "^1.12.1" + acorn "^8.7.1" + acorn-import-attributes "^1.9.5" + browserslist "^4.21.10" + chrome-trace-event "^1.0.2" + enhanced-resolve "^5.17.1" + es-module-lexer "^1.2.1" + eslint-scope "5.1.1" + events "^3.2.0" + glob-to-regexp "^0.4.1" + graceful-fs "^4.2.11" + json-parse-even-better-errors "^2.3.1" + loader-runner "^4.2.0" + mime-types "^2.1.27" + neo-async "^2.6.2" + schema-utils "^3.2.0" + tapable "^2.1.1" + terser-webpack-plugin "^5.3.10" + watchpack "^2.4.1" + webpack-sources "^3.2.3" + websocket-driver@>=0.5.1, websocket-driver@^0.7.4: version "0.7.4" resolved "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz#89ad5295bbf64b480abcba31e4953aca706f5760" From 2b693489f679ecb4dc370362f13e7f26a1e1e343 Mon Sep 17 00:00:00 2001 From: Hetang Modi <62056057+hetangmodi-crest@users.noreply.github.com> Date: Tue, 8 Oct 2024 21:07:21 +0530 Subject: [PATCH 03/22] chore: updated versions of dependent libraries (#1352) **Issue number:** ADDON-74804 ## Summary Updated the versions of libraries used in the development and testing of the framework. ### Changes > Updated dependencies to the latest version that are compatible with Python 3.7. ### User experience > No change to users as only libraries used are being upgraded. ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [ ] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --------- Co-authored-by: Artem Rys --- .pre-commit-config.yaml | 8 ++++---- poetry.lock | 20 ++++++++++---------- pyproject.toml | 6 +++--- tests/ui/pytest.ini | 3 ++- 4 files changed, 19 insertions(+), 18 deletions(-) diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 8b9d5f263..af521679b 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -21,7 +21,7 @@ repos: - id: check-merge-conflict - id: debug-statements - repo: https://github.com/asottile/pyupgrade - rev: v3.3.1 + rev: v3.3.2 hooks: - id: pyupgrade args: @@ -31,17 +31,17 @@ repos: hooks: - id: black - repo: https://github.com/pre-commit/mirrors-mypy - rev: v1.2.0 + rev: v1.4.1 hooks: - id: mypy exclude: (^docs/|^splunk_add_on_ucc_framework/commands/imports.py) additional_dependencies: ['types-PyYAML'] - repo: https://github.com/PyCQA/flake8 - rev: 4.0.1 + rev: 5.0.4 hooks: - id: flake8 exclude: (^splunk_add_on_ucc_framework/commands/init_template/|^splunk_add_on_ucc_framework/commands/imports.py) - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.40.0 + rev: v0.42.0 hooks: - id: markdownlint diff --git a/poetry.lock b/poetry.lock index 23efb44e5..f6845eb66 100644 --- a/poetry.lock +++ b/poetry.lock @@ -324,13 +324,13 @@ packaging = "*" [[package]] name = "dunamai" -version = "1.21.2" +version = "1.22.0" description = "Dynamic version generation" optional = false python-versions = ">=3.5" files = [ - {file = "dunamai-1.21.2-py3-none-any.whl", hash = "sha256:87db76405bf9366f9b4925ff5bb1db191a9a1bd9f9693f81c4d3abb8298be6f0"}, - {file = "dunamai-1.21.2.tar.gz", hash = "sha256:05827fb5f032f5596bfc944b23f613c147e676de118681f3bb1559533d8a65c4"}, + {file = "dunamai-1.22.0-py3-none-any.whl", hash = "sha256:eab3894b31e145bd028a74b13491c57db01986a7510482c9b5fff3b4e53d77b7"}, + {file = "dunamai-1.22.0.tar.gz", hash = "sha256:375a0b21309336f0d8b6bbaea3e038c36f462318c68795166e31f9873fdad676"}, ] [package.dependencies] @@ -1204,13 +1204,13 @@ pytest = ">=5.3" [[package]] name = "pytest-splunk-addon" -version = "5.2.6" +version = "5.4.0" description = "A Dynamic test tool for Splunk Apps and Add-ons" optional = false python-versions = "<4.0,>=3.7" files = [ - {file = "pytest_splunk_addon-5.2.6-py3-none-any.whl", hash = "sha256:eefa4b022009b4ec6cb88b6c28a128a4768114b999635e1eb225e40fec6c03e2"}, - {file = "pytest_splunk_addon-5.2.6.tar.gz", hash = "sha256:521172594319bb1f879a2ec433c34c35c20125a84669a84c38529c3ff6879fb6"}, + {file = "pytest_splunk_addon-5.4.0-py3-none-any.whl", hash = "sha256:b2c6482bbeb4ce9dc225e487e32299431bc94cd17c74574a7e7126a63612c1ca"}, + {file = "pytest_splunk_addon-5.4.0.tar.gz", hash = "sha256:78212c0583a5c7c5101ee3690e5cf75dba1e7f4edb444255e2a3cc6eee0c6a5a"}, ] [package.dependencies] @@ -1232,13 +1232,13 @@ xmltodict = ">=0.13.0,<0.14.0" [[package]] name = "pytest-splunk-addon-ui-smartx" -version = "5.0.0" +version = "5.3.0" description = "Library to support testing Splunk Add-on UX" optional = false python-versions = "<4.0,>=3.7" files = [ - {file = "pytest_splunk_addon_ui_smartx-5.0.0-py3-none-any.whl", hash = "sha256:8a67dfe6aa58b36f5a673863a29deaa04718e497fdfe9b13642dde319a238a32"}, - {file = "pytest_splunk_addon_ui_smartx-5.0.0.tar.gz", hash = "sha256:1f330558dfd537d06507e375480615a84dd95964672af5c9cd4966585d8e0fa6"}, + {file = "pytest_splunk_addon_ui_smartx-5.3.0-py3-none-any.whl", hash = "sha256:bd3b646469d869757d9fef4be9129fa373265121f027af21729828aa38726392"}, + {file = "pytest_splunk_addon_ui_smartx-5.3.0.tar.gz", hash = "sha256:0b684382320aaf18b0047fd61a32fc9df232bd06d8b2b47b3716a65236390b26"}, ] [package.dependencies] @@ -1731,4 +1731,4 @@ testing = ["big-O", "flake8 (<5)", "jaraco.functools", "jaraco.itertools", "more [metadata] lock-version = "2.0" python-versions = "^3.7" -content-hash = "b8706782dcaed29f95cbd6f7bd241830bb5e21017480e91c6421501360804554" +content-hash = "71a9dc95114ab50cc2a05784f48b443d2655789a68152093d8a89f8cffc42654" diff --git a/pyproject.toml b/pyproject.toml index 4d92d05e0..c5c8ced60 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -42,7 +42,7 @@ classifiers = [ python = "^3.7" jinja2 = ">=2,<4" addonfactory-splunk-conf-parser-lib = "^0.4.3" -dunamai = "^1.9.0" +dunamai = "^1.22.0" jsonschema = "^4.4.0" PyYAML = "^6.0" defusedxml = "^0.7.1" @@ -52,8 +52,8 @@ colorama = "^0.4.6" mkdocs = "^1.4.2" importlib-metadata = {version="*", python="<3.8"} pytest = "^7.2.1" -pytest-splunk-addon = "^5.0.0" -pytest-splunk-addon-ui-smartx = "^5.0.0" +pytest-splunk-addon = "^5.4.0" +pytest-splunk-addon-ui-smartx = "^5.3.0" pytest-rerunfailures = "^11.1.1" mkdocs-material = "^9.1.3" mkdocstrings = {version=">=0", extras=["python"]} diff --git a/tests/ui/pytest.ini b/tests/ui/pytest.ini index 93db811aa..fc9dbbcf1 100644 --- a/tests/ui/pytest.ini +++ b/tests/ui/pytest.ini @@ -5,7 +5,7 @@ addopts = -vv --splunk-host=localhost --splunk-user=admin --splunk-password=Chang3d! - --splunk-hec-token=9b741d03-43e9-4164-908b-e09102327d22 + --splunk-hec-token=4a8a737d-5452-426c-a6f7-106dca4e813f --browser=chrome --local --persist-browser @@ -24,3 +24,4 @@ markers = execute_enterprise_cloud_false: tests not to be executed on enterprise cloud forwarder: tests to be run on forwarder/standalone sanity_test: tests for sanity check of addons + configuration: tests related to the configuration tab From 29b97695851b58973aa4537fada4dcf322471332 Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Tue, 8 Oct 2024 19:31:16 +0200 Subject: [PATCH 04/22] chore(deps): yarn.lock file maintenance (#1360) --- ui/yarn.lock | 3090 +++++++++++++++++++++----------------------------- 1 file changed, 1287 insertions(+), 1803 deletions(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index 6194bd56e..ebb35fe35 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -15,65 +15,34 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.24" -"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.24.7.tgz#882fd9e09e8ee324e496bd040401c6f046ef4465" - integrity sha512-BcYH1CVJBO9tvyIZ2jVeXgSIMvGZ2FDRvDdOIVQyuklNKSsx+eppDEBq/g47Ayw+RqNFE+URvOShmf+f/qwAlA== +"@babel/code-frame@^7.0.0", "@babel/code-frame@^7.10.4", "@babel/code-frame@^7.12.13", "@babel/code-frame@^7.16.7", "@babel/code-frame@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.25.7.tgz#438f2c524071531d643c6f0188e1e28f130cebc7" + integrity sha512-0xZJFNE5XMpENsgfHYTw8FbX4kv53mFLn2i3XPoq69LyhYSCBJtitaHx9QnsVTrsogI4Z3+HtEfZ2/GFPOtf5g== dependencies: - "@babel/highlight" "^7.24.7" + "@babel/highlight" "^7.25.7" picocolors "^1.0.0" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.24.8", "@babel/compat-data@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.0.tgz#6b226a5da3a686db3c30519750e071dce292ad95" - integrity sha512-P4fwKI2mjEb3ZU5cnMJzvRsRKGBUcs8jvxIoRmr6ufAY9Xk2Bz7JubRTTivkw55c7WQJfTECeqYVa+HZ0FzREg== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz#b8479fe0018ef0ac87b6b7a5c6916fcd67ae2c9c" + integrity sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw== -"@babel/compat-data@^7.25.2": - version "7.25.2" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.2.tgz#e41928bd33475305c586f6acbbb7e3ade7a6f7f5" - integrity sha512-bYcppcpKBvX4znYaPEeFau03bp89ShqNMLs+rmdptMw+heSZh9+z84d2YG+K7cYLbWwzdjtDoW/uqZmPjulClQ== - -"@babel/compat-data@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.4.tgz#7d2a80ce229890edcf4cc259d4d696cb4dae2fcb" - integrity sha512-+LGRog6RAsCJrrrg/IO6LGmpphNe5DiK30dGjCoxxeGv49B10/3XYGxPsAwrDlMFcFEvdAUavDT8r9k/hSyQqQ== - -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.22.5", "@babel/core@^7.23.7", "@babel/core@^7.23.9", "@babel/core@^7.7.5": - version "7.24.9" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.24.9.tgz#dc07c9d307162c97fa9484ea997ade65841c7c82" - integrity sha512-5e3FI4Q3M3Pbr21+5xJwCv6ZT6KmGkI0vw3Tozy5ODAQFTIWe37iT8Cr7Ice2Ntb+M3iSKCEWMB1MBgKrW3whg== +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.22.5", "@babel/core@^7.23.7", "@babel/core@^7.23.9", "@babel/core@^7.25.2", "@babel/core@^7.7.5": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz#1b3d144157575daf132a3bc80b2b18e6e3ca6ece" + integrity sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow== dependencies: "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.24.9" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-module-transforms" "^7.24.9" - "@babel/helpers" "^7.24.8" - "@babel/parser" "^7.24.8" - "@babel/template" "^7.24.7" - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.9" - convert-source-map "^2.0.0" - debug "^4.1.0" - gensync "^1.0.0-beta.2" - json5 "^2.2.3" - semver "^6.3.1" - -"@babel/core@^7.25.2": - version "7.25.2" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.2.tgz#ed8eec275118d7613e77a352894cd12ded8eba77" - integrity sha512-BBt3opiCOxUr9euZ5/ro/Xv8/V7yJ5bjYMqG/C1YAo8MIKAnumZalCN+msbci3Pigy4lIQfPUpfMM27HMGaYEA== - dependencies: - "@ampproject/remapping" "^2.2.0" - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-module-transforms" "^7.25.2" - "@babel/helpers" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.2" - "@babel/types" "^7.25.2" + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helpers" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -81,116 +50,73 @@ semver "^6.3.1" "@babel/eslint-parser@^7.25.1": - version "7.25.1" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.1.tgz#469cee4bd18a88ff3edbdfbd227bd20e82aa9b82" - integrity sha512-Y956ghgTT4j7rKesabkh5WeqgSFZVFwaPR0IWFm7KFHFmmJ4afbG49SmfW4S+GyRPx0Dy5jxEWA5t0rpxfElWg== + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.7.tgz#27b43de786c83cbabbcb328efbb4f099ae85415e" + integrity sha512-B+BO9x86VYsQHimucBAL1fxTJKF4wyKY6ZVzee9QgzdZOUfs3BaR6AQrgoGrRI+7IFS1wUz/VyQ+SoBcSpdPbw== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" semver "^6.3.1" -"@babel/generator@^7.22.5", "@babel/generator@^7.24.9", "@babel/generator@^7.25.0", "@babel/generator@^7.7.2": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.0.tgz#f858ddfa984350bc3d3b7f125073c9af6988f18e" - integrity sha512-3LEEcj3PVW8pW2R1SR1M89g/qrYk/m/mB/tLqn7dn4sbBUQyTqnlod+II2U4dqiGtUmkcnAmkMDralTFZttRiw== +"@babel/generator@^7.22.5", "@babel/generator@^7.25.7", "@babel/generator@^7.7.2": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.7.tgz#de86acbeb975a3e11ee92dd52223e6b03b479c56" + integrity sha512-5Dqpl5fyV9pIAD62yK9P7fcA768uVPUyrQmqpqstHWgMma4feF1x/oFysBCVZLY5wJ2GkMUCdsNDnGZrPoR6rA== dependencies: - "@babel/types" "^7.25.0" + "@babel/types" "^7.25.7" "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + jsesc "^3.0.2" -"@babel/generator@^7.25.6": - version "7.25.6" - resolved "https://registry.npmjs.org/@babel/generator/-/generator-7.25.6.tgz#0df1ad8cb32fe4d2b01d8bf437f153d19342a87c" - integrity sha512-VPC82gr1seXOpkjAAKoLhP50vx4vGNlF4msF64dSFq1P8RfB+QAuJWGHPXXPc8QyfVWwwB/TNNU4+ayZmHNbZw== +"@babel/helper-annotate-as-pure@^7.22.5", "@babel/helper-annotate-as-pure@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.25.7.tgz#63f02dbfa1f7cb75a9bdb832f300582f30bb8972" + integrity sha512-4xwU8StnqnlIhhioZf1tqnVWeQ9pvH/ujS8hRfw/WOza+/a+1qv69BWNy+oY231maTCWgKWhfBU7kDpsds6zAA== dependencies: - "@babel/types" "^7.25.6" - "@jridgewell/gen-mapping" "^0.3.5" - "@jridgewell/trace-mapping" "^0.3.25" - jsesc "^2.5.1" + "@babel/types" "^7.25.7" -"@babel/helper-annotate-as-pure@^7.22.5", "@babel/helper-annotate-as-pure@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.24.7.tgz#5373c7bc8366b12a033b4be1ac13a206c6656aab" - integrity sha512-BaDeOonYvhdKw+JoMVkAixAAJzG2jVPIwWoKBPdYuY9b452e2rPuI9QPYh3KpofZ3pW2akOmwZLOiOsHMiqRAg== +"@babel/helper-builder-binary-assignment-operator-visitor@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.25.7.tgz#d721650c1f595371e0a23ee816f1c3c488c0d622" + integrity sha512-12xfNeKNH7jubQNm7PAkzlLwEmCs1tfuX3UjIw6vP6QXi+leKh6+LyC/+Ed4EIQermwd58wsyh070yjDHFlNGg== dependencies: - "@babel/types" "^7.24.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/helper-builder-binary-assignment-operator-visitor@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.24.7.tgz#37d66feb012024f2422b762b9b2a7cfe27c7fba3" - integrity sha512-xZeCVVdwb4MsDBkkyZ64tReWYrLRHlMN72vP7Bdm3OUOuyFZExhsHUUnuWnm2/XOlAJzR0LfPpB56WXZn0X/lA== +"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.7.tgz#11260ac3322dda0ef53edfae6e97b961449f5fa4" + integrity sha512-DniTEax0sv6isaw6qSQSfV4gVRNtw2rte8HHM45t9ZR0xILaufBRNkpMifCRiAPyvL4ACD6v0gfCwCmtOQaV4A== dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-compilation-targets@^7.20.7", "@babel/helper-compilation-targets@^7.22.6", "@babel/helper-compilation-targets@^7.24.7", "@babel/helper-compilation-targets@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.24.8.tgz#b607c3161cd9d1744977d4f97139572fe778c271" - integrity sha512-oU+UoqCHdp+nWVDkpldqIQL/i/bvAv53tRqLG/s+cOXxe66zOYLU7ar/Xs3LdmBihrUMEUhwu6dMZwbNOYDwvw== - dependencies: - "@babel/compat-data" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" - lru-cache "^5.1.1" - semver "^6.3.1" - -"@babel/helper-compilation-targets@^7.25.2": - version "7.25.2" - resolved "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.25.2.tgz#e1d9410a90974a3a5a66e84ff55ef62e3c02d06c" - integrity sha512-U2U5LsSaZ7TAt3cfaymQ8WHh0pxvdHoEk6HVpaexxixjyEquMh0L0YNJNM6CTGKMXV1iksi0iZkGw4AcFkPaaw== - dependencies: - "@babel/compat-data" "^7.25.2" - "@babel/helper-validator-option" "^7.24.8" - browserslist "^4.23.1" + "@babel/compat-data" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + browserslist "^4.24.0" lru-cache "^5.1.1" semver "^6.3.1" -"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.24.7", "@babel/helper-create-class-features-plugin@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.0.tgz#a109bf9c3d58dfed83aaf42e85633c89f43a6253" - integrity sha512-GYM6BxeQsETc9mnct+nIIpf63SAyzvyYN7UB/IlTyd+MBg06afFGp0mIeUqGyWgS2mxad6vqbMrHVlaL3m70sQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.8" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/traverse" "^7.25.0" - semver "^6.3.1" - -"@babel/helper-create-class-features-plugin@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.4.tgz#57eaf1af38be4224a9d9dd01ddde05b741f50e14" - integrity sha512-ro/bFs3/84MDgDmMwbcHgDa8/E6J3QKNTk4xJJnVeFtGE+tL0K26E3pNxhYz2b67fJpt7Aphw5XcploKXuCvCQ== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-member-expression-to-functions" "^7.24.8" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/traverse" "^7.25.4" - semver "^6.3.1" - -"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.24.7", "@babel/helper-create-regexp-features-plugin@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.0.tgz#17afe5d23b3a833a90f0fab9c2ae69fea192de5c" - integrity sha512-q0T+dknZS+L5LDazIP+02gEZITG5unzvb6yIjcmj5i0eFrs5ToBV2m2JGH4EsE/gtP8ygEGLGApBgRIZkTm7zg== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - regexpu-core "^5.3.1" +"@babel/helper-create-class-features-plugin@^7.18.6", "@babel/helper-create-class-features-plugin@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.25.7.tgz#5d65074c76cae75607421c00d6bd517fe1892d6b" + integrity sha512-bD4WQhbkx80mAyj/WCm4ZHcF4rDxkoLFO6ph8/5/mQ3z4vAzltQXAmbc7GvVJx5H+lk5Mi5EmbTeox5nMGCsbw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-member-expression-to-functions" "^7.25.7" + "@babel/helper-optimise-call-expression" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + "@babel/traverse" "^7.25.7" semver "^6.3.1" -"@babel/helper-create-regexp-features-plugin@^7.25.2": - version "7.25.2" - resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.2.tgz#24c75974ed74183797ffd5f134169316cd1808d9" - integrity sha512-+wqVGP+DFmqwFD3EH6TMTfUNeqDehV3E/dl+Sd54eaXqm17tEUNbEIn4sVivVowbvUpOtIGxdo3GoXyDH9N/9g== +"@babel/helper-create-regexp-features-plugin@^7.18.6", "@babel/helper-create-regexp-features-plugin@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.25.7.tgz#dcb464f0e2cdfe0c25cc2a0a59c37ab940ce894e" + integrity sha512-byHhumTj/X47wJ6C6eLpK7wW/WBEcnUeb7D0FNc/jFQnQVw7DOso3Zz5u9x/zLrFVkHa89ZGDbkAa1D54NdrCQ== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - regexpu-core "^5.3.1" + "@babel/helper-annotate-as-pure" "^7.25.7" + regexpu-core "^6.1.1" semver "^6.3.1" -"@babel/helper-define-polyfill-provider@^0.6.1", "@babel/helper-define-polyfill-provider@^0.6.2": +"@babel/helper-define-polyfill-provider@^0.6.2": version "0.6.2" resolved "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.6.2.tgz#18594f789c3594acb24cfdb4a7f7b7d2e8bd912d" integrity sha512-LV76g+C502biUK6AyZ3LK10vDpDyCzZnhZFXkH1L75zHPj68+qc8Zfpx2th+gzwA2MzyK+1g/3EPl62yFnVttQ== @@ -201,195 +127,165 @@ lodash.debounce "^4.0.8" resolve "^1.14.2" -"@babel/helper-member-expression-to-functions@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.24.8.tgz#6155e079c913357d24a4c20480db7c712a5c3fb6" - integrity sha512-LABppdt+Lp/RlBxqrh4qgf1oEH/WxdzQNDJIu5gC/W1GyvPVrOBiItmmM8wan2fm4oYqFuFfkXmlGpLQhPY8CA== - dependencies: - "@babel/traverse" "^7.24.8" - "@babel/types" "^7.24.8" - -"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.5", "@babel/helper-module-imports@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.24.7.tgz#f2f980392de5b84c3328fc71d38bd81bbb83042b" - integrity sha512-8AyH3C+74cgCVVXow/myrynrAGv+nTVg5vKu2nZph9x7RcRwzmh0VFallJuFTZ9mx6u4eSdXZfcOzSqTUm0HCA== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-module-transforms@^7.24.7", "@babel/helper-module-transforms@^7.24.8", "@babel/helper-module-transforms@^7.24.9", "@babel/helper-module-transforms@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.0.tgz#3ffc23c473a2769a7e40d3274495bd559fdd2ecc" - integrity sha512-bIkOa2ZJYn7FHnepzr5iX9Kmz8FjIz4UKzJ9zhX3dnYuVW0xul9RuR3skBfoLu+FPTQw90EHW9rJsSZhyLQ3fQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.0" - -"@babel/helper-module-transforms@^7.25.2": - version "7.25.2" - resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.2.tgz#ee713c29768100f2776edf04d4eb23b8d27a66e6" - integrity sha512-BjyRAbix6j/wv83ftcVJmBt72QtHI56C7JXZoG2xATiLpmoC7dpd8WnkikExHDVPpi/3qCmO6WY1EaXOluiecQ== - dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-simple-access" "^7.24.7" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.2" - -"@babel/helper-optimise-call-expression@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.24.7.tgz#8b0a0456c92f6b323d27cfd00d1d664e76692a0f" - integrity sha512-jKiTsW2xmWwxT1ixIdfXUZp+P5yURx2suzLZr5Hi64rURpDYdMW0pv+Uf17EYk2Rd428Lx4tLsnjGJzYKDM/6A== - dependencies: - "@babel/types" "^7.24.7" - -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.24.7", "@babel/helper-plugin-utils@^7.24.8", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.8.tgz#94ee67e8ec0e5d44ea7baeb51e571bd26af07878" - integrity sha512-FFWx5142D8h2Mgr/iPVGH5G7w6jDn4jUSpZTyDnQO0Yn7Ks2Kuz6Pci8H6MPCoUJegd/UZQ3tAvfLCxQSnWWwg== - -"@babel/helper-remap-async-to-generator@^7.24.7", "@babel/helper-remap-async-to-generator@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.0.tgz#d2f0fbba059a42d68e5e378feaf181ef6055365e" - integrity sha512-NhavI2eWEIz/H9dbrG0TuOicDhNexze43i5z7lEqwYm0WEZVTwnPpA0EafUTP7+6/W79HWIP2cTe3Z5NiSTVpw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-wrap-function" "^7.25.0" - "@babel/traverse" "^7.25.0" - -"@babel/helper-replace-supers@^7.24.7", "@babel/helper-replace-supers@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.0.tgz#ff44deac1c9f619523fe2ca1fd650773792000a9" - integrity sha512-q688zIvQVYtZu+i2PsdIu/uWGRpfxzr5WESsfpShfZECkO+d2o+WROWezCi/Q6kJ0tfPa5+pUGUlfx2HhrA3Bg== - dependencies: - "@babel/helper-member-expression-to-functions" "^7.24.8" - "@babel/helper-optimise-call-expression" "^7.24.7" - "@babel/traverse" "^7.25.0" - -"@babel/helper-simple-access@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.24.7.tgz#bcade8da3aec8ed16b9c4953b74e506b51b5edb3" - integrity sha512-zBAIvbCMh5Ts+b86r/CjU+4XGYIs+R1j951gxI3KmmxBMhCg4oQMsv6ZXQ64XOm/cvzfU1FmoCyt6+owc5QMYg== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-skip-transparent-expression-wrappers@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.24.7.tgz#5f8fa83b69ed5c27adc56044f8be2b3ea96669d9" - integrity sha512-IO+DLT3LQUElMbpzlatRASEyQtfhSE0+m465v++3jyyXeBTBUjtVZg28/gHeV5mrTJqvEKhKroBGAvhW+qPHiQ== - dependencies: - "@babel/traverse" "^7.24.7" - "@babel/types" "^7.24.7" - -"@babel/helper-string-parser@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.24.8.tgz#5b3329c9a58803d5df425e5785865881a81ca48d" - integrity sha512-pO9KhhRcuUyGnJWwyEgnRJTSIZHiT+vMD0kPeD+so0l7mxkMT19g3pjY9GTnHySck/hDzq+dtW/4VgnMkippsQ== - -"@babel/helper-validator-identifier@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.24.7.tgz#75b889cfaf9e35c2aaf42cf0d72c8e91719251db" - integrity sha512-rR+PBcQ1SMQDDyF6X0wxtG8QyLCgUB0eRAGguqRLfkCA87l7yAP7ehq8SNj96OOGTO8OBV70KhuFYcIkHXOg0w== - -"@babel/helper-validator-option@^7.24.7", "@babel/helper-validator-option@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.24.8.tgz#3725cdeea8b480e86d34df15304806a06975e33d" - integrity sha512-xb8t9tD1MHLungh/AIoWYN+gVHaB9kwlu8gffXGSt3FFEIT7RjS+xWbc2vUD1UTZdIpKj/ab3rdqJ7ufngyi2Q== - -"@babel/helper-wrap-function@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.0.tgz#dab12f0f593d6ca48c0062c28bcfb14ebe812f81" - integrity sha512-s6Q1ebqutSiZnEjaofc/UKDyC4SbzV5n5SrA2Gq8UawLycr3i04f1dX4OzoQVnexm6aOCh37SQNYlJ/8Ku+PMQ== - dependencies: - "@babel/template" "^7.25.0" - "@babel/traverse" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/helpers@^7.24.8", "@babel/helpers@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.0.tgz#e69beb7841cb93a6505531ede34f34e6a073650a" - integrity sha512-MjgLZ42aCm0oGjJj8CtSM3DB8NOOf8h2l7DCTePJs29u+v7yO/RBX9nShlKMgFnRks/Q4tBAe7Hxnov9VkGwLw== - dependencies: - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/highlight@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.24.7.tgz#a05ab1df134b286558aae0ed41e6c5f731bf409d" - integrity sha512-EStJpq4OuY8xYfhGVXngigBJRWxftKX9ksiGDnmlY3o7B/V7KIAc9X4oiK87uPJSc/vs5L869bem5fhZa8caZw== - dependencies: - "@babel/helper-validator-identifier" "^7.24.7" +"@babel/helper-member-expression-to-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.25.7.tgz#541a33b071f0355a63a0fa4bdf9ac360116b8574" + integrity sha512-O31Ssjd5K6lPbTX9AAYpSKrZmLeagt9uwschJd+Ixo6QiRyfpvgtVQp8qrDR9UNFjZ8+DO34ZkdrN+BnPXemeA== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/helper-module-imports@^7.0.0", "@babel/helper-module-imports@^7.22.5", "@babel/helper-module-imports@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.25.7.tgz#dba00d9523539152906ba49263e36d7261040472" + integrity sha512-o0xCgpNmRohmnoWKQ0Ij8IdddjyBFE4T2kagL/x6M3+4zUgc+4qTOUBoNe4XxDskt1HPKO007ZPiMgLDq2s7Kw== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/helper-module-transforms@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.25.7.tgz#2ac9372c5e001b19bc62f1fe7d96a18cb0901d1a" + integrity sha512-k/6f8dKG3yDz/qCwSM+RKovjMix563SLxQFo0UhRNo239SP6n9u5/eLtKD6EAjwta2JHJ49CsD8pms2HdNiMMQ== + dependencies: + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/helper-optimise-call-expression@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.25.7.tgz#1de1b99688e987af723eed44fa7fc0ee7b97d77a" + integrity sha512-VAwcwuYhv/AT+Vfr28c9y6SHzTan1ryqrydSTFGjU0uDJHw3uZ+PduI8plCLkRsDnqK2DMEDmwrOQRsK/Ykjng== + dependencies: + "@babel/types" "^7.25.7" + +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c" + integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw== + +"@babel/helper-remap-async-to-generator@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.25.7.tgz#9efdc39df5f489bcd15533c912b6c723a0a65021" + integrity sha512-kRGE89hLnPfcz6fTrlNU+uhgcwv0mBE4Gv3P9Ke9kLVJYpi4AMVVEElXvB5CabrPZW4nCM8P8UyyjrzCM0O2sw== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-wrap-function" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/helper-replace-supers@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.25.7.tgz#38cfda3b6e990879c71d08d0fef9236b62bd75f5" + integrity sha512-iy8JhqlUW9PtZkd4pHM96v6BdJ66Ba9yWSE4z0W4TvSZwLBPkyDsiIU3ENe4SmrzRBs76F7rQXTy1lYC49n6Lw== + dependencies: + "@babel/helper-member-expression-to-functions" "^7.25.7" + "@babel/helper-optimise-call-expression" "^7.25.7" + "@babel/traverse" "^7.25.7" + +"@babel/helper-simple-access@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.25.7.tgz#5eb9f6a60c5d6b2e0f76057004f8dacbddfae1c0" + integrity sha512-FPGAkJmyoChQeM+ruBGIDyrT2tKfZJO8NcxdC+CWNJi7N8/rZpSxK7yvBJ5O/nF1gfu5KzN7VKG3YVSLFfRSxQ== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/helper-skip-transparent-expression-wrappers@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.25.7.tgz#382831c91038b1a6d32643f5f49505b8442cb87c" + integrity sha512-pPbNbchZBkPMD50K0p3JGcFMNLVUCuU/ABybm/PGNj4JiHrpmNyqqCphBk4i19xXtNV0JhldQJJtbSW5aUvbyA== + dependencies: + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/helper-string-parser@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.25.7.tgz#d50e8d37b1176207b4fe9acedec386c565a44a54" + integrity sha512-CbkjYdsJNHFk8uqpEkpCvRs3YRp9tY6FmFY7wLMSYuGYkrdUi7r2lc4/wqsvlHoMznX3WJ9IP8giGPq68T/Y6g== + +"@babel/helper-validator-identifier@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.25.7.tgz#77b7f60c40b15c97df735b38a66ba1d7c3e93da5" + integrity sha512-AM6TzwYqGChO45oiuPqwL2t20/HdMC1rTPAesnBCgPCSF1x3oN9MVUwQV2iyz4xqWrctwK5RNC8LV22kaQCNYg== + +"@babel/helper-validator-option@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.25.7.tgz#97d1d684448228b30b506d90cace495d6f492729" + integrity sha512-ytbPLsm+GjArDYXJ8Ydr1c/KJuutjF2besPNbIZnZ6MKUxi/uTA22t2ymmA4WFjZFpjiAMO0xuuJPqK2nvDVfQ== + +"@babel/helper-wrap-function@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.25.7.tgz#9f6021dd1c4fdf4ad515c809967fc4bac9a70fe7" + integrity sha512-MA0roW3JF2bD1ptAaJnvcabsVlNQShUaThyJbCDD4bCp8NEgiFvpoqRI2YS22hHlc2thjO/fTg2ShLMC3jygAg== + dependencies: + "@babel/template" "^7.25.7" + "@babel/traverse" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/helpers@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/helpers/-/helpers-7.25.7.tgz#091b52cb697a171fe0136ab62e54e407211f09c2" + integrity sha512-Sv6pASx7Esm38KQpF/U/OXLwPPrdGHNKoeblRxgZRLXnAtnkEe4ptJPDtAZM7fBLadbc1Q07kQpSiGQ0Jg6tRA== + dependencies: + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/highlight@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/highlight/-/highlight-7.25.7.tgz#20383b5f442aa606e7b5e3043b0b1aafe9f37de5" + integrity sha512-iYyACpW3iW8Fw+ZybQK+drQre+ns/tKpXbNESfrhNnPLIklLbXr7MYJ6gPEd0iETGLOK+SxMjVvKb/ffmk+FEw== + dependencies: + "@babel/helper-validator-identifier" "^7.25.7" chalk "^2.4.2" js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.24.8", "@babel/parser@^7.25.0", "@babel/parser@^7.7.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.0.tgz#9fdc9237504d797b6e7b8f66e78ea7f570d256ad" - integrity sha512-CzdIU9jdP0dg7HdyB+bHvDJGagUv+qtzZt5rYCWwW6tITNqV9odjp6Qu41gkG0ca5UfdDUWrKkiAnHHdGRnOrA== - -"@babel/parser@^7.25.3": - version "7.25.3" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.3.tgz#91fb126768d944966263f0657ab222a642b82065" - integrity sha512-iLTJKDbJ4hMvFPgQwwsVoxtHyWpKKPBrxkANrSYewDPaPpT5py5yeVkgPIJ7XYXhndxJpaA3PyALSXQ7u8e/Dw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.7", "@babel/parser@^7.7.0": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz#99b927720f4ddbfeb8cd195a363ed4532f87c590" + integrity sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw== dependencies: - "@babel/types" "^7.25.2" + "@babel/types" "^7.25.7" -"@babel/parser@^7.25.6": - version "7.25.6" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.6.tgz#85660c5ef388cbbf6e3d2a694ee97a38f18afe2f" - integrity sha512-trGdfBdbD0l1ZPmcJ83eNxB9rbEax4ALFTF7fN386TMYbeCQbyme5cOEXQhbGXKebwGaB/J52w1mrklMcbgy6Q== +"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.7.tgz#93969ac50ef4d68b2504b01b758af714e4cbdd64" + integrity sha512-UV9Lg53zyebzD1DwQoT9mzkEKa922LNUp5YkTJ6Uta0RbyXaQNUgcvSt7qIu1PpPzVb6rd10OVNTzkyBGeVmxQ== dependencies: - "@babel/types" "^7.25.6" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.0.tgz#328275f22d809b962978d998c6eba22a233ac8aa" - integrity sha512-dG0aApncVQwAUJa8tP1VHTnmU67BeIQvKafd3raEx315H54FfkZSz3B/TT+33ZQAjatGJA79gZqTtqL5QZUKXw== +"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.7.tgz#a338d611adb9dcd599b8b1efa200c88ebeffe046" + integrity sha512-GDDWeVLNxRIkQTnJn2pDOM1pkCgYdSqPeT1a9vh9yIqu2uzzgw1zcqEb+IJOhy+dTBMlNdThrDIksr2o09qrrQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.0" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.3": - version "7.25.3" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-firefox-class-in-computed-class-key/-/plugin-bugfix-firefox-class-in-computed-class-key-7.25.3.tgz#dca427b45a6c0f5c095a1c639dfe2476a3daba7f" - integrity sha512-wUrcsxZg6rqBXG05HG1FPYgsP6EvwF4WpBbxIpWIIYnH8wG0gzx3yZY3dtEHas4sTAOGkbTsc9EGPxwff8lRoA== +"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.7.tgz#c5f755e911dfac7ef6957300c0f9c4a8c18c06f4" + integrity sha512-wxyWg2RYaSUYgmd9MR0FyRGyeOMQE/Uzr1wzd/g5cf5bwi9A4v6HFdDm7y1MgDtod/fLOSTZY6jDgV0xU9d5bA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.3" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-bugfix-safari-class-field-initializer-scope@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-class-field-initializer-scope/-/plugin-bugfix-safari-class-field-initializer-scope-7.25.0.tgz#cd0c583e01369ef51676bdb3d7b603e17d2b3f73" - integrity sha512-Bm4bH2qsX880b/3ziJ8KD711LT7z4u8CFudmjqle65AZj/HNUFhEf90dqYv6O86buWvSBmeQDjv0Tn2aF/bIBA== +"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.25.7.tgz#3b7ea04492ded990978b6deaa1dfca120ad4455a" + integrity sha512-Xwg6tZpLxc4iQjorYsyGMyfJE7nP5MV8t/Ka58BgiA7Jw0fRqQNcANlLfdJ/yvBt9z9LD2We+BEkT7vLqZRWng== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + "@babel/plugin-transform-optional-chaining" "^7.25.7" -"@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.25.0.tgz#749bde80356b295390954643de7635e0dffabe73" - integrity sha512-lXwdNZtTmeVOOFtwM/WDe7yg1PL8sYhRk/XH0FzbR2HDQ0xC+EnQ/JHeoMYSavtU115tnUk0q9CDyq8si+LMAA== +"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.7.tgz#9622b1d597a703aa3a921e6f58c9c2d9a028d2c5" + integrity sha512-UVATLMidXrnH+GMUIuxq55nejlj02HP7F5ETyBONzP6G87fPBogG4CH6kxrSrdIuAjdwNO9VzyaYsrZPscWUrw== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.24.7.tgz#e4eabdd5109acc399b38d7999b2ef66fc2022f89" - integrity sha512-+izXIbke1T33mY4MSNnrqhPXDz01WYhEf3yF5NbnUtkiNnm+XBZJl3kNfoK6NKmYlz/D07+l2GWVK/QfDkNCuQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.7" - -"@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.25.0.tgz#3a82a70e7cb7294ad2559465ebcb871dfbf078fb" - integrity sha512-tggFrk1AIShG/RUQbEwt2Tr/E+ObkfwrPjR6BjbRvsx24+PSjK8zrq0GWPNCjo8qpRx4DuJzlcvWJqlm+0h3kw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.0" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" "@babel/plugin-proposal-class-properties@^7.2.1": version "7.18.6" @@ -429,7 +325,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-class-properties@^7.12.13", "@babel/plugin-syntax-class-properties@^7.8.3": +"@babel/plugin-syntax-class-properties@^7.12.13": version "7.12.13" resolved "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz#b5c987274c4a3a82b89714796931a6b53544ae10" integrity sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA== @@ -457,21 +353,21 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.3" -"@babel/plugin-syntax-import-assertions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.24.7.tgz#2a0b406b5871a20a841240586b1300ce2088a778" - integrity sha512-Ec3NRUMoi8gskrkBe3fNmEQfxDvY8bgfQpz6jlk/41kX9eUjvpyqWU7PBP/pLAvMaSQjbMNKJmvX57jP+M6bPg== +"@babel/plugin-syntax-import-assertions@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz#8ce248f9f4ed4b7ed4cb2e0eb4ed9efd9f52921f" + integrity sha512-ZvZQRmME0zfJnDQnVBKYzHxXT7lYBB3Revz1GuS7oLXWMgqUPX4G+DDbT30ICClht9WKV34QVrZhSw6WdklwZQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-syntax-import-attributes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.24.7.tgz#b4f9ea95a79e6912480c4b626739f86a076624ca" - integrity sha512-hbX+lKKeUMGihnK8nvKqmXBInriT3GVjzXKFriV3YC6APGxMbP8RZNFwy91+hocLXq90Mta+HshoB31802bb8A== +"@babel/plugin-syntax-import-attributes@^7.24.7", "@babel/plugin-syntax-import-attributes@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.25.7.tgz#d78dd0499d30df19a598e63ab895e21b909bc43f" + integrity sha512-AqVo+dguCgmpi/3mYBdu9lkngOBlQ2w2vnNpa6gfiCxQZLzV4ZbhsXitJ2Yblkoe1VQwtHSaNmIaGll/26YWRw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-syntax-import-meta@^7.10.4", "@babel/plugin-syntax-import-meta@^7.8.3": +"@babel/plugin-syntax-import-meta@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz#ee601348c370fa334d2207be158777496521fd51" integrity sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g== @@ -485,14 +381,14 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.24.7", "@babel/plugin-syntax-jsx@^7.7.2": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.24.7.tgz#39a1fa4a7e3d3d7f34e2acc6be585b718d30e02d" - integrity sha512-6ddciUPe/mpMnOKv/U+RSd2vvVy+Yw/JfBB0ZHYjEZt9NLHmCUylNYlsbqCCS1Bffjlb0fCwC9Vqz+sBz6PsiQ== +"@babel/plugin-syntax-jsx@^7.22.5", "@babel/plugin-syntax-jsx@^7.25.7", "@babel/plugin-syntax-jsx@^7.7.2": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-jsx/-/plugin-syntax-jsx-7.25.7.tgz#5352d398d11ea5e7ef330c854dea1dae0bf18165" + integrity sha512-ruZOnKO+ajVL/MVx+PwNBPOkrnXTXoWMtte1MBpegfCArhqOe3Bj52avVj1huLLxNKYKXYaSxZ2F+woK1ekXfw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-syntax-logical-assignment-operators@^7.10.4", "@babel/plugin-syntax-logical-assignment-operators@^7.8.3": +"@babel/plugin-syntax-logical-assignment-operators@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz#ca91ef46303530448b906652bac2e9fe9941f699" integrity sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig== @@ -506,7 +402,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.8.0" -"@babel/plugin-syntax-numeric-separator@^7.10.4", "@babel/plugin-syntax-numeric-separator@^7.8.3": +"@babel/plugin-syntax-numeric-separator@^7.10.4": version "7.10.4" resolved "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz#b9b070b3e33570cd9fd07ba7fa91c0dd37b9af97" integrity sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug== @@ -541,19 +437,19 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-top-level-await@^7.14.5", "@babel/plugin-syntax-top-level-await@^7.8.3": +"@babel/plugin-syntax-top-level-await@^7.14.5": version "7.14.5" resolved "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz#c1cfdadc35a646240001f06138247b741c34d94c" integrity sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw== dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-typescript@^7.24.7", "@babel/plugin-syntax-typescript@^7.7.2": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.24.7.tgz#58d458271b4d3b6bb27ee6ac9525acbb259bad1c" - integrity sha512-c/+fVeJBB0FeKsFvwytYiUD+LBvhHjGSI0g446PRGdSVGZLRNArBUno2PETbAly3tpiNAQR5XaZ+JslxkotsbA== +"@babel/plugin-syntax-typescript@^7.25.7", "@babel/plugin-syntax-typescript@^7.7.2": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-syntax-typescript/-/plugin-syntax-typescript-7.25.7.tgz#bfc05b0cc31ebd8af09964650cee723bb228108b" + integrity sha512-rR+5FDjpCHqqZN2bzZm18bVYGaejGq5ZkpVCJLXor/+zlSrSoc4KWcHI0URVWjl/68Dyr1uwZUz/1njycEAv9g== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-unicode-sets-regex@^7.18.6": version "7.18.6" @@ -563,628 +459,477 @@ "@babel/helper-create-regexp-features-plugin" "^7.18.6" "@babel/helper-plugin-utils" "^7.18.6" -"@babel/plugin-transform-arrow-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.24.7.tgz#4f6886c11e423bd69f3ce51dbf42424a5f275514" - integrity sha512-Dt9LQs6iEY++gXUwY03DNFat5C2NbO48jj+j/bSAz6b3HgPs39qcPiYt77fDObIcFwj3/C2ICX9YMwGflUoSHQ== +"@babel/plugin-transform-arrow-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.25.7.tgz#1b9ed22e6890a0e9ff470371c73b8c749bcec386" + integrity sha512-EJN2mKxDwfOUCPxMO6MUI58RN3ganiRAG/MS/S3HfB6QFNjroAMelQo/gybyYq97WerCBAZoyrAoW8Tzdq2jWg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-async-generator-functions@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.0.tgz#b785cf35d73437f6276b1e30439a57a50747bddf" - integrity sha512-uaIi2FdqzjpAMvVqvB51S42oC2JEVgh0LDsGfZVDysWE8LrJtQC2jvKmOqEYThKyB7bDEb7BP1GYWDm7tABA0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-remap-async-to-generator" "^7.25.0" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/traverse" "^7.25.0" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-async-generator-functions@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.4.tgz#2afd4e639e2d055776c9f091b6c0c180ed8cf083" - integrity sha512-jz8cV2XDDTqjKPwVPJBIjORVEmSGYhdRa8e5k5+vN+uwcjSrSxUaebBRa4ko1jqNF2uxyg8G6XYk30Jv285xzg== +"@babel/plugin-transform-async-generator-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz#af61a02b30d7bff5108c63bd39ac7938403426d7" + integrity sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-remap-async-to-generator" "^7.25.0" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-remap-async-to-generator" "^7.25.7" "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/traverse" "^7.25.4" + "@babel/traverse" "^7.25.7" -"@babel/plugin-transform-async-to-generator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.24.7.tgz#72a3af6c451d575842a7e9b5a02863414355bdcc" - integrity sha512-SQY01PcJfmQ+4Ash7NE+rpbLFbmqA2GPIgqzxfFTL4t1FKRq4zTms/7htKpoCUI9OcFYgzqfmCdH53s6/jn5fA== +"@babel/plugin-transform-async-to-generator@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.25.7.tgz#a44c7323f8d4285a6c568dd43c5c361d6367ec52" + integrity sha512-ZUCjAavsh5CESCmi/xCpX1qcCaAglzs/7tmuvoFnJgA1dM7gQplsguljoTg+Ru8WENpX89cQyAtWoaE0I3X3Pg== dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-remap-async-to-generator" "^7.24.7" + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-remap-async-to-generator" "^7.25.7" -"@babel/plugin-transform-block-scoped-functions@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.24.7.tgz#a4251d98ea0c0f399dafe1a35801eaba455bbf1f" - integrity sha512-yO7RAz6EsVQDaBH18IDJcMB1HnrUn2FJ/Jslc/WtPPWcjhpUJXU/rjbwmluzp7v/ZzWcEhTMXELnnsz8djWDwQ== +"@babel/plugin-transform-block-scoped-functions@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.25.7.tgz#e0b8843d5571719a2f1bf7e284117a3379fcc17c" + integrity sha512-xHttvIM9fvqW+0a3tZlYcZYSBpSWzGBFIt/sYG3tcdSzBB8ZeVgz2gBP7Df+sM0N1850jrviYSSeUuc+135dmQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-block-scoping@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.0.tgz#23a6ed92e6b006d26b1869b1c91d1b917c2ea2ac" - integrity sha512-yBQjYoOjXlFv9nlXb3f1casSHOZkWr29NX+zChVanLg5Nc157CrbEX9D7hxxtTpuFy7Q0YzmmWfJxzvps4kXrQ== +"@babel/plugin-transform-block-scoping@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.25.7.tgz#6dab95e98adf780ceef1b1c3ab0e55cd20dd410a" + integrity sha512-ZEPJSkVZaeTFG/m2PARwLZQ+OG0vFIhPlKHK/JdIMy8DbRJ/htz6LRrTFtdzxi9EHmcwbNPAKDnadpNSIW+Aow== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-class-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.24.7.tgz#256879467b57b0b68c7ddfc5b76584f398cd6834" - integrity sha512-vKbfawVYayKcSeSR5YYzzyXvsDFWU2mD8U5TFeXtbCPLFUqe7GyCgvO6XDHzje862ODrOwy6WCPmKeWHbCFJ4w== +"@babel/plugin-transform-class-properties@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.7.tgz#a389cfca7a10ac80e3ff4c75fca08bd097ad1523" + integrity sha512-mhyfEW4gufjIqYFo9krXHJ3ElbFLIze5IDp+wQTxoPd+mwFb1NxatNAwmv8Q8Iuxv7Zc+q8EkiMQwc9IhyGf4g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-class-properties@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.25.4.tgz#bae7dbfcdcc2e8667355cd1fb5eda298f05189fd" - integrity sha512-nZeZHyCWPfjkdU5pA/uHiTaDAFUEqkpzf1YoQT2NeSynCGYq9rxfyI3XpQbfx/a0hSnFH6TGlEXvae5Vi7GD8g== +"@babel/plugin-transform-class-static-block@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz#d2cf3c812e3b3162d56aadf4566f45c30538cb2c" + integrity sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.4" - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/plugin-transform-class-static-block@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.24.7.tgz#c82027ebb7010bc33c116d4b5044fbbf8c05484d" - integrity sha512-HMXK3WbBPpZQufbMG4B46A90PkuuhN9vBCb5T8+VAHqvAqvcLi+2cKoukcpmUYkszLhScU3l1iudhrks3DggRQ== - dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-class-static-block" "^7.14.5" -"@babel/plugin-transform-classes@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.0.tgz#63122366527d88e0ef61b612554fe3f8c793991e" - integrity sha512-xyi6qjr/fYU304fiRwFbekzkqVJZ6A7hOjWZd+89FVcBqPV3S9Wuozz82xdpLspckeaafntbzglaW4pqpzvtSw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/traverse" "^7.25.0" - globals "^11.1.0" - -"@babel/plugin-transform-classes@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.4.tgz#d29dbb6a72d79f359952ad0b66d88518d65ef89a" - integrity sha512-oexUfaQle2pF/b6E0dwsxQtAol9TLSO88kQvym6HHBWFliV2lGdrPieX+WgMRLSJDVzdYywk7jXbLPuO2KLTLg== +"@babel/plugin-transform-classes@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.25.7.tgz#5103206cf80d02283bbbd044509ea3b65d0906bb" + integrity sha512-9j9rnl+YCQY0IGoeipXvnk3niWicIB6kCsWRGLwX241qSXpbA4MKxtp/EdvFxsc4zI5vqfLxzOd0twIJ7I99zg== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-replace-supers" "^7.25.0" - "@babel/traverse" "^7.25.4" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" + "@babel/traverse" "^7.25.7" globals "^11.1.0" -"@babel/plugin-transform-computed-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.24.7.tgz#4cab3214e80bc71fae3853238d13d097b004c707" - integrity sha512-25cS7v+707Gu6Ds2oY6tCkUwsJ9YIDbggd9+cu9jzzDgiNq7hR/8dkzxWfKWnTic26vsI3EsCXNd4iEB6e8esQ== +"@babel/plugin-transform-computed-properties@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.25.7.tgz#7f621f0aa1354b5348a935ab12e3903842466f65" + integrity sha512-QIv+imtM+EtNxg/XBKL3hiWjgdLjMOmZ+XzQwSgmBfKbfxUjBzGgVPklUuE55eq5/uVoh8gg3dqlrwR/jw3ZeA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/template" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/template" "^7.25.7" -"@babel/plugin-transform-destructuring@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.24.8.tgz#c828e814dbe42a2718a838c2a2e16a408e055550" - integrity sha512-36e87mfY8TnRxc7yc6M9g9gOB7rKgSahqkIKwLpz4Ppk2+zC2Cy1is0uwtuSG6AE4zlTOUa+7JGz9jCJGLqQFQ== +"@babel/plugin-transform-destructuring@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.25.7.tgz#f6f26a9feefb5aa41fd45b6f5838901b5333d560" + integrity sha512-xKcfLTlJYUczdaM1+epcdh1UGewJqr9zATgrNHcLBcV2QmfvPPEixo/sK/syql9cEmbr7ulu5HMFG5vbbt/sEA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-dotall-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.24.7.tgz#5f8bf8a680f2116a7207e16288a5f974ad47a7a0" - integrity sha512-ZOA3W+1RRTSWvyqcMJDLqbchh7U4NRGqwRfFSVbOLS/ePIP4vHB5e8T8eXcuqyN1QkgKyj5wuW0lcS85v4CrSw== +"@babel/plugin-transform-dotall-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.25.7.tgz#9d775c4a3ff1aea64045300fcd4309b4a610ef02" + integrity sha512-kXzXMMRzAtJdDEgQBLF4oaiT6ZCU3oWHgpARnTKDAqPkDJ+bs3NrZb310YYevR5QlRo3Kn7dzzIdHbZm1VzJdQ== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-duplicate-keys@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.24.7.tgz#dd20102897c9a2324e5adfffb67ff3610359a8ee" - integrity sha512-JdYfXyCRihAe46jUIliuL2/s0x0wObgwwiGxw/UbgJBr20gQBThrokO4nYKgWkD7uBaqM7+9x5TU7NkExZJyzw== +"@babel/plugin-transform-duplicate-keys@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.25.7.tgz#fbba7d1155eab76bd4f2a038cbd5d65883bd7a93" + integrity sha512-by+v2CjoL3aMnWDOyCIg+yxU9KXSRa9tN6MbqggH5xvymmr9p4AMjYkNlQy4brMceBnUyHZ9G8RnpvT8wP7Cfg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.0.tgz#809af7e3339466b49c034c683964ee8afb3e2604" - integrity sha512-YLpb4LlYSc3sCUa35un84poXoraOiQucUTTu8X1j18JV+gNa8E0nyUf/CjZ171IRGr4jEguF+vzJU66QZhn29g== +"@babel/plugin-transform-duplicate-named-capturing-groups-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-duplicate-named-capturing-groups-regex/-/plugin-transform-duplicate-named-capturing-groups-regex-7.25.7.tgz#102b31608dcc22c08fbca1894e104686029dc141" + integrity sha512-HvS6JF66xSS5rNKXLqkk7L9c/jZ/cdIVIcoPVrnl8IsVpLggTjXs8OWekbLHs/VtYDDh5WXnQyeE3PPUGm22MA== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.0" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-dynamic-import@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.24.7.tgz#4d8b95e3bae2b037673091aa09cd33fecd6419f4" - integrity sha512-sc3X26PhZQDb3JhORmakcbvkeInvxz+A8oda99lj7J60QRuPZvNAk9wQlTBS1ZynelDrDmTU4pw1tyc5d5ZMUg== +"@babel/plugin-transform-dynamic-import@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz#31905ab2cfa94dcf1b1f8ce66096720b2908e518" + integrity sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-dynamic-import" "^7.8.3" -"@babel/plugin-transform-exponentiation-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.24.7.tgz#b629ee22645f412024297d5245bce425c31f9b0d" - integrity sha512-Rqe/vSc9OYgDajNIK35u7ot+KeCoetqQYFXM4Epf7M7ez3lWlOjrDjrwMei6caCVhfdw+mIKD4cgdGNy5JQotQ== +"@babel/plugin-transform-exponentiation-operator@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.25.7.tgz#5961a3a23a398faccd6cddb34a2182807d75fb5f" + integrity sha512-yjqtpstPfZ0h/y40fAXRv2snciYr0OAoMXY/0ClC7tm4C/nG5NJKmIItlaYlLbIVAWNfrYuy9dq1bE0SbX0PEg== dependencies: - "@babel/helper-builder-binary-assignment-operator-visitor" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-export-namespace-from@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.24.7.tgz#176d52d8d8ed516aeae7013ee9556d540c53f197" - integrity sha512-v0K9uNYsPL3oXZ/7F9NNIbAj2jv1whUEtyA6aujhekLs56R++JDQuzRcP2/z4WX5Vg/c5lE9uWZA0/iUoFhLTA== +"@babel/plugin-transform-export-namespace-from@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz#beb2679db6fd3bdfe6ad6de2c8cac84a86ef2da1" + integrity sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" -"@babel/plugin-transform-for-of@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.24.7.tgz#f25b33f72df1d8be76399e1b8f3f9d366eb5bc70" - integrity sha512-wo9ogrDG1ITTTBsy46oGiN1dS9A7MROBTcYsfS8DtsImMkHk9JXJ3EWQM6X2SUw4x80uGPlwj0o00Uoc6nEE3g== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - -"@babel/plugin-transform-function-name@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.0.tgz#d17890029ceefb45189ea203b404a496263a8412" - integrity sha512-CQmfSnK14eYu82fu6GlCwRciHB7mp7oLN+DeyGDDwUr9cMwuSVviJKPXw/YcRYZdB1TdlLJWHHwXwnwD1WnCmQ== +"@babel/plugin-transform-for-of@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.25.7.tgz#0acfea0f27aa290818b5b48a5a44b3f03fc13669" + integrity sha512-n/TaiBGJxYFWvpJDfsxSj9lEEE44BFM1EPGz4KEiTipTgkoFVVcCmzAL3qA7fdQU96dpo4gGf5HBx/KnDvqiHw== dependencies: - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.0" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" -"@babel/plugin-transform-function-name@^7.25.1": - version "7.25.1" - resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.1.tgz#b85e773097526c1a4fc4ba27322748643f26fc37" - integrity sha512-TVVJVdW9RKMNgJJlLtHsKDTydjZAbwIsn6ySBPQaEAUU5+gVvlJt/9nRmqVbsV/IBanRjzWoaAQKLoamWVOUuA== +"@babel/plugin-transform-function-name@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.25.7.tgz#7e394ccea3693902a8b50ded8b6ae1fa7b8519fd" + integrity sha512-5MCTNcjCMxQ63Tdu9rxyN6cAWurqfrDZ76qvVPrGYdBxIj+EawuuxTu/+dgJlhK5eRz3v1gLwp6XwS8XaX2NiQ== dependencies: - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/traverse" "^7.25.1" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/plugin-transform-json-strings@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.24.7.tgz#f3e9c37c0a373fee86e36880d45b3664cedaf73a" - integrity sha512-2yFnBGDvRuxAaE/f0vfBKvtnvvqU8tGpMHqMNpTN2oWMKIR3NqFkjaAgGwawhqK/pIN2T3XdjGPdaG0vDhOBGw== +"@babel/plugin-transform-json-strings@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz#6626433554aff4bd6f76a2c621a1f40e802dfb0a" + integrity sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-json-strings" "^7.8.3" -"@babel/plugin-transform-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.24.7.tgz#36b505c1e655151a9d7607799a9988fc5467d06c" - integrity sha512-vcwCbb4HDH+hWi8Pqenwnjy+UiklO4Kt1vfspcQYFhJdpthSnW8XvWGyDZWKNVrVbVViI/S7K9PDJZiUmP2fYQ== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-literals@^7.25.2": - version "7.25.2" - resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.2.tgz#deb1ad14fc5490b9a65ed830e025bca849d8b5f3" - integrity sha512-HQI+HcTbm9ur3Z2DkO+jgESMAMcYLuN/A7NRw9juzxAezN9AvqvUTnpKP/9kkYANz6u7dFlAyOu44ejuGySlfw== +"@babel/plugin-transform-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.25.7.tgz#70cbdc742f2cfdb1a63ea2cbd018d12a60b213c3" + integrity sha512-fwzkLrSu2fESR/cm4t6vqd7ebNIopz2QHGtjoU+dswQo/P6lwAG04Q98lliE3jkz/XqnbGFLnUcE0q0CVUf92w== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-logical-assignment-operators@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.24.7.tgz#a58fb6eda16c9dc8f9ff1c7b1ba6deb7f4694cb0" - integrity sha512-4D2tpwlQ1odXmTEIFWy9ELJcZHqrStlzK/dAOWYyxX3zT0iXQB6banjgeOJQXzEc4S0E0a5A+hahxPaEFYftsw== +"@babel/plugin-transform-logical-assignment-operators@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz#93847feb513a1f191c5f5d903d991a0ee24fe99b" + integrity sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" -"@babel/plugin-transform-member-expression-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.24.7.tgz#3b4454fb0e302e18ba4945ba3246acb1248315df" - integrity sha512-T/hRC1uqrzXMKLQ6UCwMT85S3EvqaBXDGf0FaMf4446Qx9vKwlghvee0+uuZcDUCZU5RuNi4781UQ7R308zzBw== +"@babel/plugin-transform-member-expression-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.25.7.tgz#0a36c3fbd450cc9e6485c507f005fa3d1bc8fca5" + integrity sha512-Std3kXwpXfRV0QtQy5JJcRpkqP8/wG4XL7hSKZmGlxPlDqmpXtEPRmhF7ztnlTCtUN3eXRUJp+sBEZjaIBVYaw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-modules-amd@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.24.7.tgz#65090ed493c4a834976a3ca1cde776e6ccff32d7" - integrity sha512-9+pB1qxV3vs/8Hdmz/CulFB8w2tuu6EB94JZFsjdqxQokwGa9Unap7Bo2gGBGIvPmDIVvQrom7r5m/TCDMURhg== +"@babel/plugin-transform-modules-amd@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.25.7.tgz#bb4e543b5611f6c8c685a2fd485408713a3adf3d" + integrity sha512-CgselSGCGzjQvKzghCvDTxKHP3iooenLpJDO842ehn5D2G5fJB222ptnDwQho0WjEvg7zyoxb9P+wiYxiJX5yA== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-modules-commonjs@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.24.8.tgz#ab6421e564b717cb475d6fff70ae7f103536ea3c" - integrity sha512-WHsk9H8XxRs3JXKWFiqtQebdh9b/pTk4EgueygFzYlTKAg0Ud985mSevdNjdXdFBATSKVJGQXP1tv6aGbssLKA== +"@babel/plugin-transform-modules-commonjs@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.25.7.tgz#173f0c791bb7407c092ce6d77ee90eb3f2d1d2fd" + integrity sha512-L9Gcahi0kKFYXvweO6n0wc3ZG1ChpSFdgG+eV1WYZ3/dGbJK7vvk91FgGgak8YwRgrCuihF8tE/Xg07EkL5COg== dependencies: - "@babel/helper-module-transforms" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-simple-access" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-simple-access" "^7.25.7" -"@babel/plugin-transform-modules-systemjs@^7.25.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.0.tgz#8f46cdc5f9e5af74f3bd019485a6cbe59685ea33" - integrity sha512-YPJfjQPDXxyQWg/0+jHKj1llnY5f/R6a0p/vP4lPymxLu7Lvl4k2WMitqi08yxwQcCVUUdG9LCUj4TNEgAp3Jw== +"@babel/plugin-transform-modules-systemjs@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.25.7.tgz#8b14d319a177cc9c85ef8b0512afd429d9e2e60b" + integrity sha512-t9jZIvBmOXJsiuyOwhrIGs8dVcD6jDyg2icw1VL4A/g+FnWyJKwUfSSU2nwJuMV2Zqui856El9u+ElB+j9fV1g== dependencies: - "@babel/helper-module-transforms" "^7.25.0" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - "@babel/traverse" "^7.25.0" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" + "@babel/traverse" "^7.25.7" -"@babel/plugin-transform-modules-umd@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.24.7.tgz#edd9f43ec549099620df7df24e7ba13b5c76efc8" - integrity sha512-3aytQvqJ/h9z4g8AsKPLvD4Zqi2qT+L3j7XoFFu1XBlZWEl2/1kWnhmAbxpLgPrHSY0M6UA02jyTiwUVtiKR6A== +"@babel/plugin-transform-modules-umd@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.25.7.tgz#00ee7a7e124289549381bfb0e24d87fd7f848367" + integrity sha512-p88Jg6QqsaPh+EB7I9GJrIqi1Zt4ZBHUQtjw3z1bzEXcLh6GfPqzZJ6G+G1HBGKUNukT58MnKG7EN7zXQBCODw== dependencies: - "@babel/helper-module-transforms" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-module-transforms" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-named-capturing-groups-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.24.7.tgz#9042e9b856bc6b3688c0c2e4060e9e10b1460923" - integrity sha512-/jr7h/EWeJtk1U/uz2jlsCioHkZk1JJZVcc8oQsJ1dUlaJD83f4/6Zeh2aHt9BIFokHIsSeDfhUmju0+1GPd6g== +"@babel/plugin-transform-named-capturing-groups-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.25.7.tgz#a2f3f6d7f38693b462542951748f0a72a34d196d" + integrity sha512-BtAT9LzCISKG3Dsdw5uso4oV1+v2NlVXIIomKJgQybotJY3OwCwJmkongjHgwGKoZXd0qG5UZ12JUlDQ07W6Ow== dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-new-target@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.24.7.tgz#31ff54c4e0555cc549d5816e4ab39241dfb6ab00" - integrity sha512-RNKwfRIXg4Ls/8mMTza5oPF5RkOW8Wy/WgMAp1/F1yZ8mMbtwXW+HDoJiOsagWrAhI5f57Vncrmr9XeT4CVapA== +"@babel/plugin-transform-new-target@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.25.7.tgz#52b2bde523b76c548749f38dc3054f1f45e82bc9" + integrity sha512-CfCS2jDsbcZaVYxRFo2qtavW8SpdzmBXC2LOI4oO0rP+JSRDxxF3inF4GcPsLgfb5FjkhXG5/yR/lxuRs2pySA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-nullish-coalescing-operator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.24.7.tgz#1de4534c590af9596f53d67f52a92f12db984120" - integrity sha512-Ts7xQVk1OEocqzm8rHMXHlxvsfZ0cEF2yomUqpKENHWMF4zKk175Y4q8H5knJes6PgYad50uuRmt3UJuhBw8pQ== +"@babel/plugin-transform-nullish-coalescing-operator@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz#0af84b86d4332654c43cf028dbdcf878b00ac168" + integrity sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.24.7.tgz#bea62b538c80605d8a0fac9b40f48e97efa7de63" - integrity sha512-e6q1TiVUzvH9KRvicuxdBTUj4AdKSRwzIyFFnfnezpCfP2/7Qmbb8qbU2j7GODbl4JMkblitCQjKYUaX/qkkwA== +"@babel/plugin-transform-numeric-separator@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz#a516b78f894d1c08283f39d809b2048fd2f29448" + integrity sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.7.tgz#d13a2b93435aeb8a197e115221cab266ba6e55d6" - integrity sha512-4QrHAr0aXQCEFni2q4DqKLD31n2DL+RxcwnNjDFkSG0eNQ/xCavnRkfCUjsyqGC2OviNJvZOF/mQqZBw7i2C5Q== +"@babel/plugin-transform-object-rest-spread@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz#fa0916521be96fd434e2db59780b24b308c6d169" + integrity sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg== dependencies: - "@babel/helper-compilation-targets" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-transform-parameters" "^7.24.7" + "@babel/plugin-transform-parameters" "^7.25.7" -"@babel/plugin-transform-object-super@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.24.7.tgz#66eeaff7830bba945dd8989b632a40c04ed625be" - integrity sha512-A/vVLwN6lBrMFmMDmPPz0jnE6ZGx7Jq7d6sT/Ev4H65RER6pZ+kczlf1DthF5N0qaPHBsI7UXiE8Zy66nmAovg== +"@babel/plugin-transform-object-super@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.25.7.tgz#582a9cea8cf0a1e02732be5b5a703a38dedf5661" + integrity sha512-pWT6UXCEW3u1t2tcAGtE15ornCBvopHj9Bps9D2DsH15APgNVOTwwczGckX+WkAvBmuoYKRCFa4DK+jM8vh5AA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-replace-supers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-replace-supers" "^7.25.7" -"@babel/plugin-transform-optional-catch-binding@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.24.7.tgz#00eabd883d0dd6a60c1c557548785919b6e717b4" - integrity sha512-uLEndKqP5BfBbC/5jTwPxLh9kqPWWgzN/f8w6UwAIirAEqiIVJWWY312X72Eub09g5KF9+Zn7+hT7sDxmhRuKA== +"@babel/plugin-transform-optional-catch-binding@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz#400e2d891f9288f5231694234696aa67164e4913" + integrity sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.24.7", "@babel/plugin-transform-optional-chaining@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.24.8.tgz#bb02a67b60ff0406085c13d104c99a835cdf365d" - integrity sha512-5cTOLSMs9eypEy8JUVvIKOu6NgvbJMnpG62VpIHrTmROdQ+L5mDAaI40g25k5vXti55JWNX5jCkq3HZxXBQANw== +"@babel/plugin-transform-optional-chaining@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz#b7f7c9321aa1d8414e67799c28d87c23682e4d68" + integrity sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" "@babel/plugin-syntax-optional-chaining" "^7.8.3" -"@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.24.7.tgz#5881f0ae21018400e320fc7eb817e529d1254b68" - integrity sha512-yGWW5Rr+sQOhK0Ot8hjDJuxU3XLRQGflvT4lhlSY0DFvdb3TwKaY26CJzHtYllU0vT9j58hc37ndFPsqT1SrzA== +"@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.25.7.tgz#80c38b03ef580f6d6bffe1c5254bb35986859ac7" + integrity sha512-FYiTvku63me9+1Nz7TOx4YMtW3tWXzfANZtrzHhUZrz4d47EEtMQhzFoZWESfXuAMMT5mwzD4+y1N8ONAX6lMQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-private-methods@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.24.7.tgz#e6318746b2ae70a59d023d5cc1344a2ba7a75f5e" - integrity sha512-COTCOkG2hn4JKGEKBADkA8WNb35TGkkRbI5iT845dB+NyqgO8Hn+ajPbSnIQznneJTa3d30scb6iz/DhH8GsJQ== +"@babel/plugin-transform-private-methods@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.7.tgz#c790a04f837b4bd61d6b0317b43aa11ff67dce80" + integrity sha512-KY0hh2FluNxMLwOCHbxVOKfdB5sjWG4M183885FmaqWWiGMhRZq4DQRKH6mHdEucbJnyDyYiZNwNG424RymJjA== dependencies: - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-private-methods@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.25.4.tgz#9bbefbe3649f470d681997e0b64a4b254d877242" - integrity sha512-ao8BG7E2b/URaUQGqN3Tlsg+M3KlHY6rJ1O1gXAEUnZoyNQnvKyH87Kfg+FoxSeyWUB8ISZZsC91C44ZuBFytw== +"@babel/plugin-transform-private-property-in-object@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz#aff877efd05b57c4ad04611d8de97bf155a53369" + integrity sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g== dependencies: - "@babel/helper-create-class-features-plugin" "^7.25.4" - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/plugin-transform-private-property-in-object@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.24.7.tgz#4eec6bc701288c1fab5f72e6a4bbc9d67faca061" - integrity sha512-9z76mxwnwFxMyxZWEgdgECQglF2Q7cFLm0kMf8pGwt+GSJsY0cONKj/UuO4bOH0w/uAel3ekS4ra5CEAyJRmDA== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-syntax-private-property-in-object" "^7.14.5" -"@babel/plugin-transform-property-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.24.7.tgz#f0d2ed8380dfbed949c42d4d790266525d63bbdc" - integrity sha512-EMi4MLQSHfd2nrCqQEWxFdha2gBCqU4ZcCng4WBGZ5CJL4bBRW0ptdqqDdeirGZcpALazVVNJqRmsO8/+oNCBA== +"@babel/plugin-transform-property-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.25.7.tgz#a8612b4ea4e10430f00012ecf0155662c7d6550d" + integrity sha512-lQEeetGKfFi0wHbt8ClQrUSUMfEeI3MMm74Z73T9/kuz990yYVtfofjf3NuA42Jy3auFOpbjDyCSiIkTs1VIYw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-react-display-name@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.24.7.tgz#9caff79836803bc666bcfe210aeb6626230c293b" - integrity sha512-H/Snz9PFxKsS1JLI4dJLtnJgCJRoo0AUm3chP6NYr+9En1JMKloheEiLIhlp5MDVznWo+H3AAC1Mc8lmUEpsgg== +"@babel/plugin-transform-react-display-name@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-display-name/-/plugin-transform-react-display-name-7.25.7.tgz#2753e875a1b702fb1d806c4f5d4c194d64cadd88" + integrity sha512-r0QY7NVU8OnrwE+w2IWiRom0wwsTbjx4+xH2RTd7AVdof3uurXOF+/mXHQDRk+2jIvWgSaCHKMgggfvM4dyUGA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-react-jsx-development@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.24.7.tgz#eaee12f15a93f6496d852509a850085e6361470b" - integrity sha512-QG9EnzoGn+Qar7rxuW+ZOsbWOt56FvvI93xInqsZDC5fsekx1AlIO4KIJ5M+D0p0SqSH156EpmZyXq630B8OlQ== +"@babel/plugin-transform-react-jsx-development@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-development/-/plugin-transform-react-jsx-development-7.25.7.tgz#2fbd77887b8fa2942d7cb61edf1029ea1b048554" + integrity sha512-5yd3lH1PWxzW6IZj+p+Y4OLQzz0/LzlOG8vGqonHfVR3euf1vyzyMUJk9Ac+m97BH46mFc/98t9PmYLyvgL3qg== dependencies: - "@babel/plugin-transform-react-jsx" "^7.24.7" + "@babel/plugin-transform-react-jsx" "^7.25.7" -"@babel/plugin-transform-react-jsx@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.24.7.tgz#17cd06b75a9f0e2bd076503400e7c4b99beedac4" - integrity sha512-+Dj06GDZEFRYvclU6k4bme55GKBEWUmByM/eoKuqg4zTNQHiApWRhQph5fxQB2wAEFvRzL1tOEj1RJ19wJrhoA== +"@babel/plugin-transform-react-jsx@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-jsx/-/plugin-transform-react-jsx-7.25.7.tgz#f5e2af6020a562fe048dd343e571c4428e6c5632" + integrity sha512-vILAg5nwGlR9EXE8JIOX4NHXd49lrYbN8hnjffDtoULwpL9hUx/N55nqh2qd0q6FyNDfjl9V79ecKGvFbcSA0Q== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/plugin-syntax-jsx" "^7.24.7" - "@babel/types" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/plugin-syntax-jsx" "^7.25.7" + "@babel/types" "^7.25.7" -"@babel/plugin-transform-react-pure-annotations@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.24.7.tgz#bdd9d140d1c318b4f28b29a00fb94f97ecab1595" - integrity sha512-PLgBVk3fzbmEjBJ/u8kFzOqS9tUeDjiaWud/rRym/yjCo/M9cASPlnrd2ZmmZpQT40fOOrvR8jh+n8jikrOhNA== +"@babel/plugin-transform-react-pure-annotations@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-react-pure-annotations/-/plugin-transform-react-pure-annotations-7.25.7.tgz#6d0b8dadb2d3c5cbb8ade68c5efd49470b0d65f7" + integrity sha512-6YTHJ7yjjgYqGc8S+CbEXhLICODk0Tn92j+vNJo07HFk9t3bjFgAKxPLFhHwF2NjmQVSI1zBRfBWUeVBa2osfA== dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-regenerator@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.24.7.tgz#021562de4534d8b4b1851759fd7af4e05d2c47f8" - integrity sha512-lq3fvXPdimDrlg6LWBoqj+r/DEWgONuwjuOuQCSYgRroXDH/IdM1C0IZf59fL5cHLpjEH/O6opIRBbqv7ELnuA== +"@babel/plugin-transform-regenerator@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.25.7.tgz#6eb006e6d26f627bc2f7844a9f19770721ad6f3e" + integrity sha512-mgDoQCRjrY3XK95UuV60tZlFCQGXEtMg8H+IsW72ldw1ih1jZhzYXbJvghmAEpg5UVhhnCeia1CkGttUvCkiMQ== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" regenerator-transform "^0.15.2" -"@babel/plugin-transform-reserved-words@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.24.7.tgz#80037fe4fbf031fc1125022178ff3938bb3743a4" - integrity sha512-0DUq0pHcPKbjFZCfTss/pGkYMfy3vFWydkUBd9r0GHpIyfs2eCDENvqadMycRS9wZCXR41wucAfJHJmwA0UmoQ== +"@babel/plugin-transform-reserved-words@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.25.7.tgz#dc56b25e02afaabef3ce0c5b06b0916e8523e995" + integrity sha512-3OfyfRRqiGeOvIWSagcwUTVk2hXBsr/ww7bLn6TRTuXnexA+Udov2icFOxFX9abaj4l96ooYkcNN1qi2Zvqwng== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-transform-runtime@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.4.tgz#96e4ad7bfbbe0b4a7b7e6f2a533ca326cf204963" - integrity sha512-8hsyG+KUYGY0coX6KUCDancA0Vw225KJ2HJO0yCNr1vq5r+lJTleDaJf0K7iOhjw4SWhu03TMBzYTJ9krmzULQ== + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.7.tgz#435a4fab67273f00047dc806e05069c9c6344e12" + integrity sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg== dependencies: - "@babel/helper-module-imports" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-module-imports" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.6" babel-plugin-polyfill-regenerator "^0.6.1" semver "^6.3.1" -"@babel/plugin-transform-shorthand-properties@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.24.7.tgz#85448c6b996e122fa9e289746140aaa99da64e73" - integrity sha512-KsDsevZMDsigzbA09+vacnLpmPH4aWjcZjXdyFKGzpplxhbeB4wYtury3vglQkg6KM/xEPKt73eCjPPf1PgXBA== +"@babel/plugin-transform-shorthand-properties@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.25.7.tgz#92690a9c671915602d91533c278cc8f6bf12275f" + integrity sha512-uBbxNwimHi5Bv3hUccmOFlUy3ATO6WagTApenHz9KzoIdn0XeACdB12ZJ4cjhuB2WSi80Ez2FWzJnarccriJeA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-spread@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.24.7.tgz#e8a38c0fde7882e0fb8f160378f74bd885cc7bb3" - integrity sha512-x96oO0I09dgMDxJaANcRyD4ellXFLLiWhuwDxKZX5g2rWP1bTPkBSwCYv96VDXVT1bD9aPj8tppr5ITIh8hBng== +"@babel/plugin-transform-spread@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.25.7.tgz#df83e899a9fc66284ee601a7b738568435b92998" + integrity sha512-Mm6aeymI0PBh44xNIv/qvo8nmbkpZze1KvR8MkEqbIREDxoiWTi18Zr2jryfRMwDfVZF9foKh060fWgni44luw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" -"@babel/plugin-transform-sticky-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.24.7.tgz#96ae80d7a7e5251f657b5cf18f1ea6bf926f5feb" - integrity sha512-kHPSIJc9v24zEml5geKg9Mjx5ULpfncj0wRpYtxbvKyTtHCYDkVE3aHQ03FrpEo4gEe2vrJJS1Y9CJTaThA52g== +"@babel/plugin-transform-sticky-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.25.7.tgz#341c7002bef7f29037be7fb9684e374442dd0d17" + integrity sha512-ZFAeNkpGuLnAQ/NCsXJ6xik7Id+tHuS+NT+ue/2+rn/31zcdnupCdmunOizEaP0JsUmTFSTOPoQY7PkK2pttXw== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-template-literals@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.24.7.tgz#a05debb4a9072ae8f985bcf77f3f215434c8f8c8" - integrity sha512-AfDTQmClklHCOLxtGoP7HkeMw56k1/bTQjwsfhL6pppo/M4TOBSq+jjBUBLmV/4oeFg4GWMavIl44ZeCtmmZTw== +"@babel/plugin-transform-template-literals@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.25.7.tgz#e566c581bb16d8541dd8701093bb3457adfce16b" + integrity sha512-SI274k0nUsFFmyQupiO7+wKATAmMFf8iFgq2O+vVFXZ0SV9lNfT1NGzBEhjquFmD8I9sqHLguH+gZVN3vww2AA== dependencies: - "@babel/helper-plugin-utils" "^7.24.7" + "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-typeof-symbol@^7.24.8": - version "7.24.8" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.24.8.tgz#383dab37fb073f5bfe6e60c654caac309f92ba1c" - integrity sha512-adNTUpDCVnmAE58VEqKlAA6ZBlNkMnWD0ZcW76lyNFN3MJniyGFZfNwERVk8Ap56MCnXztmDr19T4mPTztcuaw== +"@babel/plugin-transform-typeof-symbol@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.25.7.tgz#debb1287182efd20488f126be343328c679b66eb" + integrity sha512-OmWmQtTHnO8RSUbL0NTdtpbZHeNTnm68Gj5pA4Y2blFNh+V4iZR68V1qL9cI37J21ZN7AaCnkfdHtLExQPf2uA== dependencies: - "@babel/helper-plugin-utils" "^7.24.8" + "@babel/helper-plugin-utils" "^7.25.7" "@babel/plugin-transform-typescript@^7.8.3": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.0.tgz#56f47fb87b86a97caa9c7770920a1967d40ac86e" - integrity sha512-LZicxFzHIw+Sa3pzgMgSz6gdpsdkfiMObHUzhSIrwKF0+/rP/nuR49u79pSS+zIFJ1FeGeqQD2Dq4QGFbOVvSw== - dependencies: - "@babel/helper-annotate-as-pure" "^7.24.7" - "@babel/helper-create-class-features-plugin" "^7.25.0" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-skip-transparent-expression-wrappers" "^7.24.7" - "@babel/plugin-syntax-typescript" "^7.24.7" - -"@babel/plugin-transform-unicode-escapes@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.24.7.tgz#2023a82ced1fb4971630a2e079764502c4148e0e" - integrity sha512-U3ap1gm5+4edc2Q/P+9VrBNhGkfnf+8ZqppY71Bo/pzZmXhhLdqgaUl6cuB07O1+AQJtCLfaOmswiNbSQ9ivhw== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-unicode-property-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.24.7.tgz#9073a4cd13b86ea71c3264659590ac086605bbcd" - integrity sha512-uH2O4OV5M9FZYQrwc7NdVmMxQJOCCzFeYudlZSzUAHRFeOujQefa92E74TQDVskNHCzOXoigEuoyzHDhaEaK5w== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-unicode-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.24.7.tgz#dfc3d4a51127108099b19817c0963be6a2adf19f" - integrity sha512-hlQ96MBZSAXUq7ltkjtu3FJCCSMx/j629ns3hA3pXnBXjanNP0LHi+JpPeA81zaWgVK1VGH95Xuy7u0RyQ8kMg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-unicode-sets-regex@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.24.7.tgz#d40705d67523803a576e29c63cef6e516b858ed9" - integrity sha512-2G8aAvF4wy1w/AGZkemprdGMRg5o6zPNhbHVImRz3lss55TYCBd6xStN19rt8XJHq20sqV0JbyWjOWwQRwV/wg== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.24.7" - "@babel/helper-plugin-utils" "^7.24.7" - -"@babel/plugin-transform-unicode-sets-regex@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.4.tgz#be664c2a0697ffacd3423595d5edef6049e8946c" - integrity sha512-qesBxiWkgN1Q+31xUE9RcMk79eOXXDCv6tfyGMRSs4RGlioSg2WVyQAm07k726cSE56pa+Kb0y9epX2qaXzTvA== - dependencies: - "@babel/helper-create-regexp-features-plugin" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" - -"@babel/preset-env@^7.2.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.0.tgz#3fe92e470311e91478129efda101816c680f0479" - integrity sha512-vYAA8PrCOeZfG4D87hmw1KJ1BPubghXP1e2MacRFwECGNKL76dkA38JEwYllbvQCpf/kLxsTtir0b8MtxKoVCw== - dependencies: - "@babel/compat-data" "^7.25.0" - "@babel/helper-compilation-targets" "^7.24.8" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.0" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" - "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.7" - "@babel/plugin-syntax-import-attributes" "^7.24.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" - "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.25.0" - "@babel/plugin-transform-async-to-generator" "^7.24.7" - "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.25.0" - "@babel/plugin-transform-class-properties" "^7.24.7" - "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.25.0" - "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.8" - "@babel/plugin-transform-dotall-regex" "^7.24.7" - "@babel/plugin-transform-duplicate-keys" "^7.24.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" - "@babel/plugin-transform-dynamic-import" "^7.24.7" - "@babel/plugin-transform-exponentiation-operator" "^7.24.7" - "@babel/plugin-transform-export-namespace-from" "^7.24.7" - "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.25.0" - "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.24.7" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" - "@babel/plugin-transform-member-expression-literals" "^7.24.7" - "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.8" - "@babel/plugin-transform-modules-systemjs" "^7.25.0" - "@babel/plugin-transform-modules-umd" "^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" - "@babel/plugin-transform-new-target" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-numeric-separator" "^7.24.7" - "@babel/plugin-transform-object-rest-spread" "^7.24.7" - "@babel/plugin-transform-object-super" "^7.24.7" - "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.8" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.24.7" - "@babel/plugin-transform-private-property-in-object" "^7.24.7" - "@babel/plugin-transform-property-literals" "^7.24.7" - "@babel/plugin-transform-regenerator" "^7.24.7" - "@babel/plugin-transform-reserved-words" "^7.24.7" - "@babel/plugin-transform-shorthand-properties" "^7.24.7" - "@babel/plugin-transform-spread" "^7.24.7" - "@babel/plugin-transform-sticky-regex" "^7.24.7" - "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.8" - "@babel/plugin-transform-unicode-escapes" "^7.24.7" - "@babel/plugin-transform-unicode-property-regex" "^7.24.7" - "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex" "^7.24.7" - "@babel/preset-modules" "0.1.6-no-external-plugins" - babel-plugin-polyfill-corejs2 "^0.4.10" - babel-plugin-polyfill-corejs3 "^0.10.4" - babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.37.1" - semver "^6.3.1" - -"@babel/preset-env@^7.25.4": - version "7.25.4" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.4.tgz#be23043d43a34a2721cd0f676c7ba6f1481f6af6" - integrity sha512-W9Gyo+KmcxjGahtt3t9fb14vFRWvPpu5pT6GBlovAK6BTBcxgjfVMSQCfJl4oi35ODrxP6xx2Wr8LNST57Mraw== - dependencies: - "@babel/compat-data" "^7.25.4" - "@babel/helper-compilation-targets" "^7.25.2" - "@babel/helper-plugin-utils" "^7.24.8" - "@babel/helper-validator-option" "^7.24.8" - "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.3" - "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.0" - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.0" - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.24.7" - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.0" + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-typescript/-/plugin-transform-typescript-7.25.7.tgz#8fc7c3d28ddd36bce45b9b48594129d0e560cfbe" + integrity sha512-VKlgy2vBzj8AmEzunocMun2fF06bsSWV+FvVXohtL6FGve/+L217qhHxRTVGHEDO/YR8IANcjzgJsd04J8ge5Q== + dependencies: + "@babel/helper-annotate-as-pure" "^7.25.7" + "@babel/helper-create-class-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" + "@babel/plugin-syntax-typescript" "^7.25.7" + +"@babel/plugin-transform-unicode-escapes@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.25.7.tgz#973592b6d13a914794e1de8cf1383e50e0f87f81" + integrity sha512-BN87D7KpbdiABA+t3HbVqHzKWUDN3dymLaTnPFAMyc8lV+KN3+YzNhVRNdinaCPA4AUqx7ubXbQ9shRjYBl3SQ== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-unicode-property-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.25.7.tgz#25349197cce964b1343f74fa7cfdf791a1b1919e" + integrity sha512-IWfR89zcEPQGB/iB408uGtSPlQd3Jpq11Im86vUgcmSTcoWAiQMCTOa2K2yNNqFJEBVICKhayctee65Ka8OB0w== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-unicode-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.25.7.tgz#f93a93441baf61f713b6d5552aaa856bfab34809" + integrity sha512-8JKfg/hiuA3qXnlLx8qtv5HWRbgyFx2hMMtpDDuU2rTckpKkGu4ycK5yYHwuEa16/quXfoxHBIApEsNyMWnt0g== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/plugin-transform-unicode-sets-regex@^7.25.7": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.25.7.tgz#d1b3295d29e0f8f4df76abc909ad1ebee919560c" + integrity sha512-YRW8o9vzImwmh4Q3Rffd09bH5/hvY0pxg+1H1i0f7APoUeg12G7+HhLj9ZFNIrYkgBXhIijPJ+IXypN0hLTIbw== + dependencies: + "@babel/helper-create-regexp-features-plugin" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + +"@babel/preset-env@^7.2.0", "@babel/preset-env@^7.25.4": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz#fc1b092152db4b58377b85dc05c890081c1157e0" + integrity sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g== + dependencies: + "@babel/compat-data" "^7.25.7" + "@babel/helper-compilation-targets" "^7.25.7" + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + "@babel/plugin-bugfix-firefox-class-in-computed-class-key" "^7.25.7" + "@babel/plugin-bugfix-safari-class-field-initializer-scope" "^7.25.7" + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression" "^7.25.7" + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.7" + "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.7" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-class-properties" "^7.12.13" "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-syntax-export-namespace-from" "^7.8.3" - "@babel/plugin-syntax-import-assertions" "^7.24.7" - "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-assertions" "^7.25.7" + "@babel/plugin-syntax-import-attributes" "^7.25.7" "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" @@ -1196,60 +941,60 @@ "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" - "@babel/plugin-transform-arrow-functions" "^7.24.7" - "@babel/plugin-transform-async-generator-functions" "^7.25.4" - "@babel/plugin-transform-async-to-generator" "^7.24.7" - "@babel/plugin-transform-block-scoped-functions" "^7.24.7" - "@babel/plugin-transform-block-scoping" "^7.25.0" - "@babel/plugin-transform-class-properties" "^7.25.4" - "@babel/plugin-transform-class-static-block" "^7.24.7" - "@babel/plugin-transform-classes" "^7.25.4" - "@babel/plugin-transform-computed-properties" "^7.24.7" - "@babel/plugin-transform-destructuring" "^7.24.8" - "@babel/plugin-transform-dotall-regex" "^7.24.7" - "@babel/plugin-transform-duplicate-keys" "^7.24.7" - "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.0" - "@babel/plugin-transform-dynamic-import" "^7.24.7" - "@babel/plugin-transform-exponentiation-operator" "^7.24.7" - "@babel/plugin-transform-export-namespace-from" "^7.24.7" - "@babel/plugin-transform-for-of" "^7.24.7" - "@babel/plugin-transform-function-name" "^7.25.1" - "@babel/plugin-transform-json-strings" "^7.24.7" - "@babel/plugin-transform-literals" "^7.25.2" - "@babel/plugin-transform-logical-assignment-operators" "^7.24.7" - "@babel/plugin-transform-member-expression-literals" "^7.24.7" - "@babel/plugin-transform-modules-amd" "^7.24.7" - "@babel/plugin-transform-modules-commonjs" "^7.24.8" - "@babel/plugin-transform-modules-systemjs" "^7.25.0" - "@babel/plugin-transform-modules-umd" "^7.24.7" - "@babel/plugin-transform-named-capturing-groups-regex" "^7.24.7" - "@babel/plugin-transform-new-target" "^7.24.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.24.7" - "@babel/plugin-transform-numeric-separator" "^7.24.7" - "@babel/plugin-transform-object-rest-spread" "^7.24.7" - "@babel/plugin-transform-object-super" "^7.24.7" - "@babel/plugin-transform-optional-catch-binding" "^7.24.7" - "@babel/plugin-transform-optional-chaining" "^7.24.8" - "@babel/plugin-transform-parameters" "^7.24.7" - "@babel/plugin-transform-private-methods" "^7.25.4" - "@babel/plugin-transform-private-property-in-object" "^7.24.7" - "@babel/plugin-transform-property-literals" "^7.24.7" - "@babel/plugin-transform-regenerator" "^7.24.7" - "@babel/plugin-transform-reserved-words" "^7.24.7" - "@babel/plugin-transform-shorthand-properties" "^7.24.7" - "@babel/plugin-transform-spread" "^7.24.7" - "@babel/plugin-transform-sticky-regex" "^7.24.7" - "@babel/plugin-transform-template-literals" "^7.24.7" - "@babel/plugin-transform-typeof-symbol" "^7.24.8" - "@babel/plugin-transform-unicode-escapes" "^7.24.7" - "@babel/plugin-transform-unicode-property-regex" "^7.24.7" - "@babel/plugin-transform-unicode-regex" "^7.24.7" - "@babel/plugin-transform-unicode-sets-regex" "^7.25.4" + "@babel/plugin-transform-arrow-functions" "^7.25.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.7" + "@babel/plugin-transform-async-to-generator" "^7.25.7" + "@babel/plugin-transform-block-scoped-functions" "^7.25.7" + "@babel/plugin-transform-block-scoping" "^7.25.7" + "@babel/plugin-transform-class-properties" "^7.25.7" + "@babel/plugin-transform-class-static-block" "^7.25.7" + "@babel/plugin-transform-classes" "^7.25.7" + "@babel/plugin-transform-computed-properties" "^7.25.7" + "@babel/plugin-transform-destructuring" "^7.25.7" + "@babel/plugin-transform-dotall-regex" "^7.25.7" + "@babel/plugin-transform-duplicate-keys" "^7.25.7" + "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.7" + "@babel/plugin-transform-dynamic-import" "^7.25.7" + "@babel/plugin-transform-exponentiation-operator" "^7.25.7" + "@babel/plugin-transform-export-namespace-from" "^7.25.7" + "@babel/plugin-transform-for-of" "^7.25.7" + "@babel/plugin-transform-function-name" "^7.25.7" + "@babel/plugin-transform-json-strings" "^7.25.7" + "@babel/plugin-transform-literals" "^7.25.7" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.7" + "@babel/plugin-transform-member-expression-literals" "^7.25.7" + "@babel/plugin-transform-modules-amd" "^7.25.7" + "@babel/plugin-transform-modules-commonjs" "^7.25.7" + "@babel/plugin-transform-modules-systemjs" "^7.25.7" + "@babel/plugin-transform-modules-umd" "^7.25.7" + "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.7" + "@babel/plugin-transform-new-target" "^7.25.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.7" + "@babel/plugin-transform-numeric-separator" "^7.25.7" + "@babel/plugin-transform-object-rest-spread" "^7.25.7" + "@babel/plugin-transform-object-super" "^7.25.7" + "@babel/plugin-transform-optional-catch-binding" "^7.25.7" + "@babel/plugin-transform-optional-chaining" "^7.25.7" + "@babel/plugin-transform-parameters" "^7.25.7" + "@babel/plugin-transform-private-methods" "^7.25.7" + "@babel/plugin-transform-private-property-in-object" "^7.25.7" + "@babel/plugin-transform-property-literals" "^7.25.7" + "@babel/plugin-transform-regenerator" "^7.25.7" + "@babel/plugin-transform-reserved-words" "^7.25.7" + "@babel/plugin-transform-shorthand-properties" "^7.25.7" + "@babel/plugin-transform-spread" "^7.25.7" + "@babel/plugin-transform-sticky-regex" "^7.25.7" + "@babel/plugin-transform-template-literals" "^7.25.7" + "@babel/plugin-transform-typeof-symbol" "^7.25.7" + "@babel/plugin-transform-unicode-escapes" "^7.25.7" + "@babel/plugin-transform-unicode-property-regex" "^7.25.7" + "@babel/plugin-transform-unicode-regex" "^7.25.7" + "@babel/plugin-transform-unicode-sets-regex" "^7.25.7" "@babel/preset-modules" "0.1.6-no-external-plugins" babel-plugin-polyfill-corejs2 "^0.4.10" babel-plugin-polyfill-corejs3 "^0.10.6" babel-plugin-polyfill-regenerator "^0.6.1" - core-js-compat "^3.37.1" + core-js-compat "^3.38.1" semver "^6.3.1" "@babel/preset-modules@0.1.6-no-external-plugins": @@ -1262,109 +1007,53 @@ esutils "^2.0.2" "@babel/preset-react@^7.0.0", "@babel/preset-react@^7.24.7": - version "7.24.7" - resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.24.7.tgz#480aeb389b2a798880bf1f889199e3641cbb22dc" - integrity sha512-AAH4lEkpmzFWrGVlHaxJB7RLH21uPQ9+He+eFLWHmF9IuFQVugz8eAsamaW0DXRrTfco5zj1wWtpdcXJUOfsag== - dependencies: - "@babel/helper-plugin-utils" "^7.24.7" - "@babel/helper-validator-option" "^7.24.7" - "@babel/plugin-transform-react-display-name" "^7.24.7" - "@babel/plugin-transform-react-jsx" "^7.24.7" - "@babel/plugin-transform-react-jsx-development" "^7.24.7" - "@babel/plugin-transform-react-pure-annotations" "^7.24.7" - -"@babel/regjsgen@^0.8.0": - version "0.8.0" - resolved "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz#f0ba69b075e1f05fb2825b7fad991e7adbb18310" - integrity sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA== - -"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.2.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.0.tgz#3af9a91c1b739c569d5d80cc917280919c544ecb" - integrity sha512-7dRy4DwXwtzBrPbZflqxnvfxLF8kdZXPkhymtDeFoFqE6ldzjQFgYTtYIFARcLEYDrqfBfYcZt1WqFxRoyC9Rw== + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz#081cbe1dea363b732764d06a0fdda67ffa17735d" + integrity sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg== + dependencies: + "@babel/helper-plugin-utils" "^7.25.7" + "@babel/helper-validator-option" "^7.25.7" + "@babel/plugin-transform-react-display-name" "^7.25.7" + "@babel/plugin-transform-react-jsx" "^7.25.7" + "@babel/plugin-transform-react-jsx-development" "^7.25.7" + "@babel/plugin-transform-react-pure-annotations" "^7.25.7" + +"@babel/runtime@^7.10.2", "@babel/runtime@^7.12.1", "@babel/runtime@^7.12.5", "@babel/runtime@^7.14.0", "@babel/runtime@^7.17.8", "@babel/runtime@^7.2.0", "@babel/runtime@^7.21.5", "@babel/runtime@^7.23.2", "@babel/runtime@^7.25.6", "@babel/runtime@^7.8.4", "@babel/runtime@^7.9.2": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.7.tgz#7ffb53c37a8f247c8c4d335e89cdf16a2e0d0fb6" + integrity sha512-FjoyLe754PMiYsFaN5C94ttGiOmBNYTf6pLr4xXHAT5uctHb092PBszndLDR5XA/jghQvn4n7JMHl7dmTgbm9w== dependencies: regenerator-runtime "^0.14.0" -"@babel/runtime@^7.23.2", "@babel/runtime@^7.25.6": - version "7.25.6" - resolved "https://registry.npmjs.org/@babel/runtime/-/runtime-7.25.6.tgz#9afc3289f7184d8d7f98b099884c26317b9264d2" - integrity sha512-VBj9MYyDb9tuLq7yzqjgzt6Q+IBQLrGZfdjOekyEirZPHxXWoTSGUTMrpsfi58Up73d13NfYLv8HT9vmznjzhQ== - dependencies: - regenerator-runtime "^0.14.0" - -"@babel/template@^7.22.5", "@babel/template@^7.24.7", "@babel/template@^7.25.0", "@babel/template@^7.3.3": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.0.tgz#e733dc3134b4fede528c15bc95e89cb98c52592a" - integrity sha512-aOOgh1/5XzKvg1jvVz7AVrx2piJ2XBi227DHmbY6y+bM9H2FlN+IfecYu4Xl0cNiiVejlsCri89LUsbj8vJD9Q== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/parser" "^7.25.0" - "@babel/types" "^7.25.0" - -"@babel/traverse@^7.18.9", "@babel/traverse@^7.24.7", "@babel/traverse@^7.24.8", "@babel/traverse@^7.25.0", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.0.tgz#e8533c0a57ed97921d1e5b20dd3db63d3efaebf5" - integrity sha512-ubALThHQy4GCf6mbb+5ZRNmLLCI7bJ3f8Q6LHBSRlSKSWj5a7dSUzJBLv3VuIhFrFPgjF4IzPF567YG/HSCdZA== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/parser" "^7.25.0" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.0" +"@babel/template@^7.22.5", "@babel/template@^7.25.7", "@babel/template@^7.3.3": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/template/-/template-7.25.7.tgz#27f69ce382855d915b14ab0fe5fb4cbf88fa0769" + integrity sha512-wRwtAgI3bAS+JGU2upWNL9lSlDcRCqD05BZ1n3X2ONLH1WilFP6O1otQjeMK/1g0pvYcXC7b/qVUB1keofjtZA== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/types" "^7.25.7" + +"@babel/traverse@^7.18.9", "@babel/traverse@^7.25.7", "@babel/traverse@^7.4.5", "@babel/traverse@^7.7.0": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.7.tgz#83e367619be1cab8e4f2892ef30ba04c26a40fa8" + integrity sha512-jatJPT1Zjqvh/1FyJs6qAHL+Dzb7sTb+xr7Q+gM1b+1oBsMsQQ4FkVKb6dFlJvLlVssqkRzV05Jzervt9yhnzg== + dependencies: + "@babel/code-frame" "^7.25.7" + "@babel/generator" "^7.25.7" + "@babel/parser" "^7.25.7" + "@babel/template" "^7.25.7" + "@babel/types" "^7.25.7" debug "^4.3.1" globals "^11.1.0" -"@babel/traverse@^7.25.1", "@babel/traverse@^7.25.2", "@babel/traverse@^7.25.3": - version "7.25.3" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.3.tgz#f1b901951c83eda2f3e29450ce92743783373490" - integrity sha512-HefgyP1x754oGCsKmV5reSmtV7IXj/kpaE1XYY+D9G5PvKKoFfSbiS4M77MdjuwlZKDIKFCffq9rPU+H/s3ZdQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.25.7", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.25.7" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz#1b7725c1d3a59f328cb700ce704c46371e6eef9b" + integrity sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ== dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.0" - "@babel/parser" "^7.25.3" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.2" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/traverse@^7.25.4": - version "7.25.6" - resolved "https://registry.npmjs.org/@babel/traverse/-/traverse-7.25.6.tgz#04fad980e444f182ecf1520504941940a90fea41" - integrity sha512-9Vrcx5ZW6UwK5tvqsj0nGpp/XzqthkT0dqIc9g1AdtygFToNtTF67XzYS//dm+SAK9cp3B9R4ZO/46p63SCjlQ== - dependencies: - "@babel/code-frame" "^7.24.7" - "@babel/generator" "^7.25.6" - "@babel/parser" "^7.25.6" - "@babel/template" "^7.25.0" - "@babel/types" "^7.25.6" - debug "^4.3.1" - globals "^11.1.0" - -"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.24.7", "@babel/types@^7.24.8", "@babel/types@^7.24.9", "@babel/types@^7.25.0", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.25.0" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.0.tgz#e6e3656c581f28da8452ed4f69e38008ec0ba41b" - integrity sha512-LcnxQSsd9aXOIgmmSpvZ/1yo46ra2ESYyqLcryaBZOghxy5qqOBjvCWP5JfkI8yl9rlxRgdLTTMCQQRcN2hdCg== - dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.25.2": - version "7.25.2" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.2.tgz#55fb231f7dc958cd69ea141a4c2997e819646125" - integrity sha512-YTnYtra7W9e6/oAZEHj0bJehPRUlLH9/fbpT5LfB0NhQXyALCRkRs3zH9v07IYhkgpqX6Z78FnuccZr/l4Fs4Q== - dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" - to-fast-properties "^2.0.0" - -"@babel/types@^7.25.6": - version "7.25.6" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.6.tgz#893942ddb858f32ae7a004ec9d3a76b3463ef8e6" - integrity sha512-/l42B1qxpG6RdfYf343Uw1vmDjeNhneUXtzhojE7pDgfpEypmRhI6j1kr17XCVv4Cgl9HdAiQY2x0GwKm7rWCw== - dependencies: - "@babel/helper-string-parser" "^7.24.8" - "@babel/helper-validator-identifier" "^7.24.7" + "@babel/helper-string-parser" "^7.25.7" + "@babel/helper-validator-identifier" "^7.25.7" to-fast-properties "^2.0.0" "@base2/pretty-print-object@1.0.1": @@ -1464,9 +1153,9 @@ tslib "^2.0.0" "@emotion/is-prop-valid@^1.1.0": - version "1.3.0" - resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.0.tgz#bd84ba972195e8a2d42462387581560ef780e4e2" - integrity sha512-SHetuSLvJDzuNbOdtPVbq6yMMMlLoW5Q94uDqJZqy50gcmAjxFkVqmzqSGEFq9gT2iMuIeKV1PXVWmvUhuZLlQ== + version "1.3.1" + resolved "https://registry.npmjs.org/@emotion/is-prop-valid/-/is-prop-valid-1.3.1.tgz#8d5cf1132f836d7adbe42cf0b49df7816fc88240" + integrity sha512-/ACwoqx7XQi9knQs/G0qKvv5teDMhD7bXYns9N/wM8ah8iNb8jZ2uNO0YOgiq2o2poIvVtJS2YALasQuMSQ7Kw== dependencies: "@emotion/memoize" "^0.9.0" @@ -1723,9 +1412,9 @@ eslint-visitor-keys "^3.3.0" "@eslint-community/regexpp@^4.5.1", "@eslint-community/regexpp@^4.6.1": - version "4.11.0" - resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.0.tgz#b0ffd0312b4a3fd2d6f77237e7248a5ad3a680ae" - integrity sha512-G/M/tIiMrTAxEWRfLfQJMmGNX28IxBg4PBz8XqQhqUHLFI6TL2htpIB1iQCj144V5ee/JaKyT9/WZ0MGZWfA7A== + version "4.11.1" + resolved "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.11.1.tgz#a547badfc719eb3e5f4b556325e542fbe9d7a18f" + integrity sha512-m4DVN9ZqskZoLU5GlWZadwDnYo3vAEydiUayB9widCl9ffWx2IvPnp6n3on5rJmziJSw9Bv+Z3ChDVdMwXCY8Q== "@eslint/eslintrc@^2.1.4": version "2.1.4" @@ -1784,25 +1473,24 @@ integrity sha512-93zYdMES/c1D69yZiKDBj0V24vqNzB/koF26KPaagAfd3P/4gUlh3Dys5ogAK+Exi9QyzlD8x/08Zt7wIKcDcA== "@inquirer/confirm@^3.0.0": - version "3.1.17" - resolved "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.1.17.tgz#adca3b0f35e2d2ace53f652a92f987aaccb8482a" - integrity sha512-qCpt/AABzPynz8tr69VDvhcjwmzAryipWXtW8Vi6m651da4H/d0Bdn55LkxXD7Rp2gfgxvxzTdb66AhIA8gzBA== + version "3.2.0" + resolved "https://registry.npmjs.org/@inquirer/confirm/-/confirm-3.2.0.tgz#6af1284670ea7c7d95e3f1253684cfbd7228ad6a" + integrity sha512-oOIwPs0Dvq5220Z8lGL/6LHRTEr9TgLHmiI99Rj1PJ1p1czTys+olrgBqZk4E2qC0YTzeHprxSQmoHioVdJ7Lw== dependencies: - "@inquirer/core" "^9.0.5" - "@inquirer/type" "^1.5.1" + "@inquirer/core" "^9.1.0" + "@inquirer/type" "^1.5.3" -"@inquirer/core@^9.0.5": - version "9.0.5" - resolved "https://registry.npmjs.org/@inquirer/core/-/core-9.0.5.tgz#b5e14d80e87419231981f48fa86f63d15cb8805b" - integrity sha512-QWG41I7vn62O9stYKg/juKXt1PEbr/4ZZCPb4KgXDQGwgA9M5NBTQ7FnOvT1ridbxkm/wTxLCNraUs7y47pIRQ== +"@inquirer/core@^9.1.0": + version "9.2.1" + resolved "https://registry.npmjs.org/@inquirer/core/-/core-9.2.1.tgz#677c49dee399c9063f31e0c93f0f37bddc67add1" + integrity sha512-F2VBt7W/mwqEU4bL0RnHNZmC/OxzNx9cOYxHqnXX3MP6ruYvZUZAW9imgN9+h/uBT/oP8Gh888J2OZSbjSeWcg== dependencies: - "@inquirer/figures" "^1.0.5" - "@inquirer/type" "^1.5.1" + "@inquirer/figures" "^1.0.6" + "@inquirer/type" "^2.0.0" "@types/mute-stream" "^0.0.4" - "@types/node" "^20.14.11" + "@types/node" "^22.5.5" "@types/wrap-ansi" "^3.0.0" ansi-escapes "^4.3.2" - cli-spinners "^2.9.2" cli-width "^4.1.0" mute-stream "^1.0.0" signal-exit "^4.1.0" @@ -1810,15 +1498,22 @@ wrap-ansi "^6.2.0" yoctocolors-cjs "^2.1.2" -"@inquirer/figures@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.5.tgz#57f9a996d64d3e3345d2a3ca04d36912e94f8790" - integrity sha512-79hP/VWdZ2UVc9bFGJnoQ/lQMpL74mGgzSYX1xUqCVk7/v73vJCMw1VuyWN1jGkZ9B3z7THAbySqGbCNefcjfA== +"@inquirer/figures@^1.0.6": + version "1.0.7" + resolved "https://registry.npmjs.org/@inquirer/figures/-/figures-1.0.7.tgz#d050ccc0eabfacc0248c4ff647a9dfba1b01594b" + integrity sha512-m+Trk77mp54Zma6xLkLuY+mvanPxlE4A7yNKs2HBiyZ4UkVs28Mv5c/pgWrHeInx+USHeX/WEPzjrWrcJiQgjw== -"@inquirer/type@^1.5.1": - version "1.5.1" - resolved "https://registry.npmjs.org/@inquirer/type/-/type-1.5.1.tgz#cdd36732e38ea5d2b1a4336aada65ebe7d2765e0" - integrity sha512-m3YgGQlKNS0BM+8AFiJkCsTqHEFCWn6s/Rqye3mYwvqY6LdfUv12eSwbsgNzrYyrLXiy7IrrjDLPysaSBwEfhw== +"@inquirer/type@^1.5.3": + version "1.5.5" + resolved "https://registry.npmjs.org/@inquirer/type/-/type-1.5.5.tgz#303ea04ce7ad2e585b921b662b3be36ef7b4f09b" + integrity sha512-MzICLu4yS7V8AA61sANROZ9vT1H3ooca5dSmI1FjZkzq7o/koMsRfQSzRtFo+F3Ao4Sf1C0bpLKejpKB/+j6MA== + dependencies: + mute-stream "^1.0.0" + +"@inquirer/type@^2.0.0": + version "2.0.0" + resolved "https://registry.npmjs.org/@inquirer/type/-/type-2.0.0.tgz#08fa513dca2cb6264fe1b0a2fabade051444e3f6" + integrity sha512-XvJRx+2KR3YXyYtPUUy+qd9i7p+GO9Ko6VIIpWlBrpWwXDv8WLFeHTxz35CfQFUiBMLXlGHhGzys7lqit9gWag== dependencies: mute-stream "^1.0.0" @@ -2064,7 +1759,7 @@ "@jridgewell/gen-mapping" "^0.3.5" "@jridgewell/trace-mapping" "^0.3.25" -"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.4.15": +"@jridgewell/sourcemap-codec@^1.4.10", "@jridgewell/sourcemap-codec@^1.4.14", "@jridgewell/sourcemap-codec@^1.5.0": version "1.5.0" resolved "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz#3188bcb273a414b0d215fd22a58540b989b9409a" integrity sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ== @@ -2091,19 +1786,19 @@ integrity sha512-q6XAnWQDIMA3+FTiOYajoYqySkO+JSat0ytXGSuRdq9uXE7o92gzuQwQM14xaCRlBLGq3v5miDGC4vkVTn54xA== "@jsonjoy.com/json-pack@^1.0.3": - version "1.0.4" - resolved "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.0.4.tgz#ab59c642a2e5368e8bcfd815d817143d4f3035d0" - integrity sha512-aOcSN4MeAtFROysrbqG137b7gaDDSmVrl5mpo6sT/w+kcXpWnzhMjmY/Fh/sDx26NBxyIE7MB1seqLeCAzy9Sg== + version "1.1.0" + resolved "https://registry.npmjs.org/@jsonjoy.com/json-pack/-/json-pack-1.1.0.tgz#33ca57ee29d12feef540f2139225597469dec894" + integrity sha512-zlQONA+msXPPwHWZMKFVS78ewFczIll5lXiVPwFPCZUsrOKdxc2AvxU1HoNBmMRhqDZUR9HkC3UOm+6pME6Xsg== dependencies: "@jsonjoy.com/base64" "^1.1.1" "@jsonjoy.com/util" "^1.1.2" hyperdyperid "^1.2.0" thingies "^1.20.0" -"@jsonjoy.com/util@^1.1.2": - version "1.2.0" - resolved "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.2.0.tgz#0fe9a92de72308c566ebcebe8b5a3f01d3149df2" - integrity sha512-4B8B+3vFsY4eo33DMKyJPlQ3sBMpPFUZK2dr3O3rXrOGKKbYG44J0XSFkDo1VOQiri5HFEhIeVvItjR2xcazmg== +"@jsonjoy.com/util@^1.1.2", "@jsonjoy.com/util@^1.3.0": + version "1.5.0" + resolved "https://registry.npmjs.org/@jsonjoy.com/util/-/util-1.5.0.tgz#6008e35b9d9d8ee27bc4bfaa70c8cbf33a537b4c" + integrity sha512-ojoNsrIuPI9g6o8UxhraZQSyF2ByJanAY4cTFbc8Mf2AXEF4aQRGY1dJxyJpuyav8r9FGflEt/Ff3u5Nt6YMPA== "@kickstartds/core@^4.0.5": version "4.0.5" @@ -2809,25 +2504,7 @@ prop-types "^15.6.0" react-is "^16.10.0" -"@splunk/react-icons@^4.0.1", "@splunk/react-icons@^4.2.0", "@splunk/react-icons@^4.6.0": - version "4.6.0" - resolved "https://registry.npmjs.org/@splunk/react-icons/-/react-icons-4.6.0.tgz#102613beb23099ac39d095923b2464a314d1d751" - integrity sha512-BE09UwENIHC9yH7t2ixEnW5TBkhFU/y9816f4+SQoLBLSVm4gns2ga98mK50k00kiwyvmz4IS+ah1peZn3aEaw== - dependencies: - "@splunk/ui-utils" "^1.6.0" - lodash "^4.17.14" - prop-types "^15.6.2" - -"@splunk/react-icons@^4.7.0": - version "4.7.0" - resolved "https://registry.npmjs.org/@splunk/react-icons/-/react-icons-4.7.0.tgz#3c9767208fc9c58e5501709860aafe5f91ecbb22" - integrity sha512-8ZdavfLCZMLjuA0mDQYaB5JzkIqE5S1GbwxF0WNhcJh//0CdV6kCp9MfSQUEX9rlD8ajOqlj4uW+roTT6tQe/w== - dependencies: - "@splunk/ui-utils" "^1.7.0" - lodash "^4.17.14" - prop-types "^15.6.2" - -"@splunk/react-icons@^4.8.0": +"@splunk/react-icons@^4.0.1", "@splunk/react-icons@^4.2.0", "@splunk/react-icons@^4.6.0", "@splunk/react-icons@^4.7.0", "@splunk/react-icons@^4.8.0": version "4.8.0" resolved "https://registry.npmjs.org/@splunk/react-icons/-/react-icons-4.8.0.tgz#822de88fb83328852ff4d648a654760cc2522c0f" integrity sha512-61P3SG9UP4+5DrVN0OhBhwal+mSbLSGL4QF7RcT54vLy9TEcVf36A6YC+NbrsReoHp1LRQ9Pf71IAUENUgCC1Q== @@ -2872,22 +2549,7 @@ lodash "^4.17.14" prop-types "^15.6.2" -"@splunk/react-time-range@^9.2.0": - version "9.2.0" - resolved "https://registry.npmjs.org/@splunk/react-time-range/-/react-time-range-9.2.0.tgz#c92c21ee6bbc9497db4c0b8d3a5beec71b3b8f85" - integrity sha512-F5lo+ydydUugjKv9nGgLldG2CmLVxhD//fkIc8Nw9BT3a/q5pmf8dGmFOkU6sEqcUHM50E+sFt6LlZl0f1JJZQ== - dependencies: - "@babel/runtime" "^7.14.0" - "@splunk/moment" "^0.6.0" - "@splunk/react-ui" "^4.19.0" - "@splunk/splunk-utils" "^2.3.1" - "@splunk/themes" "^0.16.1" - "@splunk/time-range-utils" "^3.2.0" - "@splunk/ui-utils" "^1.5.0" - lodash "^4.17.19" - prop-types "^15.6.0" - -"@splunk/react-time-range@^9.3.1": +"@splunk/react-time-range@^9.2.0", "@splunk/react-time-range@^9.3.1": version "9.3.1" resolved "https://registry.npmjs.org/@splunk/react-time-range/-/react-time-range-9.3.1.tgz#e07e42be74463dd3c0fb44d805fb41d28f6bfa15" integrity sha512-semUdV7ywJ+grBzq3xhbxJW6pu0xKaYjhwFFGaXJrPVLgRdFq7uc9+NZafhE6952voSZOQAUpSQLIsVd4VLqsw== @@ -2915,53 +2577,7 @@ prop-types "^15.6.2" react-flip-move "^3.0.1" -"@splunk/react-ui@^4.17.1", "@splunk/react-ui@^4.19.0", "@splunk/react-ui@^4.23.0", "@splunk/react-ui@^4.32.0", "@splunk/react-ui@^4.33.0": - version "4.33.0" - resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.33.0.tgz#23a66871e98bccb3d14b8d6766ed8cefeacc0321" - integrity sha512-fXGCNdoMuj1ce/O5aNrvSc3XlSQQpbZUr5OmHBg7vAZIPbXlryoFq3+IqIKdtF5N9XqgiDfG0W8yLiXJSPgiPQ== - dependencies: - "@dnd-kit/core" "^6.1.0" - "@dnd-kit/modifiers" "^7.0.0" - "@dnd-kit/sortable" "^8.0.0" - "@dnd-kit/utilities" "^3.2.2" - "@splunk/react-icons" "^4.6.0" - "@splunk/themes" "^0.19.0" - "@splunk/ui-utils" "^1.6.0" - commonmark "^0.30.0" - commonmark-react-renderer "^4.3.2" - decimal.js-light "^2.2.3" - lodash "^4.17.14" - moment "^2.29.4" - prop-types "^15.6.2" - react-resize-detector "^3.2.1" - react-spring "9.2.4" - tinycolor2 "^1.4.1" - use-typed-event-listener "^3.0.0" - -"@splunk/react-ui@^4.37.0": - version "4.37.0" - resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.37.0.tgz#5fe8c500ace5cfcb31cee96905ea579060664e0f" - integrity sha512-lEvxXsKxndPCTlJrUMDlEqcfa49qf8NTo0+1ZmD5kk7e1xn72H03hRczPZnDyuM3LkIdzplGJc9pN05tWPgTGg== - dependencies: - "@dnd-kit/core" "^6.1.0" - "@dnd-kit/modifiers" "^7.0.0" - "@dnd-kit/sortable" "^8.0.0" - "@dnd-kit/utilities" "^3.2.2" - "@splunk/react-icons" "^4.7.0" - "@splunk/themes" "^0.21.0" - "@splunk/ui-utils" "^1.7.1" - commonmark "^0.30.0" - commonmark-react-renderer "^4.3.2" - decimal.js-light "^2.2.3" - lodash "^4.17.14" - moment "^2.29.4" - prop-types "^15.6.2" - react-resize-detector "^3.2.1" - react-spring "9.2.4" - tinycolor2 "^1.4.1" - use-typed-event-listener "^3.0.0" - -"@splunk/react-ui@^4.38.0": +"@splunk/react-ui@^4.17.1", "@splunk/react-ui@^4.19.0", "@splunk/react-ui@^4.23.0", "@splunk/react-ui@^4.32.0", "@splunk/react-ui@^4.33.0", "@splunk/react-ui@^4.37.0", "@splunk/react-ui@^4.38.0": version "4.38.0" resolved "https://registry.npmjs.org/@splunk/react-ui/-/react-ui-4.38.0.tgz#802cd17ae6f904e811be10e8a8c6f2769269f677" integrity sha512-7t5coOECgmpbez9+1wy/I8xv+/6dmJ08a39ST5WN0Qwet9zbFRmmA2Ntt+rZ39zWv4So4T1Cc7GQYIOZ47EKaA== @@ -3086,23 +2702,7 @@ "@splunk/ui-utils" "^1.5.0" lodash "^4.17.19" -"@splunk/ui-utils@^1.4.0", "@splunk/ui-utils@^1.5.0", "@splunk/ui-utils@^1.5.2", "@splunk/ui-utils@^1.6.0": - version "1.6.0" - resolved "https://registry.npmjs.org/@splunk/ui-utils/-/ui-utils-1.6.0.tgz#66576bdf80830fb0ec8b0f9e48031ce61eb54e7c" - integrity sha512-6uMStGhXno5LluvKZtO34K1LO50T6m9hgoC2FvQ5KEtFLz1MID8XkW3vLjh4zcxU/7ntgQBAlteBLRqi38AF7A== - dependencies: - keycode "^2.1.9" - lodash "^4.17.21" - -"@splunk/ui-utils@^1.7.0": - version "1.7.0" - resolved "https://registry.npmjs.org/@splunk/ui-utils/-/ui-utils-1.7.0.tgz#a84fb35b2f5ecc19439fda877faa3650d54e3398" - integrity sha512-YGyrvwQ328yvUFczod8jTdqFWjWwOCVTBC2BZ8cUsZ3YlXOBBJBM+E+vP+NDbJQnEbjbT86qb12OHPp5TAjntw== - dependencies: - keycode "^2.1.9" - lodash "^4.17.21" - -"@splunk/ui-utils@^1.7.1": +"@splunk/ui-utils@^1.4.0", "@splunk/ui-utils@^1.5.0", "@splunk/ui-utils@^1.5.2", "@splunk/ui-utils@^1.6.0", "@splunk/ui-utils@^1.7.1": version "1.7.1" resolved "https://registry.npmjs.org/@splunk/ui-utils/-/ui-utils-1.7.1.tgz#aa248358656f9f3678cd946ffaec2c2d44de2a06" integrity sha512-LSnlKMzUa2RlAZecGm9V8e+OtcceDU4ofxjrUjKMEfL5wp4AmgJrkB7LVepjOEmmrXLOHlEzJeoiAOacN4sJbQ== @@ -3255,17 +2855,17 @@ integrity sha512-6oqdH9ljEpnnt6TjkkZuCo3w0IBJH6fiTKMsVIVjaZDBPaoUhxSdRFuXOO+SI/8qf21p+xaGYbepeKZ1ne2HTQ== "@storybook/addon-a11y@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.3.4.tgz#572fafefe7d938ebc0d6f412844669f8a0ba077b" - integrity sha512-mbLAJ9vW879Fq66zTUp7Gn7GQ9ZieYDj90ngMsZIjX42SsJEkeIrwbpkwbHlJBlWm2cm7hcF+BrULI0CmTIFpQ== + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.3.5.tgz#b40d519013961c87af8c1394253a2651d90793ae" + integrity sha512-/19UO8IXbyfcYK5K8ejSYF+hC+EK79c0bBPHMNeYSFOHSqQM3KoMo+TLIcLsuhuRClmlM+4Zs+VSIYDwc+d3ig== dependencies: - "@storybook/addon-highlight" "8.3.4" + "@storybook/addon-highlight" "8.3.5" axe-core "^4.2.0" -"@storybook/addon-actions@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.4.tgz#236333853ab656215907fef153042d09b18f314a" - integrity sha512-1y0yD3upKcyzNwwA6loAGW2cRDqExwl4oAT7GJQA4tmabI+fNwmANSgU/ezLvvSUf4Qo0eJHg2Zcn8y+Apq2eA== +"@storybook/addon-actions@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-actions/-/addon-actions-8.3.5.tgz#03fdb891114439ed47cb7df6ef21826530449db7" + integrity sha512-t8D5oo+4XfD+F8091wLa2y/CDd/W2lExCeol5Vm1tp5saO+u6f2/d7iykLhTowWV84Uohi3D073uFeyTAlGebg== dependencies: "@storybook/global" "^5.0.0" "@types/uuid" "^9.0.1" @@ -3273,35 +2873,35 @@ polished "^4.2.2" uuid "^9.0.0" -"@storybook/addon-backgrounds@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.4.tgz#2c367ca27c3148d8bb300363a3b77b1e71810726" - integrity sha512-o3nl7cN3x8erJNxLEv8YptanEQAnbqnaseOAsvSC6/nnSAcRYBSs3BvekKvo4CcpS2mxn7F5NJTBFYnCXzy8EA== +"@storybook/addon-backgrounds@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-backgrounds/-/addon-backgrounds-8.3.5.tgz#479ecb6181441e7f8429569bd7cefdb74058c12f" + integrity sha512-IQGjDujuw8+iSqKREdkL8I5E/5CAHZbfOWd4A75PQK2D6qZ0fu/xRwTOQOH4jP6xn/abvfACOdL6A0d5bU90ag== dependencies: "@storybook/global" "^5.0.0" memoizerific "^1.11.3" ts-dedent "^2.0.0" -"@storybook/addon-controls@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.4.tgz#fb4c5974beb576f7bada6859f67827c756e0c46c" - integrity sha512-qQcaK6dczsb6wXkzGZKOjUYNA7FfKBewRv6NvoVKYY6LfhllGOkmUAtYpdtQG8adsZWTSoZaAOJS2vP2uM67lw== +"@storybook/addon-controls@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-controls/-/addon-controls-8.3.5.tgz#d9b7aec16e2673a473ab018b3b453cd114628181" + integrity sha512-2eCVobUUvY1Rq7sp1U8Mx8t44VXwvi0E+hqyrsqOx5TTSC/FUQ+hNAX6GSYUcFIyQQ1ORpKNlUjAAdjxBv1ZHQ== dependencies: "@storybook/global" "^5.0.0" dequal "^2.0.2" lodash "^4.17.21" ts-dedent "^2.0.0" -"@storybook/addon-docs@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.4.tgz#9dc6c9d873b50848346e5a3c807a907918561c8a" - integrity sha512-TWauhqF/gJgfwPuWeM6KM3LwC+ErCOM+K2z16w3vgao9s67sij8lnrdAoQ0hjA+kw2/KAdCakFS6FyciG81qog== +"@storybook/addon-docs@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-docs/-/addon-docs-8.3.5.tgz#df9e3310b7a63355184f5a2a7f2e2aa396588765" + integrity sha512-MOVfo1bY8kXTzbvmWnx3UuSO4WNykFz7Edvb3mxltNyuW7UDRZGuIuSe32ddT/EtLJfurrC9Ja3yBy4KBUGnMA== dependencies: "@mdx-js/react" "^3.0.0" - "@storybook/blocks" "8.3.4" - "@storybook/csf-plugin" "8.3.4" + "@storybook/blocks" "8.3.5" + "@storybook/csf-plugin" "8.3.5" "@storybook/global" "^5.0.0" - "@storybook/react-dom-shim" "8.3.4" + "@storybook/react-dom-shim" "8.3.5" "@types/react" "^16.8.0 || ^17.0.0 || ^18.0.0" fs-extra "^11.1.0" react "^16.8.0 || ^17.0.0 || ^18.0.0" @@ -3311,73 +2911,73 @@ ts-dedent "^2.0.0" "@storybook/addon-essentials@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.4.tgz#2260cc927b6f5aa2cfc89ec233f918e158d95df5" - integrity sha512-C3+3hpmSn/8zdx5sXEP0eE6zMzxgRosHVZYfe9nBcMiEDp6UKVUyHVetWxEULOEgN46ysjcpllZ0bUkRYxi2IQ== - dependencies: - "@storybook/addon-actions" "8.3.4" - "@storybook/addon-backgrounds" "8.3.4" - "@storybook/addon-controls" "8.3.4" - "@storybook/addon-docs" "8.3.4" - "@storybook/addon-highlight" "8.3.4" - "@storybook/addon-measure" "8.3.4" - "@storybook/addon-outline" "8.3.4" - "@storybook/addon-toolbars" "8.3.4" - "@storybook/addon-viewport" "8.3.4" + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.5.tgz#59599a75e3f72d1048d715f3ec35a4c07149b2f8" + integrity sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw== + dependencies: + "@storybook/addon-actions" "8.3.5" + "@storybook/addon-backgrounds" "8.3.5" + "@storybook/addon-controls" "8.3.5" + "@storybook/addon-docs" "8.3.5" + "@storybook/addon-highlight" "8.3.5" + "@storybook/addon-measure" "8.3.5" + "@storybook/addon-outline" "8.3.5" + "@storybook/addon-toolbars" "8.3.5" + "@storybook/addon-viewport" "8.3.5" ts-dedent "^2.0.0" -"@storybook/addon-highlight@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.4.tgz#77d6f2793e371723f9184900f4ceb6aef0a24f46" - integrity sha512-rxZTeuZyZ7RnU+xmRhS01COFLbGnVEmlUNxBw8ArsrTEZKW5PbKpIxNLTj9F0zdH8H0MfryJGP+Aadcm0oHWlw== +"@storybook/addon-highlight@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-highlight/-/addon-highlight-8.3.5.tgz#62293e7b39844ded33bb4ba7ee79c3c96d997fe2" + integrity sha512-ku0epul9aReCR3Gv/emwYnsqg3vgux5OmYMjoDcJC7s+LyfweSzLV/f5t9gSHazikJElh5TehtVkWbC4QfbGSw== dependencies: "@storybook/global" "^5.0.0" "@storybook/addon-interactions@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.3.4.tgz#81305449cd05d3827189eb79011a30a7a6be849c" - integrity sha512-ORxqe35wUmF7EDHo45mdDHiju3Ryk2pZ1vO9PyvW6ZItNlHt/IxAr7T/TysGejZ/eTBg6tMZR3ExGky3lTg/CQ== + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.3.5.tgz#c971925937aeb6d66bf108dc27a90a4a9cbbf8f4" + integrity sha512-GtTy/A+mG7vDOahQr2avT4dpWtCRiFDSYcWyuQOZm10y8VDDw157HQM+FuhxjV9Owrrohy9F24oBUwRG8H3b5A== dependencies: "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.3.4" - "@storybook/test" "8.3.4" + "@storybook/instrumenter" "8.3.5" + "@storybook/test" "8.3.5" polished "^4.2.2" ts-dedent "^2.2.0" "@storybook/addon-links@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.3.4.tgz#556217a6e14dd37c1344dacfd9db5a4400ab6e0a" - integrity sha512-R1DjARmxRIKJDGIG6uxmQ1yFNyoQbb+QIPUFjgWCak8+AdLJbC7W+Esvo9F5hQfh6czyy0piiM3qj5hpQJVh3A== + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.3.5.tgz#1621afd8be06af6de5e942644053d5136cc5bb83" + integrity sha512-giRCpn6cfJMYPnVJkojoQDO5ae6098fgY9YgAhwaJej/9dufNcioFdbiyfK1vyzbG6TGeTmJ9ncWCXgWRtzxPQ== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-measure@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.4.tgz#a6f9965f4ee84d2330af65ad443893b2dc821c51" - integrity sha512-IJ6WKEbqmG+r7sukFjo+bVmPB2Zry04sylGx/OGyOh7zIhhqAqpwOwMHP0uQrc3tLNnUM6qB/o83UyYX79ql+A== +"@storybook/addon-measure@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-measure/-/addon-measure-8.3.5.tgz#4eef622137f9ee615eb179e5e2af050ea0f7ab8b" + integrity sha512-6GVehgbHhFIFS69xSfRV+12VK0cnuIAtZdp1J3eUCc2ATrcigqVjTM6wzZz6kBuX6O3dcusr7Wg46KtNliqLqg== dependencies: "@storybook/global" "^5.0.0" tiny-invariant "^1.3.1" -"@storybook/addon-outline@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.4.tgz#57c66665dd771a039f29098adb3a251cd108f961" - integrity sha512-kRRJTTLKM8gMfeh/e83djN5XLlc0hFtr9zKWxuZxaXt9Hmr+9tH/PRFtVK/S4SgqnBDoXk49Wgv6raiwj5/e3A== +"@storybook/addon-outline@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-outline/-/addon-outline-8.3.5.tgz#274a497b9a6b391bf3c47aa61e19ddc28cbae395" + integrity sha512-dwmK6GzjEnQP9Yo0VnBUQtJkXZlXdfjWyskZ/IlUVc+IFdeeCtIiMyA92oMfHo8eXt0k1g21ZqMaIn7ZltOuHw== dependencies: "@storybook/global" "^5.0.0" ts-dedent "^2.0.0" -"@storybook/addon-toolbars@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.4.tgz#4662b80984f011025eddb143856f923291e68938" - integrity sha512-Km1YciVIxqluDbd1xmHjANNFyMonEOtnA6e4MrnBnC9XkPXSigeFlj0JvxyI/zjBsLBoFRmQiwq55W6l3hQ9sA== +"@storybook/addon-toolbars@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-toolbars/-/addon-toolbars-8.3.5.tgz#7328fed0f4a24c6828ba23e06b9cddd0d3e00e2b" + integrity sha512-Ml2gc9q8WbteDvmuAZGgBxt5SqWMXzuTkMjlsA8EB53hlkN1w9esX4s8YtBeNqC3HKoUzcdq8uexSBqU8fDbSA== -"@storybook/addon-viewport@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.4.tgz#f30404c6badfa8a5da17a99b900871580d9eb6ef" - integrity sha512-fU4LdXSSqIOLbCEh2leq/tZUYlFliXZBWr/+igQHdUoU7HY8RIImXqVUaR9wlCaTb48WezAWT60vJtwNijyIiQ== +"@storybook/addon-viewport@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/addon-viewport/-/addon-viewport-8.3.5.tgz#10f10871eba32cf6c484db199241122184a4324b" + integrity sha512-FSWydoPiVWFXEittG7O1YgvuaqoU9Vb+qoq9XfP/hvQHHMDcMZvC40JaV8AnJeTXaM7ngIjcn9XDEfGbFfOzXw== dependencies: memoizerific "^1.11.3" @@ -3389,10 +2989,10 @@ "@babel/core" "^7.23.7" babel-loader "^9.1.3" -"@storybook/blocks@8.3.4", "@storybook/blocks@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.4.tgz#2fed433f6fa1bce01a750b8d3b02167a32d506ec" - integrity sha512-1g4aCrd5CcN+pVhF2ATu9ZRVvAIgBMb2yF9KkCuTpdvqKDuDNK3sGb0CxjS7jp3LOvyjJr9laTOQsz8v8MQc5A== +"@storybook/blocks@8.3.5", "@storybook/blocks@^8.3.4": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.5.tgz#35e20efb0c13a235832dd945520ff8ac61f40717" + integrity sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" @@ -3409,12 +3009,12 @@ ts-dedent "^2.0.0" util-deprecate "^1.0.2" -"@storybook/builder-webpack5@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.3.4.tgz#88142c02757fd2c66a5a1048fea394ae81b5e67f" - integrity sha512-EI6ULxRap5f4YSHf5xKUQqkoNGm4MVxJR/+GImx8K5fuZ+xYw2SdYdTu6dG8V+zTh1WZ4MDwmRb6aEbXvRcrFw== +"@storybook/builder-webpack5@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/builder-webpack5/-/builder-webpack5-8.3.5.tgz#86eba6b8f3546aa1a4b264bb0253e8444b69c6f8" + integrity sha512-rhmfdiSlDn3Arki7IMYk11PO29rYuYM4LZ8GlNqREU7VUl/8Vngo/jFIa4pKaIns3ql1RrwzO1wm9JvuL/4ydA== dependencies: - "@storybook/core-webpack" "8.3.4" + "@storybook/core-webpack" "8.3.5" "@types/node" "^22.0.0" "@types/semver" "^7.3.4" browser-assert "^1.2.1" @@ -3442,33 +3042,28 @@ webpack-hot-middleware "^2.25.1" webpack-virtual-modules "^0.6.0" -"@storybook/components@^8": - version "8.2.6" - resolved "https://registry.npmjs.org/@storybook/components/-/components-8.2.6.tgz#742ff3d9ebff763af8c8a1e2e2c991112e2a27ba" - integrity sha512-H8ckH1AnLkHtMtvJ3J8LxnmDtHxkJ7NJacGctHMRrsBIvdKTVwlT4su5nAVVJlan/PrEou+jESfw+OjjBYE5PA== - -"@storybook/components@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/components/-/components-8.3.4.tgz#9ea844251534b2aabe51afac37e345cb4361ceef" - integrity sha512-iQzLJd87uGbFBbYNqlrN/ABrnx3dUrL0tjPCarzglzshZoPCNOsllJeJx5TJwB9kCxSZ8zB9TTOgr7NXl+oyVA== +"@storybook/components@^8", "@storybook/components@^8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/components/-/components-8.3.5.tgz#6a8e7f95f1b1f45df7ffcbdeeb3eef3c6cce0d3f" + integrity sha512-Rq28YogakD3FO4F8KwAtGpo1g3t4V/gfCLqTQ8B6oQUFoxLqegkWk/DlwCzvoJndXuQJfdSyM6+r1JcA4Nql5A== "@storybook/core-common@^8.0.0": - version "8.2.6" - resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.2.6.tgz#9e91485ac149f032bbcfad412d0d1e5214f8e9aa" - integrity sha512-PLBaCpX2FuuVNEaW3rOI2YtRJ5SSHhfB890ShKX/9XyD1rCjT3C11dgCNZ3Im1GLF/T6vKvfGc+5fie7W2Rjtg== + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/core-common/-/core-common-8.3.5.tgz#366af0eff857e01504fc648b0387d66761733210" + integrity sha512-Dz91pcUH4mGgKRyo5AKiD6bhjC511d7J30SmMs5lgQl7nJWlepqon7Qhy+SzsEWTWtFTgRGPs//lKTmEaVT9ug== -"@storybook/core-webpack@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.3.4.tgz#10f7774489e5e736e0748a1d614cafc21256811d" - integrity sha512-Ftsk/8RANt46roiHT0hTyqfMPUO2/jV7EvlOR5H2XKhSbssA9njK04O2ry+BbfgKItIDIx0LTiz/I575qBCCnQ== +"@storybook/core-webpack@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/core-webpack/-/core-webpack-8.3.5.tgz#3e058fdb4bd73ca5deee5b3ce5621f599dfa248d" + integrity sha512-mN8BHNc6lSGUf/nKgDr6XoTt1cX+Tap9RnKMUiROCDzfVlJPeJBrG4qrTOok7AwObzeDl9DNFyun6+pVgXJe7A== dependencies: "@types/node" "^22.0.0" ts-dedent "^2.0.0" -"@storybook/core@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/core/-/core-8.3.4.tgz#35c1a2fbb8b31c7015647309c50a08bd20961522" - integrity sha512-4PZB91JJpuKfcjeOR2LXj3ABaPLLSd2P/SfYOKNCygrDstsQa/yay3/yN5Z9yi1cIG84KRr6/sUW+0x8HsGLPg== +"@storybook/core@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/core/-/core-8.3.5.tgz#d77c93bb67c2df12e3bf84ae7def4693891b225d" + integrity sha512-GOGfTvdioNa/n+Huwg4u/dsyYyBcM+gEcdxi3B7i5x4yJ3I912KoVshumQAOF2myKSRdI8h8aGWdx7nnjd0+5Q== dependencies: "@storybook/csf" "^0.1.11" "@types/express" "^4.17.21" @@ -3484,17 +3079,17 @@ util "^0.12.5" ws "^8.2.3" -"@storybook/csf-plugin@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.4.tgz#e9294c5f67245486d2b257a8a6105d72e079ce00" - integrity sha512-ZMFWYxeTN4GxCn8dyIH4roECyLDy29yv/QKM+pHM3AC5Ny2HWI35SohWao4fGBAFxPQFbR5hPN8xa6ofHPSSTg== +"@storybook/csf-plugin@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/csf-plugin/-/csf-plugin-8.3.5.tgz#198946c438be8915b63abde04a19f26610a6d88a" + integrity sha512-ODVqNXwJt90hG7QW8I9w/XUyOGlr0l7XltmIJgXwB/2cYDvaGu3JV5Ybg7O0fxPV8uXk7JlRuUD8ZYv5Low6pA== dependencies: unplugin "^1.3.1" "@storybook/csf-tools@^8.0.0": - version "8.2.6" - resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.2.6.tgz#f1e49c41469aa451a91aa1292839877fd67d5e64" - integrity sha512-gmPuSeX7zwulg8kViY4Cpi18P91psqrRdeO64PJdYqasLmKbsdWRSNFSKeGoV3tRUADSz6uIlEeaJGd7AZPEDw== + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/csf-tools/-/csf-tools-8.3.5.tgz#9227655a641427ff98f7b8ad88367ca12e297a89" + integrity sha512-vx+8FYwrSNbaotHVbKTO7aKjtQ5ghvMRXNYYoYve2YZ/vm7Os4hbfmEjR90+XcJR5LgOQ4adlhiPWCf+pU8sEg== "@storybook/csf@^0.0.1": version "0.0.1" @@ -3516,36 +3111,31 @@ integrity sha512-FcOqPAXACP0I3oJ/ws6/rrPT9WGhu915Cg8D02a9YxLo0DE9zI+a9A5gRGvmQ09fiWPukqI8ZAEoQEdWUKMQdQ== "@storybook/icons@^1.2.10": - version "1.2.10" - resolved "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.10.tgz#d3d44912a3a88f3f04f77ce2c23a7e47e796f766" - integrity sha512-310apKdDcjbbX2VSLWPwhEwAgjxTzVagrwucVZIdGPErwiAppX8KvBuWZgPo+rQLVrtH8S+pw1dbUwjcE6d7og== + version "1.2.12" + resolved "https://registry.npmjs.org/@storybook/icons/-/icons-1.2.12.tgz#3e4c939113b67df7ab17b78f805dbb57f4acf0db" + integrity sha512-UxgyK5W3/UV4VrI3dl6ajGfHM4aOqMAkFLWe2KibeQudLf6NJpDrDMSHwZj+3iKC4jFU7dkKbbtH2h/al4sW3Q== -"@storybook/instrumenter@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.3.4.tgz#fa1e513af5e243d8757bb6a77c33e317d90935c7" - integrity sha512-jVhfNOPekOyJmta0BTkQl9Z6rgRbFHlc0eV4z1oSrzaawSlc9TFzAeDCtCP57vg3FuBX8ydDYAvyZ7s4xPpLyg== +"@storybook/instrumenter@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/instrumenter/-/instrumenter-8.3.5.tgz#ba3c6adcd928ef98859ac4ed1e5addb1164659ea" + integrity sha512-NLDXai5y2t1ITgHVK9chyL0rMFZbICCOGcnTbyWhkLbiEWZKPJ8FuB8+g+Ba6zwtCve1A1Cnb4O2LOWy7TgWQw== dependencies: "@storybook/global" "^5.0.0" "@vitest/utils" "^2.0.5" util "^0.12.4" -"@storybook/manager-api@^8": - version "8.2.6" - resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.2.6.tgz#87172bcac1deb5378246deb96d68c1d3357ff58e" - integrity sha512-uv36h/b5RhlajWtEg4cVPBYV8gZs6juux0nIE+6G9i7vt8Ild6gM9tW1KNabgZcaHFiyWJYCNWxJZoKjgUmXDg== - -"@storybook/manager-api@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.4.tgz#cd09c97ca223c4c798ab8a40281f11142f0d0eda" - integrity sha512-tBx7MBfPUrKSlD666zmVjtIvoNArwCciZiW/UJ8IWmomrTJRfFBnVvPVM2gp1lkDIzRHYmz5x9BHbYaEDNcZWQ== +"@storybook/manager-api@^8", "@storybook/manager-api@^8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/manager-api/-/manager-api-8.3.5.tgz#73560ffc3774901e503e31aefac91cd4a1579bbb" + integrity sha512-fEQoKKi7h7pzh2z9RfuzatJxubrsfL/CB99fNXQ0wshMSY/7O4ckd18pK4fzG9ErnCtLAO9qsim4N/4eQC+/8Q== -"@storybook/preset-react-webpack@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.3.4.tgz#45c53d043929a5f6da03c921e05994395280400f" - integrity sha512-aNbozlcBhuX71anW5+2Ujj+vtXHPsYLf5RKOL82lMkCc1q2CzeMuhUB2BoSsU4R4GVnXVpgRPq+3+qLAQMwr6Q== +"@storybook/preset-react-webpack@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/preset-react-webpack/-/preset-react-webpack-8.3.5.tgz#5886d265027e7854cb4d15d8ca728990894ac4f8" + integrity sha512-laS9CiZrZ4CSnBTBfkBba3hmlDhzcjIfCvx8/rk3SZ+zh93NpqXixzRt6m0UH2po63dpdu21nXrsW5Cfs88Ypw== dependencies: - "@storybook/core-webpack" "8.3.4" - "@storybook/react" "8.3.4" + "@storybook/core-webpack" "8.3.5" + "@storybook/react" "8.3.5" "@storybook/react-docgen-typescript-plugin" "1.0.6--canary.9.0c3f3b7.0" "@types/node" "^22.0.0" "@types/semver" "^7.3.4" @@ -3558,15 +3148,10 @@ tsconfig-paths "^4.2.0" webpack "5" -"@storybook/preview-api@^8", "@storybook/preview-api@^8.0.0": - version "8.2.6" - resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.2.6.tgz#8cb1f84d73bc83b9522ad15596084ef46b602575" - integrity sha512-5vTj2ndX5ng4nDntZYe+r8UwLjCIGFymhq5/r2adAvRKL+Bo4zQDWGO7bhvGJk16do2THb2JvPz49ComW9LLZw== - -"@storybook/preview-api@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.4.tgz#581395380bb4c5d6922d4393f90c349dfcc84e39" - integrity sha512-/YKQ3QDVSHmtFXXCShf5w0XMlg8wkfTpdYxdGv1CKFV8DU24f3N7KWulAgeWWCWQwBzZClDa9kzxmroKlQqx3A== +"@storybook/preview-api@^8", "@storybook/preview-api@^8.0.0", "@storybook/preview-api@^8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/preview-api/-/preview-api-8.3.5.tgz#d30debc89793a912cdd26aea1e18b92527f2cf76" + integrity sha512-VPqpudE8pmjTLvdNJoW/2//nqElDgUOmIn3QxbbCmdZTHDg5tFtxuqwdlNfArF0TxvTSBDIulXt/Q6K56TAfTg== "@storybook/react-docgen-typescript-plugin@1.0.6--canary.9.0c3f3b7.0": version "1.0.6--canary.9.0c3f3b7.0" @@ -3581,32 +3166,32 @@ react-docgen-typescript "^2.2.2" tslib "^2.0.0" -"@storybook/react-dom-shim@8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.4.tgz#493a89cd859206bfbbf50d4024410dd6bd62d35c" - integrity sha512-L4llDvjaAzqPx6h4ddZMh36wPr75PrI2S8bXy+flLqAeVRYnRt4WNKGuxqH0t0U6MwId9+vlCZ13JBfFuY7eQQ== +"@storybook/react-dom-shim@8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.5.tgz#dda5356d3bf55623b9b1429fac7bf185e59c58fd" + integrity sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw== "@storybook/react-webpack5@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.3.4.tgz#30243bc12d91f93e24d49ac966e54ea466c6e340" - integrity sha512-N8dAu9fBsWaa4cw5GTo7z6ANes+PA57oK020RLdt9KSAv5qO9zZYnysC2oq5o9q8W9D+L8wCOBpy6jEQPAyiTQ== + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.3.5.tgz#31556eb7a7d296be9489adde71a9c1da83d0044b" + integrity sha512-J7jCxjCuWvRJrAtOwe4ij8rjfTGm1Dpsfbz8xar4ItVw7ikiyALr34E3FJzfgq7M40uGXZhvCl2IVRdGeiLmzg== dependencies: - "@storybook/builder-webpack5" "8.3.4" - "@storybook/preset-react-webpack" "8.3.4" - "@storybook/react" "8.3.4" + "@storybook/builder-webpack5" "8.3.5" + "@storybook/preset-react-webpack" "8.3.5" + "@storybook/react" "8.3.5" "@types/node" "^22.0.0" -"@storybook/react@8.3.4", "@storybook/react@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/react/-/react-8.3.4.tgz#22fe88bcec8ceec8fa6da8595fbc084c7e771a32" - integrity sha512-PA7iQL4/9X2/iLrv+AUPNtlhTHJWhDao9gQIT1Hef39FtFk+TU9lZGbv+g29R1H9V3cHP5162nG2aTu395kmbA== +"@storybook/react@8.3.5", "@storybook/react@^8.3.4": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/react/-/react-8.3.5.tgz#d4e333b09f275f06b38fb1367234ad1619fbe4fa" + integrity sha512-kuBPe/wBin10SWr4EWPKxiTRGQ4RD2etGEVWVQLqVpOuJp/J2hVvXQHtCfZXU4TZT5x4PBbPRswbr58+XlF+kQ== dependencies: - "@storybook/components" "^8.3.4" + "@storybook/components" "^8.3.5" "@storybook/global" "^5.0.0" - "@storybook/manager-api" "^8.3.4" - "@storybook/preview-api" "^8.3.4" - "@storybook/react-dom-shim" "8.3.4" - "@storybook/theming" "^8.3.4" + "@storybook/manager-api" "^8.3.5" + "@storybook/preview-api" "^8.3.5" + "@storybook/react-dom-shim" "8.3.5" + "@storybook/theming" "^8.3.5" "@types/escodegen" "^0.0.6" "@types/estree" "^0.0.51" "@types/node" "^22.0.0" @@ -3650,14 +3235,14 @@ nyc "^15.1.0" playwright "^1.14.0" -"@storybook/test@8.3.4", "@storybook/test@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/test/-/test-8.3.4.tgz#74306ba2f15607a74092e1d591d63afa222569b8" - integrity sha512-HRiUenitln8QPHu6DEWUg9s9cEoiGN79lMykzXzw9shaUvdEIhWCsh82YKtmB3GJPj6qcc6dZL/Aio8srxyGAg== +"@storybook/test@8.3.5", "@storybook/test@^8.3.4": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/test/-/test-8.3.5.tgz#0dffc9d4a1eaa9552e69457b16b5085e36883c8a" + integrity sha512-1BXWsUGWk9FiKKelZZ55FDJdeoL8uRBHbjTYBRM2xJLhdNSvGzI4Tb3bkmxPpGn72Ua6AyldhlTxr2BpUFKOHA== dependencies: "@storybook/csf" "^0.1.11" "@storybook/global" "^5.0.0" - "@storybook/instrumenter" "8.3.4" + "@storybook/instrumenter" "8.3.5" "@testing-library/dom" "10.4.0" "@testing-library/jest-dom" "6.5.0" "@testing-library/user-event" "14.5.2" @@ -3665,79 +3250,79 @@ "@vitest/spy" "2.0.5" util "^0.12.4" -"@storybook/theming@^8.3.4": - version "8.3.4" - resolved "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.4.tgz#7e8ea53673fea9cbefa4464347cddb4860364f82" - integrity sha512-D4XVsQgTtpHEHLhwkx59aGy1GBwOedVr/mNns7hFrH8FjEpxrrWCuZQASq1ZpCl8LXlh7uvmT5sM2rOdQbGuGg== - -"@swc/core-darwin-arm64@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.2.tgz#102d4a546b4e78b6ea3ca9006f4377e2c8615f61" - integrity sha512-Zb8KiGaESzOgh5HBnp6Vhs2fRpngHIT81JOfIo0oaGlzAckamnG7UAXC/yK6cQ8q2KXc78utJ/yq/NM2yVKLqw== - -"@swc/core-darwin-x64@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.2.tgz#12e4d2f9f41e0592ab622585de2a106ec13b539e" - integrity sha512-qb0HY9GEexpPm46Hb3OY7E6xb4r+eniiThm+0Gcnhf19EZV2ZlsCC8Rdbhmav33x++ZqSDzZ44fxMY2vnN5VDg== - -"@swc/core-linux-arm-gnueabihf@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.2.tgz#cd02959f7e1c39ed1fc2ce38ded0127b2aba9fc9" - integrity sha512-x2+MOK3RzH3yEkaukKtpDW/udM1x9GoYtXaLNqlq6ovAzZPQ9FDFI0pm1asL4akHUw3s7YTh1aUY7QscstJAHQ== - -"@swc/core-linux-arm64-gnu@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.2.tgz#6feb78cfa0dedcb389c9c5cf6cc88bad9ecbef24" - integrity sha512-4J3HGEDus7a9xnrJUFGyJJgvj4w+BFGiZvs08xbw4Z1ZN4uHJQiJiDsQEAWWciKUxrOndP3SocUq/GhEGiDm0g== - -"@swc/core-linux-arm64-musl@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.2.tgz#63071726eb6ab55952323842899314bc4043302a" - integrity sha512-4FhQmYbj8SCmir4pHRLSn8IIFmRKHTL3eZFtOpm26RLME7rXL7Yt33DpzIeTRoHFIesI5NEfaR38WU5mY7P1pA== - -"@swc/core-linux-x64-gnu@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.2.tgz#17b49cf337d6e68112812c746541f957fe55e4ad" - integrity sha512-Loz10Hy6z5mBIAOe6OInOVsYu+PVxyknCB3thtr7QH+uqEz6dcXhU2ERrO2Lf4dsTsFs/Wb80rv8zTSwB8dpsw== - -"@swc/core-linux-x64-musl@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.2.tgz#ccbac5e7aa1d54d4ebb6c0bcbfcb4a3b4c08ac73" - integrity sha512-8p8qNWaLcTa+qHX4NSv1KNm8BQ6zPoLXuOBo9DtOEqc+K60IISGKPCAS7TJlCcv0q20JnmxZ/cEWW5Qo4TR4XQ== - -"@swc/core-win32-arm64-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.2.tgz#73a2684072c4da25a599ef24d49f4f423806c493" - integrity sha512-eNWAYOalBlFrhv/IVSQ1dxu7qIGuhxlUJZTYa8jsgLnKt93vAFd2cjLtKZ85k1OibBnq9PkKQyo4NKVr4hBavw== - -"@swc/core-win32-ia32-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.2.tgz#9134e55e34b70416377d79941e45537257163633" - integrity sha512-BbpaCPCnbQHCzpQ9yDH3qp1Y5Ijd0NSMNk4qqESN2WWx0ojV2uBTjPou5NC2MZxk8fM3iJpJ05enf+IeaXuh6A== - -"@swc/core-win32-x64-msvc@1.7.2": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.2.tgz#232d1944cf1573d1e8821ab15a9229de28ca42a8" - integrity sha512-21mf4Jg9Arx0lUnmRQtYd8IQB4WkY4LHJrvcz3EmKbwCTCXI5rQ6Ifnjk7EmG3Tizv0giHqQBQLu5NXWBz45Mg== +"@storybook/theming@^8.3.5": + version "8.3.5" + resolved "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.5.tgz#c6b807193099a8f9d1afb5d71a59037c0ef54e85" + integrity sha512-9HmDDyC691oqfg4RziIM9ElsS2HITaxmH7n/yeUPtuirkPdAQzqOzhvH/Sa0qOhifzs8VjR+Gd/a/ZQ+S38r7w== + +"@swc/core-darwin-arm64@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.26.tgz#5f4096c00e71771ca1b18c824f0c92a052c70760" + integrity sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw== + +"@swc/core-darwin-x64@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.26.tgz#867b7a4f094e6b64201090ca5fcbf3da7d0f3e22" + integrity sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ== + +"@swc/core-linux-arm-gnueabihf@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.26.tgz#35bb43894def296d92aaa2cc9372d48042f37777" + integrity sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q== + +"@swc/core-linux-arm64-gnu@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.26.tgz#8e2321cc4ec84cbfed8f8e16ff1ed7b854450443" + integrity sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q== + +"@swc/core-linux-arm64-musl@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.26.tgz#b1c16e4b23ffa9ff19973eda6ffee35d2a7de7b0" + integrity sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg== + +"@swc/core-linux-x64-gnu@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.26.tgz#388e2cc13a010cd28787aead2cecf31eb491836d" + integrity sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w== + +"@swc/core-linux-x64-musl@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.26.tgz#51e0ff30981f26d7a5b97a7a7b5b291bad050d1a" + integrity sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ== + +"@swc/core-win32-arm64-msvc@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.26.tgz#a7fdcc4074c34ee6a026506b594d00323383c11f" + integrity sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA== + +"@swc/core-win32-ia32-msvc@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.26.tgz#ae7be6dde798eebee2000b8fd84e01a439b5bd6a" + integrity sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ== + +"@swc/core-win32-x64-msvc@1.7.26": + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.26.tgz#310d607004d7319085a4dec20c0c38c3405cc05b" + integrity sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w== "@swc/core@^1.5.22": - version "1.7.2" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.7.2.tgz#03dd10d1f04476b025d70bce448691f8c4d0207a" - integrity sha512-mjIlT0e6ygKR8LZ1TjtNrDVMhnB8qpyYAdwexhuVHY255yDdDQCpuPGi20odwnE82QhFBSIWs4HcENDVO/yiMw== + version "1.7.26" + resolved "https://registry.npmjs.org/@swc/core/-/core-1.7.26.tgz#beda9b82063fcec7b56c958804a4d175aecf9a9d" + integrity sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw== dependencies: "@swc/counter" "^0.1.3" "@swc/types" "^0.1.12" optionalDependencies: - "@swc/core-darwin-arm64" "1.7.2" - "@swc/core-darwin-x64" "1.7.2" - "@swc/core-linux-arm-gnueabihf" "1.7.2" - "@swc/core-linux-arm64-gnu" "1.7.2" - "@swc/core-linux-arm64-musl" "1.7.2" - "@swc/core-linux-x64-gnu" "1.7.2" - "@swc/core-linux-x64-musl" "1.7.2" - "@swc/core-win32-arm64-msvc" "1.7.2" - "@swc/core-win32-ia32-msvc" "1.7.2" - "@swc/core-win32-x64-msvc" "1.7.2" + "@swc/core-darwin-arm64" "1.7.26" + "@swc/core-darwin-x64" "1.7.26" + "@swc/core-linux-arm-gnueabihf" "1.7.26" + "@swc/core-linux-arm64-gnu" "1.7.26" + "@swc/core-linux-arm64-musl" "1.7.26" + "@swc/core-linux-x64-gnu" "1.7.26" + "@swc/core-linux-x64-musl" "1.7.26" + "@swc/core-win32-arm64-msvc" "1.7.26" + "@swc/core-win32-ia32-msvc" "1.7.26" + "@swc/core-win32-x64-msvc" "1.7.26" "@swc/counter@^0.1.3": version "0.1.3" @@ -3949,21 +3534,41 @@ integrity sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ== "@types/estree@^1.0.0", "@types/estree@^1.0.5": - version "1.0.5" - resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz#a6ce3e556e00fd9895dd872dd172ad0d4bd687f4" - integrity sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw== + version "1.0.6" + resolved "https://registry.npmjs.org/@types/estree/-/estree-1.0.6.tgz#628effeeae2064a1b4e79f78e81d87b7e5fc7b50" + integrity sha512-AYnb1nQyY49te+VRAVgmzfcgjYS91mY5P0TKUDCLEM+gNnA+3T6rWITXRLYCpahpqSQbN5cE+gHpnPyXjHWxcw== -"@types/express-serve-static-core@*", "@types/express-serve-static-core@^4.17.33": - version "4.19.5" - resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.5.tgz#218064e321126fcf9048d1ca25dd2465da55d9c6" - integrity sha512-y6W03tvrACO72aijJ5uF02FRq5cgDR9lUxddQ8vyF+GvmjJQqbzDcJngEjURc+ZsG31VI3hODNZJ2URj86pzmg== +"@types/express-serve-static-core@*", "@types/express-serve-static-core@^5.0.0": + version "5.0.0" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-5.0.0.tgz#91f06cda1049e8f17eeab364798ed79c97488a1c" + integrity sha512-AbXMTZGt40T+KON9/Fdxx0B2WK5hsgxcfXJLr5bFpZ7b4JCex2WyQPTEKdXqfHiY5nKKBScZ7yCoO6Pvgxfvnw== dependencies: "@types/node" "*" "@types/qs" "*" "@types/range-parser" "*" "@types/send" "*" -"@types/express@*", "@types/express@^4.17.21": +"@types/express-serve-static-core@^4.17.33": + version "4.19.6" + resolved "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.19.6.tgz#e01324c2a024ff367d92c66f48553ced0ab50267" + integrity sha512-N4LZ2xG7DatVqhCZzOGb1Yi5lMbXSZcmdLDe9EzSndPV2HpWYWzRbaerl2n27irrm94EPpprqa8KpskPT085+A== + dependencies: + "@types/node" "*" + "@types/qs" "*" + "@types/range-parser" "*" + "@types/send" "*" + +"@types/express@*": + version "5.0.0" + resolved "https://registry.npmjs.org/@types/express/-/express-5.0.0.tgz#13a7d1f75295e90d19ed6e74cab3678488eaa96c" + integrity sha512-DvZriSMehGHL1ZNLzi6MidnsDhUZM/x2pRdDIKdwbUNqqwHxMlRdkxtn6/EPKyqKpHqTl/4nRZsRNLpZxZRpPQ== + dependencies: + "@types/body-parser" "*" + "@types/express-serve-static-core" "^5.0.0" + "@types/qs" "*" + "@types/serve-static" "*" + +"@types/express@^4.17.21": version "4.17.21" resolved "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz#c26d4a151e60efe0084b23dc3369ebc631ed192d" integrity sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ== @@ -4011,9 +3616,9 @@ integrity sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA== "@types/http-proxy@^1.17.8": - version "1.17.14" - resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz#57f8ccaa1c1c3780644f8a94f9c6b5000b5e2eec" - integrity sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w== + version "1.17.15" + resolved "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.15.tgz#12118141ce9775a6499ecb4c01d02f90fc839d36" + integrity sha512-25g5atgiVNTIv0LBDTg1H74Hvayx0ajtJPLLcYE3whFv75J0pWNtOBzaXJQgDTmrX1bx5U9YC2w/n65BN1HwRQ== dependencies: "@types/node" "*" @@ -4069,9 +3674,9 @@ integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ== "@types/lodash@^4.14.156", "@types/lodash@^4.14.167": - version "4.17.7" - resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.7.tgz#2f776bcb53adc9e13b2c0dfd493dfcbd7de43612" - integrity sha512-8wTvZawATi/lsmNu10/j2hk1KEP0IvjubqPE3cu1Xz7xfXXt5oCq3SNUz4fMIP4XGF9Ky+Ue2tBA3hcS7LSBlA== + version "4.17.10" + resolved "https://registry.npmjs.org/@types/lodash/-/lodash-4.17.10.tgz#64f3edf656af2fe59e7278b73d3e62404144a6e6" + integrity sha512-YpS0zzoduEhuOWjAotS6A5AVCva7X4lVlYLF0FYHAY9sdraBfnatttHItlWeZdGhuEkf+OzMNg2ZYAx8t+52uQ== "@types/mapbox__point-geometry@*", "@types/mapbox__point-geometry@^0.1.4": version "0.1.4" @@ -4116,31 +3721,17 @@ dependencies: "@types/node" "*" -"@types/node@*": - version "22.5.1" - resolved "https://registry.npmjs.org/@types/node/-/node-22.5.1.tgz#de01dce265f6b99ed32b295962045d10b5b99560" - integrity sha512-KkHsxej0j9IW1KKOOAA/XBA0z08UFSrRQHErzEfA3Vgq57eXIMYboIlHJuYIfd+lwCQjtKqUu3UnmKbtUc9yRw== +"@types/node@*", "@types/node@^22.0.0", "@types/node@^22.5.5": + version "22.7.5" + resolved "https://registry.npmjs.org/@types/node/-/node-22.7.5.tgz#cfde981727a7ab3611a481510b473ae54442b92b" + integrity sha512-jML7s2NAzMWc//QSJ1a3prpk78cOPchGvXJsC3C6R6PSMoooztvRVQEz89gmBTBY1SPMaqo5teB4uNHPdetShQ== dependencies: undici-types "~6.19.2" -"@types/node@^20.14.11": - version "20.14.12" - resolved "https://registry.npmjs.org/@types/node/-/node-20.14.12.tgz#129d7c3a822cb49fc7ff661235f19cfefd422b49" - integrity sha512-r7wNXakLeSsGT0H1AU863vS2wa5wBOK4bWMjZz2wj+8nBx+m5PeIn0k8AloSLpRuiwdRQZwarZqHE4FNArPuJQ== - dependencies: - undici-types "~5.26.4" - "@types/node@^20.16.10": - version "20.16.10" - resolved "https://registry.npmjs.org/@types/node/-/node-20.16.10.tgz#0cc3fdd3daf114a4776f54ba19726a01c907ef71" - integrity sha512-vQUKgWTjEIRFCvK6CyriPH3MZYiYlNy0fKiEYHWbcoWLEgs4opurGGKlebrTLqdSMIbXImH6XExNiIyNUv3WpA== - dependencies: - undici-types "~6.19.2" - -"@types/node@^22.0.0": - version "22.5.5" - resolved "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz#52f939dd0f65fc552a4ad0b392f3c466cc5d7a44" - integrity sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA== + version "20.16.11" + resolved "https://registry.npmjs.org/@types/node/-/node-20.16.11.tgz#9b544c3e716b1577ac12e70f9145193f32750b33" + integrity sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw== dependencies: undici-types "~6.19.2" @@ -4160,14 +3751,14 @@ integrity sha512-j3pOPiEcWZ34R6a6mN07mUkM4o4Lwf6hPNt8eilOeZhTFbxFXmKhvXl9Y28jotFPaI1bpPDJsbCprUoNke6OrA== "@types/prop-types@*": - version "15.7.12" - resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.12.tgz#12bb1e2be27293c1406acb6af1c3f3a1481d98c6" - integrity sha512-5zvhXYtRNRluoE/jAp4GVsSduVUzNWKkOZrCDBWYtE7biZywwdC2AcEzg+cSMLFRfVgeAFqpfNabiPjxFddV1Q== + version "15.7.13" + resolved "https://registry.npmjs.org/@types/prop-types/-/prop-types-15.7.13.tgz#2af91918ee12d9d32914feb13f5326658461b451" + integrity sha512-hCZTSvwbzWGvhqxp/RqVqwU999pBf2vp7hzIjiYOsl8wqOmUxkQ6ddw1cV3l8811+kdUFus/q4d1Y3E3SyEifA== "@types/qs@*": - version "6.9.15" - resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.15.tgz#adde8a060ec9c305a82de1babc1056e73bd64dce" - integrity sha512-uXHQKES6DQKKCLh441Xv/dwxOq1TVS3JPUMlEqoEglvlhR6Mxnlew/Xq/LRVHpLyk7iK3zODe1qYHIMltO7XGg== + version "6.9.16" + resolved "https://registry.npmjs.org/@types/qs/-/qs-6.9.16.tgz#52bba125a07c0482d26747d5d4947a64daf8f794" + integrity sha512-7i+zxXdPD0T4cKDuxCUXJ4wHcsJLwENa6Z3dCu8cfCK743OGy5Nu1RmAGqDPsoTDINVEcdXKRvR/zre+P2Ku1A== "@types/raf@^3.4.0": version "3.4.3" @@ -4283,9 +3874,9 @@ integrity sha512-/Ad8+nIOV7Rl++6f1BdKxFSMgmoqEoYbHRpPcx3JEfv8VRsQe9Z4mCXeJBzxs7mbHY/XOZZuXlRNfhpVPbs6ZA== "@types/unist@*", "@types/unist@^3.0.0": - version "3.0.2" - resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.2.tgz#6dd61e43ef60b34086287f83683a5c1b2dc53d20" - integrity sha512-dqId9J8K/vGi5Zr7oo212BGii5m3q5Hxlkwy3WpYuKPklmBEvsbMYYyLxAQpSffdLl/gdW0XUpKWFvYmyoWCoQ== + version "3.0.3" + resolved "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz#acaab0f919ce69cce629c2d4ed2eb4adc1b6c20c" + integrity sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q== "@types/use-sync-external-store@^0.0.3": version "0.0.3" @@ -4310,9 +3901,9 @@ integrity sha512-ltIpx+kM7g/MLRZfkbL7EsCEjfzCcScLpkg37eXEtx5kmrAKBkTJwd1GIAjDSL8wTpM6Hzn5YO4pSb91BEwu1g== "@types/ws@^8.5.10": - version "8.5.11" - resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.11.tgz#90ad17b3df7719ce3e6bc32f83ff954d38656508" - integrity sha512-4+q7P5h3SpJxaBft0Dzpbr6lmMaqh0Jr2tbhJZ/luAwvD7ohSCniYkwz/pLxuT2h0EOa6QADgJj1Ko+TzRfZ+w== + version "8.5.12" + resolved "https://registry.npmjs.org/@types/ws/-/ws-8.5.12.tgz#619475fe98f35ccca2a2f6c137702d85ec247b7e" + integrity sha512-3tPRkv1EtkDpzlgyKyI8pGsGZAGPEaXeu0DOj5DI25Ja91bdAYddYHbADRYVrZMRbfW+1l5YwXVDKohDJNQxkQ== dependencies: "@types/node" "*" @@ -4322,9 +3913,9 @@ integrity sha512-I4q9QU9MQv4oEOz4tAHJtNz1cwuLxn2F3xcc2iV5WdqLPpUnj30aUuxt1mAxYTG+oe8CZMV/+6rU4S4gRDzqtQ== "@types/yargs@^17.0.8": - version "17.0.32" - resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.32.tgz#030774723a2f7faafebf645f4e5a48371dca6229" - integrity sha512-xQ67Yc/laOG5uMfX/093MRlGGCIBzZMarVa+gfNKJxWAIgykYpVGkBdbqEzGDDfCrVUj6Hiff4mTZ5BA6TmAog== + version "17.0.33" + resolved "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.33.tgz#8c32303da83eec050a84b3c7ae7b9f922d13e32d" + integrity sha512-WpxBCKWPLr4xSsHgz511rFJAM+wS28w2zEO1QDNY5zM/S8ok70NNfztH0xwhqKyaK0OHCbN98LDAZuy1ctxDkA== dependencies: "@types/yargs-parser" "*" @@ -4372,13 +3963,13 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/scope-manager@8.2.0": - version "8.2.0" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.2.0.tgz#4a4bd7e7df5522acc8795c3b6f21e8c41b951138" - integrity sha512-OFn80B38yD6WwpoHU2Tz/fTz7CgFqInllBoC3WP+/jLbTb4gGPTy9HBSTsbDWkMdN55XlVU0mMDYAtgvlUspGw== +"@typescript-eslint/scope-manager@8.8.1": + version "8.8.1" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.1.tgz#b4bea1c0785aaebfe3c4ab059edaea1c4977e7ff" + integrity sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA== dependencies: - "@typescript-eslint/types" "8.2.0" - "@typescript-eslint/visitor-keys" "8.2.0" + "@typescript-eslint/types" "8.8.1" + "@typescript-eslint/visitor-keys" "8.8.1" "@typescript-eslint/type-utils@6.21.0": version "6.21.0" @@ -4400,10 +3991,10 @@ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== -"@typescript-eslint/types@8.2.0": - version "8.2.0" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.2.0.tgz#dfe9895a2812f7c6bf7af863054c22a67060420c" - integrity sha512-6a9QSK396YqmiBKPkJtxsgZZZVjYQ6wQ/TlI0C65z7vInaETuC6HAHD98AGLC8DyIPqHytvNuS8bBVvNLKyqvQ== +"@typescript-eslint/types@8.8.1": + version "8.8.1" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.1.tgz#ebe85e0fa4a8e32a24a56adadf060103bef13bd1" + integrity sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -4432,15 +4023,15 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/typescript-estree@8.2.0": - version "8.2.0" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.2.0.tgz#fbdb93a1c7ac7f1f96ae2de4fc97cd64c60ae894" - integrity sha512-kiG4EDUT4dImplOsbh47B1QnNmXSoUqOjWDvCJw/o8LgfD0yr7k2uy54D5Wm0j4t71Ge1NkynGhpWdS0dEIAUA== +"@typescript-eslint/typescript-estree@8.8.1": + version "8.8.1" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.1.tgz#34649f4e28d32ee49152193bc7dedc0e78e5d1ec" + integrity sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg== dependencies: - "@typescript-eslint/types" "8.2.0" - "@typescript-eslint/visitor-keys" "8.2.0" + "@typescript-eslint/types" "8.8.1" + "@typescript-eslint/visitor-keys" "8.8.1" debug "^4.3.4" - globby "^11.1.0" + fast-glob "^3.3.2" is-glob "^4.0.3" minimatch "^9.0.4" semver "^7.6.0" @@ -4474,14 +4065,14 @@ semver "^7.3.7" "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.2.0" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.2.0.tgz#02d442285925f28d520587185f295f932702e733" - integrity sha512-O46eaYKDlV3TvAVDNcoDzd5N550ckSe8G4phko++OCSC1dYIb9LTc3HDGYdWqWIAT5qDUKphO6sd9RrpIJJPfg== + version "8.8.1" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.1.tgz#9e29480fbfa264c26946253daa72181f9f053c9d" + integrity sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.2.0" - "@typescript-eslint/types" "8.2.0" - "@typescript-eslint/typescript-estree" "8.2.0" + "@typescript-eslint/scope-manager" "8.8.1" + "@typescript-eslint/types" "8.8.1" + "@typescript-eslint/typescript-estree" "8.8.1" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -4499,12 +4090,12 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" -"@typescript-eslint/visitor-keys@8.2.0": - version "8.2.0" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.2.0.tgz#f6abb3b6508898a117175ddc11f9b9869cc96834" - integrity sha512-sbgsPMW9yLvS7IhCi8IpuK1oBmtbWUNP+hBdwl/I9nzqVsszGnNGti5r9dUtF5RLivHUFFIdRvLiTsPhzSyJ3Q== +"@typescript-eslint/visitor-keys@8.8.1": + version "8.8.1" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.1.tgz#0fb1280f381149fc345dfde29f7542ff4e587fc5" + integrity sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag== dependencies: - "@typescript-eslint/types" "8.2.0" + "@typescript-eslint/types" "8.8.1" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": @@ -4529,10 +4120,10 @@ dependencies: tinyrainbow "^1.2.0" -"@vitest/pretty-format@2.1.1": - version "2.1.1" - resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.1.tgz#fea25dd4e88c3c1329fbccd1d16b1d607eb40067" - integrity sha512-SjxPFOtuINDUW8/UkElJYQSFtnWX7tMksSGW0vfjxMneFqxVr8YJ979QpMbDW7g+BIiq88RAGDjf7en6rvLPPQ== +"@vitest/pretty-format@2.1.2": + version "2.1.2" + resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.2.tgz#42882ea18c4cd40428e34f74bbac706a82465193" + integrity sha512-FIoglbHrSUlOJPDGIrh2bjX1sNars5HbxlcsFKCtKzu4+5lpsRhOCVcuzp0fEhAGHkPZRIXVNzPcpSlkoZ3LuA== dependencies: tinyrainbow "^1.2.0" @@ -4554,11 +4145,11 @@ tinyrainbow "^1.2.0" "@vitest/utils@^2.0.5": - version "2.1.1" - resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.1.tgz#284d016449ecb4f8704d198d049fde8360cc136e" - integrity sha512-Y6Q9TsI+qJ2CC0ZKj6VBb+T8UPz593N113nnUykqwANqhgf3QkZeHFlusgKLTqrnVHbj/XDKZcDHol+dxVT+rQ== + version "2.1.2" + resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.2.tgz#222ac35ba02493173e40581256eb7a62520fcdba" + integrity sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ== dependencies: - "@vitest/pretty-format" "2.1.1" + "@vitest/pretty-format" "2.1.2" loupe "^3.1.1" tinyrainbow "^1.2.0" @@ -4727,9 +4318,9 @@ accepts@~1.3.4, accepts@~1.3.5, accepts@~1.3.8: negotiator "0.6.3" ace-builds@^1.17.0: - version "1.35.4" - resolved "https://registry.npmjs.org/ace-builds/-/ace-builds-1.35.4.tgz#f41d7ef57c3a7d424cd7e3300bef0cbef905c84f" - integrity sha512-r0KQclhZ/uk5a4zOqRYQkJuQuu4vFMiA6VTj54Tk4nI1TUR3iEMMppZkWbNoWEgWwv4ciDloObb9Rf4V55Qgjw== + version "1.36.2" + resolved "https://registry.npmjs.org/ace-builds/-/ace-builds-1.36.2.tgz#9499bd59e839a335ac4850e74549ca8d849dc554" + integrity sha512-eqqfbGwx/GKjM/EnFu4QtQ+d2NNBu84MGgxoG8R5iyFpcVeQ4p9YlTL+ZzdEJqhdkASqoqOxCSNNGyB6lvMm+A== acorn-globals@^7.0.0: version "7.0.1" @@ -4755,9 +4346,9 @@ acorn-walk@^7.2.0: integrity sha512-OPdCF6GsMIP+Az+aWfAAOEt2/+iVDKE7oy6lJ098aoe59oAmK76qV6Gw60SbZ8jHuG2wH058GF4pLFbYamYrVA== acorn-walk@^8.0.2, acorn-walk@^8.1.1: - version "8.3.3" - resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.3.tgz#9caeac29eefaa0c41e3d4c65137de4d6f34df43e" - integrity sha512-MxXdReSRhGO7VlFe1bRG/oI7/mdLV9B9JJT0N8vZOhF7gFRR5l3M8W9G8JxmKV+JC5mGqJ0QvqfSOLsCPa4nUw== + version "8.3.4" + resolved "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.4.tgz#794dd169c3977edf4ba4ea47583587c5866236b7" + integrity sha512-ueEepnujpqee2o5aIYnvHU6C0A42MNdsIDeqy5BydrkuC5R1ZuUFnm27EeFJGoEHJQgn3uleRvmTXaJgfXbt4g== dependencies: acorn "^8.11.0" @@ -4915,13 +4506,18 @@ aria-query@5.1.3, aria-query@~5.1.3: dependencies: deep-equal "^2.0.5" -aria-query@5.3.0, aria-query@^5.0.0: +aria-query@5.3.0: version "5.3.0" resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz#650c569e41ad90b51b3d7df5e5eed1c7549c103e" integrity sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A== dependencies: dequal "^2.0.3" +aria-query@^5.0.0: + version "5.3.2" + resolved "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz#93f81a43480e33a338f19163a3d10a50c01dcd59" + integrity sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw== + arr-union@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz#e39b09aea9def866a8f206e288af63919bae39c4" @@ -5082,26 +4678,12 @@ available-typed-arrays@^1.0.7: dependencies: possible-typed-array-names "^1.0.0" -axe-core@^4.10.0: +axe-core@^4.10.0, axe-core@^4.2.0: version "4.10.0" resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.10.0.tgz#d9e56ab0147278272739a000880196cdfe113b59" integrity sha512-Mr2ZakwQ7XUAjp7pAwQWRhhK8mQQ6JAaNWSjmjxil0R8BPioMtQsTLOolGYkji1rcL++3dCqZA3zWqpT+9Ew6g== -axe-core@^4.2.0: - version "4.9.1" - resolved "https://registry.npmjs.org/axe-core/-/axe-core-4.9.1.tgz#fcd0f4496dad09e0c899b44f6c4bb7848da912ae" - integrity sha512-QbUdXJVTpvUTHU7871ppZkdOLBeGUKBQWHkHrvN2V9IQWGMt61zf3B45BtzjxEJzYuj0JBjBZP/hmYS/R9pmAw== - -axios@^1.6.1: - version "1.7.4" - resolved "https://registry.npmjs.org/axios/-/axios-1.7.4.tgz#4c8ded1b43683c8dd362973c393f3ede24052aa2" - integrity sha512-DukmaFRnY6AzAALSH4J2M3k6PkaC+MfaAGdEERRWcC9q3/TWQwLpHR8ZRLKTdQ3aBDL64EdluRDjJqKw+BPZEw== - dependencies: - follow-redirects "^1.15.6" - form-data "^4.0.0" - proxy-from-env "^1.1.0" - -axios@^1.7.7: +axios@^1.6.1, axios@^1.7.7: version "1.7.7" resolved "https://registry.npmjs.org/axios/-/axios-1.7.7.tgz#2f554296f9892a72ac8d8e4c5b79c14a91d0a47f" integrity sha512-S4kL7XrjgBmvdGut0sN3yJxqYzrDOnivkBiN0OFs6hLiUam3UPvswUo0kqGyhqUZGEOytHyumEdXsAkgCOUf3Q== @@ -5151,9 +4733,9 @@ babel-loader@^8.4.1: schema-utils "^2.6.5" babel-loader@^9.1.3: - version "9.1.3" - resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz#3d0e01b4e69760cc694ee306fe16d358aa1c6f9a" - integrity sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw== + version "9.2.1" + resolved "https://registry.npmjs.org/babel-loader/-/babel-loader-9.2.1.tgz#04c7835db16c246dd19ba0914418f3937797587b" + integrity sha512-fqe8naHt46e0yIdkjUZYqddSXfej3AHajX+CSO5X7oy0EmPc6o5Xh+RClNoHjnieWz9AW4kZxW9yyFMhVB1QLA== dependencies: find-cache-dir "^4.0.0" schema-utils "^4.0.0" @@ -5188,14 +4770,6 @@ babel-plugin-polyfill-corejs2@^0.4.10: "@babel/helper-define-polyfill-provider" "^0.6.2" semver "^6.3.1" -babel-plugin-polyfill-corejs3@^0.10.4: - version "0.10.4" - resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.4.tgz#789ac82405ad664c20476d0233b485281deb9c77" - integrity sha512-25J6I8NGfa5YkCDogHRID3fVCadIR8/pGl1/spvCkzb6lVn6SR3ojpx9nOn9iEBcUsjY24AmdKm5khcfKdylcg== - dependencies: - "@babel/helper-define-polyfill-provider" "^0.6.1" - core-js-compat "^3.36.1" - babel-plugin-polyfill-corejs3@^0.10.6: version "0.10.6" resolved "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.10.6.tgz#2deda57caef50f59c525aeb4964d3b2f867710c7" @@ -5223,22 +4797,25 @@ babel-plugin-polyfill-regenerator@^0.6.1: picomatch "^2.3.1" babel-preset-current-node-syntax@^1.0.0: - version "1.0.1" - resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.0.1.tgz#b4399239b89b2a011f9ddbe3e4f401fc40cff73b" - integrity sha512-M7LQ0bxarkxQoN+vz5aJPsLBn77n8QgTFmo8WK0/44auK2xlCXrYcUxHFxgU7qW5Yzw/CjmLRK2uJzaCd7LvqQ== + version "1.1.0" + resolved "https://registry.npmjs.org/babel-preset-current-node-syntax/-/babel-preset-current-node-syntax-1.1.0.tgz#9a929eafece419612ef4ae4f60b1862ebad8ef30" + integrity sha512-ldYss8SbBlWva1bs28q78Ju5Zq1F+8BrqBZZ0VFhLBvhh6lCpC2o3gDJi/5DRLs9FgYZCnmPYIVFU4lRXCkyUw== dependencies: "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/plugin-syntax-bigint" "^7.8.3" - "@babel/plugin-syntax-class-properties" "^7.8.3" - "@babel/plugin-syntax-import-meta" "^7.8.3" + "@babel/plugin-syntax-class-properties" "^7.12.13" + "@babel/plugin-syntax-class-static-block" "^7.14.5" + "@babel/plugin-syntax-import-attributes" "^7.24.7" + "@babel/plugin-syntax-import-meta" "^7.10.4" "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.8.3" + "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.8.3" + "@babel/plugin-syntax-numeric-separator" "^7.10.4" "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-top-level-await" "^7.8.3" + "@babel/plugin-syntax-private-property-in-object" "^7.14.5" + "@babel/plugin-syntax-top-level-await" "^7.14.5" babel-preset-jest@^29.6.3: version "29.6.3" @@ -5295,10 +4872,10 @@ binary-extensions@^2.0.0: resolved "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.3.0.tgz#f6e14a97858d327252200242d4ccfe522c445522" integrity sha512-Ceh+7ox5qe7LJuLHoY0feh3pHuUDHAcRUeyL2VYghZwfpkNIy/+8Ocg0a3UuSoYzavmylwuLWQOf3hl0jjMMIw== -body-parser@1.20.2: - version "1.20.2" - resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz#6feb0e21c4724d06de7ff38da36dad4f57a747fd" - integrity sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA== +body-parser@1.20.3: + version "1.20.3" + resolved "https://registry.npmjs.org/body-parser/-/body-parser-1.20.3.tgz#1953431221c6fb5cd63c4b36d53fab0928e548c6" + integrity sha512-7rAxByjUMqQ3/bHJy7D6OGXvx/MMc4IqBn/X0fcM1QUcAItpZrBEYhWGem+tzXH90c+G01ypMcYJBO9Y30203g== dependencies: bytes "3.1.2" content-type "~1.0.5" @@ -5308,7 +4885,7 @@ body-parser@1.20.2: http-errors "2.0.0" iconv-lite "0.4.24" on-finished "2.4.1" - qs "6.11.0" + qs "6.13.0" raw-body "2.5.2" type-is "~1.6.18" unpipe "1.0.0" @@ -5368,26 +4945,16 @@ browser-assert@^1.2.1: resolved "https://registry.npmjs.org/browser-assert/-/browser-assert-1.2.1.tgz#9aaa5a2a8c74685c2ae05bfe46efd606f068c200" integrity sha512-nfulgvOR6S4gt9UKCeGJOuSGBPGiFT6oQ/2UBnvTY/5aQ1PnksW72fhZkM30DzoRRv2WpwZf1vHHEr3mtuXIWQ== -browserslist@^4.21.10, browserslist@^4.23.3: - version "4.23.3" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.3.tgz#debb029d3c93ebc97ffbc8d9cbb03403e227c800" - integrity sha512-btwCFJVjI4YWDNfau8RhZ+B1Q/VLoUITrm3RlP6y1tYGWIOa+InuYiRGXUBXo8nA1qKmHMyLB/iVQg5TT4eFoA== +browserslist@^4.21.10, browserslist@^4.23.3, browserslist@^4.24.0: + version "4.24.0" + resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.24.0.tgz#a1325fe4bc80b64fda169629fc01b3d6cecd38d4" + integrity sha512-Rmb62sR1Zpjql25eSanFGEhAxcFwfA1K0GuQcLoaJBAcENegrQut3hYdhXFF1obQfiDyqIW/cLM5HSJ/9k884A== dependencies: - caniuse-lite "^1.0.30001646" - electron-to-chromium "^1.5.4" + caniuse-lite "^1.0.30001663" + electron-to-chromium "^1.5.28" node-releases "^2.0.18" update-browserslist-db "^1.1.0" -browserslist@^4.23.0, browserslist@^4.23.1: - version "4.23.2" - resolved "https://registry.npmjs.org/browserslist/-/browserslist-4.23.2.tgz#244fe803641f1c19c28c48c4b6ec9736eb3d32ed" - integrity sha512-qkqSyistMYdxAcw+CzbZwlBy8AGmS/eEWs+sEV5TnLRGDOL+C5M2EnH6tlZyg0YoAxGJAFKh61En9BR941GnHA== - dependencies: - caniuse-lite "^1.0.30001640" - electron-to-chromium "^1.4.820" - node-releases "^2.0.14" - update-browserslist-db "^1.1.0" - bser@2.1.1: version "2.1.1" resolved "https://registry.npmjs.org/bser/-/bser-2.1.1.tgz#e6787da20ece9d07998533cfd9de6f5c38f4bc05" @@ -5505,10 +5072,10 @@ camelize@^1.0.0: resolved "https://registry.npmjs.org/camelize/-/camelize-1.0.1.tgz#89b7e16884056331a35d6b5ad064332c91daa6c3" integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== -caniuse-lite@^1.0.30001640, caniuse-lite@^1.0.30001646: - version "1.0.30001653" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001653.tgz#b8af452f8f33b1c77f122780a4aecebea0caca56" - integrity sha512-XGWQVB8wFQ2+9NZwZ10GxTYC5hk0Fa+q8cSkr0tgvMhYhMHP/QC+WTgrePMDBWiWc/pV+1ik82Al20XOK25Gcw== +caniuse-lite@^1.0.30001663: + version "1.0.30001667" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz#99fc5ea0d9c6e96897a104a8352604378377f949" + integrity sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw== canvg@^3.0.6: version "3.0.10" @@ -5585,7 +5152,7 @@ check-error@^2.1.1: resolved "https://registry.npmjs.org/check-error/-/check-error-2.1.1.tgz#87eb876ae71ee388fa0471fe423f494be1d96ccc" integrity sha512-OAlb+T7V4Op9OwdkjmguYRqncdlx5JiofwOAUkmTF+jNdHwzTaTs4sRAGpzLF3oOz5xAyDGrPgeIDFQmDOTiJw== -"chokidar@>=3.0.0 <4.0.0", chokidar@^3.5.3, chokidar@^3.6.0: +chokidar@^3.5.3, chokidar@^3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz#197c6cc669ef2a8dc5e7b4d97ee4e092c3eb0d5b" integrity sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw== @@ -5600,10 +5167,17 @@ check-error@^2.1.1: optionalDependencies: fsevents "~2.3.2" +chokidar@^4.0.0: + version "4.0.1" + resolved "https://registry.npmjs.org/chokidar/-/chokidar-4.0.1.tgz#4a6dff66798fb0f72a94f616abbd7e1a19f31d41" + integrity sha512-n8enUVCED/KVRQlab1hr3MVpcVMvxtZjmEa956u+4YijlmQED223XMSYj2tLuKvr4jcCTzNNMpQDUer72MMmzA== + dependencies: + readdirp "^4.0.1" + chroma-js@^2.0.0: - version "2.4.2" - resolved "https://registry.npmjs.org/chroma-js/-/chroma-js-2.4.2.tgz#dffc214ed0c11fa8eefca2c36651d8e57cbfb2b0" - integrity sha512-U9eDw6+wt7V8z5NncY2jJfZa+hUH8XEj8FQHgFJTrUFnJfXYf4Ml4adI2vXZOjqRDpFWtYVWypDfZwnJ+HIR4A== + version "2.6.0" + resolved "https://registry.npmjs.org/chroma-js/-/chroma-js-2.6.0.tgz#578743dd359698a75067a19fa5571dec54d0b70b" + integrity sha512-BLHvCB9s8Z1EV4ethr6xnkl/P2YRFOGqfgvuMG/MyCbZPrTA+NeiByY6XvgF0zP4/2deU2CXnWyMa3zu1LqQ3A== chrome-trace-event@^1.0.2: version "1.0.4" @@ -5616,9 +5190,9 @@ ci-info@^3.2.0: integrity sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ== cjs-module-lexer@^1.0.0, cjs-module-lexer@^1.2.3: - version "1.3.1" - resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.3.1.tgz#c485341ae8fd999ca4ee5af2d7a1c9ae01e0099c" - integrity sha512-a3KdPAANPbNE4ZUv9h6LckSl9zLsYOP4MBmhIPkRaeyybt+r4UghLvq+xw/YwUcC1gqylCkL4rdVs3Lwupjm4Q== + version "1.4.1" + resolved "https://registry.npmjs.org/cjs-module-lexer/-/cjs-module-lexer-1.4.1.tgz#707413784dbb3a72aa11c2f2b042a0bef4004170" + integrity sha512-cuSVIHi9/9E/+821Qjdvngor+xpnlwnuwIyZOaLmHBVdXL+gP+I6QQB9VkO7RI77YIcTV+S1W9AreJ5eN63JBA== classnames@^2.5.1: version "2.5.1" @@ -5637,11 +5211,6 @@ clean-stack@^2.0.0: resolved "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz#ee8472dbb129e727b31e8a10a427dee9dfe4008b" integrity sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A== -cli-spinners@^2.9.2: - version "2.9.2" - resolved "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz#1773a8f4b9c4d6ac31563df53b3fc1d79462fe41" - integrity sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg== - cli-width@^4.1.0: version "4.1.0" resolved "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz#42daac41d3c254ef38ad8ac037672130173691c5" @@ -5867,14 +5436,7 @@ cookie@^0.5.0: resolved "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz#d1f5d71adec6558c58f389987c366aa47e994f8b" integrity sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw== -core-js-compat@^3.36.1, core-js-compat@^3.37.1: - version "3.37.1" - resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.37.1.tgz#c844310c7852f4bdf49b8d339730b97e17ff09ee" - integrity sha512-9TNiImhKvQqSUkOvk/mMRZzOANTiEVC7WaBNhHcKM7x+/5E1l5NvsysR19zuDQScE8k+kfQXWRN3AtS/eOSHpg== - dependencies: - browserslist "^4.23.0" - -core-js-compat@^3.38.0: +core-js-compat@^3.38.0, core-js-compat@^3.38.1: version "3.38.1" resolved "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.38.1.tgz#2bc7a298746ca5a7bcb9c164bcb120f2ebc09a09" integrity sha512-JRH6gfXxGmrzF3tZ57lFx97YARxCXPaMzPo6jELZhv88pBH5VXpQ+y0znKGlFnzuaihqhLbefxSJxWJMPtfDzw== @@ -5882,9 +5444,9 @@ core-js-compat@^3.38.0: browserslist "^4.23.3" core-js@^3.6.0, core-js@^3.8.3: - version "3.37.1" - resolved "https://registry.npmjs.org/core-js/-/core-js-3.37.1.tgz#d21751ddb756518ac5a00e4d66499df981a62db9" - integrity sha512-Xn6qmxrQZyB0FFY8E3bgRXei3lWDJHhvI+u0q9TKIYM49G8pAr0FgnnrFRAmsbptZL1yxRADVXn+x5AGsbBfyw== + version "3.38.1" + resolved "https://registry.npmjs.org/core-js/-/core-js-3.38.1.tgz#aa375b79a286a670388a1a363363d53677c0383e" + integrity sha512-OP35aUorbU3Zvlx7pjsFdu1rGNnD4pgw/CWoYzRY3t2EzoVT7shKHY1dlAy3f41cGIO7ZDPQimhGFTlEYkG/Hw== core-util-is@~1.0.0: version "1.0.3" @@ -6242,12 +5804,12 @@ debug@2.6.9: dependencies: ms "2.0.0" -debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4: - version "4.3.5" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.5.tgz#e83444eceb9fedd4a1da56d671ae2446a01a6e1e" - integrity sha512-pt0bNEmneDIvdL1Xsd9oDQ/wrQRkXDT4AUWlNZNPKvW5x/jyO9VFXkJUP07vQ2upmw5PlaITaPKc31jK13V+jg== +debug@4, debug@^4.1.0, debug@^4.1.1, debug@^4.3.1, debug@^4.3.2, debug@^4.3.4, debug@^4.3.5: + version "4.3.7" + resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" + integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== dependencies: - ms "2.1.2" + ms "^2.1.3" debug@^3.1.0, debug@^3.2.7: version "3.2.7" @@ -6256,13 +5818,6 @@ debug@^3.1.0, debug@^3.2.7: dependencies: ms "^2.1.1" -debug@^4.3.5: - version "4.3.7" - resolved "https://registry.npmjs.org/debug/-/debug-4.3.7.tgz#87945b4151a011d76d95a198d7111c865c360a52" - integrity sha512-Er2nc/H7RrMXZBFCEim6TCmMk02Z8vLC2Rbi1KEBggpo0fS6l0S1nnapwmIi3yW/+GOJap1Krg4w0Hg80oCqgQ== - dependencies: - ms "^2.1.3" - decamelize-keys@^1.1.0: version "1.1.1" resolved "https://registry.npmjs.org/decamelize-keys/-/decamelize-keys-1.1.1.tgz#04a2d523b2f18d80d0158a43b895d56dff8d19d8" @@ -6597,10 +6152,10 @@ ee-first@1.1.1: resolved "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== -electron-to-chromium@^1.4.820, electron-to-chromium@^1.5.4: - version "1.5.13" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.13.tgz#1abf0410c5344b2b829b7247e031f02810d442e6" - integrity sha512-lbBcvtIJ4J6sS4tb5TLp1b4LyfCdMkwStzXPyAgVgTRAsep4bvrAGaBOP7ZJtQMNJpSQ9SqG4brWOroNaQtm7Q== +electron-to-chromium@^1.5.28: + version "1.5.33" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.33.tgz#8f64698661240e70fdbc4b032e6085e391f05e09" + integrity sha512-+cYTcFB1QqD4j4LegwLfpCNxifb6dDFUAwk6RsLusCwIaZI6or2f+q8rs5tTB2YC53HhOlIbEaqHMAAC8IOIwA== element-resize-detector@^1.2.4: version "1.2.4" @@ -6634,6 +6189,11 @@ encodeurl@~1.0.2: resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz#ad3ff4c86ec2d029322f5a02c3a9a606c95b3f59" integrity sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w== +encodeurl@~2.0.0: + version "2.0.0" + resolved "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz#7b8ea898077d7e409d3ac45474ea38eaf0857a58" + integrity sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg== + endent@^2.0.1: version "2.1.0" resolved "https://registry.npmjs.org/endent/-/endent-2.1.0.tgz#5aaba698fb569e5e18e69e1ff7a28ff35373cd88" @@ -6672,9 +6232,9 @@ entities@~2.0: integrity sha512-MyoZ0jgnLvB2X3Lg5HqpFmn1kybDiIfEQmKzTb5apr51Rb+T3KdmMiqa70T+bhGnyv7bQ6WMj2QMHpGMmlrUYQ== envinfo@^7.7.3: - version "7.13.0" - resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.13.0.tgz#81fbb81e5da35d74e814941aeab7c325a606fb31" - integrity sha512-cvcaMr7KqXVh4nyzGTVqTum+gAiL265x5jUWQIDLq//zOGbW+gSW/C+OWLleY/rs9Qole6AZLMXPbtIFQbqu+Q== + version "7.14.0" + resolved "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz#26dac5db54418f2a4c1159153a0b2ae980838aae" + integrity sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg== err-code@^2.0.2: version "2.0.3" @@ -6901,10 +6461,10 @@ esbuild@^0.17.18: "@esbuild/win32-ia32" "0.23.1" "@esbuild/win32-x64" "0.23.1" -escalade@^3.1.1, escalade@^3.1.2: - version "3.1.2" - resolved "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz#54076e9ab29ea5bf3d8f1ed62acffbb88272df27" - integrity sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA== +escalade@^3.1.1, escalade@^3.2.0: + version "3.2.0" + resolved "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz#011a3f69856ba189dffa7dc8fcce99d2a87903e5" + integrity sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA== escape-html@~1.0.3: version "1.0.3" @@ -6983,17 +6543,17 @@ eslint-import-resolver-typescript@^3.6.3: is-bun-module "^1.0.2" is-glob "^4.0.3" -eslint-module-utils@^2.8.1, eslint-module-utils@^2.9.0: - version "2.11.0" - resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.11.0.tgz#b99b211ca4318243f09661fae088f373ad5243c4" - integrity sha512-gbBE5Hitek/oG6MUVj6sFuzEjA/ClzNflVrLovHi/JgLdC7fiN5gLAY1WIPW1a0V5I999MnsrvVrCOGmmVqDBQ== +eslint-module-utils@^2.12.0, eslint-module-utils@^2.8.1: + version "2.12.0" + resolved "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.0.tgz#fe4cfb948d61f49203d7b08871982b65b9af0b0b" + integrity sha512-wALZ0HFoytlyh/1+4wuZ9FJCD/leWHQzzrxJ8+rebyReSLk7LApMyd3WJaLVoN+D5+WIdJyDK1c6JnE65V4Zyg== dependencies: debug "^3.2.7" eslint-plugin-import@^2.30.0: - version "2.30.0" - resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.30.0.tgz#21ceea0fc462657195989dd780e50c92fe95f449" - integrity sha512-/mHNE9jINJfiD2EKkg1BKyPyUk4zdnT54YgbOgfjSakWT5oyX/qQLVNTkehyfpcMxZXMy1zyonZ2v7hZTX43Yw== + version "2.31.0" + resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" + integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== dependencies: "@rtsao/scc" "^1.1.0" array-includes "^3.1.8" @@ -7003,7 +6563,7 @@ eslint-plugin-import@^2.30.0: debug "^3.2.7" doctrine "^2.1.0" eslint-import-resolver-node "^0.3.9" - eslint-module-utils "^2.9.0" + eslint-module-utils "^2.12.0" hasown "^2.0.2" is-core-module "^2.15.1" is-glob "^4.0.3" @@ -7012,6 +6572,7 @@ eslint-plugin-import@^2.30.0: object.groupby "^1.0.3" object.values "^1.2.0" semver "^6.3.1" + string.prototype.trimend "^1.0.8" tsconfig-paths "^3.15.0" eslint-plugin-jest@^28.8.3: @@ -7273,36 +6834,36 @@ expect@^29.0.0, expect@^29.7.0: jest-util "^29.7.0" express@^4.19.2: - version "4.19.2" - resolved "https://registry.npmjs.org/express/-/express-4.19.2.tgz#e25437827a3aa7f2a827bc8171bbbb664a356465" - integrity sha512-5T6nhjsT+EOMzuck8JjBHARTHfMht0POzlA60WV2pMD3gyXw2LZnZ+ueGdNxG+0calOJcWKbpFcuzLZ91YWq9Q== + version "4.21.0" + resolved "https://registry.npmjs.org/express/-/express-4.21.0.tgz#d57cb706d49623d4ac27833f1cbc466b668eb915" + integrity sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng== dependencies: accepts "~1.3.8" array-flatten "1.1.1" - body-parser "1.20.2" + body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" cookie "0.6.0" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" etag "~1.8.1" - finalhandler "1.2.0" + finalhandler "1.3.1" fresh "0.5.2" http-errors "2.0.0" - merge-descriptors "1.0.1" + merge-descriptors "1.0.3" methods "~1.1.2" on-finished "2.4.1" parseurl "~1.3.3" - path-to-regexp "0.1.7" + path-to-regexp "0.1.10" proxy-addr "~2.0.7" - qs "6.11.0" + qs "6.13.0" range-parser "~1.2.1" safe-buffer "5.2.1" - send "0.18.0" - serve-static "1.15.0" + send "0.19.0" + serve-static "1.16.2" setprototypeof "1.2.0" statuses "2.0.1" type-is "~1.6.18" @@ -7366,9 +6927,9 @@ fast-levenshtein@^2.0.6: integrity sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw== fast-uri@^3.0.1: - version "3.0.1" - resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.1.tgz#cddd2eecfc83a71c1be2cc2ef2061331be8a7134" - integrity sha512-MWipKbbYiYI0UC7cl8m/i/IWTqfC8YXsqjzybjddLsFjStroQzsHXkc73JutMvBiXmOvapk+axIl79ig5t55Bw== + version "3.0.2" + resolved "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.2.tgz#d78b298cf70fd3b752fd951175a3da6a7b48f024" + integrity sha512-GR6f0hD7XXyNJa25Tb9BuIdN0tdr+0BMi6/CJPH3wJO1JjNG3n/VsSw38AwRdKZABm8lGbPfakLRkYzx2V9row== fastest-levenshtein@^1.0.12, fastest-levenshtein@^1.0.16: version "1.0.16" @@ -7427,13 +6988,13 @@ filter-obj@^1.1.0: resolved "https://registry.npmjs.org/filter-obj/-/filter-obj-1.1.0.tgz#9b311112bc6c6127a16e016c6c5d7f19e0805c5b" integrity sha512-8rXg1ZnX7xzy2NGDVkBVaAy+lSlPNwad13BtgSlLuxfIslyt5Vg64U7tFcCt4WS1R0hvtnQybT/IyCkGZ3DpXQ== -finalhandler@1.2.0: - version "1.2.0" - resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz#7d23fe5731b207b4640e4fcd00aec1f9207a7b32" - integrity sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg== +finalhandler@1.3.1: + version "1.3.1" + resolved "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.1.tgz#0c575f1d1d324ddd1da35ad7ece3df7d19088019" + integrity sha512-6BN9trH7bp3qvnrRyzsBz+g3lZxTNZTbVO2EV1CS0WIcDbawYVdYvGflME/9QP0h0pYlCDBCTjYa9nZzMDpyxQ== dependencies: debug "2.6.9" - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" on-finished "2.4.1" parseurl "~1.3.3" @@ -7525,9 +7086,9 @@ flatted@^3.2.9: integrity sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw== follow-redirects@^1.0.0, follow-redirects@^1.15.6: - version "1.15.6" - resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.6.tgz#7f815c0cda4249c74ff09e95ef97c23b5fd0399b" - integrity sha512-wWN62YITEaOpSK584EZXJafH1AGpO8RVgElfkuXbTOrPX4fIfOyEpW/CsiNd8JdYrAoOvafRTOEnvsO++qCqFA== + version "1.15.9" + resolved "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.9.tgz#a604fa10e443bf98ca94228d9eebcc2e8a2c8ee1" + integrity sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ== for-each@^0.3.3: version "0.3.3" @@ -7657,7 +7218,7 @@ function-bind@^1.1.2: resolved "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz#2c02d864d97f3ea6c8830c464cbd11ab6eab7a1c" integrity sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA== -function.prototype.name@^1.1.5, function.prototype.name@^1.1.6: +function.prototype.name@^1.1.6: version "1.1.6" resolved "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.6.tgz#cdf315b7d90ee77a4c6ee216c3c3362da07533fd" integrity sha512-Z5kx79swU5P27WEayXM1tBi5Ze/lbIyiNgU3qyXUOf9b2rgXYyF9Dy9Cx+IQv/Lc8WCG6L82zwUPpSS9hGehIg== @@ -7687,11 +7248,6 @@ get-caller-file@^2.0.1, get-caller-file@^2.0.5: resolved "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz#4f94412a82db32f36e3b0b9741f8a97feb031f7e" integrity sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg== -get-func-name@^2.0.1: - version "2.0.2" - resolved "https://registry.npmjs.org/get-func-name/-/get-func-name-2.0.2.tgz#0d7cf20cd13fda808669ffa88f4ffc7a3943fc41" - integrity sha512-8vXOvuE167CtIc3OyItco7N/dpRtBbYOsPsXCz7X/PMnlGjYjSGuZJgM1Y7mmew7BKf9BqvLX2tnOVy1BBUsxQ== - get-intrinsic@^1.1.3, get-intrinsic@^1.2.1, get-intrinsic@^1.2.2, get-intrinsic@^1.2.3, get-intrinsic@^1.2.4: version "1.2.4" resolved "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz#e385f5a4b5227d449c3eabbad05494ef0abbeadd" @@ -7728,9 +7284,9 @@ get-symbol-description@^1.0.2: get-intrinsic "^1.2.4" get-tsconfig@^4.7.5: - version "4.8.0" - resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.0.tgz#125dc13a316f61650a12b20c97c11b8fd996fedd" - integrity sha512-Pgba6TExTZ0FJAn1qkJAjIeKoDJ3CsI2ChuLohJnZl/tTU8MVrq3b+2t5UOPfRa4RMsorClBjJALkJUMjG1PAw== + version "4.8.1" + resolved "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.8.1.tgz#8995eb391ae6e1638d251118c7b56de7eb425471" + integrity sha512-k9PN+cFBmaLWtVz29SkUoqU5O0slLuHJXt/2P+tMVFT+phsSGXGkp9t3rQIqdz0e+06EHNGs3oM6ZX1s2zHxRg== dependencies: resolve-pkg-maps "^1.0.0" @@ -7955,9 +7511,9 @@ hast-util-is-element@^3.0.0: "@types/hast" "^3.0.0" hast-util-to-string@^3.0.0: - version "3.0.0" - resolved "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.0.tgz#2a131948b4b1b26461a2c8ac876e2c88d02946bd" - integrity sha512-OGkAxX1Ua3cbcW6EJ5pT/tslVb90uViVkcJ4ZZIMW/R33DX/AkcJcRrPebPwJkHYwlDHXz4aIwvAAaAdtrACFA== + version "3.0.1" + resolved "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz#a4f15e682849326dd211c97129c94b0c3e76527c" + integrity sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A== dependencies: "@types/hast" "^3.0.0" @@ -8124,9 +7680,9 @@ http-proxy-agent@^5.0.0: debug "4" http-proxy-middleware@^2.0.3: - version "2.0.6" - resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz#e1a4dd6979572c7ab5a4e4b55095d1f32a74963f" - integrity sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw== + version "2.0.7" + resolved "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.7.tgz#915f236d92ae98ef48278a95dedf17e991936ec6" + integrity sha512-fgVY8AV7qU7z/MmXJ/rxwbrtQH4jBQ9m7kp3llF0liB7glmFeVZFBepQb32T3y8n8k2+AEYuMPCpinYW+/CuRA== dependencies: "@types/http-proxy" "^1.17.8" http-proxy "^1.18.1" @@ -8186,9 +7742,9 @@ ieee754@^1.1.12: integrity sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA== ignore@^5.2.0, ignore@^5.2.1, ignore@^5.2.4: - version "5.3.1" - resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz#5073e554cd42c5b33b394375f538b8593e34d4ef" - integrity sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw== + version "5.3.2" + resolved "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz#3cd40e729f3643fd87cb04e50bf0eb722bc596f5" + integrity sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g== immer@^9.0.21: version "9.0.21" @@ -8373,14 +7929,7 @@ is-callable@^1.1.3, is-callable@^1.1.4, is-callable@^1.2.7: resolved "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz#3bc2a85ea742d9e36205dcacdd72ca1fdc51b055" integrity sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA== -is-core-module@^2.13.0, is-core-module@^2.5.0: - version "2.15.0" - resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.0.tgz#71c72ec5442ace7e76b306e9d48db361f22699ea" - integrity sha512-Dd+Lb2/zvk9SKy1TGCt1wFJFo/MWBPMX5x7KcvLajWTGuomczdQX61PvY5yK6SVACwpoexWo81IfFyoKY2QnTA== - dependencies: - hasown "^2.0.2" - -is-core-module@^2.15.1: +is-core-module@^2.13.0, is-core-module@^2.15.1, is-core-module@^2.5.0: version "2.15.1" resolved "https://registry.npmjs.org/is-core-module/-/is-core-module-2.15.1.tgz#a7363a25bee942fefab0de13bf6aa372c82dcc37" integrity sha512-z0vtXSwucUJtANQWldhbtbt7BnL0vxiFjIdDLAatwhDYty2bad6s+rijD6Ri4YuYJubLzIJLUidCh09e1djEVQ== @@ -8733,9 +8282,9 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: istanbul-lib-report "^3.0.0" iterator.prototype@^1.1.2: - version "1.1.2" - resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.2.tgz#5e29c8924f01916cb9335f1ff80619dcff22b0c0" - integrity sha512-DR33HMMr8EzwuRL8Y9D3u2BMj8+RqSE850jfGu59kS7tbmPLzGkZmVSfyCFSDxuZiEY6Rzt3T2NA/qU+NwVj1w== + version "1.1.3" + resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" + integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== dependencies: define-properties "^1.2.1" get-intrinsic "^1.2.1" @@ -9271,15 +8820,10 @@ jsdom@^20.0.0: ws "^8.11.0" xml-name-validator "^4.0.0" -jsesc@^2.5.1: - version "2.5.2" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz#80564d2e483dacf6e8ef209650a67df3f0c283a4" - integrity sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA== - -jsesc@~0.5.0: - version "0.5.0" - resolved "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz#e7dee66e35d6fc16f710fe91d5cf69f70f08911d" - integrity sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA== +jsesc@^3.0.2, jsesc@~3.0.2: + version "3.0.2" + resolved "https://registry.npmjs.org/jsesc/-/jsesc-3.0.2.tgz#bb8b09a6597ba426425f2e4a07245c3d00b9343e" + integrity sha512-xKqzzWXDttJuOcawBt4KnKHHIf5oQ/Cxax+0PWFG+DFDgHNAdi+TXECADI+RYiFUMmx8792xsMbbgXj4CwnP4g== json-buffer@3.0.1: version "3.0.1" @@ -9412,9 +8956,9 @@ language-tags@^1.0.9: language-subtag-registry "^0.3.20" launch-editor@^2.6.1: - version "2.8.0" - resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.8.0.tgz#7255d90bdba414448e2138faa770a74f28451305" - integrity sha512-vJranOAJrI/llyWGRQqiDM+adrw+k83fvmmx3+nV47g3+36xM15jE+zyZ6Ffel02+xSvuM0b2GDRosXZkbb6wA== + version "2.9.1" + resolved "https://registry.npmjs.org/launch-editor/-/launch-editor-2.9.1.tgz#253f173bd441e342d4344b4dae58291abb425047" + integrity sha512-Gcnl4Bd+hRO9P9icCP/RVVT2o8SFlPXofuCxvA2SaZuH45whSvf5p8x5oih5ftLiVhEI4sp5xDY+R+b3zJBh5w== dependencies: picocolors "^1.0.0" shell-quote "^1.8.1" @@ -9537,11 +9081,9 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.4.0: js-tokens "^3.0.0 || ^4.0.0" loupe@^3.1.0, loupe@^3.1.1: - version "3.1.1" - resolved "https://registry.npmjs.org/loupe/-/loupe-3.1.1.tgz#71d038d59007d890e3247c5db97c1ec5a92edc54" - integrity sha512-edNu/8D5MKVfGVFRhFf8aAxiTM6Wumfz5XsaatSxlD3w4R1d/WEKUTydCdPGbl9K7QG/Ca3GnDV2sIKIpXRQcw== - dependencies: - get-func-name "^2.0.1" + version "3.1.2" + resolved "https://registry.npmjs.org/loupe/-/loupe-3.1.2.tgz#c86e0696804a02218f2206124c45d8b15291a240" + integrity sha512-23I4pFZHmAemUnz8WZXbYRSKYj801VDaNv9ETuMh7IrMc7VuVVSo+Z9iLE3ni30+U48iDWfi30d3twAXBYmnCg== lower-case@^2.0.2: version "2.0.2" @@ -9570,11 +9112,11 @@ lz-string@^1.5.0: integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.30.5: - version "0.30.10" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.10.tgz#123d9c41a0cb5640c892b041d4cfb3bd0aa4b39e" - integrity sha512-iIRwTIf0QKV3UAnYK4PU8uiEc4SRh5jX0mwpIwETPpHdhVM4f53RSwS/vXvN1JhGX+Cs7B8qIq3d6AH49O5fAQ== + version "0.30.11" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" + integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== dependencies: - "@jridgewell/sourcemap-codec" "^1.4.15" + "@jridgewell/sourcemap-codec" "^1.5.0" make-dir@^3.0.0, make-dir@^3.0.2, make-dir@^3.1.0: version "3.1.0" @@ -9649,9 +9191,9 @@ maplibre-gl@^3.6.2: vt-pbf "^3.1.3" markdown-to-jsx@^7.4.5: - version "7.4.7" - resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.4.7.tgz#740ee7ec933865ef5cc683a0992797685a75e2ee" - integrity sha512-0+ls1IQZdU6cwM1yu0ZjjiVWYtkbExSyUIFU2ZeDIFuZM1W42Mh4OlJ4nb4apX4H8smxDHRdFaoIVJGwfv5hkg== + version "7.5.0" + resolved "https://registry.npmjs.org/markdown-to-jsx/-/markdown-to-jsx-7.5.0.tgz#42ece0c71e842560a7d8bd9f81e7a34515c72150" + integrity sha512-RrBNcMHiFPcz/iqIj0n3wclzHXjwS7mzjBNWecKKVhNTIxQepIix6Il/wZCn2Cg5Y1ow2Qi84+eJrryFRWBEWw== mathml-tag-names@^2.1.3: version "2.1.3" @@ -9676,12 +9218,12 @@ memfs@^3.4.1, memfs@^3.4.12: fs-monkey "^1.0.4" memfs@^4.6.0: - version "4.9.4" - resolved "https://registry.npmjs.org/memfs/-/memfs-4.9.4.tgz#803eb7f2091d1c6198ec9ba9b582505ad8699c9e" - integrity sha512-Xlj8b2rU11nM6+KU6wC7cuWcHQhVINWCUgdPS4Ar9nPxLaOya3RghqK7ALyDW2QtGebYAYs6uEdEVnwPVT942A== + version "4.13.0" + resolved "https://registry.npmjs.org/memfs/-/memfs-4.13.0.tgz#a9244865bab044054307874dbd9ffa4827cbcfcf" + integrity sha512-dIs5KGy24fbdDhIAg0RxXpFqQp3RwL6wgSMRF9OSuphL/Uc9a4u2/SDJKPLj/zUgtOGKuHrRMrj563+IErj4Cg== dependencies: "@jsonjoy.com/json-pack" "^1.0.3" - "@jsonjoy.com/util" "^1.1.2" + "@jsonjoy.com/util" "^1.3.0" tree-dump "^1.0.1" tslib "^2.0.0" @@ -9715,10 +9257,10 @@ meow@^9.0.0: type-fest "^0.18.0" yargs-parser "^20.2.3" -merge-descriptors@1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz#b00aaa556dd8b44568150ec9d1b953f3f90cbb61" - integrity sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w== +merge-descriptors@1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz#d80319a65f3c7935351e5cfdac8f9318504dbed5" + integrity sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ== merge-stream@^2.0.0: version "2.0.0" @@ -9736,9 +9278,9 @@ methods@~1.1.2: integrity sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w== micromatch@^4.0.2, micromatch@^4.0.4, micromatch@^4.0.5: - version "4.0.7" - resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.7.tgz#33e8190d9fe474a9895525f5618eee136d46c2e5" - integrity sha512-LPP/3KorzCwBxfeUuZmaR6bG2kdeHSbe0P2tY3FLRU4vYrjYz5hI4QZwV0njUx3jeuKe67YukQ1LSPZBKDqO/Q== + version "4.0.8" + resolved "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz#d66fa18f3a47076789320b9b1af32bd86d9fa202" + integrity sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA== dependencies: braces "^3.0.3" picomatch "^2.3.1" @@ -9842,11 +9384,6 @@ ms@2.0.0: resolved "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz#5608aeadfc00be6c2901df5f9861788de0d597c8" integrity sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A== -ms@2.1.2: - version "2.1.2" - resolved "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" - integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== - ms@2.1.3, ms@^2.1.1, ms@^2.1.3: version "2.1.3" resolved "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" @@ -9960,7 +9497,7 @@ node-preload@^0.2.1: dependencies: process-on-spawn "^1.0.0" -node-releases@^2.0.14, node-releases@^2.0.18: +node-releases@^2.0.18: version "2.0.18" resolved "https://registry.npmjs.org/node-releases/-/node-releases-2.0.18.tgz#f010e8d35e2fe8d6b2944f03f70213ecedc4ca3f" integrity sha512-d9VeXT4SJ7ZeOqGX6R5EM022wpL+eWPooLI+5UpWn2jCT1aosUQEhQP214x33Wkwx3JQMvIm+tIoVOdodFS40g== @@ -10048,9 +9585,9 @@ numeral@^2.0.6: integrity sha512-qaKRmtYPZ5qdw4jWJD6bxEf1FJEqllJrwxCLIm0sQU/A7v2/czigzOb+C2uSiFsa9lBUzeH7M1oK+Q+OLxL3kA== nwsapi@^2.2.2: - version "2.2.12" - resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.12.tgz#fb6af5c0ec35b27b4581eb3bbad34ec9e5c696f8" - integrity sha512-qXDmcVlZV4XRtKFzddidpfVP4oMSGhga+xdMc25mv8kaLUHtgzCDhUxkrN8exkGdTlLNaXj7CV3GtON7zuGZ+w== + version "2.2.13" + resolved "https://registry.npmjs.org/nwsapi/-/nwsapi-2.2.13.tgz#e56b4e98960e7a040e5474536587e599c4ff4655" + integrity sha512-cTGB9ptp9dY9A5VbMSe7fQBcl/tt22Vcqdq8+eN93rblOuE0aCFu4aZ2vMwct/2t+lFnosm8RkQW1I0Omb1UtQ== nyc@^15.1.0: version "15.1.0" @@ -10397,10 +9934,10 @@ path-parse@^1.0.7: resolved "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz#fbc114b60ca42b30d9daf5858e4bd68bbedb6735" integrity sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw== -path-to-regexp@0.1.7: - version "0.1.7" - resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz#df604178005f522f15eb4490e7247a1bfaa67f8c" - integrity sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ== +path-to-regexp@0.1.10: + version "0.1.10" + resolved "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.10.tgz#67e9108c5c0551b9e5326064387de4763c4d5f8b" + integrity sha512-7lf7qcQidTku0Gu3YDPc8DJ1q7OOucfa/BSsIwjuh56VU7katFvuM8hULfkwB3Fns/rsVF7PwPKVw1sl5KQS9w== path-to-regexp@^6.3.0: version "6.3.0" @@ -10430,12 +9967,7 @@ performance-now@^2.1.0: resolved "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz#6309f4e0e5fa913ec1c69307ae364b4b377c9e7b" integrity sha512-7EAHlyLHI56VEIdK57uwHdHKIaAGbnXPiw0yWbarQZOKaKpvUIgW0jWRVLiatnM+XXlSwsanIBH/hzGMJulMow== -picocolors@^1.0.0, picocolors@^1.0.1: - version "1.0.1" - resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.0.1.tgz#a8ad579b571952f0e5d25892de5445bcfe25aaa1" - integrity sha512-anP1Z8qwhkbmu7MFP5iTt+wQKXgwzf7zTyGlcdzabySa9vd0Xt392U0rVmz9poOaBj0uHJKyyo9/upk0HrEQew== - -picocolors@^1.1.0: +picocolors@^1.0.0, picocolors@^1.1.0: version "1.1.0" resolved "https://registry.npmjs.org/picocolors/-/picocolors-1.1.0.tgz#5358b76a78cde483ba5cef6a9dc9671440b27d59" integrity sha512-TQ92mBOW0l3LeMeyLV6mzy/kWr8lkd/hp3mTg7wYK7zJhuBStmGMBG0BdeDZS/dZx1IukaX6Bk11zcln25o1Aw== @@ -10471,17 +10003,17 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" -playwright-core@1.45.3, playwright-core@>=1.2.0: - version "1.45.3" - resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.45.3.tgz#e77bc4c78a621b96c3e629027534ee1d25faac93" - integrity sha512-+ym0jNbcjikaOwwSZycFbwkWgfruWvYlJfThKYAlImbxUgdWFO2oW70ojPm4OpE4t6TAo2FY/smM+hpVTtkhDA== +playwright-core@1.47.2, playwright-core@>=1.2.0: + version "1.47.2" + resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz#7858da9377fa32a08be46ba47d7523dbd9460a4e" + integrity sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ== playwright@^1.14.0: - version "1.45.3" - resolved "https://registry.npmjs.org/playwright/-/playwright-1.45.3.tgz#75143f73093a6e1467f7097083d2f0846fb8dd2f" - integrity sha512-QhVaS+lpluxCaioejDZ95l4Y4jSFCsBvl2UZkpeXlzxmqS+aABr5c82YmfMHrL6x27nvrvykJAFpkzT2eWdJww== + version "1.47.2" + resolved "https://registry.npmjs.org/playwright/-/playwright-1.47.2.tgz#155688aa06491ee21fb3e7555b748b525f86eb20" + integrity sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA== dependencies: - playwright-core "1.45.3" + playwright-core "1.47.2" optionalDependencies: fsevents "2.3.2" @@ -10550,9 +10082,9 @@ postcss-modules-values@^4.0.0: icss-utils "^5.0.0" postcss-resolve-nested-selector@^0.1.1: - version "0.1.4" - resolved "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.4.tgz#0068767902fb40f0e6cd7b24faee4fa4bc14a5da" - integrity sha512-R6vHqZWgVnTAPq0C+xjyHfEZqfIYboCBVSy24MjxEDm+tIh1BU4O6o7DP7AA7kHzf136d+Qc5duI4tlpHjixDw== + version "0.1.6" + resolved "https://registry.npmjs.org/postcss-resolve-nested-selector/-/postcss-resolve-nested-selector-0.1.6.tgz#3d84dec809f34de020372c41b039956966896686" + integrity sha512-0sglIs9Wmkzbr8lQwEyIzlDOOC9bGmfVKcJTaxv3vMmd3uo4o4DerC3En0bnmgceeql9BfC8hRkp7cg0fjdVqw== postcss-safe-parser@^6.0.0: version "6.0.0" @@ -10560,9 +10092,9 @@ postcss-safe-parser@^6.0.0: integrity sha512-FARHN8pwH+WiS2OPCxJI8FuRJpTVnn6ZNFiqAM2aeW2LwTHWWmWgIyKC6cUo0L8aeKiF/14MNvnpls6R2PBeMQ== postcss-selector-parser@^6.0.11, postcss-selector-parser@^6.0.2, postcss-selector-parser@^6.0.4: - version "6.1.1" - resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.1.tgz#5be94b277b8955904476a2400260002ce6c56e38" - integrity sha512-b4dlw/9V8A71rLIDsSwVmak9z2DuBUB7CA1/wSdelNEzqsjoSPeADTWNO09lpH49Diy3/JIZ2bSPB1dI3LJCHg== + version "6.1.2" + resolved "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz#27ecb41fb0e3b6ba7a1ec84fff347f734c7929de" + integrity sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg== dependencies: cssesc "^3.0.0" util-deprecate "^1.0.2" @@ -10719,17 +10251,10 @@ pure-rand@^6.0.0: resolved "https://registry.npmjs.org/pure-rand/-/pure-rand-6.1.0.tgz#d173cf23258231976ccbdb05247c9787957604f2" integrity sha512-bVWawvoZoBYpp6yIoQtQXHZjmz35RSVHnUOTefl8Vcjr8snTPY1wnpSPMWekcFwbxI6gtmT7rSYPFvz71ldiOA== -qs@6.11.0: - version "6.11.0" - resolved "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz#fd0d963446f7a65e1367e01abd85429453f0c37a" - integrity sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q== - dependencies: - side-channel "^1.0.4" - -qs@^6.12.3, qs@^6.4.0: - version "6.12.3" - resolved "https://registry.npmjs.org/qs/-/qs-6.12.3.tgz#e43ce03c8521b9c7fd7f1f13e514e5ca37727754" - integrity sha512-AWJm14H1vVaO/iNZ4/hO+HyaTehuy9nRqVdkTqlJt0HWvBiBIEXFmb4C0DGeYo3Xes9rrEW+TxHsaigCbN5ICQ== +qs@6.13.0, qs@^6.12.3, qs@^6.4.0: + version "6.13.0" + resolved "https://registry.npmjs.org/qs/-/qs-6.13.0.tgz#6ca3bd58439f7e245655798997787b0d88a51906" + integrity sha512-+38qI9SOr8tfZ4QmJNplMUxqjbe7LKvvZgWdExBOmd+egZTtjLB67Gu0HRX3u/XOq7UU2Nx6nsjvS16Z9uwfpg== dependencies: side-channel "^1.0.6" @@ -11023,6 +10548,11 @@ readable-stream@^3.0.6, readable-stream@^3.1.1: string_decoder "^1.1.1" util-deprecate "^1.0.1" +readdirp@^4.0.1: + version "4.0.2" + resolved "https://registry.npmjs.org/readdirp/-/readdirp-4.0.2.tgz#388fccb8b75665da3abffe2d8f8ed59fe74c230a" + integrity sha512-yDMz9g+VaZkqBYS/ozoBJwaBhTbZo3UNYQHNRw1D3UFQB8oHB4uS/tAODO+ZLjGWmUbKnIlOWO+aaIiAxrUWHA== + readdirp@~3.6.0: version "3.6.0" resolved "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz#74a370bd857116e245b29cc97340cd431a02a6c7" @@ -11081,10 +10611,10 @@ reflect.getprototypeof@^1.0.4: globalthis "^1.0.3" which-builtin-type "^1.1.3" -regenerate-unicode-properties@^10.1.0: - version "10.1.1" - resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz#6b0e05489d9076b04c436f318d9b067bba459480" - integrity sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q== +regenerate-unicode-properties@^10.2.0: + version "10.2.0" + resolved "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.2.0.tgz#626e39df8c372338ea9b8028d1f99dc3fd9c3db0" + integrity sha512-DqHn3DwbmmPVzeKj9woBadqmXxLvQoQIwu7nopMc72ztvxVmVk2SBhSnx67zuye5TP+lJsb/TBQsjLKhnDf3MA== dependencies: regenerate "^1.4.2" @@ -11111,33 +10641,38 @@ regenerator-transform@^0.15.2: "@babel/runtime" "^7.8.4" regexp.prototype.flags@^1.5.1, regexp.prototype.flags@^1.5.2: - version "1.5.2" - resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.2.tgz#138f644a3350f981a858c44f6bb1a61ff59be334" - integrity sha512-NcDiDkTLuPR+++OCKB0nWafEmhg/Da8aUPLPMQbK+bxKKCm1/S5he+AqYa4PlMCVBalb4/yxIRub6qkEx5yJbw== + version "1.5.3" + resolved "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.3.tgz#b3ae40b1d2499b8350ab2c3fe6ef3845d3a96f42" + integrity sha512-vqlC04+RQoFalODCbCumG2xIOvapzVMHwsyIGM/SIE8fRhFFsXeH8/QQ+s0T0kDAhKc4k30s73/0ydkHQz6HlQ== dependencies: - call-bind "^1.0.6" + call-bind "^1.0.7" define-properties "^1.2.1" es-errors "^1.3.0" - set-function-name "^2.0.1" + set-function-name "^2.0.2" -regexpu-core@^5.3.1: - version "5.3.2" - resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz#11a2b06884f3527aec3e93dbbf4a3b958a95546b" - integrity sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ== +regexpu-core@^6.1.1: + version "6.1.1" + resolved "https://registry.npmjs.org/regexpu-core/-/regexpu-core-6.1.1.tgz#b469b245594cb2d088ceebc6369dceb8c00becac" + integrity sha512-k67Nb9jvwJcJmVpw0jPttR1/zVfnKf8Km0IPatrU/zJ5XeG3+Slx0xLXs9HByJSzXzrlz5EDvN6yLNMDc2qdnw== dependencies: - "@babel/regjsgen" "^0.8.0" regenerate "^1.4.2" - regenerate-unicode-properties "^10.1.0" - regjsparser "^0.9.1" + regenerate-unicode-properties "^10.2.0" + regjsgen "^0.8.0" + regjsparser "^0.11.0" unicode-match-property-ecmascript "^2.0.0" unicode-match-property-value-ecmascript "^2.1.0" -regjsparser@^0.9.1: - version "0.9.1" - resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz#272d05aa10c7c1f67095b1ff0addae8442fc5709" - integrity sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ== +regjsgen@^0.8.0: + version "0.8.0" + resolved "https://registry.npmjs.org/regjsgen/-/regjsgen-0.8.0.tgz#df23ff26e0c5b300a6470cad160a9d090c3a37ab" + integrity sha512-RvwtGe3d7LvWiDQXeQw8p5asZUmfU1G/l6WbUXeHta7Y2PEIvBTwH6E2EfmYUK8pxcxEdEmaomqyp0vZZ7C+3Q== + +regjsparser@^0.11.0: + version "0.11.1" + resolved "https://registry.npmjs.org/regjsparser/-/regjsparser-0.11.1.tgz#ae55c74f646db0c8fcb922d4da635e33da405149" + integrity sha512-1DHODs4B8p/mQHU9kr+jv8+wIC9mtG4eBHxWxIq5mhjE3D5oORhCc6deRKzTjs9DcfRFmj9BHSDguZklqCGFWQ== dependencies: - jsesc "~0.5.0" + jsesc "~3.0.2" rehype-external-links@^3.0.0: version "3.0.0" @@ -11390,11 +10925,11 @@ safe-regex-test@^1.0.3: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.62.1: - version "1.77.8" - resolved "https://registry.npmjs.org/sass/-/sass-1.77.8.tgz#9f18b449ea401759ef7ec1752a16373e296b52bd" - integrity sha512-4UHg6prsrycW20fqLGPShtEvo/WyHRVRHwOP4DzkUrObWoWI05QBSfzU71TVB7PFaL104TwNaHpjlWXAZbQiNQ== + version "1.79.4" + resolved "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz#f9c45af35fbeb53d2c386850ec842098d9935267" + integrity sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg== dependencies: - chokidar ">=3.0.0 <4.0.0" + chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" @@ -11471,10 +11006,10 @@ selfsigned@^2.4.1: resolved "https://registry.npmjs.org/semver/-/semver-7.6.3.tgz#980f7b5550bc175fb4dc09403085627f9eb33143" integrity sha512-oVekP1cKtI+CTDvHWYFUcMtsK/00wmAEfyqKfNdARm8u1wNVhSgaX7A8d4UuIlUI5e84iEwOhs7ZPYRmzU9U6A== -send@0.18.0: - version "0.18.0" - resolved "https://registry.npmjs.org/send/-/send-0.18.0.tgz#670167cc654b05f5aa4a767f9113bb371bc706be" - integrity sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg== +send@0.19.0: + version "0.19.0" + resolved "https://registry.npmjs.org/send/-/send-0.19.0.tgz#bbc5a388c8ea6c048967049dbeac0e4a3f09d7f8" + integrity sha512-dW41u5VfLXu8SJh5bwRmyYUbAoSB3c9uQh6L8h/KtsFREPWpbX1lrljJo186Jc4nmci/sGUZ9a0a0J2zgfq2hw== dependencies: debug "2.6.9" depd "2.0.0" @@ -11510,15 +11045,15 @@ serve-index@^1.9.1: mime-types "~2.1.17" parseurl "~1.3.2" -serve-static@1.15.0: - version "1.15.0" - resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz#faaef08cffe0a1a62f60cad0c4e513cff0ac9540" - integrity sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g== +serve-static@1.16.2: + version "1.16.2" + resolved "https://registry.npmjs.org/serve-static/-/serve-static-1.16.2.tgz#b6a5343da47f6bdd2673848bf45754941e803296" + integrity sha512-VqpjJZKadQB/PEbEwvFdO43Ax5dFBZ2UECszz8bQ7pi7wt//PWe1P6MN7eCnjsatYtBT6EuiClbjSWP2WrIoTw== dependencies: - encodeurl "~1.0.2" + encodeurl "~2.0.0" escape-html "~1.0.3" parseurl "~1.3.3" - send "0.18.0" + send "0.19.0" set-blocking@^2.0.0: version "2.0.0" @@ -11671,12 +11206,7 @@ sort-object@^3.0.3: sort-desc "^0.2.0" union-value "^1.0.1" -"source-map-js@>=0.6.2 <2.0.0": - version "1.2.0" - resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz#16b809c162517b5b8c3e7dcd315a2a5c2612b2af" - integrity sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg== - -source-map-js@^1.2.1: +"source-map-js@>=0.6.2 <2.0.0", source-map-js@^1.2.1: version "1.2.1" resolved "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz#1ce5650fddd87abc099eda37dcff024c2667ae46" integrity sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA== @@ -11751,9 +11281,9 @@ spdx-expression-parse@^3.0.0: spdx-license-ids "^3.0.0" spdx-license-ids@^3.0.0: - version "3.0.18" - resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.18.tgz#22aa922dcf2f2885a6494a261f2d8b75345d0326" - integrity sha512-xxRs31BqRYHwiMzudOrpSiHtZ8i/GeionCBDSilhYRj+9gIcI8wCZTlXZKu9vZIVqViP3dcp9qE5G6AlIaD+TQ== + version "3.0.20" + resolved "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.20.tgz#e44ed19ed318dd1e5888f93325cee800f0f51b89" + integrity sha512-jg25NiDV/1fLtSgEgyvVyDunvaNHbuwF9lfNV17gSmPFAlYzdfNBlLtLzXTevwkPj7DhGbmN9VnmJIgLnhvaBw== spdy-transport@^3.0.0: version "3.0.0" @@ -11830,11 +11360,11 @@ stop-iteration-iterator@^1.0.0: internal-slot "^1.0.4" storybook@^8.3.4: - version "8.3.4" - resolved "https://registry.npmjs.org/storybook/-/storybook-8.3.4.tgz#caca649de88372679c126a9bf8ae4ed14406e9a3" - integrity sha512-nzvuK5TsEgJwcWGLGgafabBOxKn37lfJVv7ZoUVPgJIjk2mNRyJDFwYRJzUZaD37eiR/c/lQ6MoaeqlGwiXoxw== + version "8.3.5" + resolved "https://registry.npmjs.org/storybook/-/storybook-8.3.5.tgz#aef0542c08e245b7ac22742c1e1633a125063b8e" + integrity sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw== dependencies: - "@storybook/core" "8.3.4" + "@storybook/core" "8.3.5" strict-event-emitter@^0.5.1: version "0.5.1" @@ -12178,20 +11708,10 @@ terser-webpack-plugin@^5.3.1, terser-webpack-plugin@^5.3.10: serialize-javascript "^6.0.1" terser "^5.26.0" -terser@^5.10.0: - version "5.31.3" - resolved "https://registry.npmjs.org/terser/-/terser-5.31.3.tgz#b24b7beb46062f4653f049eea4f0cd165d0f0c38" - integrity sha512-pAfYn3NIZLyZpa83ZKigvj6Rn9c/vd5KfYGX7cN1mnzqgDcxWvrU5ZtAfIKhEXz9nRecw4z3LXkjaq96/qZqAA== - dependencies: - "@jridgewell/source-map" "^0.3.3" - acorn "^8.8.2" - commander "^2.20.0" - source-map-support "~0.5.20" - -terser@^5.26.0: - version "5.31.6" - resolved "https://registry.npmjs.org/terser/-/terser-5.31.6.tgz#c63858a0f0703988d0266a82fcbf2d7ba76422b1" - integrity sha512-PQ4DAriWzKj+qgehQ7LK5bQqCFNMmlhjR2PFFLuqGCpuCAauxemVBWwWOxo3UIwWQx8+Pr61Df++r76wDmkQBg== +terser@^5.10.0, terser@^5.26.0: + version "5.34.1" + resolved "https://registry.npmjs.org/terser/-/terser-5.34.1.tgz#af40386bdbe54af0d063e0670afd55c3105abeb6" + integrity sha512-FsJZ7iZLd/BXkz+4xrRTGJ26o/6VTjQytUk8b8OxkwcD2I+79VPJlz7qss1+zE7h8GNIScFqXcDyJ/KqBYZFVA== dependencies: "@jridgewell/source-map" "^0.3.3" acorn "^8.8.2" @@ -12374,9 +11894,9 @@ tslib@^1.8.1: integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.1.0: - version "2.6.3" - resolved "https://registry.npmjs.org/tslib/-/tslib-2.6.3.tgz#0438f810ad7a9edcde7a241c3d80db693c8cbfe0" - integrity sha512-xNvxJEOUiWPGhUuUdQgAJPKOOJfGnIyKySOc09XkKsgdUV/3E2zvwZYdejjmRgPCgcym1juLH3226yA7sEFJKQ== + version "2.7.0" + resolved "https://registry.npmjs.org/tslib/-/tslib-2.7.0.tgz#d9b40c5c40ab59e8738f297df3087bf1a2690c01" + integrity sha512-gLXCKdN1/j47AiHiOkJN69hJmcbGTHI0ImLmbYLHykhgeN0jVGola9yVjFgzCUklsZQMW55o+dW7IXv3RCXDzA== tsutils@^3.21.0: version "3.21.0" @@ -12428,9 +11948,9 @@ type-fest@^2.19.0, type-fest@~2.19: integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== type-fest@^4.9.0: - version "4.23.0" - resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.23.0.tgz#8196561a6b835175473be744f3e41e2dece1496b" - integrity sha512-ZiBujro2ohr5+Z/hZWHESLz3g08BBdrdLMieYFULJO+tWc437sn8kQsWLJoZErY8alNhxre9K4p3GURAG11n+w== + version "4.26.1" + resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz#a4a17fa314f976dd3e6d6675ef6c775c16d7955e" + integrity sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg== type-is@~1.6.18: version "1.6.18" @@ -12518,11 +12038,6 @@ unbox-primitive@^1.0.2: has-symbols "^1.0.3" which-boxed-primitive "^1.0.2" -undici-types@~5.26.4: - version "5.26.5" - resolved "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz#bcd539893d00b56e964fd2657a4866b221a65617" - integrity sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA== - undici-types@~6.19.2: version "6.19.8" resolved "https://registry.npmjs.org/undici-types/-/undici-types-6.19.8.tgz#35111c9d1437ab83a7cdc0abae2f26d88eda0a02" @@ -12536,9 +12051,9 @@ undici@^5.28.4: "@fastify/busboy" "^2.0.0" unicode-canonical-property-names-ecmascript@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz#301acdc525631670d39f6146e0e77ff6bbdebddc" - integrity sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ== + version "2.0.1" + resolved "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.1.tgz#cb3173fe47ca743e228216e4a3ddc4c84d628cc2" + integrity sha512-dA8WbNeb2a6oQzAQ55YlT5vQAWGV9WXOsi3SskE3bcCdM0P4SDd+24zS/OCacdRq5BkdsRj9q3Pg6YyQoxIGqg== unicode-match-property-ecmascript@^2.0.0: version "2.0.0" @@ -12549,9 +12064,9 @@ unicode-match-property-ecmascript@^2.0.0: unicode-property-aliases-ecmascript "^2.0.0" unicode-match-property-value-ecmascript@^2.1.0: - version "2.1.0" - resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz#cb5fffdcd16a05124f5a4b0bf7c3770208acbbe0" - integrity sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA== + version "2.2.0" + resolved "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.2.0.tgz#a0401aee72714598f739b68b104e4fe3a0cb3c71" + integrity sha512-4IehN3V/+kkr5YeSSDDQG8QLqO26XpL2XP3GQtqwlT/QYSECAwFztxVHjlbh0+gjJ3XmNLS0zDsbgs9jWKExLg== unicode-property-aliases-ecmascript@^2.0.0: version "2.1.0" @@ -12608,22 +12123,20 @@ unpipe@1.0.0, unpipe@~1.0.0: integrity sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ== unplugin@^1.3.1: - version "1.12.0" - resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.12.0.tgz#a11d3eb565602190748b1f95ecc8590b0f7dcbb4" - integrity sha512-KeczzHl2sATPQUx1gzo+EnUkmN4VmGBYRRVOZSGvGITE9rGHRDGqft6ONceP3vgXcyJ2XjX5axG5jMWUwNCYLw== + version "1.14.1" + resolved "https://registry.npmjs.org/unplugin/-/unplugin-1.14.1.tgz#c76d6155a661e43e6a897bce6b767a1ecc344c1a" + integrity sha512-lBlHbfSFPToDYp9pjXlUEFVxYLaue9f9T1HC+4OHlmj+HnMDdz9oZY+erXfoCe/5V/7gKUSY2jpXPb9S7f0f/w== dependencies: acorn "^8.12.1" - chokidar "^3.6.0" - webpack-sources "^3.2.3" webpack-virtual-modules "^0.6.2" update-browserslist-db@^1.1.0: - version "1.1.0" - resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.0.tgz#7ca61c0d8650766090728046e416a8cde682859e" - integrity sha512-EdRAaAyk2cUE1wOf2DkEhzxqOQvFOoRJFNS6NeyJ01Gp2beMRpBAINjM2iDXE3KCuKhwnvHIQCJm6ThL2Z+HzQ== + version "1.1.1" + resolved "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.1.tgz#80846fba1d79e82547fb661f8d141e0945755fe5" + integrity sha512-R8UzCaa9Az+38REPiJ1tXlImTJXlVfgHZsglwBD/k6nj76ctsH1E3q4doGrukiLQd3sGQYu56r5+lo5r94l29A== dependencies: - escalade "^3.1.2" - picocolors "^1.0.1" + escalade "^3.2.0" + picocolors "^1.1.0" uri-js@^4.2.2: version "4.4.1" @@ -12953,36 +12466,7 @@ webpack-virtual-modules@^0.6.0, webpack-virtual-modules@^0.6.2: resolved "https://registry.npmjs.org/webpack-virtual-modules/-/webpack-virtual-modules-0.6.2.tgz#057faa9065c8acf48f24cb57ac0e77739ab9a7e8" integrity sha512-66/V2i5hQanC51vBQKPH4aI8NMAcBW59FVBs+rC7eGHupMyfn34q7rZIE+ETlJ+XTevqfUhVVBgSUNSW2flEUQ== -webpack@5: - version "5.94.0" - resolved "https://registry.npmjs.org/webpack/-/webpack-5.94.0.tgz#77a6089c716e7ab90c1c67574a28da518a20970f" - integrity sha512-KcsGn50VT+06JH/iunZJedYGUJS5FGjow8wb9c0v5n1Om8O1g4L6LjtfxwlXIATopoQu+vOXXa7gYisWxCoPyg== - dependencies: - "@types/estree" "^1.0.5" - "@webassemblyjs/ast" "^1.12.1" - "@webassemblyjs/wasm-edit" "^1.12.1" - "@webassemblyjs/wasm-parser" "^1.12.1" - acorn "^8.7.1" - acorn-import-attributes "^1.9.5" - browserslist "^4.21.10" - chrome-trace-event "^1.0.2" - enhanced-resolve "^5.17.1" - es-module-lexer "^1.2.1" - eslint-scope "5.1.1" - events "^3.2.0" - glob-to-regexp "^0.4.1" - graceful-fs "^4.2.11" - json-parse-even-better-errors "^2.3.1" - loader-runner "^4.2.0" - mime-types "^2.1.27" - neo-async "^2.6.2" - schema-utils "^3.2.0" - tapable "^2.1.1" - terser-webpack-plugin "^5.3.10" - watchpack "^2.4.1" - webpack-sources "^3.2.3" - -webpack@^5.95.0: +webpack@5, webpack@^5.95.0: version "5.95.0" resolved "https://registry.npmjs.org/webpack/-/webpack-5.95.0.tgz#8fd8c454fa60dad186fbe36c400a55848307b4c0" integrity sha512-2t3XstrKULz41MNMBF+cJ97TyHdyQ8HCt//pqErqDvNjU9YQBnZxIHa11VXsi7F3mb5/aO2tuDxdeTPdU7xu9Q== @@ -13057,12 +12541,12 @@ which-boxed-primitive@^1.0.2: is-symbol "^1.0.3" which-builtin-type@^1.1.3: - version "1.1.3" - resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.3.tgz#b1b8443707cc58b6e9bf98d32110ff0c2cbd029b" - integrity sha512-YmjsSMDBYsM1CaFiayOVT06+KJeXf0o5M/CAd4o1lTadFAtacTUM49zoYxr/oroopFDfhvN6iEcBxUyc3gvKmw== + version "1.1.4" + resolved "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.1.4.tgz#592796260602fc3514a1b5ee7fa29319b72380c3" + integrity sha512-bppkmBSsHFmIMSl8BO9TbsyzsvGjVoppt8xUiGzwiu/bhDCGxnpOKCxgqj6GuyHE0mINMDecBFPlOm2hzY084w== dependencies: - function.prototype.name "^1.1.5" - has-tostringtag "^1.0.0" + function.prototype.name "^1.1.6" + has-tostringtag "^1.0.2" is-async-function "^2.0.0" is-date-object "^1.0.5" is-finalizationregistry "^1.0.2" @@ -13071,10 +12555,10 @@ which-builtin-type@^1.1.3: is-weakref "^1.0.2" isarray "^2.0.5" which-boxed-primitive "^1.0.2" - which-collection "^1.0.1" - which-typed-array "^1.1.9" + which-collection "^1.0.2" + which-typed-array "^1.1.15" -which-collection@^1.0.1: +which-collection@^1.0.1, which-collection@^1.0.2: version "1.0.2" resolved "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz#627ef76243920a107e7ce8e96191debe4b16c2a0" integrity sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw== @@ -13089,7 +12573,7 @@ which-module@^2.0.0: resolved "https://registry.npmjs.org/which-module/-/which-module-2.0.1.tgz#776b1fe35d90aebe99e8ac15eb24093389a4a409" integrity sha512-iBdZ57RDvnOR9AGBhML2vFZf7h8vmBjhoaZqODJBFWHVtKkDmKuHai3cx5PgVMrX5YDNp27AofYbAwctSS+vhQ== -which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2, which-typed-array@^1.1.9: +which-typed-array@^1.1.13, which-typed-array@^1.1.14, which-typed-array@^1.1.15, which-typed-array@^1.1.2: version "1.1.15" resolved "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.15.tgz#264859e9b11a649b388bfaaf4f767df1f779b38d" integrity sha512-oV0jmFtUky6CXfkqehVvBP/LSWJ2sy4vWMioiENyJLePrBO/yKyV9OyJySfAKosh+RYkIl5zJCNZ8/4JncrpdA== From f47160bc5104b94181794669306c9cb73b751bae Mon Sep 17 00:00:00 2001 From: Artem Rys Date: Wed, 9 Oct 2024 09:37:52 +0200 Subject: [PATCH 05/22] test(coverage): increase fail_under to 81 (#1361) **Issue number:** N/A ## Summary The coverage was improved by recent PRs so changing the `fail_under` in `.coveragerc` to reflect it. ### Changes > Please provide a summary of what's being changed N/A ### User experience > Please describe what the user experience looks like before and after this change N/A ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [ ] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --- .coveragerc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.coveragerc b/.coveragerc index 1736e29e4..3be3f434a 100644 --- a/.coveragerc +++ b/.coveragerc @@ -6,4 +6,4 @@ omit = splunk_add_on_ucc_framework/templates/input.module-template [report] -fail_under = 78.5 +fail_under = 81 From cca3bf5d30b8622532bb8b2fb0ac06ef6ae890b4 Mon Sep 17 00:00:00 2001 From: lplonka-splunk <139213249+lplonka-splunk@users.noreply.github.com> Date: Thu, 10 Oct 2024 12:18:59 +0200 Subject: [PATCH 06/22] chore: update splunk image version to 9.3.1 --- scripts/run_splunk.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/scripts/run_splunk.sh b/scripts/run_splunk.sh index edd082e8b..b33203281 100755 --- a/scripts/run_splunk.sh +++ b/scripts/run_splunk.sh @@ -33,4 +33,4 @@ docker run \ -e "SPLUNK_HEC_TOKEN=4a8a737d-5452-426c-a6f7-106dca4e813f" \ -e "SPLUNK_DISABLE_POPUPS=true" \ -d \ - --name splunk splunk/splunk:${1:-"9.1.2"} + --name splunk splunk/splunk:${1:-"9.3.1"} From 19753838fe3e66b674594543bb3cc02b4043623e Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Fri, 11 Oct 2024 11:48:24 +0200 Subject: [PATCH 07/22] chore(deps): add module resolution for d3-color and d3-interpolate (#1366) --- ui/package.json | 2 ++ ui/yarn.lock | 7 +------ 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/ui/package.json b/ui/package.json index 350539539..7160e35e8 100644 --- a/ui/package.json +++ b/ui/package.json @@ -121,6 +121,8 @@ "@npmcli/git": "^2.1.0", "@types/react": "^16.14.62", "css-what": "^5.1.0", + "d3-color": "^3.1.0", + "d3-interpolate": "^3.0.1", "glob-parent": "^5.1.2", "postcss": "^8.4.47", "semver": "^7.6.3", diff --git a/ui/yarn.lock b/ui/yarn.lock index ebb35fe35..e67f02b77 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -5663,12 +5663,7 @@ d3-collection@^1.0.7: resolved "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== -"d3-color@1 - 2": - version "2.0.0" - resolved "https://registry.npmjs.org/d3-color/-/d3-color-2.0.0.tgz#8d625cab42ed9b8f601a1760a389f7ea9189d62e" - integrity sha512-SPXi0TSKPD4g9tw0NMZFnR95XVgUZiBH+uUTqQuDu1OsE2zomHU7ho0FISciaPvosimixwHFl3WHLGabv6dDgQ== - -"d3-color@1 - 3": +"d3-color@1 - 2", "d3-color@1 - 3", d3-color@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== From ce3a8581f13efc6b48d0b22fd0458ff3145b134a Mon Sep 17 00:00:00 2001 From: lplonka-splunk <139213249+lplonka-splunk@users.noreply.github.com> Date: Fri, 11 Oct 2024 12:22:42 +0200 Subject: [PATCH 08/22] Update version to latest --- scripts/run_splunk.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/run_splunk.sh b/scripts/run_splunk.sh index b33203281..52c06a34d 100755 --- a/scripts/run_splunk.sh +++ b/scripts/run_splunk.sh @@ -33,4 +33,5 @@ docker run \ -e "SPLUNK_HEC_TOKEN=4a8a737d-5452-426c-a6f7-106dca4e813f" \ -e "SPLUNK_DISABLE_POPUPS=true" \ -d \ - --name splunk splunk/splunk:${1:-"9.3.1"} + --pull=always \ + --name splunk splunk/splunk:${1:-"latest"} From 76dd82f4f158cb1dcb32eaab845c10cd14d62fce Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Fri, 11 Oct 2024 13:06:49 +0200 Subject: [PATCH 09/22] chore(deps): lock file maintenance (#1330) --- poetry.lock | 259 +++++++++++++----------- ui/yarn.lock | 540 ++++++++++++++++++++++++++++----------------------- 2 files changed, 434 insertions(+), 365 deletions(-) diff --git a/poetry.lock b/poetry.lock index f6845eb66..cec4a2cdf 100644 --- a/poetry.lock +++ b/poetry.lock @@ -13,25 +13,25 @@ files = [ [[package]] name = "attrs" -version = "23.2.0" +version = "24.2.0" description = "Classes Without Boilerplate" optional = false python-versions = ">=3.7" files = [ - {file = "attrs-23.2.0-py3-none-any.whl", hash = "sha256:99b87a485a5820b23b879f04c2305b44b951b502fd64be915879d77a7e8fc6f1"}, - {file = "attrs-23.2.0.tar.gz", hash = "sha256:935dc3b529c262f6cf76e50877d35a4bd3c1de194fd41f47a2b7ae8f19971f30"}, + {file = "attrs-24.2.0-py3-none-any.whl", hash = "sha256:81921eb96de3191c8258c199618104dd27ac608d9366f5e35d011eae1867ede2"}, + {file = "attrs-24.2.0.tar.gz", hash = "sha256:5cfb1b9148b5b086569baec03f20d7b6bf3bcacc9a42bebf87ffaaca362f6346"}, ] [package.dependencies] importlib-metadata = {version = "*", markers = "python_version < \"3.8\""} [package.extras] -cov = ["attrs[tests]", "coverage[toml] (>=5.3)"] -dev = ["attrs[tests]", "pre-commit"] -docs = ["furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier", "zope-interface"] -tests = ["attrs[tests-no-zope]", "zope-interface"] -tests-mypy = ["mypy (>=1.6)", "pytest-mypy-plugins"] -tests-no-zope = ["attrs[tests-mypy]", "cloudpickle", "hypothesis", "pympler", "pytest (>=4.3.0)", "pytest-xdist[psutil]"] +benchmark = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-codspeed", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +cov = ["cloudpickle", "coverage[toml] (>=5.3)", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +dev = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pre-commit", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +docs = ["cogapp", "furo", "myst-parser", "sphinx", "sphinx-notfound-page", "sphinxcontrib-towncrier", "towncrier (<24.7)"] +tests = ["cloudpickle", "hypothesis", "mypy (>=1.11.1)", "pympler", "pytest (>=4.3.0)", "pytest-mypy-plugins", "pytest-xdist[psutil]"] +tests-mypy = ["mypy (>=1.11.1)", "pytest-mypy-plugins"] [[package]] name = "babel" @@ -63,112 +63,127 @@ files = [ [[package]] name = "certifi" -version = "2024.7.4" +version = "2024.8.30" description = "Python package for providing Mozilla's CA Bundle." optional = false python-versions = ">=3.6" files = [ - {file = "certifi-2024.7.4-py3-none-any.whl", hash = "sha256:c198e21b1289c2ab85ee4e67bb4b4ef3ead0892059901a8d5b622f24a1101e90"}, - {file = "certifi-2024.7.4.tar.gz", hash = "sha256:5a1e7645bc0ec61a09e26c36f6106dd4cf40c6db3a1fb6352b0244e7fb057c7b"}, + {file = "certifi-2024.8.30-py3-none-any.whl", hash = "sha256:922820b53db7a7257ffbda3f597266d435245903d80737e34f8a45ff3e3230d8"}, + {file = "certifi-2024.8.30.tar.gz", hash = "sha256:bec941d2aa8195e248a60b31ff9f0558284cf01a52591ceda73ea9afffd69fd9"}, ] [[package]] name = "charset-normalizer" -version = "3.3.2" +version = "3.4.0" description = "The Real First Universal Charset Detector. Open, modern and actively maintained alternative to Chardet." optional = false python-versions = ">=3.7.0" files = [ - {file = "charset-normalizer-3.3.2.tar.gz", hash = "sha256:f30c3cb33b24454a82faecaf01b19c18562b1e89558fb6c56de4d9118a032fd5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:25baf083bf6f6b341f4121c2f3c548875ee6f5339300e08be3f2b2ba1721cdd3"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:06435b539f889b1f6f4ac1758871aae42dc3a8c0e24ac9e60c2384973ad73027"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:9063e24fdb1e498ab71cb7419e24622516c4a04476b17a2dab57e8baa30d6e03"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6897af51655e3691ff853668779c7bad41579facacf5fd7253b0133308cf000d"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1d3193f4a680c64b4b6a9115943538edb896edc190f0b222e73761716519268e"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:cd70574b12bb8a4d2aaa0094515df2463cb429d8536cfb6c7ce983246983e5a6"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8465322196c8b4d7ab6d1e049e4c5cb460d0394da4a27d23cc242fbf0034b6b5"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:a9a8e9031d613fd2009c182b69c7b2c1ef8239a0efb1df3f7c8da66d5dd3d537"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_aarch64.whl", hash = "sha256:beb58fe5cdb101e3a055192ac291b7a21e3b7ef4f67fa1d74e331a7f2124341c"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_i686.whl", hash = "sha256:e06ed3eb3218bc64786f7db41917d4e686cc4856944f53d5bdf83a6884432e12"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_ppc64le.whl", hash = "sha256:2e81c7b9c8979ce92ed306c249d46894776a909505d8f5a4ba55b14206e3222f"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_s390x.whl", hash = "sha256:572c3763a264ba47b3cf708a44ce965d98555f618ca42c926a9c1616d8f34269"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-musllinux_1_1_x86_64.whl", hash = "sha256:fd1abc0d89e30cc4e02e4064dc67fcc51bd941eb395c502aac3ec19fab46b519"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win32.whl", hash = "sha256:3d47fa203a7bd9c5b6cee4736ee84ca03b8ef23193c0d1ca99b5089f72645c73"}, - {file = "charset_normalizer-3.3.2-cp310-cp310-win_amd64.whl", hash = "sha256:10955842570876604d404661fbccbc9c7e684caf432c09c715ec38fbae45ae09"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:802fe99cca7457642125a8a88a084cef28ff0cf9407060f7b93dca5aa25480db"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:573f6eac48f4769d667c4442081b1794f52919e7edada77495aaed9236d13a96"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:549a3a73da901d5bc3ce8d24e0600d1fa85524c10287f6004fbab87672bf3e1e"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:f27273b60488abe721a075bcca6d7f3964f9f6f067c8c4c605743023d7d3944f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ceae2f17a9c33cb48e3263960dc5fc8005351ee19db217e9b1bb15d28c02574"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:65f6f63034100ead094b8744b3b97965785388f308a64cf8d7c34f2f2e5be0c4"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:753f10e867343b4511128c6ed8c82f7bec3bd026875576dfd88483c5c73b2fd8"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:4a78b2b446bd7c934f5dcedc588903fb2f5eec172f3d29e52a9096a43722adfc"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_aarch64.whl", hash = "sha256:e537484df0d8f426ce2afb2d0f8e1c3d0b114b83f8850e5f2fbea0e797bd82ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_i686.whl", hash = "sha256:eb6904c354526e758fda7167b33005998fb68c46fbc10e013ca97f21ca5c8887"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_ppc64le.whl", hash = "sha256:deb6be0ac38ece9ba87dea880e438f25ca3eddfac8b002a2ec3d9183a454e8ae"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_s390x.whl", hash = "sha256:4ab2fe47fae9e0f9dee8c04187ce5d09f48eabe611be8259444906793ab7cbce"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-musllinux_1_1_x86_64.whl", hash = "sha256:80402cd6ee291dcb72644d6eac93785fe2c8b9cb30893c1af5b8fdd753b9d40f"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win32.whl", hash = "sha256:7cd13a2e3ddeed6913a65e66e94b51d80a041145a026c27e6bb76c31a853c6ab"}, - {file = "charset_normalizer-3.3.2-cp311-cp311-win_amd64.whl", hash = "sha256:663946639d296df6a2bb2aa51b60a2454ca1cb29835324c640dafb5ff2131a77"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_universal2.whl", hash = "sha256:0b2b64d2bb6d3fb9112bafa732def486049e63de9618b5843bcdd081d8144cd8"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_10_9_x86_64.whl", hash = "sha256:ddbb2551d7e0102e7252db79ba445cdab71b26640817ab1e3e3648dad515003b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:55086ee1064215781fff39a1af09518bc9255b50d6333f2e4c74ca09fac6a8f6"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:8f4a014bc36d3c57402e2977dada34f9c12300af536839dc38c0beab8878f38a"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a10af20b82360ab00827f916a6058451b723b4e65030c5a18577c8b2de5b3389"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8d756e44e94489e49571086ef83b2bb8ce311e730092d2c34ca8f7d925cb20aa"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:90d558489962fd4918143277a773316e56c72da56ec7aa3dc3dbbe20fdfed15b"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:6ac7ffc7ad6d040517be39eb591cac5ff87416c2537df6ba3cba3bae290c0fed"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_aarch64.whl", hash = "sha256:7ed9e526742851e8d5cc9e6cf41427dfc6068d4f5a3bb03659444b4cabf6bc26"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_i686.whl", hash = "sha256:8bdb58ff7ba23002a4c5808d608e4e6c687175724f54a5dade5fa8c67b604e4d"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_ppc64le.whl", hash = "sha256:6b3251890fff30ee142c44144871185dbe13b11bab478a88887a639655be1068"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_s390x.whl", hash = "sha256:b4a23f61ce87adf89be746c8a8974fe1c823c891d8f86eb218bb957c924bb143"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-musllinux_1_1_x86_64.whl", hash = "sha256:efcb3f6676480691518c177e3b465bcddf57cea040302f9f4e6e191af91174d4"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win32.whl", hash = "sha256:d965bba47ddeec8cd560687584e88cf699fd28f192ceb452d1d7ee807c5597b7"}, - {file = "charset_normalizer-3.3.2-cp312-cp312-win_amd64.whl", hash = "sha256:96b02a3dc4381e5494fad39be677abcb5e6634bf7b4fa83a6dd3112607547001"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:95f2a5796329323b8f0512e09dbb7a1860c46a39da62ecb2324f116fa8fdc85c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:c002b4ffc0be611f0d9da932eb0f704fe2602a9a949d1f738e4c34c75b0863d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:a981a536974bbc7a512cf44ed14938cf01030a99e9b3a06dd59578882f06f985"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3287761bc4ee9e33561a7e058c72ac0938c4f57fe49a09eae428fd88aafe7bb6"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:42cb296636fcc8b0644486d15c12376cb9fa75443e00fb25de0b8602e64c1714"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:0a55554a2fa0d408816b3b5cedf0045f4b8e1a6065aec45849de2d6f3f8e9786"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_aarch64.whl", hash = "sha256:c083af607d2515612056a31f0a8d9e0fcb5876b7bfc0abad3ecd275bc4ebc2d5"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_i686.whl", hash = "sha256:87d1351268731db79e0f8e745d92493ee2841c974128ef629dc518b937d9194c"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_ppc64le.whl", hash = "sha256:bd8f7df7d12c2db9fab40bdd87a7c09b1530128315d047a086fa3ae3435cb3a8"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_s390x.whl", hash = "sha256:c180f51afb394e165eafe4ac2936a14bee3eb10debc9d9e4db8958fe36afe711"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-musllinux_1_1_x86_64.whl", hash = "sha256:8c622a5fe39a48f78944a87d4fb8a53ee07344641b0562c540d840748571b811"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win32.whl", hash = "sha256:db364eca23f876da6f9e16c9da0df51aa4f104a972735574842618b8c6d999d4"}, - {file = "charset_normalizer-3.3.2-cp37-cp37m-win_amd64.whl", hash = "sha256:86216b5cee4b06df986d214f664305142d9c76df9b6512be2738aa72a2048f99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:6463effa3186ea09411d50efc7d85360b38d5f09b870c48e4600f63af490e56a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:6c4caeef8fa63d06bd437cd4bdcf3ffefe6738fb1b25951440d80dc7df8c03ac"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:37e55c8e51c236f95b033f6fb391d7d7970ba5fe7ff453dad675e88cf303377a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb69256e180cb6c8a894fee62b3afebae785babc1ee98b81cdf68bbca1987f33"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae5f4161f18c61806f411a13b0310bea87f987c7d2ecdbdaad0e94eb2e404238"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:b2b0a0c0517616b6869869f8c581d4eb2dd83a4d79e0ebcb7d373ef9956aeb0a"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:45485e01ff4d3630ec0d9617310448a8702f70e9c01906b0d0118bdf9d124cf2"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:eb00ed941194665c332bf8e078baf037d6c35d7c4f3102ea2d4f16ca94a26dc8"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_aarch64.whl", hash = "sha256:2127566c664442652f024c837091890cb1942c30937add288223dc895793f898"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_i686.whl", hash = "sha256:a50aebfa173e157099939b17f18600f72f84eed3049e743b68ad15bd69b6bf99"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_ppc64le.whl", hash = "sha256:4d0d1650369165a14e14e1e47b372cfcb31d6ab44e6e33cb2d4e57265290044d"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_s390x.whl", hash = "sha256:923c0c831b7cfcb071580d3f46c4baf50f174be571576556269530f4bbd79d04"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-musllinux_1_1_x86_64.whl", hash = "sha256:06a81e93cd441c56a9b65d8e1d043daeb97a3d0856d177d5c90ba85acb3db087"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win32.whl", hash = "sha256:6ef1d82a3af9d3eecdba2321dc1b3c238245d890843e040e41e470ffa64c3e25"}, - {file = "charset_normalizer-3.3.2-cp38-cp38-win_amd64.whl", hash = "sha256:eb8821e09e916165e160797a6c17edda0679379a4be5c716c260e836e122f54b"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:c235ebd9baae02f1b77bcea61bce332cb4331dc3617d254df3323aa01ab47bd4"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:5b4c145409bef602a690e7cfad0a15a55c13320ff7a3ad7ca59c13bb8ba4d45d"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:68d1f8a9e9e37c1223b656399be5d6b448dea850bed7d0f87a8311f1ff3dabb0"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:22afcb9f253dac0696b5a4be4a1c0f8762f8239e21b99680099abd9b2b1b2269"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:e27ad930a842b4c5eb8ac0016b0a54f5aebbe679340c26101df33424142c143c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:1f79682fbe303db92bc2b1136016a38a42e835d932bab5b3b1bfcfbf0640e519"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:b261ccdec7821281dade748d088bb6e9b69e6d15b30652b74cbbac25e280b796"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:122c7fa62b130ed55f8f285bfd56d5f4b4a5b503609d181f9ad85e55c89f4185"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_aarch64.whl", hash = "sha256:d0eccceffcb53201b5bfebb52600a5fb483a20b61da9dbc885f8b103cbe7598c"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_i686.whl", hash = "sha256:9f96df6923e21816da7e0ad3fd47dd8f94b2a5ce594e00677c0013018b813458"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_ppc64le.whl", hash = "sha256:7f04c839ed0b6b98b1a7501a002144b76c18fb1c1850c8b98d458ac269e26ed2"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_s390x.whl", hash = "sha256:34d1c8da1e78d2e001f363791c98a272bb734000fcef47a491c1e3b0505657a8"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-musllinux_1_1_x86_64.whl", hash = "sha256:ff8fa367d09b717b2a17a052544193ad76cd49979c805768879cb63d9ca50561"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win32.whl", hash = "sha256:aed38f6e4fb3f5d6bf81bfa990a07806be9d83cf7bacef998ab1a9bd660a581f"}, - {file = "charset_normalizer-3.3.2-cp39-cp39-win_amd64.whl", hash = "sha256:b01b88d45a6fcb69667cd6d2f7a9aeb4bf53760d7fc536bf679ec94fe9f3ff3d"}, - {file = "charset_normalizer-3.3.2-py3-none-any.whl", hash = "sha256:3e4d1f6587322d2788836a99c69062fbb091331ec940e02d12d179c1d53e25fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_universal2.whl", hash = "sha256:4f9fc98dad6c2eaa32fc3af1417d95b5e3d08aff968df0cd320066def971f9a6"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_10_9_x86_64.whl", hash = "sha256:0de7b687289d3c1b3e8660d0741874abe7888100efe14bd0f9fd7141bcbda92b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-macosx_11_0_arm64.whl", hash = "sha256:5ed2e36c3e9b4f21dd9422f6893dec0abf2cca553af509b10cd630f878d3eb99"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:40d3ff7fc90b98c637bda91c89d51264a3dcf210cade3a2c6f838c7268d7a4ca"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1110e22af8ca26b90bd6364fe4c763329b0ebf1ee213ba32b68c73de5752323d"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:86f4e8cca779080f66ff4f191a685ced73d2f72d50216f7112185dc02b90b9b7"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:7f683ddc7eedd742e2889d2bfb96d69573fde1d92fcb811979cdb7165bb9c7d3"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:27623ba66c183eca01bf9ff833875b459cad267aeeb044477fedac35e19ba907"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_aarch64.whl", hash = "sha256:f606a1881d2663630ea5b8ce2efe2111740df4b687bd78b34a8131baa007f79b"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_i686.whl", hash = "sha256:0b309d1747110feb25d7ed6b01afdec269c647d382c857ef4663bbe6ad95a912"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_ppc64le.whl", hash = "sha256:136815f06a3ae311fae551c3df1f998a1ebd01ddd424aa5603a4336997629e95"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_s390x.whl", hash = "sha256:14215b71a762336254351b00ec720a8e85cada43b987da5a042e4ce3e82bd68e"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-musllinux_1_2_x86_64.whl", hash = "sha256:79983512b108e4a164b9c8d34de3992f76d48cadc9554c9e60b43f308988aabe"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win32.whl", hash = "sha256:c94057af19bc953643a33581844649a7fdab902624d2eb739738a30e2b3e60fc"}, + {file = "charset_normalizer-3.4.0-cp310-cp310-win_amd64.whl", hash = "sha256:55f56e2ebd4e3bc50442fbc0888c9d8c94e4e06a933804e2af3e89e2f9c1c749"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_universal2.whl", hash = "sha256:0d99dd8ff461990f12d6e42c7347fd9ab2532fb70e9621ba520f9e8637161d7c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_10_9_x86_64.whl", hash = "sha256:c57516e58fd17d03ebe67e181a4e4e2ccab1168f8c2976c6a334d4f819fe5944"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-macosx_11_0_arm64.whl", hash = "sha256:6dba5d19c4dfab08e58d5b36304b3f92f3bd5d42c1a3fa37b5ba5cdf6dfcbcee"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bf4475b82be41b07cc5e5ff94810e6a01f276e37c2d55571e3fe175e467a1a1c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ce031db0408e487fd2775d745ce30a7cd2923667cf3b69d48d219f1d8f5ddeb6"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:8ff4e7cdfdb1ab5698e675ca622e72d58a6fa2a8aa58195de0c0061288e6e3ea"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:3710a9751938947e6327ea9f3ea6332a09bf0ba0c09cae9cb1f250bd1f1549bc"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:82357d85de703176b5587dbe6ade8ff67f9f69a41c0733cf2425378b49954de5"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_aarch64.whl", hash = "sha256:47334db71978b23ebcf3c0f9f5ee98b8d65992b65c9c4f2d34c2eaf5bcaf0594"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_i686.whl", hash = "sha256:8ce7fd6767a1cc5a92a639b391891bf1c268b03ec7e021c7d6d902285259685c"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_ppc64le.whl", hash = "sha256:f1a2f519ae173b5b6a2c9d5fa3116ce16e48b3462c8b96dfdded11055e3d6365"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_s390x.whl", hash = "sha256:63bc5c4ae26e4bc6be6469943b8253c0fd4e4186c43ad46e713ea61a0ba49129"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-musllinux_1_2_x86_64.whl", hash = "sha256:bcb4f8ea87d03bc51ad04add8ceaf9b0f085ac045ab4d74e73bbc2dc033f0236"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win32.whl", hash = "sha256:9ae4ef0b3f6b41bad6366fb0ea4fc1d7ed051528e113a60fa2a65a9abb5b1d99"}, + {file = "charset_normalizer-3.4.0-cp311-cp311-win_amd64.whl", hash = "sha256:cee4373f4d3ad28f1ab6290684d8e2ebdb9e7a1b74fdc39e4c211995f77bec27"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_universal2.whl", hash = "sha256:0713f3adb9d03d49d365b70b84775d0a0d18e4ab08d12bc46baa6132ba78aaf6"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_10_13_x86_64.whl", hash = "sha256:de7376c29d95d6719048c194a9cf1a1b0393fbe8488a22008610b0361d834ecf"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-macosx_11_0_arm64.whl", hash = "sha256:4a51b48f42d9358460b78725283f04bddaf44a9358197b889657deba38f329db"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b295729485b06c1a0683af02a9e42d2caa9db04a373dc38a6a58cdd1e8abddf1"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ee803480535c44e7f5ad00788526da7d85525cfefaf8acf8ab9a310000be4b03"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:3d59d125ffbd6d552765510e3f31ed75ebac2c7470c7274195b9161a32350284"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:8cda06946eac330cbe6598f77bb54e690b4ca93f593dee1568ad22b04f347c15"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:07afec21bbbbf8a5cc3651aa96b980afe2526e7f048fdfb7f1014d84acc8b6d8"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_aarch64.whl", hash = "sha256:6b40e8d38afe634559e398cc32b1472f376a4099c75fe6299ae607e404c033b2"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_i686.whl", hash = "sha256:b8dcd239c743aa2f9c22ce674a145e0a25cb1566c495928440a181ca1ccf6719"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_ppc64le.whl", hash = "sha256:84450ba661fb96e9fd67629b93d2941c871ca86fc38d835d19d4225ff946a631"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_s390x.whl", hash = "sha256:44aeb140295a2f0659e113b31cfe92c9061622cadbc9e2a2f7b8ef6b1e29ef4b"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-musllinux_1_2_x86_64.whl", hash = "sha256:1db4e7fefefd0f548d73e2e2e041f9df5c59e178b4c72fbac4cc6f535cfb1565"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win32.whl", hash = "sha256:5726cf76c982532c1863fb64d8c6dd0e4c90b6ece9feb06c9f202417a31f7dd7"}, + {file = "charset_normalizer-3.4.0-cp312-cp312-win_amd64.whl", hash = "sha256:b197e7094f232959f8f20541ead1d9862ac5ebea1d58e9849c1bf979255dfac9"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:dd4eda173a9fcccb5f2e2bd2a9f423d180194b1bf17cf59e3269899235b2a114"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e9e3c4c9e1ed40ea53acf11e2a386383c3304212c965773704e4603d589343ed"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:92a7e36b000bf022ef3dbb9c46bfe2d52c047d5e3f3343f43204263c5addc250"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:54b6a92d009cbe2fb11054ba694bc9e284dad30a26757b1e372a1fdddaf21920"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:1ffd9493de4c922f2a38c2bf62b831dcec90ac673ed1ca182fe11b4d8e9f2a64"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:35c404d74c2926d0287fbd63ed5d27eb911eb9e4a3bb2c6d294f3cfd4a9e0c23"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:4796efc4faf6b53a18e3d46343535caed491776a22af773f366534056c4e1fbc"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:e7fdd52961feb4c96507aa649550ec2a0d527c086d284749b2f582f2d40a2e0d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:92db3c28b5b2a273346bebb24857fda45601aef6ae1c011c0a997106581e8a88"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:ab973df98fc99ab39080bfb0eb3a925181454d7c3ac8a1e695fddfae696d9e90"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:4b67fdab07fdd3c10bb21edab3cbfe8cf5696f453afce75d815d9d7223fbe88b"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:aa41e526a5d4a9dfcfbab0716c7e8a1b215abd3f3df5a45cf18a12721d31cb5d"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:ffc519621dce0c767e96b9c53f09c5d215578e10b02c285809f76509a3931482"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win32.whl", hash = "sha256:f19c1585933c82098c2a520f8ec1227f20e339e33aca8fa6f956f6691b784e67"}, + {file = "charset_normalizer-3.4.0-cp313-cp313-win_amd64.whl", hash = "sha256:707b82d19e65c9bd28b81dde95249b07bf9f5b90ebe1ef17d9b57473f8a64b7b"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-macosx_10_9_x86_64.whl", hash = "sha256:dbe03226baf438ac4fda9e2d0715022fd579cb641c4cf639fa40d53b2fe6f3e2"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:dd9a8bd8900e65504a305bf8ae6fa9fbc66de94178c420791d0293702fce2df7"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:b8831399554b92b72af5932cdbbd4ddc55c55f631bb13ff8fe4e6536a06c5c51"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a14969b8691f7998e74663b77b4c36c0337cb1df552da83d5c9004a93afdb574"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:dcaf7c1524c0542ee2fc82cc8ec337f7a9f7edee2532421ab200d2b920fc97cf"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:425c5f215d0eecee9a56cdb703203dda90423247421bf0d67125add85d0c4455"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_aarch64.whl", hash = "sha256:d5b054862739d276e09928de37c79ddeec42a6e1bfc55863be96a36ba22926f6"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_i686.whl", hash = "sha256:f3e73a4255342d4eb26ef6df01e3962e73aa29baa3124a8e824c5d3364a65748"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_ppc64le.whl", hash = "sha256:2f6c34da58ea9c1a9515621f4d9ac379871a8f21168ba1b5e09d74250de5ad62"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_s390x.whl", hash = "sha256:f09cb5a7bbe1ecae6e87901a2eb23e0256bb524a79ccc53eb0b7629fbe7677c4"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-musllinux_1_2_x86_64.whl", hash = "sha256:0099d79bdfcf5c1f0c2c72f91516702ebf8b0b8ddd8905f97a8aecf49712c621"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win32.whl", hash = "sha256:9c98230f5042f4945f957d006edccc2af1e03ed5e37ce7c373f00a5a4daa6149"}, + {file = "charset_normalizer-3.4.0-cp37-cp37m-win_amd64.whl", hash = "sha256:62f60aebecfc7f4b82e3f639a7d1433a20ec32824db2199a11ad4f5e146ef5ee"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_universal2.whl", hash = "sha256:af73657b7a68211996527dbfeffbb0864e043d270580c5aef06dc4b659a4b578"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_10_9_x86_64.whl", hash = "sha256:cab5d0b79d987c67f3b9e9c53f54a61360422a5a0bc075f43cab5621d530c3b6"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-macosx_11_0_arm64.whl", hash = "sha256:9289fd5dddcf57bab41d044f1756550f9e7cf0c8e373b8cdf0ce8773dc4bd417"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:6b493a043635eb376e50eedf7818f2f322eabbaa974e948bd8bdd29eb7ef2a51"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:9fa2566ca27d67c86569e8c85297aaf413ffab85a8960500f12ea34ff98e4c41"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:a8e538f46104c815be19c975572d74afb53f29650ea2025bbfaef359d2de2f7f"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:6fd30dc99682dc2c603c2b315bded2799019cea829f8bf57dc6b61efde6611c8"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:2006769bd1640bdf4d5641c69a3d63b71b81445473cac5ded39740a226fa88ab"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_aarch64.whl", hash = "sha256:dc15e99b2d8a656f8e666854404f1ba54765871104e50c8e9813af8a7db07f12"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_i686.whl", hash = "sha256:ab2e5bef076f5a235c3774b4f4028a680432cded7cad37bba0fd90d64b187d19"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_ppc64le.whl", hash = "sha256:4ec9dd88a5b71abfc74e9df5ebe7921c35cbb3b641181a531ca65cdb5e8e4dea"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_s390x.whl", hash = "sha256:43193c5cda5d612f247172016c4bb71251c784d7a4d9314677186a838ad34858"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-musllinux_1_2_x86_64.whl", hash = "sha256:aa693779a8b50cd97570e5a0f343538a8dbd3e496fa5dcb87e29406ad0299654"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win32.whl", hash = "sha256:7706f5850360ac01d80c89bcef1640683cc12ed87f42579dab6c5d3ed6888613"}, + {file = "charset_normalizer-3.4.0-cp38-cp38-win_amd64.whl", hash = "sha256:c3e446d253bd88f6377260d07c895816ebf33ffffd56c1c792b13bff9c3e1ade"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_universal2.whl", hash = "sha256:980b4f289d1d90ca5efcf07958d3eb38ed9c0b7676bf2831a54d4f66f9c27dfa"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_10_9_x86_64.whl", hash = "sha256:f28f891ccd15c514a0981f3b9db9aa23d62fe1a99997512b0491d2ed323d229a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-macosx_11_0_arm64.whl", hash = "sha256:a8aacce6e2e1edcb6ac625fb0f8c3a9570ccc7bfba1f63419b3769ccf6a00ed0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:bd7af3717683bea4c87acd8c0d3d5b44d56120b26fd3f8a692bdd2d5260c620a"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:5ff2ed8194587faf56555927b3aa10e6fb69d931e33953943bc4f837dfee2242"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:e91f541a85298cf35433bf66f3fab2a4a2cff05c127eeca4af174f6d497f0d4b"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:309a7de0a0ff3040acaebb35ec45d18db4b28232f21998851cfa709eeff49d62"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:285e96d9d53422efc0d7a17c60e59f37fbf3dfa942073f666db4ac71e8d726d0"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_aarch64.whl", hash = "sha256:5d447056e2ca60382d460a604b6302d8db69476fd2015c81e7c35417cfabe4cd"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_i686.whl", hash = "sha256:20587d20f557fe189b7947d8e7ec5afa110ccf72a3128d61a2a387c3313f46be"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_ppc64le.whl", hash = "sha256:130272c698667a982a5d0e626851ceff662565379baf0ff2cc58067b81d4f11d"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_s390x.whl", hash = "sha256:ab22fbd9765e6954bc0bcff24c25ff71dcbfdb185fcdaca49e81bac68fe724d3"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-musllinux_1_2_x86_64.whl", hash = "sha256:7782afc9b6b42200f7362858f9e73b1f8316afb276d316336c0ec3bd73312742"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win32.whl", hash = "sha256:2de62e8801ddfff069cd5c504ce3bc9672b23266597d4e4f50eda28846c322f2"}, + {file = "charset_normalizer-3.4.0-cp39-cp39-win_amd64.whl", hash = "sha256:95c3c157765b031331dd4db3c775e58deaee050a3042fcad72cbc4189d7c8dca"}, + {file = "charset_normalizer-3.4.0-py3-none-any.whl", hash = "sha256:fe9f97feb71aa9896b81973a7bbada8c49501dc73e58a10fcef6663af95e5079"}, + {file = "charset_normalizer-3.4.0.tar.gz", hash = "sha256:223217c3d4f82c3ac5e29032b3f1c2eb0fb591b72161f86d93f5719079dae93e"}, ] [[package]] @@ -468,15 +483,18 @@ pyparsing = {version = ">=2.4.2,<3.0.0 || >3.0.0,<3.0.1 || >3.0.1,<3.0.2 || >3.0 [[package]] name = "idna" -version = "3.7" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false -python-versions = ">=3.5" +python-versions = ">=3.6" files = [ - {file = "idna-3.7-py3-none-any.whl", hash = "sha256:82fee1fc78add43492d3a1898bfa6d8a904cc97d8427f683ed8e798d07761aa0"}, - {file = "idna-3.7.tar.gz", hash = "sha256:028ff3aadf0609c1fd278d8ea3089299412a7a8b9bd005dd08b9f8285bcb5cfc"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "importlib-metadata" version = "6.7.0" @@ -937,14 +955,19 @@ files = [ [[package]] name = "paginate" -version = "0.5.6" +version = "0.5.7" description = "Divides large result sets into pages for easier browsing" optional = false python-versions = "*" files = [ - {file = "paginate-0.5.6.tar.gz", hash = "sha256:5e6007b6a9398177a7e1648d04fdd9f8c9766a1a945bceac82f1929e8c78af2d"}, + {file = "paginate-0.5.7-py2.py3-none-any.whl", hash = "sha256:b885e2af73abcf01d9559fd5216b57ef722f8c42affbb63942377668e35c7591"}, + {file = "paginate-0.5.7.tar.gz", hash = "sha256:22bd083ab41e1a8b4f3690544afb2c60c25e5c9a63a30fa2f483f6c60c8e5945"}, ] +[package.extras] +dev = ["pytest", "tox"] +lint = ["black"] + [[package]] name = "pathspec" version = "0.11.2" @@ -1049,13 +1072,13 @@ extra = ["pygments (>=2.12)"] [[package]] name = "pyparsing" -version = "3.1.2" +version = "3.1.4" description = "pyparsing module - Classes and methods to define and execute parsing grammars" optional = false python-versions = ">=3.6.8" files = [ - {file = "pyparsing-3.1.2-py3-none-any.whl", hash = "sha256:f9db75911801ed778fe61bb643079ff86601aca99fcae6345aa67292038fb742"}, - {file = "pyparsing-3.1.2.tar.gz", hash = "sha256:a1bac0ce561155ecc3ed78ca94d3c9378656ad4c94c1270de543f621420f94ad"}, + {file = "pyparsing-3.1.4-py3-none-any.whl", hash = "sha256:a6a7ee4235a3f944aa1fa2249307708f893fe5717dc603503c6c7969c070fb7c"}, + {file = "pyparsing-3.1.4.tar.gz", hash = "sha256:f86ec8d1a83f11977c9a6ea7598e8c27fc5cddfa5b07ea2241edbbde1d7bc032"}, ] [package.extras] @@ -1301,13 +1324,13 @@ cli = ["click (>=5.0)"] [[package]] name = "pytz" -version = "2024.1" +version = "2024.2" description = "World timezone definitions, modern and historical" optional = false python-versions = "*" files = [ - {file = "pytz-2024.1-py2.py3-none-any.whl", hash = "sha256:328171f4e3623139da4983451950b28e95ac706e13f3f2630a879749e7a8b319"}, - {file = "pytz-2024.1.tar.gz", hash = "sha256:2a29735ea9c18baf14b448846bde5a48030ed267578472d8955cd0e7443a9812"}, + {file = "pytz-2024.2-py2.py3-none-any.whl", hash = "sha256:31c7c1817eb7fae7ca4b8c7ee50c72f93aa2dd863de768e1ef4245d426aa0725"}, + {file = "pytz-2024.2.tar.gz", hash = "sha256:2aa355083c50a0f93fa581709deac0c9ad65cca8a9e9beac660adcbd493c798a"}, ] [[package]] @@ -1596,13 +1619,13 @@ files = [ [[package]] name = "urllib3" -version = "1.26.19" +version = "1.26.20" description = "HTTP library with thread-safe connection pooling, file post, and more." optional = false python-versions = "!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*,!=3.5.*,>=2.7" files = [ - {file = "urllib3-1.26.19-py2.py3-none-any.whl", hash = "sha256:37a0344459b199fce0e80b0d3569837ec6b6937435c5244e7fd73fa6006830f3"}, - {file = "urllib3-1.26.19.tar.gz", hash = "sha256:3e3d753a8618b86d7de333b4223005f68720bcd6a7d2bcb9fbd2229ec7c1e429"}, + {file = "urllib3-1.26.20-py2.py3-none-any.whl", hash = "sha256:0ed14ccfbf1c30a9072c7ca157e4319b70d65f623e91e7b32fadb2853431016e"}, + {file = "urllib3-1.26.20.tar.gz", hash = "sha256:40c2dc0c681e47eb8f90e7e27bf6ff7df2e677421fd46756da1161c39ca70d32"}, ] [package.extras] diff --git a/ui/yarn.lock b/ui/yarn.lock index e67f02b77..efc953e69 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -23,15 +23,15 @@ "@babel/highlight" "^7.25.7" picocolors "^1.0.0" -"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.7.tgz#b8479fe0018ef0ac87b6b7a5c6916fcd67ae2c9c" - integrity sha512-9ickoLz+hcXCeh7jrcin+/SLWm+GkxE2kTvoYyp38p4WkdFXfQJxDFGWp/YHjiKLPx06z2A7W8XKuqbReXDzsw== +"@babel/compat-data@^7.20.5", "@babel/compat-data@^7.22.6", "@babel/compat-data@^7.25.7", "@babel/compat-data@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402" + integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA== "@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.22.5", "@babel/core@^7.23.7", "@babel/core@^7.23.9", "@babel/core@^7.25.2", "@babel/core@^7.7.5": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.7.tgz#1b3d144157575daf132a3bc80b2b18e6e3ca6ece" - integrity sha512-yJ474Zv3cwiSOO9nXJuqzvwEeM+chDuQ8GJirw+pZ91sCGCyOZ3dJkVE09fTV0VEVzXyLWhh3G/AolYTPX7Mow== + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz#a57137d2a51bbcffcfaeba43cb4dd33ae3e0e1c6" + integrity sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg== dependencies: "@ampproject/remapping" "^2.2.0" "@babel/code-frame" "^7.25.7" @@ -39,10 +39,10 @@ "@babel/helper-compilation-targets" "^7.25.7" "@babel/helper-module-transforms" "^7.25.7" "@babel/helpers" "^7.25.7" - "@babel/parser" "^7.25.7" + "@babel/parser" "^7.25.8" "@babel/template" "^7.25.7" "@babel/traverse" "^7.25.7" - "@babel/types" "^7.25.7" + "@babel/types" "^7.25.8" convert-source-map "^2.0.0" debug "^4.1.0" gensync "^1.0.0-beta.2" @@ -50,9 +50,9 @@ semver "^6.3.1" "@babel/eslint-parser@^7.25.1": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.7.tgz#27b43de786c83cbabbcb328efbb4f099ae85415e" - integrity sha512-B+BO9x86VYsQHimucBAL1fxTJKF4wyKY6ZVzee9QgzdZOUfs3BaR6AQrgoGrRI+7IFS1wUz/VyQ+SoBcSpdPbw== + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.8.tgz#0119dec46be547d7a339978dedb9d29e517c2443" + integrity sha512-Po3VLMN7fJtv0nsOjBDSbO1J71UhzShE9MuOSkWEV9IZQXzhZklYtzKZ8ZD/Ij3a0JBv1AG3Ny2L3jvAHQVOGg== dependencies: "@nicolo-ribaudo/eslint-scope-5-internals" "5.1.1-v1" eslint-visitor-keys "^2.1.0" @@ -160,7 +160,7 @@ dependencies: "@babel/types" "^7.25.7" -"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.7", "@babel/helper-plugin-utils@^7.8.0", "@babel/helper-plugin-utils@^7.8.3": +"@babel/helper-plugin-utils@^7.0.0", "@babel/helper-plugin-utils@^7.10.4", "@babel/helper-plugin-utils@^7.12.13", "@babel/helper-plugin-utils@^7.14.5", "@babel/helper-plugin-utils@^7.18.6", "@babel/helper-plugin-utils@^7.20.2", "@babel/helper-plugin-utils@^7.22.5", "@babel/helper-plugin-utils@^7.25.7", "@babel/helper-plugin-utils@^7.8.0": version "7.25.7" resolved "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.25.7.tgz#8ec5b21812d992e1ef88a9b068260537b6f0e36c" integrity sha512-eaPZai0PiqCi09pPs3pAFfl/zYgGaE6IdXtYvmf0qlcDTd3WCtO7JWCcRd64e0EQrcYgiHibEZnOGsSY4QSgaw== @@ -241,12 +241,12 @@ js-tokens "^4.0.0" picocolors "^1.0.0" -"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.7", "@babel/parser@^7.7.0": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.7.tgz#99b927720f4ddbfeb8cd195a363ed4532f87c590" - integrity sha512-aZn7ETtQsjjGG5HruveUK06cU3Hljuhd9Iojm4M8WWv3wLE6OkE5PWbDUkItmMgegmccaITudyuW5RPYrYlgWw== +"@babel/parser@^7.1.0", "@babel/parser@^7.14.7", "@babel/parser@^7.20.7", "@babel/parser@^7.23.9", "@babel/parser@^7.25.7", "@babel/parser@^7.25.8", "@babel/parser@^7.7.0": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/parser/-/parser-7.25.8.tgz#f6aaf38e80c36129460c1657c0762db584c9d5e2" + integrity sha512-HcttkxzdPucv3nNFmfOOMfFf64KgdJVqm1KaCm25dPGMLElo9nsLvXeJECQg8UzPuBGLyTSA0ZzqCtDSzKTEoQ== dependencies: - "@babel/types" "^7.25.7" + "@babel/types" "^7.25.8" "@babel/plugin-bugfix-firefox-class-in-computed-class-key@^7.25.7": version "7.25.7" @@ -339,20 +339,6 @@ dependencies: "@babel/helper-plugin-utils" "^7.14.5" -"@babel/plugin-syntax-dynamic-import@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz#62bf98b2da3cd21d626154fc96ee5b3cb68eacb3" - integrity sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ== - dependencies: - "@babel/helper-plugin-utils" "^7.8.0" - -"@babel/plugin-syntax-export-namespace-from@^7.8.3": - version "7.8.3" - resolved "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz#028964a9ba80dbc094c915c487ad7c4e7a66465a" - integrity sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q== - dependencies: - "@babel/helper-plugin-utils" "^7.8.3" - "@babel/plugin-syntax-import-assertions@^7.25.7": version "7.25.7" resolved "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.25.7.tgz#8ce248f9f4ed4b7ed4cb2e0eb4ed9efd9f52921f" @@ -466,14 +452,13 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-async-generator-functions@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.7.tgz#af61a02b30d7bff5108c63bd39ac7938403426d7" - integrity sha512-4B6OhTrwYKHYYgcwErvZjbmH9X5TxQBsaBHdzEIB4l71gR5jh/tuHGlb9in47udL2+wVUcOz5XXhhfhVJwEpEg== +"@babel/plugin-transform-async-generator-functions@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.25.8.tgz#3331de02f52cc1f2c75b396bec52188c85b0b1ec" + integrity sha512-9ypqkozyzpG+HxlH4o4gdctalFGIjjdufzo7I2XPda0iBnZ6a+FO0rIEQcdSPXp02CkvGsII1exJhmROPQd5oA== dependencies: "@babel/helper-plugin-utils" "^7.25.7" "@babel/helper-remap-async-to-generator" "^7.25.7" - "@babel/plugin-syntax-async-generators" "^7.8.4" "@babel/traverse" "^7.25.7" "@babel/plugin-transform-async-to-generator@^7.25.7": @@ -507,14 +492,13 @@ "@babel/helper-create-class-features-plugin" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-class-static-block@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.7.tgz#d2cf3c812e3b3162d56aadf4566f45c30538cb2c" - integrity sha512-rvUUtoVlkDWtDWxGAiiQj0aNktTPn3eFynBcMC2IhsXweehwgdI9ODe+XjWw515kEmv22sSOTp/rxIRuTiB7zg== +"@babel/plugin-transform-class-static-block@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.25.8.tgz#a8af22028920fe404668031eceb4c3aadccb5262" + integrity sha512-e82gl3TCorath6YLf9xUwFehVvjvfqFhdOo4+0iVIVju+6XOi5XHkqB3P2AXnSwoeTX0HBoXq5gJFtvotJzFnQ== dependencies: "@babel/helper-create-class-features-plugin" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-class-static-block" "^7.14.5" "@babel/plugin-transform-classes@^7.25.7": version "7.25.7" @@ -566,13 +550,12 @@ "@babel/helper-create-regexp-features-plugin" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-dynamic-import@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.7.tgz#31905ab2cfa94dcf1b1f8ce66096720b2908e518" - integrity sha512-UvcLuual4h7/GfylKm2IAA3aph9rwvAM2XBA0uPKU3lca+Maai4jBjjEVUS568ld6kJcgbouuumCBhMd/Yz17w== +"@babel/plugin-transform-dynamic-import@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.25.8.tgz#f1edbe75b248cf44c70c8ca8ed3818a668753aaa" + integrity sha512-gznWY+mr4ZQL/EWPcbBQUP3BXS5FwZp8RUOw06BaRn8tQLzN4XLIxXejpHN9Qo8x8jjBmAAKp6FoS51AgkSA/A== dependencies: "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" "@babel/plugin-transform-exponentiation-operator@^7.25.7": version "7.25.7" @@ -582,13 +565,12 @@ "@babel/helper-builder-binary-assignment-operator-visitor" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-export-namespace-from@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.7.tgz#beb2679db6fd3bdfe6ad6de2c8cac84a86ef2da1" - integrity sha512-h3MDAP5l34NQkkNulsTNyjdaR+OiB0Im67VU//sFupouP8Q6m9Spy7l66DcaAQxtmCqGdanPByLsnwFttxKISQ== +"@babel/plugin-transform-export-namespace-from@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.25.8.tgz#d1988c3019a380b417e0516418b02804d3858145" + integrity sha512-sPtYrduWINTQTW7FtOy99VCTWp4H23UX7vYcut7S4CIMEXU+54zKX9uCoGkLsWXteyaMXzVHgzWbLfQ1w4GZgw== dependencies: "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-transform-for-of@^7.25.7": version "7.25.7" @@ -607,13 +589,12 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/traverse" "^7.25.7" -"@babel/plugin-transform-json-strings@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.7.tgz#6626433554aff4bd6f76a2c621a1f40e802dfb0a" - integrity sha512-Ot43PrL9TEAiCe8C/2erAjXMeVSnE/BLEx6eyrKLNFCCw5jvhTHKyHxdI1pA0kz5njZRYAnMO2KObGqOCRDYSA== +"@babel/plugin-transform-json-strings@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.25.8.tgz#6fb3ec383a2ea92652289fdba653e3f9de722694" + integrity sha512-4OMNv7eHTmJ2YXs3tvxAfa/I43di+VcF+M4Wt66c88EAED1RoGaf1D64cL5FkRpNL+Vx9Hds84lksWvd/wMIdA== dependencies: "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-json-strings" "^7.8.3" "@babel/plugin-transform-literals@^7.25.7": version "7.25.7" @@ -622,13 +603,12 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-logical-assignment-operators@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.7.tgz#93847feb513a1f191c5f5d903d991a0ee24fe99b" - integrity sha512-iImzbA55BjiovLyG2bggWS+V+OLkaBorNvc/yJoeeDQGztknRnDdYfp2d/UPmunZYEnZi6Lg8QcTmNMHOB0lGA== +"@babel/plugin-transform-logical-assignment-operators@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.25.8.tgz#01868ff92daa9e525b4c7902aa51979082a05710" + integrity sha512-f5W0AhSbbI+yY6VakT04jmxdxz+WsID0neG7+kQZbCOjuyJNdL5Nn4WIBm4hRpKnUcO9lP0eipUhFN12JpoH8g== dependencies: "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" "@babel/plugin-transform-member-expression-literals@^7.25.7": version "7.25.7" @@ -687,30 +667,27 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-nullish-coalescing-operator@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.7.tgz#0af84b86d4332654c43cf028dbdcf878b00ac168" - integrity sha512-FbuJ63/4LEL32mIxrxwYaqjJxpbzxPVQj5a+Ebrc8JICV6YX8nE53jY+K0RZT3um56GoNWgkS2BQ/uLGTjtwfw== +"@babel/plugin-transform-nullish-coalescing-operator@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.25.8.tgz#befb4900c130bd52fccf2b926314557987f1b552" + integrity sha512-Z7WJJWdQc8yCWgAmjI3hyC+5PXIubH9yRKzkl9ZEG647O9szl9zvmKLzpbItlijBnVhTUf1cpyWBsZ3+2wjWPQ== dependencies: "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" -"@babel/plugin-transform-numeric-separator@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.7.tgz#a516b78f894d1c08283f39d809b2048fd2f29448" - integrity sha512-8CbutzSSh4hmD+jJHIA8vdTNk15kAzOnFLVVgBSMGr28rt85ouT01/rezMecks9pkU939wDInImwCKv4ahU4IA== +"@babel/plugin-transform-numeric-separator@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.25.8.tgz#91e370486371637bd42161052f2602c701386891" + integrity sha512-rm9a5iEFPS4iMIy+/A/PiS0QN0UyjPIeVvbU5EMZFKJZHt8vQnasbpo3T3EFcxzCeYO0BHfc4RqooCZc51J86Q== dependencies: "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" -"@babel/plugin-transform-object-rest-spread@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.7.tgz#fa0916521be96fd434e2db59780b24b308c6d169" - integrity sha512-1JdVKPhD7Y5PvgfFy0Mv2brdrolzpzSoUq2pr6xsR+m+3viGGeHEokFKsCgOkbeFOQxfB1Vt2F0cPJLRpFI4Zg== +"@babel/plugin-transform-object-rest-spread@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.25.8.tgz#0904ac16bcce41df4db12d915d6780f85c7fb04b" + integrity sha512-LkUu0O2hnUKHKE7/zYOIjByMa4VRaV2CD/cdGz0AxU9we+VA3kDDggKEzI0Oz1IroG+6gUP6UmWEHBMWZU316g== dependencies: "@babel/helper-compilation-targets" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" "@babel/plugin-transform-parameters" "^7.25.7" "@babel/plugin-transform-object-super@^7.25.7": @@ -721,22 +698,20 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/helper-replace-supers" "^7.25.7" -"@babel/plugin-transform-optional-catch-binding@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.7.tgz#400e2d891f9288f5231694234696aa67164e4913" - integrity sha512-m9obYBA39mDPN7lJzD5WkGGb0GO54PPLXsbcnj1Hyeu8mSRz7Gb4b1A6zxNX32ZuUySDK4G6it8SDFWD1nCnqg== +"@babel/plugin-transform-optional-catch-binding@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.25.8.tgz#2649b86a3bb202c6894ec81a6ddf41b94d8f3103" + integrity sha512-EbQYweoMAHOn7iJ9GgZo14ghhb9tTjgOc88xFgYngifx7Z9u580cENCV159M4xDh3q/irbhSjZVpuhpC2gKBbg== dependencies: "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" -"@babel/plugin-transform-optional-chaining@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.7.tgz#b7f7c9321aa1d8414e67799c28d87c23682e4d68" - integrity sha512-h39agClImgPWg4H8mYVAbD1qP9vClFbEjqoJmt87Zen8pjqK8FTPUwrOXAvqu5soytwxrLMd2fx2KSCp2CHcNg== +"@babel/plugin-transform-optional-chaining@^7.25.7", "@babel/plugin-transform-optional-chaining@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.25.8.tgz#f46283b78adcc5b6ab988a952f989e7dce70653f" + integrity sha512-q05Bk7gXOxpTHoQ8RSzGSh/LHVB9JEIkKnk3myAWwZHnYiTGYtbdrYkIsS8Xyh4ltKf7GNUSgzs/6P2bJtBAQg== dependencies: "@babel/helper-plugin-utils" "^7.25.7" "@babel/helper-skip-transparent-expression-wrappers" "^7.25.7" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" "@babel/plugin-transform-parameters@^7.20.7", "@babel/plugin-transform-parameters@^7.25.7": version "7.25.7" @@ -753,15 +728,14 @@ "@babel/helper-create-class-features-plugin" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-private-property-in-object@^7.25.7": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.7.tgz#aff877efd05b57c4ad04611d8de97bf155a53369" - integrity sha512-LzA5ESzBy7tqj00Yjey9yWfs3FKy4EmJyKOSWld144OxkTji81WWnUT8nkLUn+imN/zHL8ZQlOu/MTUAhHaX3g== +"@babel/plugin-transform-private-property-in-object@^7.25.8": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.25.8.tgz#1234f856ce85e061f9688764194e51ea7577c434" + integrity sha512-8Uh966svuB4V8RHHg0QJOB32QK287NBksJOByoKmHMp1TAobNniNalIkI2i5IPj5+S9NYCG4VIjbEuiSN8r+ow== dependencies: "@babel/helper-annotate-as-pure" "^7.25.7" "@babel/helper-create-class-features-plugin" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" "@babel/plugin-transform-property-literals@^7.25.7": version "7.25.7" @@ -909,11 +883,11 @@ "@babel/helper-plugin-utils" "^7.25.7" "@babel/preset-env@^7.2.0", "@babel/preset-env@^7.25.4": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.7.tgz#fc1b092152db4b58377b85dc05c890081c1157e0" - integrity sha512-Gibz4OUdyNqqLj+7OAvBZxOD7CklCtMA5/j0JgUEwOnaRULsPDXmic2iKxL2DX2vQduPR5wH2hjZas/Vr/Oc0g== + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz#dc6b719627fb29cd9cccbbbe041802fd575b524c" + integrity sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg== dependencies: - "@babel/compat-data" "^7.25.7" + "@babel/compat-data" "^7.25.8" "@babel/helper-compilation-targets" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" "@babel/helper-validator-option" "^7.25.7" @@ -923,45 +897,30 @@ "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining" "^7.25.7" "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly" "^7.25.7" "@babel/plugin-proposal-private-property-in-object" "7.21.0-placeholder-for-preset-env.2" - "@babel/plugin-syntax-async-generators" "^7.8.4" - "@babel/plugin-syntax-class-properties" "^7.12.13" - "@babel/plugin-syntax-class-static-block" "^7.14.5" - "@babel/plugin-syntax-dynamic-import" "^7.8.3" - "@babel/plugin-syntax-export-namespace-from" "^7.8.3" "@babel/plugin-syntax-import-assertions" "^7.25.7" "@babel/plugin-syntax-import-attributes" "^7.25.7" - "@babel/plugin-syntax-import-meta" "^7.10.4" - "@babel/plugin-syntax-json-strings" "^7.8.3" - "@babel/plugin-syntax-logical-assignment-operators" "^7.10.4" - "@babel/plugin-syntax-nullish-coalescing-operator" "^7.8.3" - "@babel/plugin-syntax-numeric-separator" "^7.10.4" - "@babel/plugin-syntax-object-rest-spread" "^7.8.3" - "@babel/plugin-syntax-optional-catch-binding" "^7.8.3" - "@babel/plugin-syntax-optional-chaining" "^7.8.3" - "@babel/plugin-syntax-private-property-in-object" "^7.14.5" - "@babel/plugin-syntax-top-level-await" "^7.14.5" "@babel/plugin-syntax-unicode-sets-regex" "^7.18.6" "@babel/plugin-transform-arrow-functions" "^7.25.7" - "@babel/plugin-transform-async-generator-functions" "^7.25.7" + "@babel/plugin-transform-async-generator-functions" "^7.25.8" "@babel/plugin-transform-async-to-generator" "^7.25.7" "@babel/plugin-transform-block-scoped-functions" "^7.25.7" "@babel/plugin-transform-block-scoping" "^7.25.7" "@babel/plugin-transform-class-properties" "^7.25.7" - "@babel/plugin-transform-class-static-block" "^7.25.7" + "@babel/plugin-transform-class-static-block" "^7.25.8" "@babel/plugin-transform-classes" "^7.25.7" "@babel/plugin-transform-computed-properties" "^7.25.7" "@babel/plugin-transform-destructuring" "^7.25.7" "@babel/plugin-transform-dotall-regex" "^7.25.7" "@babel/plugin-transform-duplicate-keys" "^7.25.7" "@babel/plugin-transform-duplicate-named-capturing-groups-regex" "^7.25.7" - "@babel/plugin-transform-dynamic-import" "^7.25.7" + "@babel/plugin-transform-dynamic-import" "^7.25.8" "@babel/plugin-transform-exponentiation-operator" "^7.25.7" - "@babel/plugin-transform-export-namespace-from" "^7.25.7" + "@babel/plugin-transform-export-namespace-from" "^7.25.8" "@babel/plugin-transform-for-of" "^7.25.7" "@babel/plugin-transform-function-name" "^7.25.7" - "@babel/plugin-transform-json-strings" "^7.25.7" + "@babel/plugin-transform-json-strings" "^7.25.8" "@babel/plugin-transform-literals" "^7.25.7" - "@babel/plugin-transform-logical-assignment-operators" "^7.25.7" + "@babel/plugin-transform-logical-assignment-operators" "^7.25.8" "@babel/plugin-transform-member-expression-literals" "^7.25.7" "@babel/plugin-transform-modules-amd" "^7.25.7" "@babel/plugin-transform-modules-commonjs" "^7.25.7" @@ -969,15 +928,15 @@ "@babel/plugin-transform-modules-umd" "^7.25.7" "@babel/plugin-transform-named-capturing-groups-regex" "^7.25.7" "@babel/plugin-transform-new-target" "^7.25.7" - "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.7" - "@babel/plugin-transform-numeric-separator" "^7.25.7" - "@babel/plugin-transform-object-rest-spread" "^7.25.7" + "@babel/plugin-transform-nullish-coalescing-operator" "^7.25.8" + "@babel/plugin-transform-numeric-separator" "^7.25.8" + "@babel/plugin-transform-object-rest-spread" "^7.25.8" "@babel/plugin-transform-object-super" "^7.25.7" - "@babel/plugin-transform-optional-catch-binding" "^7.25.7" - "@babel/plugin-transform-optional-chaining" "^7.25.7" + "@babel/plugin-transform-optional-catch-binding" "^7.25.8" + "@babel/plugin-transform-optional-chaining" "^7.25.8" "@babel/plugin-transform-parameters" "^7.25.7" "@babel/plugin-transform-private-methods" "^7.25.7" - "@babel/plugin-transform-private-property-in-object" "^7.25.7" + "@babel/plugin-transform-private-property-in-object" "^7.25.8" "@babel/plugin-transform-property-literals" "^7.25.7" "@babel/plugin-transform-regenerator" "^7.25.7" "@babel/plugin-transform-reserved-words" "^7.25.7" @@ -1047,10 +1006,10 @@ debug "^4.3.1" globals "^11.1.0" -"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.25.7", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": - version "7.25.7" - resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.7.tgz#1b7725c1d3a59f328cb700ce704c46371e6eef9b" - integrity sha512-vwIVdXG+j+FOpkwqHRcBgHLYNL7XMkufrlaFvL9o6Ai9sJn9+PdyIL5qa0XzTZw084c+u9LOls53eoZWP/W5WQ== +"@babel/types@^7.0.0", "@babel/types@^7.18.9", "@babel/types@^7.20.7", "@babel/types@^7.22.5", "@babel/types@^7.25.7", "@babel/types@^7.25.8", "@babel/types@^7.3.3", "@babel/types@^7.4.4", "@babel/types@^7.7.0": + version "7.25.8" + resolved "https://registry.npmjs.org/@babel/types/-/types-7.25.8.tgz#5cf6037258e8a9bcad533f4979025140cb9993e1" + integrity sha512-JWtuCu8VQsMladxVz/P4HzHUGCAwpuqacmowgXFs5XjxIgKuNjnLokQzuVjlTvIzODaDmpjT3oxcC48vyk9EWg== dependencies: "@babel/helper-string-parser" "^7.25.7" "@babel/helper-validator-identifier" "^7.25.7" @@ -1980,6 +1939,89 @@ resolved "https://registry.npmjs.org/@open-draft/until/-/until-2.1.0.tgz#0acf32f470af2ceaf47f095cdecd40d68666efda" integrity sha512-U69T3ItWHvLwGg5eJ0n3I62nWuE6ilHlmz7zM0npLBRvPRd7e6NYmg54vvRtP5mZG7kZqZCFVdsTWo7BPtBujg== +"@parcel/watcher-android-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-android-arm64/-/watcher-android-arm64-2.4.1.tgz#c2c19a3c442313ff007d2d7a9c2c1dd3e1c9ca84" + integrity sha512-LOi/WTbbh3aTn2RYddrO8pnapixAziFl6SMxHM69r3tvdSm94JtCenaKgk1GRg5FJ5wpMCpHeW+7yqPlvZv7kg== + +"@parcel/watcher-darwin-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-darwin-arm64/-/watcher-darwin-arm64-2.4.1.tgz#c817c7a3b4f3a79c1535bfe54a1c2818d9ffdc34" + integrity sha512-ln41eihm5YXIY043vBrrHfn94SIBlqOWmoROhsMVTSXGh0QahKGy77tfEywQ7v3NywyxBBkGIfrWRHm0hsKtzA== + +"@parcel/watcher-darwin-x64@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-darwin-x64/-/watcher-darwin-x64-2.4.1.tgz#1a3f69d9323eae4f1c61a5f480a59c478d2cb020" + integrity sha512-yrw81BRLjjtHyDu7J61oPuSoeYWR3lDElcPGJyOvIXmor6DEo7/G2u1o7I38cwlcoBHQFULqF6nesIX3tsEXMg== + +"@parcel/watcher-freebsd-x64@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-freebsd-x64/-/watcher-freebsd-x64-2.4.1.tgz#0d67fef1609f90ba6a8a662bc76a55fc93706fc8" + integrity sha512-TJa3Pex/gX3CWIx/Co8k+ykNdDCLx+TuZj3f3h7eOjgpdKM+Mnix37RYsYU4LHhiYJz3DK5nFCCra81p6g050w== + +"@parcel/watcher-linux-arm-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-linux-arm-glibc/-/watcher-linux-arm-glibc-2.4.1.tgz#ce5b340da5829b8e546bd00f752ae5292e1c702d" + integrity sha512-4rVYDlsMEYfa537BRXxJ5UF4ddNwnr2/1O4MHM5PjI9cvV2qymvhwZSFgXqbS8YoTk5i/JR0L0JDs69BUn45YA== + +"@parcel/watcher-linux-arm64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-linux-arm64-glibc/-/watcher-linux-arm64-glibc-2.4.1.tgz#6d7c00dde6d40608f9554e73998db11b2b1ff7c7" + integrity sha512-BJ7mH985OADVLpbrzCLgrJ3TOpiZggE9FMblfO65PlOCdG++xJpKUJ0Aol74ZUIYfb8WsRlUdgrZxKkz3zXWYA== + +"@parcel/watcher-linux-arm64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-linux-arm64-musl/-/watcher-linux-arm64-musl-2.4.1.tgz#bd39bc71015f08a4a31a47cd89c236b9d6a7f635" + integrity sha512-p4Xb7JGq3MLgAfYhslU2SjoV9G0kI0Xry0kuxeG/41UfpjHGOhv7UoUDAz/jb1u2elbhazy4rRBL8PegPJFBhA== + +"@parcel/watcher-linux-x64-glibc@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-linux-x64-glibc/-/watcher-linux-x64-glibc-2.4.1.tgz#0ce29966b082fb6cdd3de44f2f74057eef2c9e39" + integrity sha512-s9O3fByZ/2pyYDPoLM6zt92yu6P4E39a03zvO0qCHOTjxmt3GHRMLuRZEWhWLASTMSrrnVNWdVI/+pUElJBBBg== + +"@parcel/watcher-linux-x64-musl@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-linux-x64-musl/-/watcher-linux-x64-musl-2.4.1.tgz#d2ebbf60e407170bb647cd6e447f4f2bab19ad16" + integrity sha512-L2nZTYR1myLNST0O632g0Dx9LyMNHrn6TOt76sYxWLdff3cB22/GZX2UPtJnaqQPdCRoszoY5rcOj4oMTtp5fQ== + +"@parcel/watcher-win32-arm64@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-win32-arm64/-/watcher-win32-arm64-2.4.1.tgz#eb4deef37e80f0b5e2f215dd6d7a6d40a85f8adc" + integrity sha512-Uq2BPp5GWhrq/lcuItCHoqxjULU1QYEcyjSO5jqqOK8RNFDBQnenMMx4gAl3v8GiWa59E9+uDM7yZ6LxwUIfRg== + +"@parcel/watcher-win32-ia32@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-win32-ia32/-/watcher-win32-ia32-2.4.1.tgz#94fbd4b497be39fd5c8c71ba05436927842c9df7" + integrity sha512-maNRit5QQV2kgHFSYwftmPBxiuK5u4DXjbXx7q6eKjq5dsLXZ4FJiVvlcw35QXzk0KrUecJmuVFbj4uV9oYrcw== + +"@parcel/watcher-win32-x64@2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher-win32-x64/-/watcher-win32-x64-2.4.1.tgz#4bf920912f67cae5f2d264f58df81abfea68dadf" + integrity sha512-+DvS92F9ezicfswqrvIRM2njcYJbd5mb9CUgtrHCHmvn7pPPa+nMDRu1o1bYYz/l5IB2NVGNJWiH7h1E58IF2A== + +"@parcel/watcher@^2.4.1": + version "2.4.1" + resolved "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.4.1.tgz#a50275151a1bb110879c6123589dba90c19f1bf8" + integrity sha512-HNjmfLQEVRZmHRET336f20H/8kOozUGwk7yajvsonjNxbj2wBTK1WsQuHkD5yYh9RxFGL2EyDHryOihOwUoKDA== + dependencies: + detect-libc "^1.0.3" + is-glob "^4.0.3" + micromatch "^4.0.5" + node-addon-api "^7.0.0" + optionalDependencies: + "@parcel/watcher-android-arm64" "2.4.1" + "@parcel/watcher-darwin-arm64" "2.4.1" + "@parcel/watcher-darwin-x64" "2.4.1" + "@parcel/watcher-freebsd-x64" "2.4.1" + "@parcel/watcher-linux-arm-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-glibc" "2.4.1" + "@parcel/watcher-linux-arm64-musl" "2.4.1" + "@parcel/watcher-linux-x64-glibc" "2.4.1" + "@parcel/watcher-linux-x64-musl" "2.4.1" + "@parcel/watcher-win32-arm64" "2.4.1" + "@parcel/watcher-win32-ia32" "2.4.1" + "@parcel/watcher-win32-x64" "2.4.1" + "@react-spring/animated@~9.2.6-beta.0": version "9.2.6" resolved "https://registry.npmjs.org/@react-spring/animated/-/animated-9.2.6.tgz#58f30fb75d8bfb7ccbc156cfd6b974a8f3dfd54e" @@ -3255,74 +3297,74 @@ resolved "https://registry.npmjs.org/@storybook/theming/-/theming-8.3.5.tgz#c6b807193099a8f9d1afb5d71a59037c0ef54e85" integrity sha512-9HmDDyC691oqfg4RziIM9ElsS2HITaxmH7n/yeUPtuirkPdAQzqOzhvH/Sa0qOhifzs8VjR+Gd/a/ZQ+S38r7w== -"@swc/core-darwin-arm64@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.26.tgz#5f4096c00e71771ca1b18c824f0c92a052c70760" - integrity sha512-FF3CRYTg6a7ZVW4yT9mesxoVVZTrcSWtmZhxKCYJX9brH4CS/7PRPjAKNk6kzWgWuRoglP7hkjQcd6EpMcZEAw== - -"@swc/core-darwin-x64@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.26.tgz#867b7a4f094e6b64201090ca5fcbf3da7d0f3e22" - integrity sha512-az3cibZdsay2HNKmc4bjf62QVukuiMRh5sfM5kHR/JMTrLyS6vSw7Ihs3UTkZjUxkLTT8ro54LI6sV6sUQUbLQ== - -"@swc/core-linux-arm-gnueabihf@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.26.tgz#35bb43894def296d92aaa2cc9372d48042f37777" - integrity sha512-VYPFVJDO5zT5U3RpCdHE5v1gz4mmR8BfHecUZTmD2v1JeFY6fv9KArJUpjrHEEsjK/ucXkQFmJ0jaiWXmpOV9Q== - -"@swc/core-linux-arm64-gnu@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.26.tgz#8e2321cc4ec84cbfed8f8e16ff1ed7b854450443" - integrity sha512-YKevOV7abpjcAzXrhsl+W48Z9mZvgoVs2eP5nY+uoMAdP2b3GxC0Df1Co0I90o2lkzO4jYBpTMcZlmUXLdXn+Q== - -"@swc/core-linux-arm64-musl@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.26.tgz#b1c16e4b23ffa9ff19973eda6ffee35d2a7de7b0" - integrity sha512-3w8iZICMkQQON0uIcvz7+Q1MPOW6hJ4O5ETjA0LSP/tuKqx30hIniCGOgPDnv3UTMruLUnQbtBwVCZTBKR3Rkg== - -"@swc/core-linux-x64-gnu@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.26.tgz#388e2cc13a010cd28787aead2cecf31eb491836d" - integrity sha512-c+pp9Zkk2lqb06bNGkR2Looxrs7FtGDMA4/aHjZcCqATgp348hOKH5WPvNLBl+yPrISuWjbKDVn3NgAvfvpH4w== - -"@swc/core-linux-x64-musl@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.26.tgz#51e0ff30981f26d7a5b97a7a7b5b291bad050d1a" - integrity sha512-PgtyfHBF6xG87dUSSdTJHwZ3/8vWZfNIXQV2GlwEpslrOkGqy+WaiiyE7Of7z9AvDILfBBBcJvJ/r8u980wAfQ== - -"@swc/core-win32-arm64-msvc@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.26.tgz#a7fdcc4074c34ee6a026506b594d00323383c11f" - integrity sha512-9TNXPIJqFynlAOrRD6tUQjMq7KApSklK3R/tXgIxc7Qx+lWu8hlDQ/kVPLpU7PWvMMwC/3hKBW+p5f+Tms1hmA== - -"@swc/core-win32-ia32-msvc@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.26.tgz#ae7be6dde798eebee2000b8fd84e01a439b5bd6a" - integrity sha512-9YngxNcG3177GYdsTum4V98Re+TlCeJEP4kEwEg9EagT5s3YejYdKwVAkAsJszzkXuyRDdnHUpYbTrPG6FiXrQ== - -"@swc/core-win32-x64-msvc@1.7.26": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.26.tgz#310d607004d7319085a4dec20c0c38c3405cc05b" - integrity sha512-VR+hzg9XqucgLjXxA13MtV5O3C0bK0ywtLIBw/+a+O+Oc6mxFWHtdUeXDbIi5AiPbn0fjgVJMqYnyjGyyX8u0w== +"@swc/core-darwin-arm64@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-darwin-arm64/-/core-darwin-arm64-1.7.35.tgz#695fe6cff7b429513f0e942f242156ab1f69bc7b" + integrity sha512-BQSSozVxjxS+SVQz6e3GC/+OBWGIK3jfe52pWdANmycdjF3ch7lrCKTHTU7eHwyoJ96mofszPf5AsiVJF34Fwg== + +"@swc/core-darwin-x64@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-darwin-x64/-/core-darwin-x64-1.7.35.tgz#c15c0fb11fb44e748d86d949911a6e416c7d36c9" + integrity sha512-44TYdKN/EWtkU88foXR7IGki9JzhEJzaFOoPevfi9Xe7hjAD/x2+AJOWWqQNzDPMz9+QewLdUVLyR6s5okRgtg== + +"@swc/core-linux-arm-gnueabihf@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-linux-arm-gnueabihf/-/core-linux-arm-gnueabihf-1.7.35.tgz#e40a31cbbef31b4ec0fa294eae4c51bf28f1622b" + integrity sha512-ccfA5h3zxwioD+/z/AmYtkwtKz9m4rWTV7RoHq6Jfsb0cXHrd6tbcvgqRWXra1kASlE+cDWsMtEZygs9dJRtUQ== + +"@swc/core-linux-arm64-gnu@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-gnu/-/core-linux-arm64-gnu-1.7.35.tgz#538d367d06d7f2cbee05b9e1357583574eb57601" + integrity sha512-hx65Qz+G4iG/IVtxJKewC5SJdki8PAPFGl6gC/57Jb0+jA4BIoGLD/J3Q3rCPeoHfdqpkCYpahtyUq8CKx41Jg== + +"@swc/core-linux-arm64-musl@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-linux-arm64-musl/-/core-linux-arm64-musl-1.7.35.tgz#752e6b74c10113e1759e418906f48138dfd01a9f" + integrity sha512-kL6tQL9No7UEoEvDRuPxzPTpxrvbwYteNRbdChSSP74j13/55G2/2hLmult5yFFaWuyoyU/2lvzjRL/i8OLZxg== + +"@swc/core-linux-x64-gnu@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-gnu/-/core-linux-x64-gnu-1.7.35.tgz#0cbade76e5abce7d13802d6c55dc0c21213f5d3d" + integrity sha512-Ke4rcLQSwCQ2LHdJX1FtnqmYNQ3IX6BddKlUtS7mcK13IHkQzZWp0Dcu6MgNA3twzb/dBpKX5GLy07XdGgfmyw== + +"@swc/core-linux-x64-musl@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-linux-x64-musl/-/core-linux-x64-musl-1.7.35.tgz#ac60b88972cdbd2856cbe7b5b5ef1a1f54d906f6" + integrity sha512-T30tlLnz0kYyDFyO5RQF5EQ4ENjW9+b56hEGgFUYmfhFhGA4E4V67iEx7KIG4u0whdPG7oy3qjyyIeTb7nElEw== + +"@swc/core-win32-arm64-msvc@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-win32-arm64-msvc/-/core-win32-arm64-msvc-1.7.35.tgz#366f3e8cc387c539579e91a4ccf8a2b9a0083889" + integrity sha512-CfM/k8mvtuMyX+okRhemfLt784PLS0KF7Q9djA8/Dtavk0L5Ghnq+XsGltO3d8B8+XZ7YOITsB14CrjehzeHsg== + +"@swc/core-win32-ia32-msvc@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-win32-ia32-msvc/-/core-win32-ia32-msvc-1.7.35.tgz#07fbda3ca8ac58f28cd441aa9ba082a3ea6d84fb" + integrity sha512-ATB3uuH8j/RmS64EXQZJSbo2WXfRNpTnQszHME/sGaexsuxeijrp3DTYSFAA3R2Bu6HbIIX6jempe1Au8I3j+A== + +"@swc/core-win32-x64-msvc@1.7.35": + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core-win32-x64-msvc/-/core-win32-x64-msvc-1.7.35.tgz#043a54aaeb9b24f4f2405ac2cfa48891508ff1a6" + integrity sha512-iDGfQO1571NqWUXtLYDhwIELA/wadH42ioGn+J9R336nWx40YICzy9UQyslWRhqzhQ5kT+QXAW/MoCWc058N6Q== "@swc/core@^1.5.22": - version "1.7.26" - resolved "https://registry.npmjs.org/@swc/core/-/core-1.7.26.tgz#beda9b82063fcec7b56c958804a4d175aecf9a9d" - integrity sha512-f5uYFf+TmMQyYIoxkn/evWhNGuUzC730dFwAKGwBVHHVoPyak1/GvJUm6i1SKl+2Hrj9oN0i3WSoWWZ4pgI8lw== + version "1.7.35" + resolved "https://registry.npmjs.org/@swc/core/-/core-1.7.35.tgz#8a24041c8ef96477dd91aef9287d5fff79276e79" + integrity sha512-3cUteCTbr2r5jqfgx0r091sfq5Mgh6F1SQh8XAOnSvtKzwv2bC31mvBHVAieD1uPa2kHJhLav20DQgXOhpEitw== dependencies: "@swc/counter" "^0.1.3" - "@swc/types" "^0.1.12" + "@swc/types" "^0.1.13" optionalDependencies: - "@swc/core-darwin-arm64" "1.7.26" - "@swc/core-darwin-x64" "1.7.26" - "@swc/core-linux-arm-gnueabihf" "1.7.26" - "@swc/core-linux-arm64-gnu" "1.7.26" - "@swc/core-linux-arm64-musl" "1.7.26" - "@swc/core-linux-x64-gnu" "1.7.26" - "@swc/core-linux-x64-musl" "1.7.26" - "@swc/core-win32-arm64-msvc" "1.7.26" - "@swc/core-win32-ia32-msvc" "1.7.26" - "@swc/core-win32-x64-msvc" "1.7.26" + "@swc/core-darwin-arm64" "1.7.35" + "@swc/core-darwin-x64" "1.7.35" + "@swc/core-linux-arm-gnueabihf" "1.7.35" + "@swc/core-linux-arm64-gnu" "1.7.35" + "@swc/core-linux-arm64-musl" "1.7.35" + "@swc/core-linux-x64-gnu" "1.7.35" + "@swc/core-linux-x64-musl" "1.7.35" + "@swc/core-win32-arm64-msvc" "1.7.35" + "@swc/core-win32-ia32-msvc" "1.7.35" + "@swc/core-win32-x64-msvc" "1.7.35" "@swc/counter@^0.1.3": version "0.1.3" @@ -3338,10 +3380,10 @@ "@swc/counter" "^0.1.3" jsonc-parser "^3.2.0" -"@swc/types@^0.1.12": - version "0.1.12" - resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.12.tgz#7f632c06ab4092ce0ebd046ed77ff7557442282f" - integrity sha512-wBJA+SdtkbFhHjTMYH+dEH1y4VpfGdAc2Kw/LK09i9bXd/K6j6PkDcFCEzb6iVfZMkPRrl/q0e3toqTAJdkIVA== +"@swc/types@^0.1.13": + version "0.1.13" + resolved "https://registry.npmjs.org/@swc/types/-/types-0.1.13.tgz#441734f8bfa6e9e738f1c68e98be6da282ecc7db" + integrity sha512-JL7eeCk6zWCbiYQg2xQSdLXQJl8Qoc9rXmG2cEKvHe3CKwMHwHGpfOb8frzNLmbycOo6I51qxnLnn9ESf4I20Q== dependencies: "@swc/counter" "^0.1.3" @@ -5073,9 +5115,9 @@ camelize@^1.0.0: integrity sha512-dU+Tx2fsypxTgtLoE36npi3UqcjSSMNYfkqgmoEhtZrraP5VWq0K7FkWVTYa8eMPtnU/G2txVsfdCJTn9uzpuQ== caniuse-lite@^1.0.30001663: - version "1.0.30001667" - resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001667.tgz#99fc5ea0d9c6e96897a104a8352604378377f949" - integrity sha512-7LTwJjcRkzKFmtqGsibMeuXmvFDfZq/nzIjnmgCGzKKRVzjD72selLDK1oPF/Oxzmt4fNcPvTDvGqSDG4tCALw== + version "1.0.30001668" + resolved "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001668.tgz#98e214455329f54bf7a4d70b49c9794f0fbedbed" + integrity sha512-nWLrdxqCdblixUO+27JtGJJE/txpJlyUy5YN1u53wLZkP0emYCo5zgS6QYft7VUYR42LGgi/S5hdLZTrnyIddw== canvg@^3.0.6: version "3.0.10" @@ -5426,10 +5468,10 @@ cookie-signature@1.0.6: resolved "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz#e303a882b342cc3ee8ca513a79999734dab3ae2c" integrity sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ== -cookie@0.6.0: - version "0.6.0" - resolved "https://registry.npmjs.org/cookie/-/cookie-0.6.0.tgz#2798b04b071b0ecbff0dbb62a505a8efa4e19051" - integrity sha512-U71cyTamuh1CRNCfpGY6to28lxvNwPG4Guz/EVjgf3Jmzv0vlDp1atT9eS5dDjMYHucpHbWns6Lwf3BKz6svdw== +cookie@0.7.1: + version "0.7.1" + resolved "https://registry.npmjs.org/cookie/-/cookie-0.7.1.tgz#2f73c42142d5d5cf71310a74fc4ae61670e5dbc9" + integrity sha512-6DnInpx7SJ2AK3+CTUE/ZM0vWTUboZCegxhC2xiIydHR9jNuTAASBrfEpHhiGOZw/nX51bHt6YQl8jsGo4y/0w== cookie@^0.5.0: version "0.5.0" @@ -5519,9 +5561,9 @@ css-color-keywords@^1.0.0: integrity sha512-FyyrDHZKEjXDpNJYvVsV960FiqQyXc/LlYmsxl2BcdMb2WPx0OGRVgTg55rPSyLSNMqP52R9r8geSp7apN3Ofg== css-functions-list@^3.1.0: - version "3.2.2" - resolved "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.2.tgz#9a54c6dd8416ed25c1079cd88234e927526c1922" - integrity sha512-c+N0v6wbKVxTu5gOBBFkr9BEdBWaqqjQeiJ8QvSRIJOf+UxlJh930m8e6/WNeODIK0mYLFkoONrnj16i2EcvfQ== + version "3.2.3" + resolved "https://registry.npmjs.org/css-functions-list/-/css-functions-list-3.2.3.tgz#95652b0c24f0f59b291a9fc386041a19d4f40dbe" + integrity sha512-IQOkD3hbR5KrN93MtcYuad6YPuTSUhntLHDuLEbFWE+ff2/XSZNdZG+LcbbIW5AXKg/WFIfYItIzVoHngHXZzA== css-line-break@^2.1.0: version "2.1.0" @@ -5663,7 +5705,7 @@ d3-collection@^1.0.7: resolved "https://registry.npmjs.org/d3-collection/-/d3-collection-1.0.7.tgz#349bd2aa9977db071091c13144d5e4f16b5b310e" integrity sha512-ii0/r5f4sjKNTfh84Di+DpztYwqKhEyUlKoPrzUFfeSkWxjW49xU2QzO9qrPrNkpdI0XJkfzvmTu8V2Zylln6A== -"d3-color@1 - 2", "d3-color@1 - 3", d3-color@^3.0.0: +"d3-color@1 - 2", "d3-color@1 - 3", d3-color@^3.1.0: version "3.1.0" resolved "https://registry.npmjs.org/d3-color/-/d3-color-3.1.0.tgz#395b2833dfac71507f12ac2f7af23bf819de24e2" integrity sha512-zg/chbXyeBtMQ1LbD/WSoW2DpC3I0mpmPdW+ynRTj/x2DAWYrIY7qeZIHidozwV24m4iavr15lNwIwLxRmOxhA== @@ -5691,14 +5733,7 @@ d3-drag@2, d3-drag@^2.0.0: resolved "https://registry.npmjs.org/d3-format/-/d3-format-2.0.0.tgz#a10bcc0f986c372b729ba447382413aabf5b0767" integrity sha512-Ab3S6XuE/Q+flY96HXT0jOXcM4EAClYFnRGY5zsjRGNy6qCYrQsMffs7cV5Q9xejb35zxW5hf/guKw34kvIKsA== -"d3-interpolate@1 - 2", "d3-interpolate@1.2.0 - 2": - version "2.0.1" - resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-2.0.1.tgz#98be499cfb8a3b94d4ff616900501a64abc91163" - integrity sha512-c5UhwwTs/yybcmTpAVqwSFl6vrQ8JZJoT5F7xNFK9pymv5C0Ymcc9/LIJHtYIggg/yS9YHw8i8O8tgb9pupjeQ== - dependencies: - d3-color "1 - 2" - -d3-interpolate@^3.0.1: +"d3-interpolate@1 - 2", "d3-interpolate@1.2.0 - 2", d3-interpolate@^3.0.1: version "3.0.1" resolved "https://registry.npmjs.org/d3-interpolate/-/d3-interpolate-3.0.1.tgz#3c47aa5b32c5b3dfb56ef3fd4342078a632b400d" integrity sha512-3bYs1rOD33uo8aqJfKP3JWPAibgw8Zm2+L9vBKEHJ2Rg+viTR7o5Mmv5mZcieN+FRYaAOWX5SJATX6k1PWz72g== @@ -5982,6 +6017,11 @@ destroy@1.2.0: resolved "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz#4803735509ad8be552934c67df614f94e66fa015" integrity sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg== +detect-libc@^1.0.3: + version "1.0.3" + resolved "https://registry.npmjs.org/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b" + integrity sha512-pGjwhsmsp4kL2RTz08wcOlGN83otlqHeD/Z5T8GXZB+/YcpQ/dgo+lbU8ZsGxV0HIvqqxo9l7mqYwyYMD9bKDg== + detect-newline@^3.0.0: version "3.1.0" resolved "https://registry.npmjs.org/detect-newline/-/detect-newline-3.1.0.tgz#576f5dfc63ae1a192ff192d8ad3af6308991b651" @@ -6148,9 +6188,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.28: - version "1.5.33" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.33.tgz#8f64698661240e70fdbc4b032e6085e391f05e09" - integrity sha512-+cYTcFB1QqD4j4LegwLfpCNxifb6dDFUAwk6RsLusCwIaZI6or2f+q8rs5tTB2YC53HhOlIbEaqHMAAC8IOIwA== + version "1.5.36" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.36.tgz#ec41047f0e1446ec5dce78ed5970116533139b88" + integrity sha512-HYTX8tKge/VNp6FGO+f/uVDmUkq+cEfcxYhKf15Akc4M5yxt5YmorwlAitKWjWhWQnKcDRBAQKXkhqqXMqcrjw== element-resize-detector@^1.2.4: version "1.2.4" @@ -6330,9 +6370,9 @@ es-get-iterator@^1.1.3: stop-iteration-iterator "^1.0.0" es-iterator-helpers@^1.0.19: - version "1.0.19" - resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.0.19.tgz#117003d0e5fec237b4b5c08aded722e0c6d50ca8" - integrity sha512-zoMwbCcH5hwUkKJkT8kDIBZSz9I6mVG//+lDCinLCGov4+r7NIy0ld8o03M0cJxl2spVf6ESYVS6/gpIfq1FFw== + version "1.1.0" + resolved "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.1.0.tgz#f6d745d342aea214fe09497e7152170dc333a7a6" + integrity sha512-/SurEfycdyssORP/E+bj4sEu1CWw4EmLDsHynHwSXQ7utgbrMRWW195pTrCjFgFCddf/UkYm3oqKPRq5i8bJbw== dependencies: call-bind "^1.0.7" define-properties "^1.2.1" @@ -6341,12 +6381,12 @@ es-iterator-helpers@^1.0.19: es-set-tostringtag "^2.0.3" function-bind "^1.1.2" get-intrinsic "^1.2.4" - globalthis "^1.0.3" + globalthis "^1.0.4" has-property-descriptors "^1.0.2" has-proto "^1.0.3" has-symbols "^1.0.3" internal-slot "^1.0.7" - iterator.prototype "^1.1.2" + iterator.prototype "^1.1.3" safe-array-concat "^1.1.2" es-module-lexer@^1.2.1, es-module-lexer@^1.5.0: @@ -6829,16 +6869,16 @@ expect@^29.0.0, expect@^29.7.0: jest-util "^29.7.0" express@^4.19.2: - version "4.21.0" - resolved "https://registry.npmjs.org/express/-/express-4.21.0.tgz#d57cb706d49623d4ac27833f1cbc466b668eb915" - integrity sha512-VqcNGcj/Id5ZT1LZ/cfihi3ttTn+NJmkli2eZADigjq29qTlWi/hAQ43t/VLPq8+UX06FCEx3ByOYet6ZFblng== + version "4.21.1" + resolved "https://registry.npmjs.org/express/-/express-4.21.1.tgz#9dae5dda832f16b4eec941a4e44aa89ec481b281" + integrity sha512-YSFlK1Ee0/GC8QaO91tHcDxJiE/X4FbpAyQWkxAvG6AXCuR65YzK8ua6D9hvi/TzUfZMpc+BwuM1IPw8fmQBiQ== dependencies: accepts "~1.3.8" array-flatten "1.1.1" body-parser "1.20.3" content-disposition "0.5.4" content-type "~1.0.4" - cookie "0.6.0" + cookie "0.7.1" cookie-signature "1.0.6" debug "2.6.9" depd "2.0.0" @@ -7137,9 +7177,9 @@ fork-ts-checker-webpack-plugin@^9.0.2: tapable "^2.2.1" form-data@^4.0.0: - version "4.0.0" - resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz#93919daeaf361ee529584b9b31664dc12c9fa452" - integrity sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww== + version "4.0.1" + resolved "https://registry.npmjs.org/form-data/-/form-data-4.0.1.tgz#ba1076daaaa5bfd7e99c1a6cb02aa0a5cff90d48" + integrity sha512-tzN8e4TX8+kkxGPK8D5u0FNmjPUjw3lwC9lSLxxoB/+GtsJG91CO8bSWy73APlgAZzZbXEYZJuxjkHH2w+Ezhw== dependencies: asynckit "^0.4.0" combined-stream "^1.0.8" @@ -7370,7 +7410,7 @@ globals@^13.19.0: dependencies: type-fest "^0.20.2" -globalthis@^1.0.3: +globalthis@^1.0.3, globalthis@^1.0.4: version "1.0.4" resolved "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz#7430ed3a975d97bfb59bcce41f5cabbafa651236" integrity sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ== @@ -8276,7 +8316,7 @@ istanbul-reports@^3.0.2, istanbul-reports@^3.1.3: html-escaper "^2.0.0" istanbul-lib-report "^3.0.0" -iterator.prototype@^1.1.2: +iterator.prototype@^1.1.3: version "1.1.3" resolved "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.3.tgz#016c2abe0be3bbdb8319852884f60908ac62bf9c" integrity sha512-FW5iMbeQ6rBGm/oKgzq2aW4KvAGpxPzYES8N4g4xNXUKpL1mclMvOe+76AcLDTvD+Ze+sOpVhgdAQEKF4L9iGQ== @@ -9107,9 +9147,9 @@ lz-string@^1.5.0: integrity sha512-h5bgJWpxJNswbU7qCrV0tIKQCaS3blPDrqKWx+QxzuzL1zGUzij9XCWLrSLsJPu5t+eWA/ycetzYAO5IOMcWAQ== magic-string@^0.30.5: - version "0.30.11" - resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.11.tgz#301a6f93b3e8c2cb13ac1a7a673492c0dfd12954" - integrity sha512-+Wri9p0QHMy+545hKww7YAu5NyzF8iomPL/RQazugQ9+Ez4Ic3mERMd8ZTX5rfK944j+560ZJi8iAwgak1Ac7A== + version "0.30.12" + resolved "https://registry.npmjs.org/magic-string/-/magic-string-0.30.12.tgz#9eb11c9d072b9bcb4940a5b2c2e1a217e4ee1a60" + integrity sha512-Ea8I3sQMVXr8JhN4z+H/d8zwo+tYDgHE9+5G4Wnrwhs0gaK9fXTKx0Tw5Xwsd/bCPTTZNRAdpyzvoeORe9LYpw== dependencies: "@jridgewell/sourcemap-codec" "^1.5.0" @@ -9475,6 +9515,11 @@ node-abort-controller@^3.0.1: resolved "https://registry.npmjs.org/node-abort-controller/-/node-abort-controller-3.1.1.tgz#a94377e964a9a37ac3976d848cb5c765833b8548" integrity sha512-AGK2yQKIjRuqnc6VkX2Xj5d+QW8xZ87pa1UK6yA6ouUyuxfHuMP6umE5QK7UmTeOAymo+Zx1Fxiuw9rVx8taHQ== +node-addon-api@^7.0.0: + version "7.1.1" + resolved "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.1.1.tgz#1aba6693b0f255258a049d621329329322aad558" + integrity sha512-5m3bsyrjFWE1xf7nz7YXdN4udnVtXK6/Yfgn5qnahL6bCkf2yKt4k3nuTKAtT4r3IG8JNR2ncsIMdZuAzJjHQQ== + node-forge@^1: version "1.3.1" resolved "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz#be8da2af243b2417d5f646a770663a92b7e9ded3" @@ -9998,17 +10043,17 @@ pkg-dir@^7.0.0: dependencies: find-up "^6.3.0" -playwright-core@1.47.2, playwright-core@>=1.2.0: - version "1.47.2" - resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.47.2.tgz#7858da9377fa32a08be46ba47d7523dbd9460a4e" - integrity sha512-3JvMfF+9LJfe16l7AbSmU555PaTl2tPyQsVInqm3id16pdDfvZ8TTZ/pyzmkbDrZTQefyzU7AIHlZqQnxpqHVQ== +playwright-core@1.48.0, playwright-core@>=1.2.0: + version "1.48.0" + resolved "https://registry.npmjs.org/playwright-core/-/playwright-core-1.48.0.tgz#34d209dd4aba8fccd4a96116f1c4f7630f868722" + integrity sha512-RBvzjM9rdpP7UUFrQzRwR8L/xR4HyC1QXMzGYTbf1vjw25/ya9NRAVnXi/0fvFopjebvyPzsmoK58xxeEOaVvA== playwright@^1.14.0: - version "1.47.2" - resolved "https://registry.npmjs.org/playwright/-/playwright-1.47.2.tgz#155688aa06491ee21fb3e7555b748b525f86eb20" - integrity sha512-nx1cLMmQWqmA3UsnjaaokyoUpdVaaDhJhMoxX2qj3McpjnsqFHs516QAKYhqHAgOP+oCFTEOCOAaD1RgD/RQfA== + version "1.48.0" + resolved "https://registry.npmjs.org/playwright/-/playwright-1.48.0.tgz#00855d9a25f1991d422867f1c32af5d90f457b48" + integrity sha512-qPqFaMEHuY/ug8o0uteYJSRfMGFikhUysk8ZvAtfKmUK3kc/6oNl/y3EczF8OFGYIi/Ex2HspMfzYArk6+XQSA== dependencies: - playwright-core "1.47.2" + playwright-core "1.48.0" optionalDependencies: fsevents "2.3.2" @@ -10920,10 +10965,11 @@ safe-regex-test@^1.0.3: integrity sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg== sass@^1.62.1: - version "1.79.4" - resolved "https://registry.npmjs.org/sass/-/sass-1.79.4.tgz#f9c45af35fbeb53d2c386850ec842098d9935267" - integrity sha512-K0QDSNPXgyqO4GZq2HO5Q70TLxTH6cIT59RdoCHMivrC8rqzaTw5ab9prjz9KUN1El4FLXrBXJhik61JR4HcGg== + version "1.79.5" + resolved "https://registry.npmjs.org/sass/-/sass-1.79.5.tgz#646c627601cd5f84c64f7b1485b9292a313efae4" + integrity sha512-W1h5kp6bdhqFh2tk3DsI771MoEJjvrSY/2ihJRJS4pjIyfJCw0nTsxqhnrUzaLMOJjFchj8rOvraI/YUVjtx5g== dependencies: + "@parcel/watcher" "^2.4.1" chokidar "^4.0.0" immutable "^4.0.0" source-map-js ">=0.6.2 <2.0.0" @@ -12007,9 +12053,9 @@ typedarray-to-buffer@^3.1.5: is-typedarray "^1.0.0" typescript@^5.6.2: - version "5.6.2" - resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz#d1de67b6bef77c41823f822df8f0b3bcff60a5a0" - integrity sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw== + version "5.6.3" + resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" + integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== typewise-core@^1.2, typewise-core@^1.2.0: version "1.2.0" From f1272ba88cd24dcbb91e59423717807bcfacb6a6 Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Fri, 11 Oct 2024 13:13:10 +0200 Subject: [PATCH 10/22] update quick start ui script --- scripts/quick_start_ui.sh | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/scripts/quick_start_ui.sh b/scripts/quick_start_ui.sh index 2c2390f03..6b8c06961 100755 --- a/scripts/quick_start_ui.sh +++ b/scripts/quick_start_ui.sh @@ -51,7 +51,8 @@ docker run \ -e "SPLUNK_HEC_TOKEN=4a8a737d-5452-426c-a6f7-106dca4e813f" \ -e "SPLUNK_DISABLE_POPUPS=true" \ -d \ - --name $CONTAINER_NAME splunk/splunk:9.1.2 + --pull=always \ + --name splunk splunk/splunk:${1:-"latest"} echo -n "Waiting Splunk for run" until curl -Lsk "https://localhost:8088/services/collector/health" &>/dev/null ; do echo -n "." && sleep 5 ; done From cf32661effc6d201515e2b71d26a114eea691470 Mon Sep 17 00:00:00 2001 From: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> Date: Mon, 14 Oct 2024 13:13:21 +0200 Subject: [PATCH 11/22] chore: use ubuntu ubuntu-22.04 (#1374) **Issue number:** Moving from ubuntu latest to ubuntu 22.04 latest ubuntu moved to 24.04 (https://github.com/actions/runner-images/issues/10636) Current issue is Ubuntu 24.04 does not cache python 3.7. whats causing jobs to fail: https://github.com/splunk/addonfactory-ucc-generator/actions/runs/11314103564/job/31463721491 ## Summary ### Changes > Please provide a summary of what's being changed ubuntu-22.04 is used instead of ubuntu-latest ### User experience > Please describe what the user experience looks like before and after this change no changes ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [ ] Changes have been tested * [ ] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --- .../workflows/automatic_doc_generation.yml | 2 +- .github/workflows/build-test-release.yml | 26 +++++++++---------- .github/workflows/build-ui.yml | 2 +- .github/workflows/docs.yml | 2 +- .github/workflows/storybook-visual.yml | 2 +- 5 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/automatic_doc_generation.yml b/.github/workflows/automatic_doc_generation.yml index f8b5a8e77..c65561ce5 100644 --- a/.github/workflows/automatic_doc_generation.yml +++ b/.github/workflows/automatic_doc_generation.yml @@ -8,7 +8,7 @@ on: jobs: generate-docs: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 env: isPR: ${{ github.event.pull_request.base.ref == 'develop' || github.event.pull_request.base.ref == 'main' }} steps: diff --git a/.github/workflows/build-test-release.yml b/.github/workflows/build-test-release.yml index 3ba1a58a4..92a0954f7 100644 --- a/.github/workflows/build-test-release.yml +++ b/.github/workflows/build-test-release.yml @@ -16,7 +16,7 @@ concurrency: jobs: meta: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 outputs: matrix_supportedSplunk: ${{ steps.matrix.outputs.supportedSplunk }} steps: @@ -26,7 +26,7 @@ jobs: fossa-scan: continue-on-error: true - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - run: | @@ -54,7 +54,7 @@ jobs: failed: ${{ env.failed }} pre-commit: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -68,7 +68,7 @@ jobs: SEMGREP_KEY: ${{ secrets.SEMGREP_PUBLISH_TOKEN }} compliance-copyrights: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: apache/skywalking-eyes@v0.6.0 @@ -104,7 +104,7 @@ jobs: needs: - fossa-scan - build-ui - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 @@ -133,7 +133,7 @@ jobs: path: dist/ test-unit: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 continue-on-error: true strategy: matrix: @@ -166,7 +166,7 @@ jobs: name: test-smoke ${{ matrix.python-version }} needs: - build-ui - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 continue-on-error: true strategy: matrix: @@ -202,7 +202,7 @@ jobs: failed: ${{ env.failed }} build-test-addon: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: - build-ui steps: @@ -234,7 +234,7 @@ jobs: test-ui: name: test-ui Splunk ${{ matrix.splunk.version }} -m ${{ matrix.test-mark }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 permissions: id-token: write contents: read @@ -293,7 +293,7 @@ jobs: appinspect-for-expected-outputs: name: splunk-appinspect ${{ matrix.tags }} tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 continue-on-error: true strategy: matrix: @@ -332,7 +332,7 @@ jobs: - build-test-addon-openapi-client - storybook-screenshots - bot-updates - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 env: NEEDS: ${{ toJson(needs) }} steps: @@ -365,7 +365,7 @@ jobs: - semgrep - pre-commit - all-checks - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 if: "! github.event.pull_request.head.repo.fork " steps: - uses: actions/checkout@v4 @@ -407,7 +407,7 @@ jobs: build-test-addon-openapi-client: name: build-test-addon-openapi-client Splunk ${{ matrix.splunk.version }} - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 needs: - meta - build-test-addon diff --git a/.github/workflows/build-ui.yml b/.github/workflows/build-ui.yml index a8d6a9113..7b6ac2497 100644 --- a/.github/workflows/build-ui.yml +++ b/.github/workflows/build-ui.yml @@ -8,7 +8,7 @@ on: jobs: build-ui: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 defaults: run: working-directory: ui diff --git a/.github/workflows/docs.yml b/.github/workflows/docs.yml index f8f763b75..a632eb28f 100644 --- a/.github/workflows/docs.yml +++ b/.github/workflows/docs.yml @@ -12,7 +12,7 @@ on: - "release/**" jobs: deploy: - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 permissions: contents: write pages: write diff --git a/.github/workflows/storybook-visual.yml b/.github/workflows/storybook-visual.yml index eb650b3fb..1f2d123ef 100644 --- a/.github/workflows/storybook-visual.yml +++ b/.github/workflows/storybook-visual.yml @@ -12,7 +12,7 @@ jobs: run: working-directory: ui shell: bash - runs-on: ubuntu-latest + runs-on: ubuntu-22.04 env: isPR: ${{ github.event.pull_request.base.ref == 'develop' || github.event.pull_request.base.ref == 'main' }} steps: From bc5c8ce47babbd0c2b9d0232651bb7b46e1f9713 Mon Sep 17 00:00:00 2001 From: rohanm-crest <163995910+rohanm-crest@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:31:16 +0530 Subject: [PATCH 12/22] test: flakiness of unit test (FileInputComponent) (#1368) **Issue number**: *ADDON-72533* ## Summary ### Changes > Fix flakiness of unit test (FileInputComponent) ### User experience > fix the test case so don't affect the user experience ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [ ] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --- .../FileInputComponent/FileInputComponent.test.tsx | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/ui/src/components/FileInputComponent/FileInputComponent.test.tsx b/ui/src/components/FileInputComponent/FileInputComponent.test.tsx index 0d36068b8..620efe558 100644 --- a/ui/src/components/FileInputComponent/FileInputComponent.test.tsx +++ b/ui/src/components/FileInputComponent/FileInputComponent.test.tsx @@ -1,6 +1,6 @@ import React from 'react'; -import { render, screen } from '@testing-library/react'; +import { render, screen, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; import FileInputComponent from './FileInputComponent'; import fileContants from '../../constants/fileInputConstant'; @@ -375,5 +375,6 @@ test('Check FileInputComponent encodes base64 correctly and passed it to handler await userEvent.upload(fileInput, testfile); // Check that handleChange is called with valid args. - expect(handleChange).toHaveBeenCalledWith(field, btoa(fileContent)); + const fileContentInBase64 = btoa(fileContent); + await waitFor(() => expect(handleChange).toHaveBeenCalledWith(field, fileContentInBase64)); }); From 4e907c01642931d689dea227072b72021a140cb6 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 08:38:28 +0000 Subject: [PATCH 13/22] chore(deps): update npm (#1371) --- ui/package.json | 38 +++++++++++------------ ui/yarn.lock | 80 ++++++++++++++++++++++++------------------------- 2 files changed, 59 insertions(+), 59 deletions(-) diff --git a/ui/package.json b/ui/package.json index 7160e35e8..14c8fec92 100644 --- a/ui/package.json +++ b/ui/package.json @@ -36,7 +36,7 @@ "@splunk/themes": "^0.22.0", "@splunk/ui-utils": "^1.7.1", "@splunk/visualization-context": "^26.3.0", - "@storybook/test": "^8.3.4", + "@storybook/test": "^8.3.5", "axios": "^1.7.7", "immutability-helper": "^3.1.1", "license-webpack-plugin": "^4.0.2", @@ -45,30 +45,30 @@ "react": "^16.14.0", "react-dom": "^16.14.0", "react-is": "^16.13.1", - "react-router-dom": "^6.26.2", + "react-router-dom": "^6.27.0", "styled-components": "^5.3.11", "uuid": "^10.0.0", "zod": "^3.23.8" }, "devDependencies": { - "@babel/core": "^7.25.2", - "@babel/eslint-parser": "^7.25.1", - "@babel/plugin-transform-runtime": "^7.25.4", - "@babel/preset-env": "^7.25.4", - "@babel/preset-react": "^7.24.7", + "@babel/core": "^7.25.8", + "@babel/eslint-parser": "^7.25.8", + "@babel/plugin-transform-runtime": "^7.25.7", + "@babel/preset-env": "^7.25.8", + "@babel/preset-react": "^7.25.7", "@kickstartds/core": "^4.0.5", "@kickstartds/storybook-addon-jsonschema": "^4.0.0", "@splunk/babel-preset": "^4.0.0", "@splunk/eslint-config": "^4.0.0", "@splunk/webpack-configs": "^7.0.2", - "@storybook/addon-a11y": "^8.3.4", - "@storybook/addon-essentials": "^8.3.4", - "@storybook/addon-interactions": "^8.3.4", - "@storybook/addon-links": "^8.3.4", + "@storybook/addon-a11y": "^8.3.5", + "@storybook/addon-essentials": "^8.3.5", + "@storybook/addon-interactions": "^8.3.5", + "@storybook/addon-links": "^8.3.5", "@storybook/addon-webpack5-compiler-babel": "^3.0.3", - "@storybook/blocks": "^8.3.4", - "@storybook/react": "^8.3.4", - "@storybook/react-webpack5": "^8.3.4", + "@storybook/blocks": "^8.3.5", + "@storybook/react": "^8.3.5", + "@storybook/react-webpack5": "^8.3.5", "@storybook/test-runner": "^0.19.1", "@testing-library/dom": "^8.20.1", "@testing-library/jest-dom": "^6.5.0", @@ -76,7 +76,7 @@ "@testing-library/user-event": "^14.5.2", "@types/jest": "^29.5.13", "@types/js-yaml": "^4.0.9", - "@types/node": "^20.16.10", + "@types/node": "^20.16.11", "@types/react": "^16.14.62", "@typescript-eslint/eslint-plugin": "^6.21.0", "@typescript-eslint/parser": "^6.21.0", @@ -89,7 +89,7 @@ "eslint-config-airbnb": "^18.2.1", "eslint-config-prettier": "^7.2.0", "eslint-import-resolver-typescript": "^3.6.3", - "eslint-plugin-import": "^2.30.0", + "eslint-plugin-import": "^2.31.0", "eslint-plugin-jest": "^28.8.3", "eslint-plugin-jsx-a11y": "^6.10.0", "eslint-plugin-prettier": "^4.2.1", @@ -101,15 +101,15 @@ "jest-environment-jsdom": "^29.7.0", "jest-image-snapshot": "^6.4.0", "js-yaml": "^4.1.0", - "msw": "2.4.9", + "msw": "2.4.11", "msw-storybook-addon": "^2.0.3", "prettier": "^2.8.8", "querystring-es3": "^0.2.1", - "storybook": "^8.3.4", + "storybook": "^8.3.5", "style-loader": "^4.0.0", "stylelint": "^14.16.1", "ts-node": "^10.9.2", - "typescript": "^5.6.2", + "typescript": "^5.6.3", "undici": "^5.28.4", "url": "^0.11.4", "webpack": "^5.95.0", diff --git a/ui/yarn.lock b/ui/yarn.lock index efc953e69..ab3d103fa 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -28,7 +28,7 @@ resolved "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.25.8.tgz#0376e83df5ab0eb0da18885c0140041f0747a402" integrity sha512-ZsysZyXY4Tlx+Q53XdnOFmqwfB9QDTHYxaZYajWRoBLuLEAwI2UIbtxOjWh/cFaa9IKUlcB+DDuoskLuKu56JA== -"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.22.5", "@babel/core@^7.23.7", "@babel/core@^7.23.9", "@babel/core@^7.25.2", "@babel/core@^7.7.5": +"@babel/core@^7.11.6", "@babel/core@^7.12.3", "@babel/core@^7.18.9", "@babel/core@^7.22.5", "@babel/core@^7.23.7", "@babel/core@^7.23.9", "@babel/core@^7.25.8", "@babel/core@^7.7.5": version "7.25.8" resolved "https://registry.npmjs.org/@babel/core/-/core-7.25.8.tgz#a57137d2a51bbcffcfaeba43cb4dd33ae3e0e1c6" integrity sha512-Oixnb+DzmRT30qu9d3tJSQkxuygWm32DFykT4bRoORPa9hZ/L4KhVB/XiRm6KG+roIEM7DBQlmg27kw2HZkdZg== @@ -49,7 +49,7 @@ json5 "^2.2.3" semver "^6.3.1" -"@babel/eslint-parser@^7.25.1": +"@babel/eslint-parser@^7.25.8": version "7.25.8" resolved "https://registry.npmjs.org/@babel/eslint-parser/-/eslint-parser-7.25.8.tgz#0119dec46be547d7a339978dedb9d29e517c2443" integrity sha512-Po3VLMN7fJtv0nsOjBDSbO1J71UhzShE9MuOSkWEV9IZQXzhZklYtzKZ8ZD/Ij3a0JBv1AG3Ny2L3jvAHQVOGg== @@ -792,7 +792,7 @@ dependencies: "@babel/helper-plugin-utils" "^7.25.7" -"@babel/plugin-transform-runtime@^7.25.4": +"@babel/plugin-transform-runtime@^7.25.7": version "7.25.7" resolved "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.25.7.tgz#435a4fab67273f00047dc806e05069c9c6344e12" integrity sha512-Y9p487tyTzB0yDYQOtWnC+9HGOuogtP3/wNpun1xJXEEvI6vip59BSBTsHnekZLqxmPcgsrAKt46HAAb//xGhg== @@ -882,7 +882,7 @@ "@babel/helper-create-regexp-features-plugin" "^7.25.7" "@babel/helper-plugin-utils" "^7.25.7" -"@babel/preset-env@^7.2.0", "@babel/preset-env@^7.25.4": +"@babel/preset-env@^7.2.0", "@babel/preset-env@^7.25.8": version "7.25.8" resolved "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.25.8.tgz#dc6b719627fb29cd9cccbbbe041802fd575b524c" integrity sha512-58T2yulDHMN8YMUxiLq5YmWUnlDCyY1FsHM+v12VMx+1/FlrUj5tY50iDCpofFQEM8fMYOaY9YRvym2jcjn1Dg== @@ -965,7 +965,7 @@ "@babel/types" "^7.4.4" esutils "^2.0.2" -"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.24.7": +"@babel/preset-react@^7.0.0", "@babel/preset-react@^7.25.7": version "7.25.7" resolved "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.25.7.tgz#081cbe1dea363b732764d06a0fdda67ffa17735d" integrity sha512-GjV0/mUEEXpi1U5ZgDprMRRgajGMRW3G5FjMr5KLKD8nT2fTG8+h/klV3+6Dm5739QE+K5+2e91qFKAYI3pmRg== @@ -2117,10 +2117,10 @@ redux-thunk "^2.4.2" reselect "^4.1.8" -"@remix-run/router@1.19.2": - version "1.19.2" - resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.19.2.tgz#0c896535473291cb41f152c180bedd5680a3b273" - integrity sha512-baiMx18+IMuD1yyvOGaHM9QrVUPGGG0jC+z+IPHnRJWUAUvaKuWKyE8gjDj2rzv3sz9zOGoRSPgeBVHRhZnBlA== +"@remix-run/router@1.20.0": + version "1.20.0" + resolved "https://registry.npmjs.org/@remix-run/router/-/router-1.20.0.tgz#03554155b45d8b529adf635b2f6ad1165d70d8b4" + integrity sha512-mUnk8rPJBI9loFDZ+YzPGdeniYK+FTmRD1TMCz7ev2SNIozyKKpnGgsxO34u6Z4z/t0ITuu7voi/AshfsGsgFg== "@rtsao/scc@^1.1.0": version "1.1.0" @@ -2896,7 +2896,7 @@ resolved "https://registry.npmjs.org/@splunkdev/cloud-sdk/-/cloud-sdk-15.0.0.tgz#30a49eb2e8f26eb1569c4e97402a473dc7f96883" integrity sha512-6oqdH9ljEpnnt6TjkkZuCo3w0IBJH6fiTKMsVIVjaZDBPaoUhxSdRFuXOO+SI/8qf21p+xaGYbepeKZ1ne2HTQ== -"@storybook/addon-a11y@^8.3.4": +"@storybook/addon-a11y@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/addon-a11y/-/addon-a11y-8.3.5.tgz#b40d519013961c87af8c1394253a2651d90793ae" integrity sha512-/19UO8IXbyfcYK5K8ejSYF+hC+EK79c0bBPHMNeYSFOHSqQM3KoMo+TLIcLsuhuRClmlM+4Zs+VSIYDwc+d3ig== @@ -2952,7 +2952,7 @@ rehype-slug "^6.0.0" ts-dedent "^2.0.0" -"@storybook/addon-essentials@^8.3.4": +"@storybook/addon-essentials@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/addon-essentials/-/addon-essentials-8.3.5.tgz#59599a75e3f72d1048d715f3ec35a4c07149b2f8" integrity sha512-hXTtPuN4/IsXjUrkMPAuz1qKAl8DovdXpjQgjQs7jSAVx3kc4BZaGqJ3gaVenKtO8uDchmA92BoQygpkc8eWhw== @@ -2975,7 +2975,7 @@ dependencies: "@storybook/global" "^5.0.0" -"@storybook/addon-interactions@^8.3.4": +"@storybook/addon-interactions@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/addon-interactions/-/addon-interactions-8.3.5.tgz#c971925937aeb6d66bf108dc27a90a4a9cbbf8f4" integrity sha512-GtTy/A+mG7vDOahQr2avT4dpWtCRiFDSYcWyuQOZm10y8VDDw157HQM+FuhxjV9Owrrohy9F24oBUwRG8H3b5A== @@ -2986,7 +2986,7 @@ polished "^4.2.2" ts-dedent "^2.2.0" -"@storybook/addon-links@^8.3.4": +"@storybook/addon-links@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/addon-links/-/addon-links-8.3.5.tgz#1621afd8be06af6de5e942644053d5136cc5bb83" integrity sha512-giRCpn6cfJMYPnVJkojoQDO5ae6098fgY9YgAhwaJej/9dufNcioFdbiyfK1vyzbG6TGeTmJ9ncWCXgWRtzxPQ== @@ -3031,7 +3031,7 @@ "@babel/core" "^7.23.7" babel-loader "^9.1.3" -"@storybook/blocks@8.3.5", "@storybook/blocks@^8.3.4": +"@storybook/blocks@8.3.5", "@storybook/blocks@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/blocks/-/blocks-8.3.5.tgz#35e20efb0c13a235832dd945520ff8ac61f40717" integrity sha512-8cHTdTywolTHlgwN8I7YH7saWAIjGzV617AwjhJ95AKlC0VtpO1gAFcAgCqr4DU9eMc+LZuvbnaU/RSvA5eCCQ== @@ -3213,7 +3213,7 @@ resolved "https://registry.npmjs.org/@storybook/react-dom-shim/-/react-dom-shim-8.3.5.tgz#dda5356d3bf55623b9b1429fac7bf185e59c58fd" integrity sha512-Hf0UitJ/K0C7ajooooUK/PxOR4ihUWqsC7iCV1Gqth8U37dTeLMbaEO4PBwu0VQ+Ufg0N8BJLWfg7o6G4hrODw== -"@storybook/react-webpack5@^8.3.4": +"@storybook/react-webpack5@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/react-webpack5/-/react-webpack5-8.3.5.tgz#31556eb7a7d296be9489adde71a9c1da83d0044b" integrity sha512-J7jCxjCuWvRJrAtOwe4ij8rjfTGm1Dpsfbz8xar4ItVw7ikiyALr34E3FJzfgq7M40uGXZhvCl2IVRdGeiLmzg== @@ -3223,7 +3223,7 @@ "@storybook/react" "8.3.5" "@types/node" "^22.0.0" -"@storybook/react@8.3.5", "@storybook/react@^8.3.4": +"@storybook/react@8.3.5", "@storybook/react@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/react/-/react-8.3.5.tgz#d4e333b09f275f06b38fb1367234ad1619fbe4fa" integrity sha512-kuBPe/wBin10SWr4EWPKxiTRGQ4RD2etGEVWVQLqVpOuJp/J2hVvXQHtCfZXU4TZT5x4PBbPRswbr58+XlF+kQ== @@ -3277,7 +3277,7 @@ nyc "^15.1.0" playwright "^1.14.0" -"@storybook/test@8.3.5", "@storybook/test@^8.3.4": +"@storybook/test@8.3.5", "@storybook/test@^8.3.5": version "8.3.5" resolved "https://registry.npmjs.org/@storybook/test/-/test-8.3.5.tgz#0dffc9d4a1eaa9552e69457b16b5085e36883c8a" integrity sha512-1BXWsUGWk9FiKKelZZ55FDJdeoL8uRBHbjTYBRM2xJLhdNSvGzI4Tb3bkmxPpGn72Ua6AyldhlTxr2BpUFKOHA== @@ -3770,7 +3770,7 @@ dependencies: undici-types "~6.19.2" -"@types/node@^20.16.10": +"@types/node@^20.16.11": version "20.16.11" resolved "https://registry.npmjs.org/@types/node/-/node-20.16.11.tgz#9b544c3e716b1577ac12e70f9145193f32750b33" integrity sha512-y+cTCACu92FyA5fgQSAI8A1H429g7aSK2HsO7K4XYUWc4dY5IUz55JSDIYT6/VsOLfGy8vmvQYC2hfb0iF16Uw== @@ -6585,7 +6585,7 @@ eslint-module-utils@^2.12.0, eslint-module-utils@^2.8.1: dependencies: debug "^3.2.7" -eslint-plugin-import@^2.30.0: +eslint-plugin-import@^2.31.0: version "2.31.0" resolved "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.31.0.tgz#310ce7e720ca1d9c0bb3f69adfd1c6bdd7d9e0e7" integrity sha512-ixmkI62Rbc2/w8Vfxyh1jQRTdRTF52VxwRVHl/ykPAmqG+Nb7/kNn+byLP0LxPgI7zWA16Jt82SybJInmMia3A== @@ -9431,10 +9431,10 @@ msw-storybook-addon@^2.0.3: dependencies: is-node-process "^1.0.1" -msw@2.4.9: - version "2.4.9" - resolved "https://registry.npmjs.org/msw/-/msw-2.4.9.tgz#350a84cedb90b578a32c7764431e3750900f8407" - integrity sha512-1m8xccT6ipN4PTqLinPwmzhxQREuxaEJYdx4nIbggxP8aM7r1e71vE7RtOUSQoAm1LydjGfZKy7370XD/tsuYg== +msw@2.4.11: + version "2.4.11" + resolved "https://registry.npmjs.org/msw/-/msw-2.4.11.tgz#17001366c7c8de1540436d06d194f8facffed0f4" + integrity sha512-TVEw9NOPTc6ufOQLJ53234S9NBRxQbu7xFMxs+OCP43JQcNEIOKiZHxEm2nDzYIrwccoIhUxUf8wr99SukD76A== dependencies: "@bundled-es-modules/cookie" "^2.0.0" "@bundled-es-modules/statuses" "^1.0.1" @@ -9448,10 +9448,10 @@ msw@2.4.9: graphql "^16.8.1" headers-polyfill "^4.0.2" is-node-process "^1.2.0" - outvariant "^1.4.2" + outvariant "^1.4.3" path-to-regexp "^6.3.0" strict-event-emitter "^0.5.1" - type-fest "^4.9.0" + type-fest "^4.26.1" yargs "^17.7.2" multicast-dns@^7.2.5: @@ -9804,7 +9804,7 @@ os-homedir@^1.0.1: resolved "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz#ffbc4988336e0e833de0c168c7ef152121aa7fb3" integrity sha512-B5JU3cabzk8c67mRRd3ECmROafjYMXbuzlwtqdM8IbS8ktlTix8aFGb2bAGKrSRIlnfKwovGUUr72JUPyOb6kQ== -outvariant@^1.4.0, outvariant@^1.4.2, outvariant@^1.4.3: +outvariant@^1.4.0, outvariant@^1.4.3: version "1.4.3" resolved "https://registry.npmjs.org/outvariant/-/outvariant-1.4.3.tgz#221c1bfc093e8fec7075497e7799fdbf43d14873" integrity sha512-+Sl2UErvtsoajRDKCE5/dBz4DIvHXQQnAxtQTF04OJxY0+DyZXSo5P5Bb7XYWOh81syohlYL24hbDwxedPUJCA== @@ -10504,20 +10504,20 @@ react-resize-detector@^3.2.1: prop-types "^15.6.2" resize-observer-polyfill "^1.5.1" -react-router-dom@^6.26.2: - version "6.26.2" - resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.26.2.tgz#a6e3b0cbd6bfd508e42b9342099d015a0ac59680" - integrity sha512-z7YkaEW0Dy35T3/QKPYB1LjMK2R1fxnHO8kWpUMTBdfVzZrWOiY9a7CtN8HqdWtDUWd5FY6Dl8HFsqVwH4uOtQ== +react-router-dom@^6.27.0: + version "6.27.0" + resolved "https://registry.npmjs.org/react-router-dom/-/react-router-dom-6.27.0.tgz#8d7972a425fd75f91c1e1ff67e47240c5752dc3f" + integrity sha512-+bvtFWMC0DgAFrfKXKG9Fc+BcXWRUO1aJIihbB79xaeq0v5UzfvnM5houGUm1Y461WVRcgAQ+Clh5rdb1eCx4g== dependencies: - "@remix-run/router" "1.19.2" - react-router "6.26.2" + "@remix-run/router" "1.20.0" + react-router "6.27.0" -react-router@6.26.2: - version "6.26.2" - resolved "https://registry.npmjs.org/react-router/-/react-router-6.26.2.tgz#2f0a68999168954431cdc29dd36cec3b6fa44a7e" - integrity sha512-tvN1iuT03kHgOFnLPfLJ8V95eijteveqdOSk+srqfePtQvqCExB8eHOYnlilbOcyJyKnYkr1vJvf7YqotAJu1A== +react-router@6.27.0: + version "6.27.0" + resolved "https://registry.npmjs.org/react-router/-/react-router-6.27.0.tgz#db292474926c814c996c0ff3ef0162d1f9f60ed4" + integrity sha512-YA+HGZXz4jaAkVoYBE98VQl+nVzI+cVI2Oj/06F5ZM+0u3TgedN9Y9kmMRo2mnkSK2nCpNQn0DVob4HCsY/WLw== dependencies: - "@remix-run/router" "1.19.2" + "@remix-run/router" "1.20.0" react-spring@9.2.4: version "9.2.4" @@ -11400,7 +11400,7 @@ stop-iteration-iterator@^1.0.0: dependencies: internal-slot "^1.0.4" -storybook@^8.3.4: +storybook@^8.3.5: version "8.3.5" resolved "https://registry.npmjs.org/storybook/-/storybook-8.3.5.tgz#aef0542c08e245b7ac22742c1e1633a125063b8e" integrity sha512-hYQVtP2l+3kO8oKDn4fjXXQYxgTRsj/LaV6lUMJH0zt+OhVmDXKJLxmdUP4ieTm0T8wEbSYosFavgPcQZlxRfw== @@ -11988,7 +11988,7 @@ type-fest@^2.19.0, type-fest@~2.19: resolved "https://registry.npmjs.org/type-fest/-/type-fest-2.19.0.tgz#88068015bb33036a598b952e55e9311a60fd3a9b" integrity sha512-RAH822pAdBgcNMAfWnCBU3CFZcfZ/i1eZjwFU/dsLKumyuuP3niueg2UAukXYF0E2AAoc82ZSSf9J0WQBinzHA== -type-fest@^4.9.0: +type-fest@^4.26.1: version "4.26.1" resolved "https://registry.npmjs.org/type-fest/-/type-fest-4.26.1.tgz#a4a17fa314f976dd3e6d6675ef6c775c16d7955e" integrity sha512-yOGpmOAL7CkKe/91I5O3gPICmJNLJ1G4zFYVAsRHg7M64biSnPtRj0WNQt++bRkjYOqjWXrhnUw1utzmVErAdg== @@ -12052,7 +12052,7 @@ typedarray-to-buffer@^3.1.5: dependencies: is-typedarray "^1.0.0" -typescript@^5.6.2: +typescript@^5.6.3: version "5.6.3" resolved "https://registry.npmjs.org/typescript/-/typescript-5.6.3.tgz#5f3449e31c9d94febb17de03cc081dd56d81db5b" integrity sha512-hjcS1mhfuyi4WW8IWtjP7brDrG2cuDZukyrYrSauoXGNgx0S7zceP07adYkJycEr56BOUTNPzbInooiN3fn1qw== From 82f822b5481a10806cc0233a28bffb7756a357d8 Mon Sep 17 00:00:00 2001 From: "renovate[bot]" <29139614+renovate[bot]@users.noreply.github.com> Date: Tue, 15 Oct 2024 09:17:00 +0000 Subject: [PATCH 14/22] chore(deps): lock file maintenance (#1370) --- ui/yarn.lock | 103 ++++++++++++++++++++++++++------------------------- 1 file changed, 52 insertions(+), 51 deletions(-) diff --git a/ui/yarn.lock b/ui/yarn.lock index ab3d103fa..e7981e282 100644 --- a/ui/yarn.lock +++ b/ui/yarn.lock @@ -4005,13 +4005,13 @@ "@typescript-eslint/types" "6.21.0" "@typescript-eslint/visitor-keys" "6.21.0" -"@typescript-eslint/scope-manager@8.8.1": - version "8.8.1" - resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.8.1.tgz#b4bea1c0785aaebfe3c4ab059edaea1c4977e7ff" - integrity sha512-X4JdU+66Mazev/J0gfXlcC/dV6JI37h+93W9BRYXrSn0hrE64IoWgVkO9MSJgEzoWkxONgaQpICWg8vAN74wlA== +"@typescript-eslint/scope-manager@8.9.0": + version "8.9.0" + resolved "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.9.0.tgz#c98fef0c4a82a484e6a1eb610a55b154d14d46f3" + integrity sha512-bZu9bUud9ym1cabmOYH9S6TnbWRzpklVmwqICeOulTCZ9ue2/pczWzQvt/cGj2r2o1RdKoZbuEMalJJSYw3pHQ== dependencies: - "@typescript-eslint/types" "8.8.1" - "@typescript-eslint/visitor-keys" "8.8.1" + "@typescript-eslint/types" "8.9.0" + "@typescript-eslint/visitor-keys" "8.9.0" "@typescript-eslint/type-utils@6.21.0": version "6.21.0" @@ -4033,10 +4033,10 @@ resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-6.21.0.tgz#205724c5123a8fef7ecd195075fa6e85bac3436d" integrity sha512-1kFmZ1rOm5epu9NZEZm1kckCDGj5UJEf7P1kliH4LKu/RkwpsfqqGmY2OOcUs18lSlQBKLDYBOGxRVtrMN5lpg== -"@typescript-eslint/types@8.8.1": - version "8.8.1" - resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.8.1.tgz#ebe85e0fa4a8e32a24a56adadf060103bef13bd1" - integrity sha512-WCcTP4SDXzMd23N27u66zTKMuEevH4uzU8C9jf0RO4E04yVHgQgW+r+TeVTNnO1KIfrL8ebgVVYYMMO3+jC55Q== +"@typescript-eslint/types@8.9.0": + version "8.9.0" + resolved "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.9.0.tgz#b733af07fb340b32e962c6c63b1062aec2dc0fe6" + integrity sha512-SjgkvdYyt1FAPhU9c6FiYCXrldwYYlIQLkuc+LfAhCna6ggp96ACncdtlbn8FmnG72tUkXclrDExOpEYf1nfJQ== "@typescript-eslint/typescript-estree@5.62.0": version "5.62.0" @@ -4065,13 +4065,13 @@ semver "^7.5.4" ts-api-utils "^1.0.1" -"@typescript-eslint/typescript-estree@8.8.1": - version "8.8.1" - resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.8.1.tgz#34649f4e28d32ee49152193bc7dedc0e78e5d1ec" - integrity sha512-A5d1R9p+X+1js4JogdNilDuuq+EHZdsH9MjTVxXOdVFfTJXunKJR/v+fNNyO4TnoOn5HqobzfRlc70NC6HTcdg== +"@typescript-eslint/typescript-estree@8.9.0": + version "8.9.0" + resolved "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.9.0.tgz#1714f167e9063062dc0df49c1d25afcbc7a96199" + integrity sha512-9iJYTgKLDG6+iqegehc5+EqE6sqaee7kb8vWpmHZ86EqwDjmlqNNHeqDVqb9duh+BY6WCNHfIGvuVU3Tf9Db0g== dependencies: - "@typescript-eslint/types" "8.8.1" - "@typescript-eslint/visitor-keys" "8.8.1" + "@typescript-eslint/types" "8.9.0" + "@typescript-eslint/visitor-keys" "8.9.0" debug "^4.3.4" fast-glob "^3.3.2" is-glob "^4.0.3" @@ -4107,14 +4107,14 @@ semver "^7.3.7" "@typescript-eslint/utils@^6.0.0 || ^7.0.0 || ^8.0.0": - version "8.8.1" - resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.8.1.tgz#9e29480fbfa264c26946253daa72181f9f053c9d" - integrity sha512-/QkNJDbV0bdL7H7d0/y0qBbV2HTtf0TIyjSDTvvmQEzeVx8jEImEbLuOA4EsvE8gIgqMitns0ifb5uQhMj8d9w== + version "8.9.0" + resolved "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.9.0.tgz#748bbe3ea5bee526d9786d9405cf1b0df081c299" + integrity sha512-PKgMmaSo/Yg/F7kIZvrgrWa1+Vwn036CdNUvYFEkYbPwOH4i8xvkaRlu148W3vtheWK9ckKRIz7PBP5oUlkrvQ== dependencies: "@eslint-community/eslint-utils" "^4.4.0" - "@typescript-eslint/scope-manager" "8.8.1" - "@typescript-eslint/types" "8.8.1" - "@typescript-eslint/typescript-estree" "8.8.1" + "@typescript-eslint/scope-manager" "8.9.0" + "@typescript-eslint/types" "8.9.0" + "@typescript-eslint/typescript-estree" "8.9.0" "@typescript-eslint/visitor-keys@5.62.0": version "5.62.0" @@ -4132,12 +4132,12 @@ "@typescript-eslint/types" "6.21.0" eslint-visitor-keys "^3.4.1" -"@typescript-eslint/visitor-keys@8.8.1": - version "8.8.1" - resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.8.1.tgz#0fb1280f381149fc345dfde29f7542ff4e587fc5" - integrity sha512-0/TdC3aeRAsW7MDvYRwEc1Uwm0TIBfzjPFgg60UU2Haj5qsCs9cc3zNgY71edqE3LbWfF/WoZQd3lJoDXFQpag== +"@typescript-eslint/visitor-keys@8.9.0": + version "8.9.0" + resolved "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.9.0.tgz#5f11f4d9db913f37da42776893ffe0dd1ae78f78" + integrity sha512-Ht4y38ubk4L5/U8xKUBfKNYGmvKvA1CANoxiTRMM+tOLk3lbF3DvzZCxJCRSE+2GdCMSh6zq9VZJc3asc1XuAA== dependencies: - "@typescript-eslint/types" "8.8.1" + "@typescript-eslint/types" "8.9.0" eslint-visitor-keys "^3.4.3" "@ungap/structured-clone@^1.0.0", "@ungap/structured-clone@^1.2.0": @@ -4162,10 +4162,10 @@ dependencies: tinyrainbow "^1.2.0" -"@vitest/pretty-format@2.1.2": - version "2.1.2" - resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.2.tgz#42882ea18c4cd40428e34f74bbac706a82465193" - integrity sha512-FIoglbHrSUlOJPDGIrh2bjX1sNars5HbxlcsFKCtKzu4+5lpsRhOCVcuzp0fEhAGHkPZRIXVNzPcpSlkoZ3LuA== +"@vitest/pretty-format@2.1.3": + version "2.1.3" + resolved "https://registry.npmjs.org/@vitest/pretty-format/-/pretty-format-2.1.3.tgz#48b9b03de75507d1d493df7beb48dc39a1946a3e" + integrity sha512-XH1XdtoLZCpqV59KRbPrIhFCOO0hErxrQCMcvnQete3Vibb9UeIOX02uFPfVn3Z9ZXsq78etlfyhnkmIZSzIwQ== dependencies: tinyrainbow "^1.2.0" @@ -4187,11 +4187,11 @@ tinyrainbow "^1.2.0" "@vitest/utils@^2.0.5": - version "2.1.2" - resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.2.tgz#222ac35ba02493173e40581256eb7a62520fcdba" - integrity sha512-zMO2KdYy6mx56btx9JvAqAZ6EyS3g49krMPPrgOp1yxGZiA93HumGk+bZ5jIZtOg5/VBYl5eBmGRQHqq4FG6uQ== + version "2.1.3" + resolved "https://registry.npmjs.org/@vitest/utils/-/utils-2.1.3.tgz#e52aa5745384091b151cbdf79bb5a3ad2bea88d2" + integrity sha512-xpiVfDSg1RrYT0tX6czgerkpcKFmFOF/gCr30+Mve5V2kewCy4Prn1/NDMSRwaSmT7PRaOF83wu+bEtsY1wrvA== dependencies: - "@vitest/pretty-format" "2.1.2" + "@vitest/pretty-format" "2.1.3" loupe "^3.1.1" tinyrainbow "^1.2.0" @@ -6188,9 +6188,9 @@ ee-first@1.1.1: integrity sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow== electron-to-chromium@^1.5.28: - version "1.5.36" - resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.36.tgz#ec41047f0e1446ec5dce78ed5970116533139b88" - integrity sha512-HYTX8tKge/VNp6FGO+f/uVDmUkq+cEfcxYhKf15Akc4M5yxt5YmorwlAitKWjWhWQnKcDRBAQKXkhqqXMqcrjw== + version "1.5.38" + resolved "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.38.tgz#c6a14e1506717c5a46d439580d7424d8d5860180" + integrity sha512-VbeVexmZ1IFh+5EfrYz1I0HTzHVIlJa112UEWhciPyeOcKJGeTv6N8WnG4wsQB81DGCaVEGhpSb6o6a8WYFXXg== element-resize-detector@^1.2.4: version "1.2.4" @@ -6256,7 +6256,7 @@ entities@^2.0.0: resolved "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz#098dc90ebb83d8dffa089d55256b351d34c4da55" integrity sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A== -entities@^4.4.0: +entities@^4.5.0: version "4.5.0" resolved "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz#5d268ea5e7113ec74c4d033b79ea5a35a488fb48" integrity sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw== @@ -9253,9 +9253,9 @@ memfs@^3.4.1, memfs@^3.4.12: fs-monkey "^1.0.4" memfs@^4.6.0: - version "4.13.0" - resolved "https://registry.npmjs.org/memfs/-/memfs-4.13.0.tgz#a9244865bab044054307874dbd9ffa4827cbcfcf" - integrity sha512-dIs5KGy24fbdDhIAg0RxXpFqQp3RwL6wgSMRF9OSuphL/Uc9a4u2/SDJKPLj/zUgtOGKuHrRMrj563+IErj4Cg== + version "4.14.0" + resolved "https://registry.npmjs.org/memfs/-/memfs-4.14.0.tgz#48d5e85a03ea0b428280003212fbca3063531be3" + integrity sha512-JUeY0F/fQZgIod31Ja1eJgiSxLn7BfQlCnqhwXFBzFHEw63OdLK7VJUJ7bnzNsWgCyoUP5tEp1VRY8rDaYzqOA== dependencies: "@jsonjoy.com/json-pack" "^1.0.3" "@jsonjoy.com/util" "^1.3.0" @@ -9920,11 +9920,11 @@ parse-passwd@^1.0.0: integrity sha512-1Y1A//QUXEZK7YKz+rD9WydcE1+EuPr6ZBgKecAB8tmoW6UFv0NREVJe1p+jRxtThkcbbKkfwIbWJe/IeE6m2Q== parse5@^7.0.0, parse5@^7.1.1: - version "7.1.2" - resolved "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz#0736bebbfd77793823240a23b7fc5e010b7f8e32" - integrity sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw== + version "7.2.0" + resolved "https://registry.npmjs.org/parse5/-/parse5-7.2.0.tgz#8a0591ce9b7c5e2027173ab737d4d3fc3d826fab" + integrity sha512-ZkDsAOcxsUMZ4Lz5fVciOehNcJ+Gb8gTzcA4yl3wnc273BAybYWrQ+Ks/OjCjSEpjvQkDSeZbybK9qj2VHHdGA== dependencies: - entities "^4.4.0" + entities "^4.5.0" parseurl@~1.3.2, parseurl@~1.3.3: version "1.3.3" @@ -11448,12 +11448,13 @@ string-width@^4.1.0, string-width@^4.2.0, string-width@^4.2.3: strip-ansi "^6.0.1" string.prototype.includes@^2.0.0: - version "2.0.0" - resolved "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.0.tgz#8986d57aee66d5460c144620a6d873778ad7289f" - integrity sha512-E34CkBgyeqNDcrbU76cDjL5JLcVrtSdYq0MEh/B10r17pRP4ciHLwTgnuLV8Ay6cgEMLkcBkFCKyFZ43YldYzg== + version "2.0.1" + resolved "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz#eceef21283640761a81dbe16d6c7171a4edf7d92" + integrity sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg== dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.5" + call-bind "^1.0.7" + define-properties "^1.2.1" + es-abstract "^1.23.3" string.prototype.matchall@^4.0.11: version "4.0.11" From 21aa28f7ea290fe14dc8617b4e2b757905f0d420 Mon Sep 17 00:00:00 2001 From: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> Date: Tue, 15 Oct 2024 12:47:45 +0200 Subject: [PATCH 15/22] feat: hide elements for cloud or enterprise (#1364) **Issue number:** https://splunk.atlassian.net/browse/ADDON-74887 ## Summary ### Changes Adds ability to hide: 1. form fields 2. tabs 3. services based on platform (cloud vs enterprise) schema changes: - adds `hideForPlatform` ('cloud' or 'enterprise') that hides this specific element if platform matches declared one there is a usage of `| rest/services/server/info splunk_server=local` search to get information about platform. > Please provide a summary of what's being changed ### User experience > Please describe what the user experience looks like before and after this change ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [x] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --------- Signed-off-by: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Co-authored-by: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> --- docs/configurations/index.md | 1 + docs/entity/index.md | 17 +- docs/inputs/index.md | 5 +- .../schema/schema.json | 53 +++ .../README/inputs.conf.spec | 8 + .../splunk_ta_uccexample_account.conf.spec | 2 + .../bin/example_input_two.py | 12 + .../bin/service_hidden_for_cloud.py | 47 +++ .../bin/service_hidden_for_enterprise.py | 47 +++ .../bin/splunk_ta_uccexample_rh_account.py | 14 + ...unk_ta_uccexample_rh_example_input_four.py | 4 +- ...lunk_ta_uccexample_rh_example_input_two.py | 14 + ..._uccexample_rh_service_hidden_for_cloud.py | 50 +++ ...xample_rh_service_hidden_for_enterprise.py | 50 +++ ...k_ta_uccexample_rh_tab_hidden_for_cloud.py | 44 +++ ...uccexample_rh_tab_hidden_for_enterprise.py | 44 +++ .../Splunk_TA_UCCExample/default/app.conf | 6 +- .../Splunk_TA_UCCExample/default/inputs.conf | 6 + .../Splunk_TA_UCCExample/default/restmap.conf | 30 +- .../Splunk_TA_UCCExample/default/server.conf | 4 +- .../Splunk_TA_UCCExample/default/web.conf | 32 ++ .../globalConfig.json | 246 +++++++++++++- .../globalConfig.json | 58 +++- tests/ui/test_input_page.py | 3 + ui/.storybook/withSplunkTheme.tsx | 19 +- .../components/BaseFormView/BaseFormTypes.ts | 2 + .../components/BaseFormView/BaseFormView.tsx | 37 ++ .../stories/BaseFormView.stories.tsx | 29 ++ ...aseFormView-ouath-basic-cloud-chromium.png | 3 + ...rmView-ouath-basic-enterprise-chromium.png | 3 + ui/src/components/ConfigurationFormView.jsx | 24 +- ui/src/components/EntityModal/EntityModal.tsx | 24 +- ui/src/components/EntityPage/EntityPage.tsx | 25 +- .../components/MenuInput/MenuInput.test.tsx | 9 +- ui/src/components/MenuInput/MenuInput.tsx | 16 +- ui/src/context/PageContext.tsx | 29 ++ ui/src/context/usePageContext.ts | 10 + ui/src/hooks/usePlatform.ts | 80 +++++ .../pages/Configuration/ConfigurationPage.tsx | 22 +- .../tests/ConfigContext.test.tsx | 91 +++++ .../{ => tests}/ConfigurationPage.test.tsx | 14 +- .../pages/Configuration/tests/mockConfigs.ts | 320 ++++++++++++++++++ ui/src/pages/Input/InputPage.tsx | 171 +++++----- .../pages/Input/tests/InputContext.test.tsx | 66 ++++ .../Input/{ => tests}/InputPage.test.tsx | 6 +- ui/src/pages/Input/tests/mockConfigs.ts | 168 +++++++++ ui/src/types/globalConfig/entities.ts | 17 +- ui/src/types/globalConfig/pages.ts | 4 + ui/src/util/pageContext.ts | 13 + 49 files changed, 1834 insertions(+), 165 deletions(-) create mode 100644 tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_cloud.py create mode 100644 tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_enterprise.py create mode 100644 tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_cloud.py create mode 100644 tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_enterprise.py create mode 100644 tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_cloud.py create mode 100644 tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_enterprise.py create mode 100644 ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-cloud-chromium.png create mode 100644 ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-enterprise-chromium.png create mode 100644 ui/src/context/PageContext.tsx create mode 100644 ui/src/context/usePageContext.ts create mode 100644 ui/src/hooks/usePlatform.ts create mode 100644 ui/src/pages/Configuration/tests/ConfigContext.test.tsx rename ui/src/pages/Configuration/{ => tests}/ConfigurationPage.test.tsx (79%) create mode 100644 ui/src/pages/Configuration/tests/mockConfigs.ts create mode 100644 ui/src/pages/Input/tests/InputContext.test.tsx rename ui/src/pages/Input/{ => tests}/InputPage.test.tsx (94%) create mode 100644 ui/src/pages/Input/tests/mockConfigs.ts create mode 100644 ui/src/util/pageContext.ts diff --git a/docs/configurations/index.md b/docs/configurations/index.md index 374dec99e..ffbf4687d 100644 --- a/docs/configurations/index.md +++ b/docs/configurations/index.md @@ -28,6 +28,7 @@ proxy configuration, and logging level configuration. | [restHandlerModule](../advanced/custom_rest_handler.md) | string | It specify name of the REST handler script that implements the custom actions to be performed on CRUD operations for the given input. (Use with restHandlerClass) | | [restHandlerClass](../advanced/custom_rest_handler.md) | string | It specify name of the class present in the restHandlerModule, which implements methods like handleCreate, handleEdit, handleList, handleDelete and is child class of splunktaucclib.rest_handler.admin_external.AdminExternalHandler. (Use with restHandlerModule) | | customTab | Object | This property allows you to enable the [custom tab](../custom_ui_extensions/custom_tab.md) feature. | +| hideForPlatform | string | Defines for which platform element should be hidden from UI perspective. Currently only two platforms are supported `cloud` or `enterprise`. | ### Tab components diff --git a/docs/entity/index.md b/docs/entity/index.md index 1759a6e8e..ed52f110c 100644 --- a/docs/entity/index.md +++ b/docs/entity/index.md @@ -5,7 +5,7 @@ title: Entity ## Entity Properties | Property | Type | Description | Default Value | -|------------------------------------------------------------------|---------------------------|----------------------------------------------------------------------------------------------------------------------------------|---------------| +| ---------------------------------------------------------------- | ------------------------- | -------------------------------------------------------------------------------------------------------------------------------- | ------------- | | field\* | string | To define a particular entity field. | - | | label\* | string | It represents a caption for a field in a user interface. | - | | [type](./components.md)\* | string | To specify the type of entity to be rendered in inputs or configuration form. | - | @@ -26,10 +26,11 @@ title: Entity This section describes common options that can be used within the `options` object in entity properties. -| Property | Type | Description | Default Value | -|---------------------|---------|----------------------------------------------------------------------------------------|---------------| -| display | boolean | It chooses whether or not to display the field. | true | -| disableonEdit | boolean | When the form is in edit mode, the field becomes unable to be edited. | false | -| enable | boolean | The enable property sets whether a field is enabled or not. | true | -| requiredWhenVisible | boolean | It makes the field required on the UI when it appears. It is used only for visibility. | false | -| placeholder | string | (`Renounced`) The grey text is shown when the input is empty. | - | +| Property | Type | Description | Default Value | +| ------------------- | ------- | -------------------------------------------------------------------------------------------------------------------------------------------- | ------------- | +| display | boolean | It chooses whether or not to display the field. | true | +| disableonEdit | boolean | When the form is in edit mode, the field becomes unable to be edited. | false | +| enable | boolean | The enable property sets whether a field is enabled or not. | true | +| requiredWhenVisible | boolean | It makes the field required on the UI when it appears. It is used only for visibility. | false | +| hideForPlatform | string | Defines for which platform element should be hidden from UI perspective. Currently only two platforms are supported `cloud` or `enterprise`. | - | +| placeholder | string | (`Renounced`) The grey text is shown when the input is empty. | - | diff --git a/docs/inputs/index.md b/docs/inputs/index.md index 984de9318..3fd3f8bbe 100644 --- a/docs/inputs/index.md +++ b/docs/inputs/index.md @@ -10,7 +10,7 @@ provided, a dropdown field will appear on the Inputs page. In contrast, a button ### Properties | Property | Type | Description | -|---------------------------------------------------------------------------|--------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| ------------------------------------------------------------------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | title\* | string | - | | description | string | It provides a brief summary of an inputs page. | | [subDescription](../advanced/sub_description.md) | object | It provides broader description of an inputs page. | @@ -24,7 +24,7 @@ provided, a dropdown field will appear on the Inputs page. In contrast, a button ### Services Properties | Property | Type | Description | -|-----------------------------------------------------------------------|--------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| --------------------------------------------------------------------- | ------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | | name\* | string | It defines the particular service name. | | title\* | string | It shows the title of the service. | | subTitle | string | It shows the subtitle (or additional information) of the service. | @@ -39,6 +39,7 @@ provided, a dropdown field will appear on the Inputs page. In contrast, a button | restHandlerName | string | It specify name of the REST handler script, that provides fields, models and validators for the fields supported under the specified input and any specific actions to be performed on CRUD operations for the given input. (Do NOT use with restHandlerModule or restHandlerClass) | | [restHandlerModule](../advanced/custom_rest_handler.md) | string | It specify name of the REST handler script that implements the custom actions to be performed on CRUD operations for the given input. (Use with restHandlerClass) | | [restHandlerClass](../advanced/custom_rest_handler.md) | string | It specify name of the class present in the restHandlerModule, which implements methods like handleCreate, handleEdit, handleList, handleDelete and is child class of splunktaucclib.rest_handler.admin_external.AdminExternalHandler. (Use with restHandlerModule) | +| hideForPlatform | string | Defines for which platform element should be hidden from UI perspective. Currently only two platforms are supported `cloud` or `enterprise`. | ### Usage diff --git a/splunk_add_on_ucc_framework/schema/schema.json b/splunk_add_on_ucc_framework/schema/schema.json index 37a515ab4..e0db48e50 100644 --- a/splunk_add_on_ucc_framework/schema/schema.json +++ b/splunk_add_on_ucc_framework/schema/schema.json @@ -532,6 +532,9 @@ "link": { "type": "string", "description": "It is a link where the user will be redirected." + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "required": [ @@ -636,6 +639,9 @@ }, "requiredWhenVisible": { "$ref": "#/definitions/requiredWhenVisible" + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "additionalProperties": false @@ -731,6 +737,9 @@ "type": "number", "default": 8, "description": "Minimum number of rows to display." + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "additionalProperties": false @@ -875,6 +884,9 @@ "items": { "$ref": "#/definitions/ValueLabelPair" } + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "additionalProperties": false @@ -1018,6 +1030,9 @@ "type": "string", "maxLength": 1, "description": "It delimits each value of the field with a predefined character." + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "additionalProperties": false @@ -1085,6 +1100,9 @@ }, "requiredWhenVisible": { "$ref": "#/definitions/requiredWhenVisible" + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "additionalProperties": false @@ -1296,6 +1314,9 @@ "items": { "$ref": "#/definitions/ValueLabelPair" } + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "required": [ @@ -1394,6 +1415,9 @@ "type": "boolean", "default": false, "description": "It defines used encoding for files. If true base64 will be used, if false utf-8 is applied." + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "additionalProperties": false @@ -1524,6 +1548,9 @@ "type": "boolean", "default": false, "description": "Used to include the state for oauth authentication" + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "allOf": [ @@ -2258,6 +2285,9 @@ }, "warning": { "$ref": "#/definitions/WarningMessage" + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "anyOf": [ @@ -2495,6 +2525,9 @@ }, "markdownMessage": { "$ref": "#/definitions/markdownMessage" + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "required": [ @@ -2840,6 +2873,9 @@ }, "warning": { "$ref": "#/definitions/WarningMessage" + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "not": { @@ -2954,6 +2990,9 @@ "table", "entity" ] + }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" } }, "hideFieldId": { @@ -2998,6 +3037,9 @@ "description": "It chooses whether or not to display the field.", "default": true }, + "hideForPlatform": { + "$ref": "#/definitions/HideForPlatform" + }, "disableonEdit": { "type": "boolean", "description": "When the form is in edit mode, the field becomes unable to be edited.", @@ -3062,6 +3104,17 @@ ], "additionalProperties": false }, + "HideForPlatform":{ + "description": "Defines for which platform element should be hidden from UI perspective.", + "anyOf": [ + { + "const": "cloud" + }, + { + "const": "enterprise" + } + ] + }, "IntervalValue": { "anyOf": [ { diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/inputs.conf.spec b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/inputs.conf.spec index d1d44e2c8..a5301b425 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/inputs.conf.spec +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/inputs.conf.spec @@ -27,6 +27,8 @@ index = Default: default input_two_checkbox = This is an example checkbox for the input two entity input_two_multiple_select = This is an example multipleSelect for input two entity input_two_radio = This is an example radio button for the input two entity +input_two_text_hidden_for_cloud = Should be hidden for cloud +input_two_text_hidden_for_enterprise = Should be hidden for enterprise interval = Time interval of the data input, in seconds. start_date = The date and time, in "YYYY-MM-DDThh:mm:ss.000z" format, after which to query and index records. The default is 90 days before today. use_existing_checkpoint = Data input already exists. Select `No` if you want to reset the data collection. Default: yes @@ -36,3 +38,9 @@ interval = Time interval of the data input, in seconds. [example_input_four://] interval = Time interval of the data input, in seconds. + +[service_hidden_for_cloud://] +interval = Time interval of the data input, in seconds. + +[service_hidden_for_enterprise://] +interval = Time interval of the data input, in seconds. \ No newline at end of file diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/splunk_ta_uccexample_account.conf.spec b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/splunk_ta_uccexample_account.conf.spec index 2ec909f53..7d2d19354 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/splunk_ta_uccexample_account.conf.spec +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/README/splunk_ta_uccexample_account.conf.spec @@ -19,6 +19,8 @@ oauth_oauth_text = password = redirect_url = refresh_token = +text_field_hidden_for_cloud = +text_field_hidden_for_enterprise = token = url = username = diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_two.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_two.py index f4efbe045..f131132d9 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_two.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_two.py @@ -31,6 +31,18 @@ def get_scheme(self): required_on_create=True, ) ) + scheme.add_argument( + smi.Argument( + 'input_two_text_hidden_for_cloud', + required_on_create=False, + ) + ) + scheme.add_argument( + smi.Argument( + 'input_two_text_hidden_for_enterprise', + required_on_create=False, + ) + ) scheme.add_argument( smi.Argument( 'input_two_multiple_select', diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_cloud.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_cloud.py new file mode 100644 index 000000000..abd22549c --- /dev/null +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_cloud.py @@ -0,0 +1,47 @@ +import import_declare_test + +import json +import sys + +from splunklib import modularinput as smi + + +class SERVICE_HIDDEN_FOR_CLOUD(smi.Script): + def __init__(self): + super(SERVICE_HIDDEN_FOR_CLOUD, self).__init__() + + def get_scheme(self): + scheme = smi.Scheme('service_hidden_for_cloud') + scheme.description = 'Service hidden for cloud' + scheme.use_external_validation = True + scheme.streaming_mode_xml = True + scheme.use_single_instance = False + + scheme.add_argument( + smi.Argument( + 'name', + title='Name', + description='Name', + required_on_create=True + ) + ) + return scheme + + def validate_input(self, definition: smi.ValidationDefinition): + return + + def stream_events(self, inputs: smi.InputDefinition, ew: smi.EventWriter): + input_items = [{'count': len(inputs.inputs)}] + for input_name, input_item in inputs.inputs.items(): + input_item['name'] = input_name + input_items.append(input_item) + event = smi.Event( + data=json.dumps(input_items), + sourcetype='service_hidden_for_cloud', + ) + ew.write_event(event) + + +if __name__ == '__main__': + exit_code = SERVICE_HIDDEN_FOR_CLOUD().run(sys.argv) + sys.exit(exit_code) \ No newline at end of file diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_enterprise.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_enterprise.py new file mode 100644 index 000000000..f502fa7a3 --- /dev/null +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/service_hidden_for_enterprise.py @@ -0,0 +1,47 @@ +import import_declare_test + +import json +import sys + +from splunklib import modularinput as smi + + +class SERVICE_HIDDEN_FOR_ENTERPRISE(smi.Script): + def __init__(self): + super(SERVICE_HIDDEN_FOR_ENTERPRISE, self).__init__() + + def get_scheme(self): + scheme = smi.Scheme('service_hidden_for_enterprise') + scheme.description = 'Service hidden for enterprise' + scheme.use_external_validation = True + scheme.streaming_mode_xml = True + scheme.use_single_instance = False + + scheme.add_argument( + smi.Argument( + 'name', + title='Name', + description='Name', + required_on_create=True + ) + ) + return scheme + + def validate_input(self, definition: smi.ValidationDefinition): + return + + def stream_events(self, inputs: smi.InputDefinition, ew: smi.EventWriter): + input_items = [{'count': len(inputs.inputs)}] + for input_name, input_item in inputs.inputs.items(): + input_item['name'] = input_name + input_items.append(input_item) + event = smi.Event( + data=json.dumps(input_items), + sourcetype='service_hidden_for_enterprise', + ) + ew.write_event(event) + + +if __name__ == '__main__': + exit_code = SERVICE_HIDDEN_FOR_ENTERPRISE().run(sys.argv) + sys.exit(exit_code) \ No newline at end of file diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py index 4a5fe98b1..96fc9711d 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py @@ -29,6 +29,20 @@ default=None, validator=None ), + field.RestField( + 'text_field_hidden_for_cloud', + required=False, + encrypted=False, + default=None, + validator=None + ), + field.RestField( + 'text_field_hidden_for_enterprise', + required=False, + encrypted=False, + default=None, + validator=None + ), field.RestField( 'url', required=False, diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py index e16d4c802..b1056fb87 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py @@ -8,7 +8,7 @@ DataInputModel, ) from splunktaucclib.rest_handler import admin_external, util -from splunk_ta_uccexample_custom_rh import CustomRestHandler +from splunktaucclib.rest_handler.admin_external import AdminExternalHandler import logging util.remove_http_proxy_env_vars() @@ -46,5 +46,5 @@ logging.getLogger().addHandler(logging.NullHandler()) admin_external.handle( endpoint, - handler=CustomRestHandler, + handler=AdminExternalHandler, ) diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py index eb23cedcd..a29e4d076 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py @@ -46,6 +46,20 @@ default=None, validator=None ), + field.RestField( + 'input_two_text_hidden_for_cloud', + required=False, + encrypted=False, + default=None, + validator=None + ), + field.RestField( + 'input_two_text_hidden_for_enterprise', + required=False, + encrypted=False, + default=None, + validator=None + ), field.RestField( 'input_two_multiple_select', required=True, diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_cloud.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_cloud.py new file mode 100644 index 000000000..e0edf2655 --- /dev/null +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_cloud.py @@ -0,0 +1,50 @@ + +import import_declare_test + +from splunktaucclib.rest_handler.endpoint import ( + field, + validator, + RestModel, + DataInputModel, +) +from splunktaucclib.rest_handler import admin_external, util +from splunktaucclib.rest_handler.admin_external import AdminExternalHandler +import logging + +util.remove_http_proxy_env_vars() + + +fields = [ + field.RestField( + 'interval', + required=True, + encrypted=False, + default=None, + validator=validator.Pattern( + regex=r"""^(?:-1|\d+(?:\.\d+)?)$""", + ) + ), + + field.RestField( + 'disabled', + required=False, + validator=None + ) + +] +model = RestModel(fields, name=None) + + + +endpoint = DataInputModel( + 'service_hidden_for_cloud', + model, +) + + +if __name__ == '__main__': + logging.getLogger().addHandler(logging.NullHandler()) + admin_external.handle( + endpoint, + handler=AdminExternalHandler, + ) diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_enterprise.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_enterprise.py new file mode 100644 index 000000000..45d29f7f9 --- /dev/null +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_service_hidden_for_enterprise.py @@ -0,0 +1,50 @@ + +import import_declare_test + +from splunktaucclib.rest_handler.endpoint import ( + field, + validator, + RestModel, + DataInputModel, +) +from splunktaucclib.rest_handler import admin_external, util +from splunktaucclib.rest_handler.admin_external import AdminExternalHandler +import logging + +util.remove_http_proxy_env_vars() + + +fields = [ + field.RestField( + 'interval', + required=True, + encrypted=False, + default=None, + validator=validator.Pattern( + regex=r"""^(?:-1|\d+(?:\.\d+)?)$""", + ) + ), + + field.RestField( + 'disabled', + required=False, + validator=None + ) + +] +model = RestModel(fields, name=None) + + + +endpoint = DataInputModel( + 'service_hidden_for_enterprise', + model, +) + + +if __name__ == '__main__': + logging.getLogger().addHandler(logging.NullHandler()) + admin_external.handle( + endpoint, + handler=AdminExternalHandler, + ) diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_cloud.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_cloud.py new file mode 100644 index 000000000..066a51792 --- /dev/null +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_cloud.py @@ -0,0 +1,44 @@ + +import import_declare_test + +from splunktaucclib.rest_handler.endpoint import ( + field, + validator, + RestModel, + SingleModel, +) +from splunktaucclib.rest_handler import admin_external, util +from splunktaucclib.rest_handler.admin_external import AdminExternalHandler +import logging + +util.remove_http_proxy_env_vars() + + +fields = [ + field.RestField( + 'text_test', + required=True, + encrypted=False, + default=None, + validator=validator.String( + max_len=100, + min_len=1, + ) + ) +] +model = RestModel(fields, name=None) + + +endpoint = SingleModel( + 'splunk_ta_uccexample_tab_hidden_for_cloud', + model, + config_name='tab_hidden_for_cloud' +) + + +if __name__ == '__main__': + logging.getLogger().addHandler(logging.NullHandler()) + admin_external.handle( + endpoint, + handler=AdminExternalHandler, + ) diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_enterprise.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_enterprise.py new file mode 100644 index 000000000..79bc91ea5 --- /dev/null +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_tab_hidden_for_enterprise.py @@ -0,0 +1,44 @@ + +import import_declare_test + +from splunktaucclib.rest_handler.endpoint import ( + field, + validator, + RestModel, + SingleModel, +) +from splunktaucclib.rest_handler import admin_external, util +from splunktaucclib.rest_handler.admin_external import AdminExternalHandler +import logging + +util.remove_http_proxy_env_vars() + + +fields = [ + field.RestField( + 'text_test', + required=True, + encrypted=False, + default=None, + validator=validator.String( + max_len=100, + min_len=1, + ) + ) +] +model = RestModel(fields, name=None) + + +endpoint = SingleModel( + 'splunk_ta_uccexample_tab_hidden_for_enterprise', + model, + config_name='tab_hidden_for_enterprise' +) + + +if __name__ == '__main__': + logging.getLogger().addHandler(logging.NullHandler()) + admin_external.handle( + endpoint, + handler=AdminExternalHandler, + ) diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/app.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/app.conf index 43eac7e46..224bb0043 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/app.conf +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/app.conf @@ -23,6 +23,8 @@ version = 5.5.8R5fd76615 [triggers] reload.splunk_ta_uccexample_settings = simple -reload.splunk_ta_uccexample_custom_row_tab = simple reload.splunk_ta_uccexample_account = simple -reload.splunk_ta_uccexample_oauth = simple \ No newline at end of file +reload.splunk_ta_uccexample_custom_row_tab = simple +reload.splunk_ta_uccexample_tab_hidden_for_cloud = simple +reload.splunk_ta_uccexample_tab_hidden_for_enterprise = simple +reload.splunk_ta_uccexample_oauth = simple diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/inputs.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/inputs.conf index d4a3fafbc..8076a01e8 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/inputs.conf +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/inputs.conf @@ -8,4 +8,10 @@ python.version = python3 python.version = python3 [example_input_four] +python.version = python3 + +[service_hidden_for_cloud] +python.version = python3 + +[service_hidden_for_enterprise] python.version = python3 \ No newline at end of file diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/restmap.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/restmap.conf index bb52c332d..7288f0873 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/restmap.conf +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/restmap.conf @@ -1,6 +1,6 @@ [admin:splunk_ta_uccexample] match = / -members = splunk_ta_uccexample_account, splunk_ta_uccexample_custom_row_tab, splunk_ta_uccexample_example_input_four, splunk_ta_uccexample_example_input_one, splunk_ta_uccexample_example_input_three, splunk_ta_uccexample_example_input_two, splunk_ta_uccexample_oauth, splunk_ta_uccexample_settings +members = splunk_ta_uccexample_account, splunk_ta_uccexample_custom_row_tab, splunk_ta_uccexample_example_input_four, splunk_ta_uccexample_example_input_one, splunk_ta_uccexample_example_input_three, splunk_ta_uccexample_example_input_two, splunk_ta_uccexample_oauth, splunk_ta_uccexample_service_hidden_for_cloud, splunk_ta_uccexample_service_hidden_for_enterprise, splunk_ta_uccexample_settings, splunk_ta_uccexample_tab_hidden_for_cloud, splunk_ta_uccexample_tab_hidden_for_enterprise [admin_external:splunk_ta_uccexample_account] handlertype = python @@ -23,6 +23,20 @@ handlerfile = splunk_ta_uccexample_rh_custom_row_tab.py handleractions = edit, list, remove, create handlerpersistentmode = true +[admin_external:splunk_ta_uccexample_tab_hidden_for_cloud] +handlertype = python +python.version = python3 +handlerfile = splunk_ta_uccexample_rh_tab_hidden_for_cloud.py +handleractions = edit, list, remove, create +handlerpersistentmode = true + +[admin_external:splunk_ta_uccexample_tab_hidden_for_enterprise] +handlertype = python +python.version = python3 +handlerfile = splunk_ta_uccexample_rh_tab_hidden_for_enterprise.py +handleractions = edit, list, remove, create +handlerpersistentmode = true + [admin_external:splunk_ta_uccexample_settings] handlertype = python python.version = python3 @@ -56,4 +70,18 @@ handlertype = python python.version = python3 handlerfile = splunk_ta_uccexample_rh_example_input_four.py handleractions = edit, list, remove, create +handlerpersistentmode = true + +[admin_external:splunk_ta_uccexample_service_hidden_for_cloud] +handlertype = python +python.version = python3 +handlerfile = splunk_ta_uccexample_rh_service_hidden_for_cloud.py +handleractions = edit, list, remove, create +handlerpersistentmode = true + +[admin_external:splunk_ta_uccexample_service_hidden_for_enterprise] +handlertype = python +python.version = python3 +handlerfile = splunk_ta_uccexample_rh_service_hidden_for_enterprise.py +handleractions = edit, list, remove, create handlerpersistentmode = true \ No newline at end of file diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf index 4b6d9efc2..e9d4b4da6 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/server.conf @@ -2,4 +2,6 @@ conf_replication_include.splunk_ta_uccexample_settings = true conf_replication_include.splunk_ta_uccexample_account = true conf_replication_include.splunk_ta_uccexample_custom_row_tab = true -conf_replication_include.splunk_ta_uccexample_oauth = true \ No newline at end of file +conf_replication_include.splunk_ta_uccexample_tab_hidden_for_cloud = true +conf_replication_include.splunk_ta_uccexample_tab_hidden_for_enterprise = true +conf_replication_include.splunk_ta_uccexample_oauth = true diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/web.conf b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/web.conf index 55b9e5ee3..94219210c 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/web.conf +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/default/web.conf @@ -22,6 +22,22 @@ methods = POST, GET pattern = splunk_ta_uccexample_custom_row_tab/* methods = POST, GET, DELETE +[expose:splunk_ta_uccexample_tab_hidden_for_cloud] +pattern = splunk_ta_uccexample_tab_hidden_for_cloud +methods = POST, GET + +[expose:splunk_ta_uccexample_tab_hidden_for_cloud_specified] +pattern = splunk_ta_uccexample_tab_hidden_for_cloud/* +methods = POST, GET, DELETE + +[expose:splunk_ta_uccexample_tab_hidden_for_enterprise] +pattern = splunk_ta_uccexample_tab_hidden_for_enterprise +methods = POST, GET + +[expose:splunk_ta_uccexample_tab_hidden_for_enterprise_specified] +pattern = splunk_ta_uccexample_tab_hidden_for_enterprise/* +methods = POST, GET, DELETE + [expose:splunk_ta_uccexample_settings] pattern = splunk_ta_uccexample_settings methods = POST, GET @@ -60,4 +76,20 @@ methods = POST, GET [expose:splunk_ta_uccexample_example_input_four_specified] pattern = splunk_ta_uccexample_example_input_four/* +methods = POST, GET, DELETE + +[expose:splunk_ta_uccexample_service_hidden_for_cloud] +pattern = splunk_ta_uccexample_service_hidden_for_cloud +methods = POST, GET + +[expose:splunk_ta_uccexample_service_hidden_for_cloud_specified] +pattern = splunk_ta_uccexample_service_hidden_for_cloud/* +methods = POST, GET, DELETE + +[expose:splunk_ta_uccexample_service_hidden_for_enterprise] +pattern = splunk_ta_uccexample_service_hidden_for_enterprise +methods = POST, GET + +[expose:splunk_ta_uccexample_service_hidden_for_enterprise_specified] +pattern = splunk_ta_uccexample_service_hidden_for_enterprise/* methods = POST, GET, DELETE \ No newline at end of file diff --git a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json index a2d871821..c71d08641 100644 --- a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json @@ -90,6 +90,24 @@ "requiredWhenVisible": true } }, + { + "type": "text", + "label": "Example text hidden for cloud", + "help": "Enter text for field hidden for cloud", + "field": "text_field_hidden_for_cloud", + "options": { + "hideForPlatform": "cloud" + } + }, + { + "type": "text", + "label": "Example text hidden for enterprise", + "help": "Enter text for field hidden for enterprise", + "field": "text_field_hidden_for_enterprise", + "options": { + "hideForPlatform": "enterprise" + } + }, { "field": "url", "label": "URL", @@ -696,6 +714,142 @@ } ], "title": "Custom table row" + }, + { + "name": "tab_hidden_for_cloud", + "table": { + "actions": [ + "edit", + "delete", + "clone" + ], + "header": [ + { + "label": "Name", + "field": "name" + }, + { + "label": "Text Test", + "field": "text_test" + } + ], + "moreInfo": [ + { + "field": "name", + "label": "Name" + }, + { + "field": "text_test", + "label": "Text Test" + } + ] + }, + "entity": [ + { + "type": "text", + "label": "Name", + "validators": [ + { + "type": "string", + "errorMsg": "Length of ID should be between 1 and 50", + "minLength": 1, + "maxLength": 50 + }, + { + "type": "regex", + "errorMsg": "Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.", + "pattern": "^[a-zA-Z]\\w*$" + } + ], + "field": "name", + "help": "Enter a unique name for this account.", + "required": true + }, + { + "field": "text_test", + "label": "Text Test", + "help": "This is a text test", + "type": "text", + "validators": [ + { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + ], + "required": true + } + ], + "title": "Tab hidden for cloud", + "hideForPlatform": "cloud" + }, + { + "name": "tab_hidden_for_enterprise", + "table": { + "actions": [ + "edit", + "delete", + "clone" + ], + "header": [ + { + "label": "Name", + "field": "name" + }, + { + "label": "Text Test", + "field": "text_test" + } + ], + "moreInfo": [ + { + "field": "name", + "label": "Name" + }, + { + "field": "text_test", + "label": "Text Test" + } + ] + }, + "entity": [ + { + "type": "text", + "label": "Name", + "validators": [ + { + "type": "string", + "errorMsg": "Length of ID should be between 1 and 50", + "minLength": 1, + "maxLength": 50 + }, + { + "type": "regex", + "errorMsg": "Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.", + "pattern": "^[a-zA-Z]\\w*$" + } + ], + "field": "name", + "help": "Enter a unique name for this account.", + "required": true + }, + { + "field": "text_test", + "label": "Text Test", + "help": "This is a text test", + "type": "text", + "validators": [ + { + "type": "string", + "minLength": 1, + "maxLength": 100 + } + ], + "required": true + } + ], + "title": "Tab hidden for enterprise", + "hideForPlatform": "enterprise" } ], "title": "Configuration", @@ -1055,6 +1209,28 @@ "field": "account", "required": true }, + { + "type": "text", + "label": "Text input hidden for cloud", + "field": "input_two_text_hidden_for_cloud", + "help": "Should be hidden for cloud", + "tooltip": "Should be hidden for cloud", + "required": false, + "options": { + "hideForPlatform": "cloud" + } + }, + { + "type": "text", + "label": "Text input hidden for enterprise", + "field": "input_two_text_hidden_for_enterprise", + "help": "Should be hidden for enterprise", + "tooltip": "Should be hidden for enterprise", + "required": false, + "options": { + "hideForPlatform": "enterprise" + } + }, { "type": "multipleSelect", "label": "Example Multiple Select", @@ -1358,8 +1534,6 @@ }, { "name": "example_input_four", - "restHandlerModule": "splunk_ta_uccexample_custom_rh", - "restHandlerClass": "CustomRestHandler", "entity": [ { "type": "text", @@ -1390,6 +1564,74 @@ } ], "title": "Example Input Four" + }, + { + "name": "service_hidden_for_cloud", + "entity": [ + { + "type": "text", + "label": "Name", + "validators": [ + { + "type": "regex", + "errorMsg": "Input Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.", + "pattern": "^[a-zA-Z]\\w*$" + }, + { + "type": "string", + "errorMsg": "Length of input name should be between 1 and 100", + "minLength": 1, + "maxLength": 100 + } + ], + "field": "name", + "help": "A unique name for the data input.", + "required": true + }, + { + "type": "interval", + "field": "interval", + "label": "Interval", + "help": "Time interval of the data input, in seconds.", + "required": true + } + ], + "title": "Service hidden for cloud", + "hideForPlatform": "cloud" + }, + { + "name": "service_hidden_for_enterprise", + "entity": [ + { + "type": "text", + "label": "Name", + "validators": [ + { + "type": "regex", + "errorMsg": "Input Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.", + "pattern": "^[a-zA-Z]\\w*$" + }, + { + "type": "string", + "errorMsg": "Length of input name should be between 1 and 100", + "minLength": 1, + "maxLength": 100 + } + ], + "field": "name", + "help": "A unique name for the data input.", + "required": true + }, + { + "type": "interval", + "field": "interval", + "label": "Interval", + "help": "Time interval of the data input, in seconds.", + "required": true + } + ], + "title": "Service hidden for enterprise", + "hideForPlatform": "enterprise" } ], "title": "Inputs", diff --git a/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json b/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json index 134124783..335aa3c9e 100644 --- a/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json @@ -399,10 +399,18 @@ "moreInfo": [] }, "warning": { - "create": "Warning text for create mode", - "edit": "Warning text for edit mode", - "clone": "Warning text for clone mode", - "config": "Warning text for config mode" + "create": { + "message": "Warning text for create mode" + }, + "edit": { + "message": "Warning text for edit mode" + }, + "clone": { + "message": "Warning text for clone mode" + }, + "config": { + "message": "Warning text for config mode" + } } }, { @@ -424,6 +432,48 @@ "src": "custom_row" } } + }, + { + "name": "example_input_three", + "description": "Input hidden for cloud", + "title": "Example Input Three Hidden Cloud", + "entity": [], + "table": { + "actions": [ + "edit", + "enable", + "delete", + "clone" + ], + "header": [], + "moreInfo": [], + "customRow": { + "type": "external", + "src": "custom_row" + } + }, + "hideForPlatform": "cloud" + }, + { + "name": "example_input_four", + "description": "Input hidden for enterprise", + "title": "Example Input Four Hidden Enterprise", + "entity": [], + "table": { + "actions": [ + "edit", + "enable", + "delete", + "clone" + ], + "header": [], + "moreInfo": [], + "customRow": { + "type": "external", + "src": "custom_row" + } + }, + "hideForPlatform": "enterprise" } ] } diff --git a/tests/ui/test_input_page.py b/tests/ui/test_input_page.py index ec1ea90d0..d183395ad 100644 --- a/tests/ui/test_input_page.py +++ b/tests/ui/test_input_page.py @@ -253,6 +253,7 @@ def test_inputs_create_new_input_list_values( "Example Input Two", "Example Input Three", "Example Input Four", + "Service hidden for cloud", ] self.assert_util( input_page.create_new_input.get_inputs_list, create_new_input_list @@ -276,6 +277,8 @@ def test_inputs_input_type_list_values( "Example Input Two", "Example Input Three", "Example Input Four", + "Service hidden for cloud", + "Service hidden for enterprise", ] self.assert_util(input_page.type_filter.get_input_type_list, type_filter_list) input_page.type_filter.select_input_type( diff --git a/ui/.storybook/withSplunkTheme.tsx b/ui/.storybook/withSplunkTheme.tsx index e76845284..f1cd50b1e 100644 --- a/ui/.storybook/withSplunkTheme.tsx +++ b/ui/.storybook/withSplunkTheme.tsx @@ -7,6 +7,7 @@ import React, { Suspense } from 'react'; import { GlobalBodyStyle, StyledContainer } from '../src/pages/EntryPageStyle'; import { WaitSpinnerWrapper } from '../src/components/table/CustomTableStyle'; import fontDefinitions from './fontDefinitions'; +import { PageContextProvider } from '../src/context/PageContext'; const TestStylesForConsistentScreenshots = createGlobalStyle` ${fontDefinitions} @@ -33,14 +34,16 @@ export const withSplunkThemeToolbar = ( - - - - }> - {StoryFn()} - - - + + + + + }> + {StoryFn()} + + + + ); diff --git a/ui/src/components/BaseFormView/BaseFormTypes.ts b/ui/src/components/BaseFormView/BaseFormTypes.ts index 073782362..7b75a4638 100644 --- a/ui/src/components/BaseFormView/BaseFormTypes.ts +++ b/ui/src/components/BaseFormView/BaseFormTypes.ts @@ -18,6 +18,7 @@ import { TextEntity, } from '../../types/globalConfig/entities'; import { GlobalConfig } from '../../types/globalConfig/globalConfig'; +import { PageContextProviderType } from '../../context/PageContext'; export type CurrentBaseFormInput = | Record @@ -71,6 +72,7 @@ export interface BaseFormProps { stanzaName: string; groupName?: string; handleFormSubmit: (isSubmitting: boolean, closeEntity: boolean) => void; + pageContext?: PageContextProviderType; } export interface BaseFormState { diff --git a/ui/src/components/BaseFormView/BaseFormView.tsx b/ui/src/components/BaseFormView/BaseFormView.tsx index 1d788da54..ba71bd584 100644 --- a/ui/src/components/BaseFormView/BaseFormView.tsx +++ b/ui/src/components/BaseFormView/BaseFormView.tsx @@ -50,6 +50,8 @@ import { getModifiedState, } from '../FormModifications/FormModifications'; import { GlobalConfig } from '../../types/globalConfig/globalConfig'; +import { PageContextProviderType } from '../../context/PageContext'; +import { shouldHideForPlatform } from '../../util/pageContext'; function onCustomHookError(params: { methodName: string; error?: CustomHookError }) { // eslint-disable-next-line no-console @@ -63,6 +65,8 @@ class BaseFormView extends PureComponent { context!: React.ContextType; + pageContext?: PageContextProviderType; + flag: boolean; currentInput: CurrentBaseFormInput; @@ -140,6 +144,7 @@ class BaseFormView extends PureComponent { props.mode === MODE_EDIT || props.mode === MODE_CONFIG ? `${this.props.serviceName}/${encodeURIComponent(this.props.stanzaName)}` : `${this.props.serviceName}`; + this.pageContext = props.pageContext; this.util = { setState: (callback) => { @@ -382,6 +387,13 @@ class BaseFormView extends PureComponent { typeof e.defaultValue !== 'undefined' ? e?.defaultValue : null; tempEntity.display = typeof e?.options?.display !== 'undefined' ? e.options.display : true; + + tempEntity.display = shouldHideForPlatform( + e.options?.hideForPlatform, + props.pageContext?.platform + ) + ? false + : tempEntity.display; tempEntity.error = false; tempEntity.disabled = e?.options?.enable === false; temState[e.field] = tempEntity; @@ -393,6 +405,14 @@ class BaseFormView extends PureComponent { tempEntity.value = e.encrypted ? '' : tempEntity.value; tempEntity.display = typeof e?.options?.display !== 'undefined' ? e.options.display : true; + + tempEntity.display = shouldHideForPlatform( + e.options?.hideForPlatform, + props.pageContext?.platform + ) + ? false + : tempEntity.display; + tempEntity.error = false; tempEntity.disabled = e?.options?.enable === false; if (e.field === 'name') { @@ -404,8 +424,17 @@ class BaseFormView extends PureComponent { } else if (props.mode === MODE_CLONE) { tempEntity.value = e.field === 'name' || e.encrypted ? '' : this.currentInput?.[e.field]; + tempEntity.display = typeof e?.options?.display !== 'undefined' ? e.options.display : true; + + tempEntity.display = shouldHideForPlatform( + e.options?.hideForPlatform, + props.pageContext?.platform + ) + ? false + : tempEntity.display; + tempEntity.error = false; tempEntity.disabled = e?.options?.enable === false; temState[e.field] = tempEntity; @@ -419,6 +448,14 @@ class BaseFormView extends PureComponent { tempEntity.value = e.encrypted ? '' : tempEntity.value; tempEntity.display = typeof e?.options?.display !== 'undefined' ? e.options.display : true; + + tempEntity.display = shouldHideForPlatform( + e.options?.hideForPlatform, + props.pageContext?.platform + ) + ? false + : tempEntity.display; + tempEntity.error = false; tempEntity.disabled = e?.options?.enable === false; if (e.field === 'name') { diff --git a/ui/src/components/BaseFormView/stories/BaseFormView.stories.tsx b/ui/src/components/BaseFormView/stories/BaseFormView.stories.tsx index 0d05bdb3f..f1586e3f5 100644 --- a/ui/src/components/BaseFormView/stories/BaseFormView.stories.tsx +++ b/ui/src/components/BaseFormView/stories/BaseFormView.stories.tsx @@ -11,9 +11,11 @@ import { setUnifiedConfig } from '../../../util/util'; import { GlobalConfig } from '../../../types/globalConfig/globalConfig'; import { Mode } from '../../../constants/modes'; import { BaseFormProps } from '../BaseFormTypes'; +import { Platforms } from '../../../types/globalConfig/pages'; interface BaseFormStoriesProps extends BaseFormProps { config: GlobalConfig; + platform?: Platforms; } const meta = { @@ -27,6 +29,7 @@ const meta = { page={props.page} stanzaName={props.stanzaName} handleFormSubmit={props.handleFormSubmit} + pageContext={{ platform: props.platform }} /> ); }, @@ -44,6 +47,7 @@ export const OuathBasic: Story = { stanzaName: 'unknownStanza', handleFormSubmit: fn(), config: getConfigOauthBasic() as GlobalConfig, + platform: 'enterprise', }, }; @@ -70,3 +74,28 @@ export const BothOauth: Story = { config: PAGE_CONFIG_BOTH_OAUTH as GlobalConfig, }, }; + +export const OuathBasicEnterprise: Story = { + args: { + currentServiceState: {}, + serviceName: 'account', + mode: 'create' as Mode, + page: 'configuration', + stanzaName: 'unknownStanza', + handleFormSubmit: fn(), + config: getConfigOauthBasic() as GlobalConfig, + platform: 'enterprise', + }, +}; +export const OuathBasicCloud: Story = { + args: { + currentServiceState: {}, + serviceName: 'account', + mode: 'create' as Mode, + page: 'configuration', + stanzaName: 'unknownStanza', + handleFormSubmit: fn(), + config: getConfigOauthBasic() as GlobalConfig, + platform: 'cloud', + }, +}; diff --git a/ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-cloud-chromium.png b/ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-cloud-chromium.png new file mode 100644 index 000000000..3ce1e412a --- /dev/null +++ b/ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-cloud-chromium.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23a31401d799e69c31fbae3b5d460c171c2746ee6bdbebdc73fbdd1e4b72ac34 +size 27208 diff --git a/ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-enterprise-chromium.png b/ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-enterprise-chromium.png new file mode 100644 index 000000000..3ce1e412a --- /dev/null +++ b/ui/src/components/BaseFormView/stories/__images__/BaseFormView-ouath-basic-enterprise-chromium.png @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:23a31401d799e69c31fbae3b5d460c171c2746ee6bdbebdc73fbdd1e4b72ac34 +size 27208 diff --git a/ui/src/components/ConfigurationFormView.jsx b/ui/src/components/ConfigurationFormView.jsx index 2be92e75a..bdc5060c4 100644 --- a/ui/src/components/ConfigurationFormView.jsx +++ b/ui/src/components/ConfigurationFormView.jsx @@ -12,6 +12,7 @@ import { axiosCallWrapper } from '../util/axiosCallWrapper'; import { MODE_CONFIG } from '../constants/modes'; import { WaitSpinnerWrapper } from './table/CustomTableStyle'; import { PAGE_CONF } from '../constants/pages'; +import PageContext from '../context/PageContext'; const ButtonWrapper = styled.div` margin-left: 270px !important; @@ -73,15 +74,20 @@ function ConfigurationFormView({ serviceName }) { // Ref is used here to call submit method of form only return Object.keys(currentServiceState).length ? ( <> - + + {(pageContext) => ( + + )} + { onRequestClose={this.handleRequestClose} /> - + + {(pageContext) => ( + + )} + void; @@ -90,15 +91,21 @@ function EntityPage({ {_(formLabel)} - + + + {(pageContext) => ( + + )} + ) { }, })); render( - - - + + + + + ); return { mockHandleRequestOpen }; } diff --git a/ui/src/components/MenuInput/MenuInput.tsx b/ui/src/components/MenuInput/MenuInput.tsx index a35fcc2b8..430cd5665 100644 --- a/ui/src/components/MenuInput/MenuInput.tsx +++ b/ui/src/components/MenuInput/MenuInput.tsx @@ -13,6 +13,8 @@ import { getUnifiedConfigs } from '../../util/util'; import CustomMenu from '../CustomMenu'; import { StyledButton } from '../../pages/EntryPageStyle'; import { invariant } from '../../util/invariant'; +import { usePageContext } from '../../context/usePageContext'; +import { shouldHideForPlatform } from '../../util/pageContext'; const CustomSubTitle = styled.span` color: ${variables.brandColorD20}; @@ -47,12 +49,22 @@ function MenuInput({ handleRequestOpen }: MenuInputProps) { const [isSubMenu, setIsSubMenu] = useState(true); const { pages } = getUnifiedConfigs(); + const pageContext = usePageContext(); const { inputs } = pages; invariant(inputs); const groupsMenu = 'groupsMenu' in inputs ? inputs.groupsMenu : undefined; const customMenuField = 'menu' in inputs ? inputs.menu : undefined; - const { services } = inputs; + + const [services, setServices] = useState(inputs.services); + + useEffect(() => { + setServices( + inputs.services.filter( + (service) => !shouldHideForPlatform(service.hideForPlatform, pageContext.platform) + ) + ); + }, [inputs.services, pageContext.platform]); const closeReasons = ['clickAway', 'escapeKey', 'offScreen', 'toggleClick']; const toggle = ( @@ -177,7 +189,7 @@ function MenuInput({ handleRequestOpen }: MenuInputProps) { })); } return getSlidingsPanels(servicesGroup); - }, []); // eslint-disable-line react-hooks/exhaustive-deps + }, [services]); // eslint-disable-line react-hooks/exhaustive-deps // Making a dropdown if we have more than one service const makeSingleSelectDropDown = () => ( diff --git a/ui/src/context/PageContext.tsx b/ui/src/context/PageContext.tsx new file mode 100644 index 000000000..66bfd88d5 --- /dev/null +++ b/ui/src/context/PageContext.tsx @@ -0,0 +1,29 @@ +import React, { createContext, ReactNode } from 'react'; + +import { Platforms } from '../types/globalConfig/pages'; + +export type PageContextProviderType = { + platform: Platforms; +}; + +const PageContext = createContext(undefined); + +export function PageContextProvider({ + children, + platform, +}: { + children: ReactNode; + platform: Platforms; +}) { + return ( + + {children} + + ); +} + +export default PageContext; diff --git a/ui/src/context/usePageContext.ts b/ui/src/context/usePageContext.ts new file mode 100644 index 000000000..db869d3fb --- /dev/null +++ b/ui/src/context/usePageContext.ts @@ -0,0 +1,10 @@ +import { useContext } from 'react'; +import PageContext from './PageContext'; + +export function usePageContext() { + const pageContext = useContext(PageContext); + if (!pageContext) { + throw new Error('usePageContext must be used within '); + } + return pageContext; +} diff --git a/ui/src/hooks/usePlatform.ts b/ui/src/hooks/usePlatform.ts new file mode 100644 index 000000000..ca988f2c9 --- /dev/null +++ b/ui/src/hooks/usePlatform.ts @@ -0,0 +1,80 @@ +import { useEffect, useState } from 'react'; +import SearchJob from '@splunk/search-job'; + +import { Platforms } from '../types/globalConfig/pages'; +import { GlobalConfig } from '../types/globalConfig/globalConfig'; +import { StandardPages } from '../types/components/shareableTypes'; +import { AnyEntity } from '../components/BaseFormView/BaseFormTypes'; + +const checkIfHideInAnyEntity = (entities: AnyEntity[]): boolean => { + const isUsed = entities.find((entity) => { + if ('hideForPlatform' in entity && entity?.options?.hideForPlatform) { + return true; + } + return false; + }); + return !!isUsed || false; +}; + +const checkIfHideForPlatformUsed = (globalConfig: GlobalConfig, page?: StandardPages): boolean => { + if (!page || page === 'configuration') { + const isHideUsedInConfig = globalConfig.pages.configuration.tabs.find( + (tab) => tab.hideForPlatform || checkIfHideInAnyEntity(tab.entity || []) || false + ); + if (isHideUsedInConfig) { + return true; + } + } + + if (!page || page === 'inputs') { + const isHideUsedInService = globalConfig.pages.inputs?.services.find( + (service) => + service.hideForPlatform || checkIfHideInAnyEntity(service.entity || []) || false + ); + if (isHideUsedInService) { + return true; + } + } + + return false; +}; + +export const usePlatform = (globalConfig: GlobalConfig, page?: StandardPages) => { + const [platform, setPlatform] = useState(); + + useEffect(() => { + if (!checkIfHideForPlatformUsed(globalConfig, page)) { + return () => {}; + } + + // search call to get server info, cloud or enterprise + const mySearchJob = SearchJob.create( + { + search: `| rest/services/server/info splunk_server=local`, + earliest_time: '-15m', // time does not matter + latest_time: 'now', + }, + { cache: true, cancelOnUnload: true } // default cache 10min = 600 in seconds + ); + + const resultsSubscription = mySearchJob + .getResults() + .subscribe( + (result: { + results?: Array<{ product_type?: string; instance_type?: string }>; + }) => { + if (result.results?.[0]?.product_type === 'cloud') { + setPlatform('cloud'); + } else { + setPlatform('enterprise'); + } + } + ); + + return () => { + resultsSubscription.unsubscribe(); + }; + }, [globalConfig, page]); + + return platform; +}; diff --git a/ui/src/pages/Configuration/ConfigurationPage.tsx b/ui/src/pages/Configuration/ConfigurationPage.tsx index c5acd5226..33016a6c8 100644 --- a/ui/src/pages/Configuration/ConfigurationPage.tsx +++ b/ui/src/pages/Configuration/ConfigurationPage.tsx @@ -17,6 +17,9 @@ import OpenApiDownloadButton from '../../components/DownloadButton/OpenApiDownlo import SubDescription from '../../components/SubDescription/SubDescription'; import UccCredit from '../../components/UCCCredit/UCCCredit'; import { TabSchema } from '../../types/globalConfig/pages'; +import { PageContextProvider } from '../../context/PageContext'; +import { shouldHideForPlatform } from '../../util/pageContext'; +import { usePlatform } from '../../hooks/usePlatform'; const StyledHeaderControls = styled.div` display: inline-flex; @@ -44,10 +47,17 @@ type Tab = z.infer; function ConfigurationPage() { const unifiedConfigs = getUnifiedConfigs(); const { title, description, subDescription, tabs } = unifiedConfigs.pages.configuration; - const permittedTabNames = useMemo(() => tabs.map((tab) => tab.name), [tabs]); + + const platform = usePlatform(unifiedConfigs, 'configuration'); + + const filteredTabs = tabs.filter( + (tab) => !shouldHideForPlatform(tab.hideForPlatform, platform) + ); + + const permittedTabNames = useMemo(() => filteredTabs.map((tab) => tab.name), [filteredTabs]); const isComponentMounted = useRef(false); - const [activeTabId, setActiveTabId] = useState(tabs[0].name); + const [activeTabId, setActiveTabId] = useState(filteredTabs[0].name); const [isPageOpen, setIsPageOpen] = useState(false); const query = useQuery(); @@ -118,7 +128,7 @@ function ConfigurationPage() { return ( - <> +
@@ -139,14 +149,14 @@ function ConfigurationPage() { - {tabs.map((tab) => ( + {filteredTabs.map((tab) => ( ))}
- {tabs.map((tab) => getTabContent(tab))} + {filteredTabs.map((tab) => getTabContent(tab))} - +
); } diff --git a/ui/src/pages/Configuration/tests/ConfigContext.test.tsx b/ui/src/pages/Configuration/tests/ConfigContext.test.tsx new file mode 100644 index 000000000..b75c60a3b --- /dev/null +++ b/ui/src/pages/Configuration/tests/ConfigContext.test.tsx @@ -0,0 +1,91 @@ +import * as React from 'react'; +import { render } from '@testing-library/react'; +import { BrowserRouter } from 'react-router-dom'; +import userEvent from '@testing-library/user-event'; + +import { http, HttpResponse } from 'msw'; +import { server } from '../../../mocks/server'; +import { mockServerResponseWithContent } from '../../../mocks/server-response'; +import { setUnifiedConfig } from '../../../util/util'; +import ConfigurationPage from '../ConfigurationPage'; +import { type meta as metaType } from '../../../types/globalConfig/meta'; +import { CONFIG_PAGE_CONFIG_WITH_HIDDEN_ELEMENTS_FOR_PLATFORM } from './mockConfigs'; + +jest.mock('@splunk/search-job', () => ({ + create: () => ({ + getResults: () => ({ + subscribe: ( + callbackFunction: (params: { results: { product_type: string }[] }) => void + ) => { + callbackFunction({ results: [{ product_type: 'cloud' }] }); + return { unsubscribe: () => {} }; + }, + }), + }), +})); + +beforeEach(() => { + server.use( + http.get(`/servicesNS/nobody/-/:endpointUrl`, () => + HttpResponse.json(mockServerResponseWithContent) + ) + ); +}); + +function setup(meta: Partial) { + const globalConfigMock = CONFIG_PAGE_CONFIG_WITH_HIDDEN_ELEMENTS_FOR_PLATFORM; + + const newGlobalConfig = { + ...globalConfigMock, + meta: { + ...globalConfigMock.meta, + ...meta, + }, + }; + + setUnifiedConfig(newGlobalConfig); + return render(, { wrapper: BrowserRouter }); +} + +it('should not display tabs on cloud', async () => { + const page = setup({ + _uccVersion: undefined, + }); + + const cloudTab = document.querySelector('[data-test-tab-id="tab_hidden_for_cloud"]'); + expect(cloudTab).toBeNull(); + + const enterprisetab = document.querySelector('[data-test-tab-id="tab_hidden_for_enterprise"]'); + expect(enterprisetab).toBeInTheDocument(); + + const cloudText = await page.queryByText('Tab hidden for cloud'); + expect(cloudText).toBeNull(); + + const enterpriseText = await page.findByText('Tab hidden for enterprise'); + expect(enterpriseText).toBeInTheDocument(); +}); + +it('should not display fields in configuration form', async () => { + const page = setup({ + _uccVersion: undefined, + }); + + const addBtn = await page.findByRole('button', { name: 'Add' }); + expect(addBtn).toBeInTheDocument(); + + await userEvent.click(addBtn); + + const enterpriseInput = document.querySelector( + '[data-name="input_two_text_hidden_for_enterprise"]' + ); + expect(enterpriseInput).toBeInTheDocument(); + + const cloudInput = document.querySelector('[data-name="input_two_text_hidden_for_cloud"]'); + expect(cloudInput).toBeNull(); + + const cloudText = await page.queryByText('Text input hidden for cloud'); + expect(cloudText).toBeNull(); + + const enterprisetext = await page.findByText('Text input hidden for enterprise'); + expect(enterprisetext).toBeInTheDocument(); +}); diff --git a/ui/src/pages/Configuration/ConfigurationPage.test.tsx b/ui/src/pages/Configuration/tests/ConfigurationPage.test.tsx similarity index 79% rename from ui/src/pages/Configuration/ConfigurationPage.test.tsx rename to ui/src/pages/Configuration/tests/ConfigurationPage.test.tsx index cc32a1c50..4c24a2ac2 100644 --- a/ui/src/pages/Configuration/ConfigurationPage.test.tsx +++ b/ui/src/pages/Configuration/tests/ConfigurationPage.test.tsx @@ -3,14 +3,14 @@ import { render } from '@testing-library/react'; import { BrowserRouter } from 'react-router-dom'; import { http, HttpResponse } from 'msw'; -import ConfigurationPage from './ConfigurationPage'; -import { getUnifiedConfigs } from '../../util/util'; -import { getGlobalConfigMock } from '../../mocks/globalConfigMock'; -import { type meta as metaType } from '../../types/globalConfig/meta'; -import { mockServerResponseWithContent } from '../../mocks/server-response'; -import { server } from '../../mocks/server'; +import { getGlobalConfigMock } from '../../../mocks/globalConfigMock'; +import { server } from '../../../mocks/server'; +import { mockServerResponseWithContent } from '../../../mocks/server-response'; +import { getUnifiedConfigs } from '../../../util/util'; +import ConfigurationPage from '../ConfigurationPage'; +import { type meta as metaType } from '../../../types/globalConfig/meta'; -jest.mock('../../util/util'); +jest.mock('../../../util/util'); const getUnifiedConfigsMock = getUnifiedConfigs as jest.Mock; diff --git a/ui/src/pages/Configuration/tests/mockConfigs.ts b/ui/src/pages/Configuration/tests/mockConfigs.ts new file mode 100644 index 000000000..38fa06354 --- /dev/null +++ b/ui/src/pages/Configuration/tests/mockConfigs.ts @@ -0,0 +1,320 @@ +import { z } from 'zod'; +import { GlobalConfigSchema } from '../../../types/globalConfig/globalConfig'; + +export const CONFIG_PAGE_CONFIG_WITH_HIDDEN_ELEMENTS_FOR_PLATFORM = { + pages: { + configuration: { + tabs: [ + { + name: 'account', + table: { + actions: ['edit', 'delete', 'clone'], + header: [ + { + label: 'Name', + field: 'name', + }, + { + label: 'Auth Type', + field: 'auth_type', + }, + ], + }, + entity: [ + { + type: 'text', + label: 'Name', + validators: [ + { + type: 'string', + errorMsg: 'Length of ID should be between 1 and 50', + minLength: 1, + maxLength: 50, + }, + { + type: 'regex', + errorMsg: + 'Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.', + pattern: '^[a-zA-Z]\\w*$', + }, + ], + field: 'name', + help: 'Enter a unique name for this account.', + required: true, + }, + { + type: 'text', + label: 'Text input hidden for cloud', + field: 'input_two_text_hidden_for_cloud', + help: 'Should be hidden for cloud', + tooltip: 'Should be hidden for cloud', + required: false, + options: { + hideForPlatform: 'cloud', + }, + }, + { + type: 'text', + label: 'Text input hidden for enterprise', + field: 'input_two_text_hidden_for_enterprise', + help: 'Should be hidden for enterprise', + tooltip: 'Should be hidden for enterprise', + required: false, + options: { + hideForPlatform: 'enterprise', + }, + }, + ], + title: 'Account', + }, + { + name: 'tab_hidden_for_cloud', + table: { + actions: ['edit', 'delete', 'clone'], + header: [ + { + label: 'Name', + field: 'name', + }, + { + label: 'Text Test', + field: 'text_test', + }, + ], + moreInfo: [ + { + field: 'name', + label: 'Name', + }, + { + field: 'text_test', + label: 'Text Test', + }, + ], + }, + entity: [ + { + type: 'text', + label: 'Name', + validators: [ + { + type: 'string', + errorMsg: 'Length of ID should be between 1 and 50', + minLength: 1, + maxLength: 50, + }, + { + type: 'regex', + errorMsg: + 'Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.', + pattern: '^[a-zA-Z]\\w*$', + }, + ], + field: 'name', + help: 'Enter a unique name for this account.', + required: true, + }, + { + field: 'text_test', + label: 'Text Test', + help: 'This is a text test', + type: 'text', + validators: [ + { + type: 'string', + minLength: 1, + maxLength: 100, + }, + ], + required: true, + }, + ], + title: 'Tab hidden for cloud', + hideForPlatform: 'cloud', + }, + { + name: 'tab_hidden_for_enterprise', + table: { + actions: ['edit', 'delete', 'clone'], + header: [ + { + label: 'Name', + field: 'name', + }, + { + label: 'Text Test', + field: 'text_test', + }, + ], + moreInfo: [ + { + field: 'name', + label: 'Name', + }, + { + field: 'text_test', + label: 'Text Test', + }, + ], + }, + entity: [ + { + type: 'text', + label: 'Name', + validators: [ + { + type: 'string', + errorMsg: 'Length of ID should be between 1 and 50', + minLength: 1, + maxLength: 50, + }, + { + type: 'regex', + errorMsg: + 'Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.', + pattern: '^[a-zA-Z]\\w*$', + }, + ], + field: 'name', + help: 'Enter a unique name for this account.', + required: true, + }, + { + field: 'text_test', + label: 'Text Test', + help: 'This is a text test', + type: 'text', + validators: [ + { + type: 'string', + minLength: 1, + maxLength: 100, + }, + ], + required: true, + }, + ], + title: 'Tab hidden for enterprise', + hideForPlatform: 'enterprise', + }, + ], + title: 'Configuration', + description: 'Set up your add-on', + }, + inputs: { + title: 'Inputs', + services: [ + { + name: 'example_input_one', + description: 'This is a description for Input One', + title: 'Example Input', + entity: [ + { + type: 'text', + label: 'Name', + validators: [ + { + type: 'string', + errorMsg: 'Length of ID should be between 1 and 50', + minLength: 1, + maxLength: 50, + }, + { + type: 'regex', + errorMsg: + 'Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.', + pattern: '^[a-zA-Z]\\w*$', + }, + ], + field: 'name', + help: 'Enter a unique name for this account.', + required: true, + }, + { + type: 'text', + label: 'Text input hidden for cloud', + field: 'input_two_text_hidden_for_cloud', + help: 'Should be hidden for cloud', + tooltip: 'Should be hidden for cloud', + required: false, + options: { + hideForPlatform: 'cloud', + }, + }, + { + type: 'text', + label: 'Text input hidden for enterprise', + field: 'input_two_text_hidden_for_enterprise', + help: 'Should be hidden for enterprise', + tooltip: 'Should be hidden for enterprise', + required: false, + options: { + hideForPlatform: 'enterprise', + }, + }, + ], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + }, + }, + { + name: 'example_input_two', + description: 'This is a description for Input Two', + title: 'Example Input Two', + entity: [], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + customRow: { + type: 'external', + src: 'custom_row', + }, + }, + }, + { + name: 'example_input_three', + description: 'Input hidden for cloud', + title: 'Example Input Three Hidden Cloud', + entity: [], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + customRow: { + type: 'external', + src: 'custom_row', + }, + }, + hideForPlatform: 'cloud', + }, + { + name: 'example_input_four', + description: 'Input hidden for enterprise', + title: 'Example Input Four Hidden Enterprise', + entity: [], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + customRow: { + type: 'external', + src: 'custom_row', + }, + }, + hideForPlatform: 'enterprise', + }, + ], + }, + }, + meta: { + name: 'Splunk_TA_UCCExample', + restRoot: 'splunk_ta_uccexample', + version: '5.50.1+4a1bb166c', + displayName: 'Splunk UCC test Add-on', + schemaVersion: '0.0.8', + _uccVersion: '5.50.1', + }, +} satisfies z.infer; diff --git a/ui/src/pages/Input/InputPage.tsx b/ui/src/pages/Input/InputPage.tsx index 3254f8583..18c8135ed 100644 --- a/ui/src/pages/Input/InputPage.tsx +++ b/ui/src/pages/Input/InputPage.tsx @@ -28,6 +28,9 @@ import ErrorBoundary from '../../components/ErrorBoundary/ErrorBoundary'; import EntityPage from '../../components/EntityPage/EntityPage'; import SubDescription from '../../components/SubDescription/SubDescription'; import useQuery from '../../hooks/useQuery'; +import { PageContextProvider } from '../../context/PageContext'; +import { shouldHideForPlatform } from '../../util/pageContext'; +import { usePlatform } from '../../hooks/usePlatform'; const Row = styled(ColumnLayout.Row)` padding: 5px 0px; @@ -68,6 +71,8 @@ function isTableSchema(inputs: InputsPage): inputs is InputsPageTable { function InputPage(): ReactElement { const [entity, setEntity] = useState({ open: false }); const unifiedConfigs = getUnifiedConfigs(); + const platform = usePlatform(unifiedConfigs, 'inputs'); + const inputsPage = unifiedConfigs.pages.inputs; let services: ServiceTable[] = []; @@ -79,11 +84,16 @@ function InputPage(): ReactElement { if (inputsPage) { if (isTableSchema(inputsPage)) { ({ services, title, table, description, subDescription } = inputsPage); + services = services.filter( + (service) => !shouldHideForPlatform(service.hideForPlatform, platform) + ); } else { ({ services, title } = inputsPage); + services = services.filter( + (service) => !shouldHideForPlatform(service.hideForPlatform, platform) + ); } } - // check if the tabs feature is enabled or not. const isTabs = !table; @@ -258,89 +268,94 @@ function InputPage(): ReactElement { }, [activeTabId] // eslint-disable-line react-hooks/exhaustive-deps ); - return ( - - {entity.isInputPageStyle && entity.open ? generatePageDialog() : null} -
- - - - - {isTabs ? _(selectedTab?.title || '') : _(title || '')} - - - {isTabs - ? _(isTableFullSchema ? selectedTab?.description : '') - : _(description || '')} - - - - - {!isTabs && } - - - - {isTabs ? ( - <> - - {services.map((service) => ( - + + {entity.isInputPageStyle && entity.open ? generatePageDialog() : null} +
+ + + + + {isTabs ? _(selectedTab?.title || '') : _(title || '')} + + + {isTabs + ? _(isTableFullSchema ? selectedTab?.description : '') + : _(description || '')} + + - ))} - - {services.map((service) => ( -
+ - - handleRequestOpen({ serviceName: service.name }) + {!isTabs && } + + + + {isTabs ? ( + <> + + {services.map((service) => ( + + ))} + + {services.map((service) => ( +
-
- ))} - - ) : ( - - )} + id={`${service.name}Tab`} + > + + handleRequestOpen({ + serviceName: service.name, + }) + } + handleOpenPageStyleDialog={handleOpenPageStyleDialog} + /> +
+ ))} + + ) : ( + + )} - - {!entity.isInputPageStyle && entity.open ? generateModalDialog() : null} -
-
+ + {!entity.isInputPageStyle && entity.open ? generateModalDialog() : null} +
+
+
); } diff --git a/ui/src/pages/Input/tests/InputContext.test.tsx b/ui/src/pages/Input/tests/InputContext.test.tsx new file mode 100644 index 000000000..bfb753d81 --- /dev/null +++ b/ui/src/pages/Input/tests/InputContext.test.tsx @@ -0,0 +1,66 @@ +import * as React from 'react'; +import { render, screen, waitForElementToBeRemoved } from '@testing-library/react'; +import { BrowserRouter } from 'react-router-dom'; +import userEvent from '@testing-library/user-event'; + +import InputPage from '../InputPage'; +import { setUnifiedConfig } from '../../../util/util'; +import { INPUT_PAGE_CONFIG_WITH_HIDDEN_ELEMENTS_FOR_PLATFORM } from './mockConfigs'; + +jest.mock('@splunk/search-job', () => ({ + create: () => ({ + getResults: () => ({ + subscribe: ( + callbackFunction: (params: { results: { product_type: string }[] }) => void + ) => { + callbackFunction({ results: [{ product_type: 'cloud' }] }); + return { unsubscribe: () => {} }; + }, + }), + }), +})); + +it('Tabs not displayed on platform', async () => { + setUnifiedConfig(INPUT_PAGE_CONFIG_WITH_HIDDEN_ELEMENTS_FOR_PLATFORM); + + render(, { wrapper: BrowserRouter }); + await waitForElementToBeRemoved(() => document.querySelector('[data-test="wait-spinner"]')); + + const cloudTab = document.querySelector('[data-test-tab-id="example_input_three"]'); + expect(cloudTab).toBeNull(); + + const enterprisetab = document.querySelector('[data-test-tab-id="example_input_four"]'); + expect(enterprisetab).toBeInTheDocument(); + + const cloudText = await screen.queryByText('Example Input Three Hidden Cloud'); + expect(cloudText).toBeNull(); + + const enterpriseText = await screen.findByText('Example Input Four Hidden Enterprise'); + expect(enterpriseText).toBeInTheDocument(); +}); + +it('Fields not displayed on inputs form', async () => { + setUnifiedConfig(INPUT_PAGE_CONFIG_WITH_HIDDEN_ELEMENTS_FOR_PLATFORM); + + render(, { wrapper: BrowserRouter }); + await waitForElementToBeRemoved(() => document.querySelector('[data-test="wait-spinner"]')); + + const addBtn = screen.getByRole('button', { name: 'Add' }); + expect(addBtn).toBeInTheDocument(); + + await userEvent.click(addBtn); + + const enterpriseInput = document.querySelector( + '[data-name="input_two_text_hidden_for_enterprise"]' + ); + expect(enterpriseInput).toBeInTheDocument(); + + const cloudInput = document.querySelector('[data-name="input_two_text_hidden_for_cloud"]'); + expect(cloudInput).toBeNull(); + + const cloudText = await screen.queryByText('Text input hidden for cloud'); + expect(cloudText).toBeNull(); + + const enterprisetext = await screen.findByText('Text input hidden for enterprise'); + expect(enterprisetext).toBeInTheDocument(); +}); diff --git a/ui/src/pages/Input/InputPage.test.tsx b/ui/src/pages/Input/tests/InputPage.test.tsx similarity index 94% rename from ui/src/pages/Input/InputPage.test.tsx rename to ui/src/pages/Input/tests/InputPage.test.tsx index 9a5bed8c5..d99edc698 100644 --- a/ui/src/pages/Input/InputPage.test.tsx +++ b/ui/src/pages/Input/tests/InputPage.test.tsx @@ -3,8 +3,8 @@ import { render, screen, waitForElementToBeRemoved, act } from '@testing-library import { BrowserRouter } from 'react-router-dom'; import userEvent from '@testing-library/user-event'; -import InputPage from './InputPage'; -import { mockCustomMenu, MockCustomRenderable } from '../../tests/helpers'; +import InputPage from '../InputPage'; +import { mockCustomMenu, MockCustomRenderable } from '../../../tests/helpers'; const mockNavigateFn = jest.fn(); jest.mock('react-router-dom', () => ({ @@ -12,7 +12,7 @@ jest.mock('react-router-dom', () => ({ useNavigate: () => mockNavigateFn, })); -jest.mock('../../util/util'); +jest.mock('../../../util/util'); let mockCustomMenuInstance: MockCustomRenderable; diff --git a/ui/src/pages/Input/tests/mockConfigs.ts b/ui/src/pages/Input/tests/mockConfigs.ts new file mode 100644 index 000000000..15d44ab79 --- /dev/null +++ b/ui/src/pages/Input/tests/mockConfigs.ts @@ -0,0 +1,168 @@ +import { z } from 'zod'; +import { GlobalConfigSchema } from '../../../types/globalConfig/globalConfig'; + +export const INPUT_PAGE_CONFIG_WITH_HIDDEN_ELEMENTS_FOR_PLATFORM = { + pages: { + configuration: { + tabs: [ + { + name: 'account', + table: { + actions: ['edit', 'delete', 'clone'], + header: [ + { + label: 'Name', + field: 'name', + }, + { + label: 'Auth Type', + field: 'auth_type', + }, + ], + }, + entity: [ + { + type: 'text', + label: 'Name', + validators: [ + { + type: 'string', + errorMsg: 'Length of ID should be between 1 and 50', + minLength: 1, + maxLength: 50, + }, + { + type: 'regex', + errorMsg: + 'Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.', + pattern: '^[a-zA-Z]\\w*$', + }, + ], + field: 'name', + help: 'Enter a unique name for this account.', + required: true, + }, + ], + title: 'Account', + }, + ], + title: 'Configuration', + description: 'Set up your add-on', + }, + inputs: { + title: 'Inputs', + services: [ + { + name: 'example_input_one', + description: 'This is a description for Input One', + title: 'Example Input', + entity: [ + { + type: 'text', + label: 'Name', + validators: [ + { + type: 'string', + errorMsg: 'Length of ID should be between 1 and 50', + minLength: 1, + maxLength: 50, + }, + { + type: 'regex', + errorMsg: + 'Name must begin with a letter and consist exclusively of alphanumeric characters and underscores.', + pattern: '^[a-zA-Z]\\w*$', + }, + ], + field: 'name', + help: 'Enter a unique name for this account.', + required: true, + }, + { + type: 'text', + label: 'Text input hidden for cloud', + field: 'input_two_text_hidden_for_cloud', + help: 'Should be hidden for cloud', + tooltip: 'Should be hidden for cloud', + required: false, + options: { + hideForPlatform: 'cloud', + }, + }, + { + type: 'text', + label: 'Text input hidden for enterprise', + field: 'input_two_text_hidden_for_enterprise', + help: 'Should be hidden for enterprise', + tooltip: 'Should be hidden for enterprise', + required: false, + options: { + hideForPlatform: 'enterprise', + }, + }, + ], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + }, + }, + { + name: 'example_input_two', + description: 'This is a description for Input Two', + title: 'Example Input Two', + entity: [], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + customRow: { + type: 'external', + src: 'custom_row', + }, + }, + }, + { + name: 'example_input_three', + description: 'Input hidden for cloud', + title: 'Example Input Three Hidden Cloud', + entity: [], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + customRow: { + type: 'external', + src: 'custom_row', + }, + }, + hideForPlatform: 'cloud', + }, + { + name: 'example_input_four', + description: 'Input hidden for enterprise', + title: 'Example Input Four Hidden Enterprise', + entity: [], + table: { + actions: ['edit', 'enable', 'delete', 'clone'], + header: [], + moreInfo: [], + customRow: { + type: 'external', + src: 'custom_row', + }, + }, + hideForPlatform: 'enterprise', + }, + ], + }, + }, + meta: { + name: 'Splunk_TA_UCCExample', + restRoot: 'splunk_ta_uccexample', + version: '5.50.1+4a1bb166c', + displayName: 'Splunk UCC test Add-on', + schemaVersion: '0.0.8', + _uccVersion: '5.50.1', + }, +} satisfies z.infer; diff --git a/ui/src/types/globalConfig/entities.ts b/ui/src/types/globalConfig/entities.ts index 58fa0f228..0f9a21f05 100644 --- a/ui/src/types/globalConfig/entities.ts +++ b/ui/src/types/globalConfig/entities.ts @@ -57,6 +57,7 @@ const CommonEditableEntityOptions = z.object({ disableonEdit: z.boolean().default(false).optional(), enable: z.boolean().default(true).optional(), requiredWhenVisible: z.boolean().default(false).optional(), + hideForPlatform: z.enum(['cloud', 'enterprise']).optional(), }); export const MarkdownMessageType = z.union([ @@ -102,7 +103,11 @@ const AllValidators = z export const LinkEntity = CommonEntityFields.extend({ type: z.literal('helpLink'), label: z.string().optional(), - options: z.object({ text: z.string(), link: z.string() }), + options: z.object({ + text: z.string(), + link: z.string(), + hideForPlatform: z.enum(['cloud', 'enterprise']).optional(), + }), required: z.literal(false).default(false).optional(), }); @@ -248,14 +253,7 @@ export const OAuthFields = z.object({ encrypted: z.boolean().default(false).optional(), required: z.boolean().default(false).optional(), defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional(), - options: z - .object({ - disableonEdit: z.boolean().optional(), - enable: z.boolean().default(true).optional(), - display: z.literal(true).default(true).optional(), - requiredWhenVisible: z.boolean().default(false).optional(), - }) - .optional(), + options: CommonEditableEntityOptions.optional(), modifyFieldsOnValue: ModifyFieldsOnValue, }); @@ -285,6 +283,7 @@ export const CustomEntity = CommonEditableEntityFields.extend({ options: z.object({ type: z.literal('external'), src: z.string(), + hideForPlatform: z.enum(['cloud', 'enterprise']).optional(), }), }); diff --git a/ui/src/types/globalConfig/pages.ts b/ui/src/types/globalConfig/pages.ts index e589b9785..8256698a8 100644 --- a/ui/src/types/globalConfig/pages.ts +++ b/ui/src/types/globalConfig/pages.ts @@ -60,6 +60,7 @@ export const TabSchema = z.object({ restHandlerClass: z.string().optional(), customTab: z.record(z.any()).optional(), warning: WarningSchema, + hideForPlatform: z.enum(['cloud', 'enterprise']).optional(), }); const GroupsSchema = z @@ -92,6 +93,7 @@ export const TableLessServiceSchema = z.object({ restHandlerClass: z.string().optional(), warning: WarningSchema, inputHelperModule: z.string().optional(), + hideForPlatform: z.enum(['cloud', 'enterprise']).optional(), }); export const TableFullServiceSchema = TableLessServiceSchema.extend({ description: z.string().optional(), @@ -169,6 +171,8 @@ export const pages = z.object({ .optional(), }); +export type Platforms = 'enterprise' | 'cloud' | undefined; + // Define the types based on the Zod schemas export type InputsPage = z.infer; export type InputsPageTable = z.infer; diff --git a/ui/src/util/pageContext.ts b/ui/src/util/pageContext.ts new file mode 100644 index 000000000..99e010a7b --- /dev/null +++ b/ui/src/util/pageContext.ts @@ -0,0 +1,13 @@ +import { Platforms } from '../types/globalConfig/pages'; + +export const shouldHideForPlatform = (hideForPlatform: Platforms, platform: Platforms) => { + if (platform && hideForPlatform === platform) { + return true; + } + // hide by default if platform information was not read yet + if (!platform && hideForPlatform) { + return true; + } + + return false; +}; From d9c396ba6cafe0d7515f9df6c0a1e5adcc90f268 Mon Sep 17 00:00:00 2001 From: Viktor Tsvetkov <142901247+vtsvetkov-splunk@users.noreply.github.com> Date: Tue, 15 Oct 2024 13:46:28 +0200 Subject: [PATCH 16/22] chore(renovate): ignore incompatible packages (#1376) --- renovate.json | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/renovate.json b/renovate.json index da6fd9e3e..1d5b90e11 100644 --- a/renovate.json +++ b/renovate.json @@ -19,6 +19,22 @@ "matchPackagePatterns": ["*"], "groupName": "{{manager}}" }, + { + "description": "Ignore python packages that cannot be updated thanks to 3.7 support", + "matchManagers": [ + "poetry" + ], + "matchPackagePrefixes": [ + "importlib-metadata", + "pytest", + "pytest-cov", + "pytest-rerunfailures" + ], + "matchUpdateTypes": [ + "major" + ], + "enabled": false + }, { "matchPackageNames": ["urllib3"], "allowedVersions": "<2.0.0" @@ -30,8 +46,8 @@ ], "matchPackageNames": [ "@npmcli/git", - "@testing-library/react", "@testing-library/dom", + "@testing-library/react", "@types/react", "@typescript-eslint/eslint-plugin", "@typescript-eslint/parser", @@ -42,11 +58,12 @@ "eslint-config-airbnb", "eslint-config-prettier", "eslint-plugin-prettier", + "eslint-plugin-react-hooks", "glob-parent", + "prettier", "react", "react-dom", "react-is", - "prettier", "string-width", "strip-ansi", "styled-components", From 8c5a9817753e02103ec04d1267781d7030ace7ac Mon Sep 17 00:00:00 2001 From: lplonka-splunk <139213249+lplonka-splunk@users.noreply.github.com> Date: Tue, 15 Oct 2024 15:30:02 +0200 Subject: [PATCH 17/22] feat: support CRON as interval (#1346) **Issue number:** ADDON-73348 ## Summary Add option to use cron in an interval type field ### Changes * Using standard CRON syntax is now allowed in input interval * Long form Interval entity was updated with new regex * Schema.json was modified * New UTs and UI tests were created ### User experience * User is able to use CRON as input interval ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [x] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --------- Co-authored-by: srv-rr-github-token <94607705+srv-rr-github-token@users.noreply.github.com> --- docs/entity/components.md | 14 +++- .../entity/interval_entity.py | 12 ++- .../schema/schema.json | 5 +- tests/smoke/test_ucc_build.py | 5 +- ...unk_ta_uccexample_rh_example_input_four.py | 2 +- ...lunk_ta_uccexample_rh_example_input_one.py | 2 +- ...lunk_ta_uccexample_rh_example_input_two.py | 2 +- .../splunk_ta_uccexample_rh_three_custom.py | 2 +- .../globalConfig.json | 6 +- .../globalConfig.json | 2 +- .../globalConfig.json | 4 +- .../splunk_ta_uccexample_rh_three_custom.py | 2 +- .../globalConfig.json | 6 +- .../globalConfig.json | 6 +- .../globalConfig.json | 4 +- tests/ui/test_input_page.py | 84 ++++++++++++++++++- tests/unit/entity/test_interval_entity.py | 22 ++--- tests/unit/test_interval_regex.py | 42 ++++++++++ .../valid_config_only_interval_migration.json | 6 +- 19 files changed, 187 insertions(+), 41 deletions(-) create mode 100644 tests/unit/test_interval_regex.py diff --git a/docs/entity/components.md b/docs/entity/components.md index 2dcbb1523..354489243 100644 --- a/docs/entity/components.md +++ b/docs/entity/components.md @@ -505,7 +505,7 @@ The Oauth type entity enables us to use Oauth2.0 for user authentication. Visit ## `Interval` A [Text](#text) field used to specify [interval](https://docs.splunk.com/Documentation/Splunk/latest/Admin/Inputsconf#Scripted_Input:) -value, i.e. a number greater than or equal to 0, or -1. +value, i.e. a number greater than or equal to 0, CRON interval or -1.

Options

@@ -513,6 +513,17 @@ value, i.e. a number greater than or equal to 0, or -1. | -------- | ---------------------------- | ----------------------- | | range | list of numbers (2 elements) | Range of allowed values | + +Supported CRON schedule: + +* " " +* Cron special characters are acceptable. ("*", ",", "/", "-" ) + +Names of months or days are not supported. + +Note: Range option is not supposed to be used with CRON interval. + + See the following example: ```json @@ -526,6 +537,7 @@ See the following example: } ``` + ## `Index` A field used to specify [index](https://docs.splunk.com/Splexicon:Index). diff --git a/splunk_add_on_ucc_framework/entity/interval_entity.py b/splunk_add_on_ucc_framework/entity/interval_entity.py index c3999cd76..f4a77e1c8 100644 --- a/splunk_add_on_ucc_framework/entity/interval_entity.py +++ b/splunk_add_on_ucc_framework/entity/interval_entity.py @@ -17,6 +17,14 @@ from splunk_add_on_ucc_framework.entity.entity import Entity +CRON_REGEX = ( + r"^(" + r"(?:-1|\d+(?:\.\d+)?)" # Non-negative number or -1 + r"|" + r"(([\*\d{1,2}\,\-\/]+\s){4}[\*\d{1,2}\,\-\/]+)" # CRON interval + r")$" +) + class IntervalEntity(Entity): def short_form(self) -> Dict[str, Any]: @@ -30,8 +38,8 @@ def long_form(self) -> Dict[str, Any]: "validators": [ { "type": "regex", - "errorMsg": f"{self['label']} must be either a non-negative number or -1.", - "pattern": r"^(?:-1|\d+(?:\.\d+)?)$", + "errorMsg": f"{self['label']} must be either a non-negative number, CRON interval or -1.", + "pattern": CRON_REGEX, } ], } diff --git a/splunk_add_on_ucc_framework/schema/schema.json b/splunk_add_on_ucc_framework/schema/schema.json index e0db48e50..7e84b80c9 100644 --- a/splunk_add_on_ucc_framework/schema/schema.json +++ b/splunk_add_on_ucc_framework/schema/schema.json @@ -399,7 +399,8 @@ { "type": "string", "enum": [ - "ERROR", "CRITICAL" + "ERROR", + "CRITICAL" ] } ] @@ -3127,7 +3128,7 @@ }, { "type": "string", - "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$" + "pattern": "^((?:-1|\\d+(?:\\.\\d+)?)|(([\\*\\d{1,2}\\,\\-\\/]+\\s){4}[\\*\\d{1,2}\\,\\-\\/]+))$" } ] }, diff --git a/tests/smoke/test_ucc_build.py b/tests/smoke/test_ucc_build.py index 756f78abf..ccecea752 100644 --- a/tests/smoke/test_ucc_build.py +++ b/tests/smoke/test_ucc_build.py @@ -6,6 +6,7 @@ from pathlib import Path from typing import Dict, Any +from splunk_add_on_ucc_framework.entity.interval_entity import CRON_REGEX from tests.smoke import helpers from tests.unit import helpers as unit_helpers import addonfactory_splunk_conf_parser_lib as conf_parser @@ -631,8 +632,8 @@ def _compare_interval_entities( "type": "text", "validators": [ { - "errorMsg": "Interval must be either a non-negative number or -1.", - "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$", + "errorMsg": "Interval must be either a non-negative number, CRON interval or -1.", + "pattern": CRON_REGEX, "type": "regex", } ], diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py index b1056fb87..b9557963f 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_four.py @@ -21,7 +21,7 @@ encrypted=False, default=None, validator=validator.Pattern( - regex=r"""^(?:-1|\d+(?:\.\d+)?)$""", + regex=r"""^((?:-1|\d+(?:\.\d+)?)|(([\*\d{1,2}\,\-\/]+\s){4}[\*\d{1,2}\,\-\/]+))$""", ) ), diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_one.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_one.py index 56f85c4c4..6b8f33765 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_one.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_one.py @@ -49,7 +49,7 @@ encrypted=False, default=None, validator=validator.Pattern( - regex=r"""^(?:-1|\d+(?:\.\d+)?)$""", + regex=r"""^((?:-1|\d+(?:\.\d+)?)|(([\*\d{1,2}\,\-\/]+\s){4}[\*\d{1,2}\,\-\/]+))$""", ) ), field.RestField( diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py index a29e4d076..0840d72aa 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_example_input_two.py @@ -21,7 +21,7 @@ encrypted=False, default=None, validator=validator.Pattern( - regex=r"""^(?:-1|\d+(?:\.\d+)?)$""", + regex=r"""^((?:-1|\d+(?:\.\d+)?)|(([\*\d{1,2}\,\-\/]+\s){4}[\*\d{1,2}\,\-\/]+))$""", ) ), field.RestField( diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_three_custom.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_three_custom.py index 95f8fba67..8851896c6 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_three_custom.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_three_custom.py @@ -20,7 +20,7 @@ encrypted=False, default=None, validator=validator.Pattern( - regex=r"""^(?:-1|\d+(?:\.\d+)?)$""", + regex=r"""^((?:-1|\d+(?:\.\d+)?)|(([\*\d{1,2}\,\-\/]+\s){4}[\*\d{1,2}\,\-\/]+))$""", ) ), diff --git a/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json b/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json index 86e50b7e5..068ef21d5 100644 --- a/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json +++ b/tests/testdata/test_addons/package_files_conflict_test/globalConfig.json @@ -200,9 +200,9 @@ "meta": { "name": "test_addon", "restRoot": "test_addon", - "version": "5.47.0+a2b585f01", + "version": "5.50.1+8cbb9b3c", "displayName": "This is my add-on", - "schemaVersion": "0.0.7", - "_uccVersion": "5.47.0" + "schemaVersion": "0.0.8", + "_uccVersion": "5.50.1" } } diff --git a/tests/testdata/test_addons/package_global_config_configuration/globalConfig.json b/tests/testdata/test_addons/package_global_config_configuration/globalConfig.json index 0fb22950a..205374eab 100644 --- a/tests/testdata/test_addons/package_global_config_configuration/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_configuration/globalConfig.json @@ -388,6 +388,6 @@ "version": "1.1.1", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.7", - "_uccVersion": "5.48.1" + "_uccVersion": "5.50.1" } } diff --git a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json index c71d08641..4fbe118b5 100644 --- a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json @@ -1864,10 +1864,10 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.49.0+cc63ee532", + "version": "5.50.1+8cbb9b3c", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.8", - "_uccVersion": "5.50.0", + "_uccVersion": "5.50.1", "supportedThemes": [ "light", "dark" diff --git a/tests/testdata/test_addons/package_global_config_everything/package/bin/splunk_ta_uccexample_rh_three_custom.py b/tests/testdata/test_addons/package_global_config_everything/package/bin/splunk_ta_uccexample_rh_three_custom.py index 95f8fba67..8851896c6 100644 --- a/tests/testdata/test_addons/package_global_config_everything/package/bin/splunk_ta_uccexample_rh_three_custom.py +++ b/tests/testdata/test_addons/package_global_config_everything/package/bin/splunk_ta_uccexample_rh_three_custom.py @@ -20,7 +20,7 @@ encrypted=False, default=None, validator=validator.Pattern( - regex=r"""^(?:-1|\d+(?:\.\d+)?)$""", + regex=r"""^((?:-1|\d+(?:\.\d+)?)|(([\*\d{1,2}\,\-\/]+\s){4}[\*\d{1,2}\,\-\/]+))$""", ) ), diff --git a/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json b/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json index 9c040c6eb..1db454358 100644 --- a/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_everything_uccignore/globalConfig.json @@ -1172,9 +1172,9 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.47.0+a2b585f01", + "version": "5.50.1+8cbb9b3c", "displayName": "Splunk UCC test Add-on", - "schemaVersion": "0.0.7", - "_uccVersion": "5.47.0" + "schemaVersion": "0.0.8", + "_uccVersion": "5.50.1" } } diff --git a/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json b/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json index 335aa3c9e..15fcebe8e 100644 --- a/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_multi_input/globalConfig.json @@ -481,9 +481,9 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.47.0+a2b585f01", + "version": "5.50.1+8cbb9b3c", "displayName": "Splunk UCC test Add-on", - "schemaVersion": "0.0.7", - "_uccVersion": "5.47.0" + "schemaVersion": "0.0.8", + "_uccVersion": "5.50.1" } } diff --git a/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json b/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json index bfaa9475f..a7dd3727c 100644 --- a/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_only_one_tab/globalConfig.json @@ -36,9 +36,9 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.47.0+a2b585f01", + "version": "5.50.1+8cbb9b3c", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.7", - "_uccVersion": "5.47.0" + "_uccVersion": "5.50.1" } } diff --git a/tests/ui/test_input_page.py b/tests/ui/test_input_page.py index d183395ad..176da970d 100644 --- a/tests/ui/test_input_page.py +++ b/tests/ui/test_input_page.py @@ -691,7 +691,7 @@ def test_example_input_one_valid_input_interval( input_page.entity1.interval.set_value("abc") self.assert_util( input_page.entity1.save, - r"Interval must be either a non-negative number or -1.", + r"Interval must be either a non-negative number, CRON interval or -1.", left_args={"expect_error": True}, ) @@ -1599,7 +1599,7 @@ def test_example_input_two_valid_input_interval( input_page.entity2.interval.set_value("abc") self.assert_util( input_page.entity2.save, - r"Interval must be either a non-negative number or -1.", + r"Interval must be either a non-negative number, CRON interval or -1.", left_args={"expect_error": True}, ) @@ -2533,3 +2533,83 @@ def test_inputs_textarea_scroll( input_page.entity1.text_area.scroll("UP", 40) screenshot_after = input_page.entity1.text_area.screenshot() self.assert_util(screnshot_before, screenshot_after, operator="!=") + + @pytest.mark.execute_enterprise_cloud_true + @pytest.mark.forwarder + @pytest.mark.input + @pytest.mark.parametrize( + "interval", + [ + "-1", + "1", + "0 0,11 2 */2 *", + "* * * * *", + ], + ) + def test_example_inputs_with_valid_interval( + self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, interval + ): + input_page = InputPage(ucc_smartx_selenium_helper, ucc_smartx_rest_helper) + # for input_pos, interval in enumerate(intervals, 1): + name = "dummy_input" + input_page.create_new_input.select("Example Input One") + input_page.entity1.example_account.wait_for_values() + input_page.entity1.example_account.select("test_input") + input_page.entity1.object.set_value("test_object") + input_page.entity1.name.set_value(name) + input_page.entity1.object_fields.set_value("test_field") + input_page.entity1.text_area.set_value("line1\nline2\nline3\nline4\nline5") + + input_page.entity1.interval.set_value(interval) + + input_page.entity1.save_btn.click() + input_page.table.wait_for_rows_to_appear(1) + + self.assert_util( + input_page.table.get_table()[name], + { + "name": name, + "account": "test_input", + "interval": interval, + "index": "default", + "status": "Active", + "actions": "Edit | Clone | Search | Delete", + }, + ) + + backend_stanza = input_page.backend_conf.get_stanza( + f"example_input_one://{name}" + ) + assert backend_stanza.get("interval") == interval + + @pytest.mark.execute_enterprise_cloud_true + @pytest.mark.forwarder + @pytest.mark.input + @pytest.mark.parametrize( + "interval", + [ + "-2", + "0a 0,11 2 */2 *", + "a b * * *", + ], + ) + def test_example_inputs_with_not_valid_interval( + self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper, interval + ): + input_page = InputPage(ucc_smartx_selenium_helper, ucc_smartx_rest_helper) + name = "dummy_input" + input_page.create_new_input.select("Example Input One") + input_page.entity1.example_account.wait_for_values() + input_page.entity1.example_account.select("test_input") + input_page.entity1.object.set_value("test_object") + input_page.entity1.name.set_value(name) + input_page.entity1.object_fields.set_value("test_field") + input_page.entity1.text_area.set_value("line1\nline2\nline3\nline4\nline5") + + input_page.entity1.interval.set_value(interval) + + self.assert_util( + input_page.entity2.save, + "Interval must be either a non-negative number, CRON interval or -1.", + left_args={"expect_error": True}, + ) diff --git a/tests/unit/entity/test_interval_entity.py b/tests/unit/entity/test_interval_entity.py index c81297a29..895ad9e46 100644 --- a/tests/unit/entity/test_interval_entity.py +++ b/tests/unit/entity/test_interval_entity.py @@ -1,5 +1,7 @@ from splunk_add_on_ucc_framework.entity import IntervalEntity +from splunk_add_on_ucc_framework.entity.interval_entity import CRON_REGEX + def test_interval_minimal_definition(): definition = {"type": "interval", "field": "interval", "label": "Interval"} @@ -13,8 +15,8 @@ def test_interval_minimal_definition(): "type": "text", "validators": [ { - "errorMsg": "Interval must be either a non-negative number or -1.", - "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$", + "errorMsg": "Interval must be either a non-negative number, CRON interval or -1.", + "pattern": CRON_REGEX, "type": "regex", } ], @@ -46,8 +48,8 @@ def test_interval_full_definition(): "required": True, "validators": [ { - "errorMsg": "Interval input must be either a non-negative number or -1.", - "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$", + "errorMsg": "Interval input must be either a non-negative number, CRON interval or -1.", + "pattern": CRON_REGEX, "type": "regex", }, { @@ -70,8 +72,8 @@ def test_interval_migration(): "required": True, "validators": [ { - "errorMsg": "Interval must be either a non-negative number or -1.", - "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$", + "errorMsg": "Interval must be either a non-negative number, CRON interval or -1.", + "pattern": CRON_REGEX, "type": "regex", }, ], @@ -104,8 +106,8 @@ def test_interval_migration_with_range(): "required": True, "validators": [ { - "errorMsg": "Interval must be either a non-negative number or -1.", - "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$", + "errorMsg": "Interval must be either a non-negative number, CRON interval or -1.", + "pattern": CRON_REGEX, "type": "regex", }, { @@ -152,8 +154,8 @@ def test_interval_migration_wrong_field(): "label": "Other field", "validators": [ { - "errorMsg": "Other field must be either a non-negative number or -1.", - "pattern": "^(?:-1|\\d+(?:\\.\\d+)?)$", + "errorMsg": "Other field must be either a non-negative number, CRON interval or -1.", + "pattern": CRON_REGEX, "type": "regex", }, ], diff --git a/tests/unit/test_interval_regex.py b/tests/unit/test_interval_regex.py new file mode 100644 index 000000000..1ce3e2d2a --- /dev/null +++ b/tests/unit/test_interval_regex.py @@ -0,0 +1,42 @@ +import re +import pytest + +from splunk_add_on_ucc_framework.entity.interval_entity import CRON_REGEX + +cron_regex = re.compile(CRON_REGEX) + + +@pytest.mark.parametrize( + "is_valid, expression", + ( + (True, "* * * * *"), + (True, "1 2 3 4 5"), + (True, "5 0 * 8 *"), + (True, "0 12 * * 3"), + (True, "0 22 * * 1-5"), + (True, "* 0,2 * * *"), + (True, "* 0/9 * * *"), + (True, "*/15 * * * *"), + (True, "*/15 0 1,15 * 1-5"), + (True, "0 0,12 1 */2 *"), + (True, "1"), + (True, "-1"), + (True, "0"), + (True, "6371"), + (True, "* 0-20/2 * * *"), + (True, "* 10-20/12 * * *"), + (True, "* */9,8 * * *"), + (True, "* */9,9-12 * * *"), + (True, "* 0/9,8 * * *"), + (True, "* 9/1,9-12 * * *"), + (False, "-2"), + (False, "1."), + (False, "5 0 * 8 * 1"), + (False, "5 4 * * sun"), # This syntax (sun) is not supported + (False, "@weekly") # This syntax is not supported + # (False, "* 0/0 * * *") # We don't handle this case + ), +) +def test_cron_regex_expression(is_valid, expression): + match = cron_regex.fullmatch(expression) + assert bool(match) == is_valid diff --git a/tests/unit/testdata/valid_config_only_interval_migration.json b/tests/unit/testdata/valid_config_only_interval_migration.json index c12d8343c..9806ce6ee 100644 --- a/tests/unit/testdata/valid_config_only_interval_migration.json +++ b/tests/unit/testdata/valid_config_only_interval_migration.json @@ -15,7 +15,7 @@ "required": true, "validators": [ { - "errorMsg": "Interval must be either a non-negative number or -1.", + "errorMsg": "Interval must be either a non-negative number, CRON interval or -1.", "pattern": "^(?:-1|0(?:\\.\\d+)?|[1-9]\\d*(?:\\.\\d+)?)$", "type": "regex" }, @@ -56,7 +56,7 @@ "required": true, "validators": [ { - "errorMsg": "Interval must be either a non-negative number or -1.", + "errorMsg": "Interval must be either a non-negative number, CRON interval or -1.", "pattern": "^(?:-1|0(?:\\.\\d+)?|[1-9]\\d*(?:\\.\\d+)?)$", "type": "regex" }, @@ -120,7 +120,7 @@ "required": true, "validators": [ { - "errorMsg": "Interval must be either a non-negative number or -1.", + "errorMsg": "Interval must be either a non-negative number, CRON interval or -1.", "pattern": "^(?:-1|0(?:\\.\\d+)?|[1-9]\\d*(?:\\.\\d+)?)$", "type": "regex" }, From 03df8b3bb44bdcf1a8bcb29f285bf9ce3bb3a7ce Mon Sep 17 00:00:00 2001 From: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> Date: Tue, 15 Oct 2024 16:10:15 +0200 Subject: [PATCH 18/22] chore: fix use instance_type instead of product_type (#1378) **Issue number:** https://splunk.atlassian.net/browse/ADDON-74887 ## Summary changing verifying product_type into verifying instance_type product_type got value enterprise even for cloud instance_type is used to determine cloud (does not appear for enterprise) ### Changes use correct prop > Please provide a summary of what's being changed ### User experience none > Please describe what the user experience looks like before and after this change ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [ ] Changes have been tested * [ ] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --- ui/src/hooks/usePlatform.ts | 16 ++++++---------- .../Configuration/tests/ConfigContext.test.tsx | 4 ++-- ui/src/pages/Input/tests/InputContext.test.tsx | 4 ++-- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/ui/src/hooks/usePlatform.ts b/ui/src/hooks/usePlatform.ts index ca988f2c9..40954830f 100644 --- a/ui/src/hooks/usePlatform.ts +++ b/ui/src/hooks/usePlatform.ts @@ -59,17 +59,13 @@ export const usePlatform = (globalConfig: GlobalConfig, page?: StandardPages) => const resultsSubscription = mySearchJob .getResults() - .subscribe( - (result: { - results?: Array<{ product_type?: string; instance_type?: string }>; - }) => { - if (result.results?.[0]?.product_type === 'cloud') { - setPlatform('cloud'); - } else { - setPlatform('enterprise'); - } + .subscribe((result: { results?: Array<{ instance_type?: string }> }) => { + if (result.results?.[0]?.instance_type === 'cloud') { + setPlatform('cloud'); + } else { + setPlatform('enterprise'); } - ); + }); return () => { resultsSubscription.unsubscribe(); diff --git a/ui/src/pages/Configuration/tests/ConfigContext.test.tsx b/ui/src/pages/Configuration/tests/ConfigContext.test.tsx index b75c60a3b..9b8bff540 100644 --- a/ui/src/pages/Configuration/tests/ConfigContext.test.tsx +++ b/ui/src/pages/Configuration/tests/ConfigContext.test.tsx @@ -15,9 +15,9 @@ jest.mock('@splunk/search-job', () => ({ create: () => ({ getResults: () => ({ subscribe: ( - callbackFunction: (params: { results: { product_type: string }[] }) => void + callbackFunction: (params: { results: { instance_type: string }[] }) => void ) => { - callbackFunction({ results: [{ product_type: 'cloud' }] }); + callbackFunction({ results: [{ instance_type: 'cloud' }] }); return { unsubscribe: () => {} }; }, }), diff --git a/ui/src/pages/Input/tests/InputContext.test.tsx b/ui/src/pages/Input/tests/InputContext.test.tsx index bfb753d81..e24c2c326 100644 --- a/ui/src/pages/Input/tests/InputContext.test.tsx +++ b/ui/src/pages/Input/tests/InputContext.test.tsx @@ -11,9 +11,9 @@ jest.mock('@splunk/search-job', () => ({ create: () => ({ getResults: () => ({ subscribe: ( - callbackFunction: (params: { results: { product_type: string }[] }) => void + callbackFunction: (params: { results: { instance_type: string }[] }) => void ) => { - callbackFunction({ results: [{ product_type: 'cloud' }] }); + callbackFunction({ results: [{ instance_type: 'cloud' }] }); return { unsubscribe: () => {} }; }, }), From ef3b6a9b89c7be676821cd7a772b9dec1394d7b0 Mon Sep 17 00:00:00 2001 From: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> Date: Tue, 15 Oct 2024 17:16:58 +0200 Subject: [PATCH 19/22] feat: allow validators for oauth fields (#1355) **Issue number:** https://splunk.atlassian.net/browse/ADDON-61740 ## Summary allows validators to oauth fields ### Changes allow validators array inside globalConfig.json scheme > Please provide a summary of what's being changed ### User experience right now oauth fields can be validated > Please describe what the user experience looks like before and after this change ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [x] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --- docs/advanced/oauth_support.md | 1 + .../schema/schema.json | 64 ++++++++------- .../bin/splunk_ta_uccexample_rh_account.py | 10 ++- .../globalConfig.json | 19 ++++- tests/ui/pages/account_page.py | 6 ++ .../ui/test_configuration_page_account_tab.py | 81 +++++++++++++++++++ ui/src/types/globalConfig/entities.ts | 1 + 7 files changed, 149 insertions(+), 33 deletions(-) diff --git a/docs/advanced/oauth_support.md b/docs/advanced/oauth_support.md index ae43dd1a7..b4a2c06a7 100644 --- a/docs/advanced/oauth_support.md +++ b/docs/advanced/oauth_support.md @@ -36,6 +36,7 @@ Auth can be used inside the entity tag. Use `type: "oauth"` in the entity list a - `encrypted` should be true if the user wants that particular field encrypted, otherwise, there is no need to have this parameter. - `required` specifies whether the field is required or not. The default value is true. - `defaultValue` is the initial input value (string, number, or boolean). + - `validators` array that is used to validate the values of fields using various [validators](../entity/validators.md). - `options`: + `placeholder`: (RENOUNCED) The placeholder for the field. + `disableonEdit`: When the form is in edit mode, the field becomes unable to be edited. The default value is false. diff --git a/splunk_add_on_ucc_framework/schema/schema.json b/splunk_add_on_ucc_framework/schema/schema.json index 7e84b80c9..f9de72327 100644 --- a/splunk_add_on_ucc_framework/schema/schema.json +++ b/splunk_add_on_ucc_framework/schema/schema.json @@ -595,35 +595,8 @@ "encrypted": { "$ref": "#/definitions/encrypted" }, - "validators": { - "type": "array", - "description": "It is used to validate the values of fields using various validators.", - "minItems": 1, - "items": { - "anyOf": [ - { - "$ref": "#/definitions/NumberValidator" - }, - { - "$ref": "#/definitions/StringValidator" - }, - { - "$ref": "#/definitions/RegexValidator" - }, - { - "$ref": "#/definitions/EmailValidator" - }, - { - "$ref": "#/definitions/Ipv4Validator" - }, - { - "$ref": "#/definitions/UrlValidator" - }, - { - "$ref": "#/definitions/DateValidator" - } - ] - } + "validators":{ + "$ref": "#/definitions/AnyValidator" }, "options": { "type": "object", @@ -2114,6 +2087,9 @@ }, "modifyFieldsOnValue": { "$ref": "#/definitions/modifyFieldsOnValue" + }, + "validators":{ + "$ref": "#/definitions/AnyValidator" } }, "additionalProperties": false @@ -2354,6 +2330,36 @@ ], "additionalProperties": false }, + "AnyValidator":{ + "type": "array", + "description": "It is used to validate the values of fields using various validators.", + "minItems": 1, + "items": { + "anyOf": [ + { + "$ref": "#/definitions/NumberValidator" + }, + { + "$ref": "#/definitions/StringValidator" + }, + { + "$ref": "#/definitions/RegexValidator" + }, + { + "$ref": "#/definitions/EmailValidator" + }, + { + "$ref": "#/definitions/Ipv4Validator" + }, + { + "$ref": "#/definitions/UrlValidator" + }, + { + "$ref": "#/definitions/DateValidator" + } + ] + } + }, "ValueLabelPair": { "type": "object", "description": "Options with a label and a value.", diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py index 96fc9711d..b7d99c2ed 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/splunk_ta_uccexample_rh_account.py @@ -120,7 +120,15 @@ required=False, encrypted=False, default=None, - validator=None + validator=validator.AllOf( + validator.String( + max_len=4096, + min_len=10, + ), + validator.Pattern( + regex=r"""^[a-zA-Z]\w*$""", + ) + ) ), field.RestField( 'client_id', diff --git a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json index 4fbe118b5..a9f76ba24 100644 --- a/tests/testdata/test_addons/package_global_config_everything/globalConfig.json +++ b/tests/testdata/test_addons/package_global_config_everything/globalConfig.json @@ -293,12 +293,25 @@ { "oauth_field": "some_text", "label": "Disabled on edit for oauth", - "help": "Enter text for field disabled on edit", + "help": "Enter text for field disabled on edit, no special characters allowed", "field": "basic_oauth_text", "required": false, "options": { "disableonEdit": true - } + }, + "validators": [ + { + "type": "string", + "errorMsg": "Length should be between 10 and 4096", + "minLength": 10, + "maxLength": 4096 + }, + { + "type": "regex", + "errorMsg": "Do not use special characters", + "pattern": "^[a-zA-Z]\\w*$" + } + ] } ], "oauth": [ @@ -1864,7 +1877,7 @@ "meta": { "name": "Splunk_TA_UCCExample", "restRoot": "splunk_ta_uccexample", - "version": "5.50.1+8cbb9b3c", + "version": "5.50.1+b4cfdcd44", "displayName": "Splunk UCC test Add-on", "schemaVersion": "0.0.8", "_uccVersion": "5.50.1", diff --git a/tests/ui/pages/account_page.py b/tests/ui/pages/account_page.py index 843c6472a..648259bde 100644 --- a/tests/ui/pages/account_page.py +++ b/tests/ui/pages/account_page.py @@ -90,6 +90,12 @@ def __init__(self, browser, container): browser, Selector(select='[data-test="control-group"][data-name="redirect_url"]'), ) + self.basic_oauth_text = TextBox( + browser, + Selector( + select='[data-test="control-group"][data-name="basic_oauth_text"]' + ), + ) self.search_query = TextBox( browser, Selector(select='[data-test="textbox"][role="textbox"]') ) diff --git a/tests/ui/test_configuration_page_account_tab.py b/tests/ui/test_configuration_page_account_tab.py index 9bdc745d0..6617ff7d4 100644 --- a/tests/ui/test_configuration_page_account_tab.py +++ b/tests/ui/test_configuration_page_account_tab.py @@ -1189,3 +1189,84 @@ def test_account_url_validation( account.entity.save(expect_error=True), "Invalid URL provided. URL should start with 'https' as only secure URLs are supported. Provide URL in this format", # noqa: E501 ) + + @pytest.mark.execute_enterprise_cloud_true + @pytest.mark.forwarder + @pytest.mark.input + def test_example_validation_of_oauth_fields_too_short( + self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper + ): + """Verifies required field client id""" + account = AccountPage(ucc_smartx_selenium_helper, ucc_smartx_rest_helper) + account.entity.open() + account.entity.name.set_value(_ACCOUNT_CONFIG["name"]) + account.entity.environment.select("Value2") + account.entity.account_radio.select("No") + account.entity.multiple_select.select("Option Two") + account.entity.username.set_value("TestClientId") + account.entity.password.set_value("ClientSecretTest") + account.entity.security_token.set_value("SecurityTokenTest") + account.entity.basic_oauth_text.set_value("Invalid") + + self.assert_util( + account.entity.save, + "Length should be between 10 and 4096", + left_args={"expect_error": True}, + ) + + @pytest.mark.execute_enterprise_cloud_true + @pytest.mark.forwarder + @pytest.mark.input + def test_example_validation_of_oauth_fields_wrong_characters( + self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper + ): + """Verifies required field client id""" + account = AccountPage(ucc_smartx_selenium_helper, ucc_smartx_rest_helper) + account.entity.open() + account.entity.name.set_value(_ACCOUNT_CONFIG["name"]) + account.entity.environment.select("Value2") + account.entity.account_radio.select("No") + account.entity.multiple_select.select("Option Two") + account.entity.username.set_value("TestClientId") + account.entity.password.set_value("ClientSecretTest") + account.entity.security_token.set_value("SecurityTokenTest") + account.entity.basic_oauth_text.set_value( + "Invalid due to special characters: !@#$%^&*()" + ) + + self.assert_util( + account.entity.save, + "Do not use special characters", + left_args={"expect_error": True}, + ) + + @pytest.mark.execute_enterprise_cloud_true + @pytest.mark.forwarder + @pytest.mark.input + def test_example_validation_of_oauth_valid( + self, ucc_smartx_selenium_helper, ucc_smartx_rest_helper + ): + """Verifies required field client id""" + account = AccountPage(ucc_smartx_selenium_helper, ucc_smartx_rest_helper) + account.entity.open() + account.entity.name.set_value(_ACCOUNT_CONFIG["name"]) + account.entity.environment.select("Value2") + account.entity.account_radio.select("No") + account.entity.multiple_select.select("Option Two") + account.entity.username.set_value("TestClientId") + account.entity.password.set_value("ClientSecretTest") + account.entity.security_token.set_value("SecurityTokenTest") + account.entity.basic_oauth_text.set_value("Valid_text_for_oauth") + + self.assert_util(account.entity.save, True) + + account.table.wait_for_rows_to_appear(1) + + self.assert_util( + account.table.get_table()[_ACCOUNT_CONFIG["name"]], + { + "name": _ACCOUNT_CONFIG["name"], + "auth type": "basic", + "actions": "Edit | Clone | Delete", + }, + ) diff --git a/ui/src/types/globalConfig/entities.ts b/ui/src/types/globalConfig/entities.ts index 0f9a21f05..d659f4a14 100644 --- a/ui/src/types/globalConfig/entities.ts +++ b/ui/src/types/globalConfig/entities.ts @@ -255,6 +255,7 @@ export const OAuthFields = z.object({ defaultValue: z.union([z.string(), z.number(), z.boolean()]).optional(), options: CommonEditableEntityOptions.optional(), modifyFieldsOnValue: ModifyFieldsOnValue, + validators: AllValidators.optional(), }); export const OAuthEntity = CommonEditableEntityFields.extend({ From 139a47ae74880b1eafaa7b7b5f581ded5d57bdb6 Mon Sep 17 00:00:00 2001 From: sgoral-splunk <138458044+sgoral-splunk@users.noreply.github.com> Date: Tue, 15 Oct 2024 18:33:41 +0200 Subject: [PATCH 20/22] refactor: extract alert entity (#1377) **Issue number:[ADDON-73358](https://splunk.atlassian.net/browse/ADDON-73358)** ## Summary Alerts used to have only one entity and were created using the same schema where the type was based on the enum. Additional validation of whether a given parameter for a specific enum is correct was done on the backend. Now each entity has its own definition and no additional validation is needed on BE. ### Changes Extracted AlertsEntity into 6 schemas, one for each enum. Removed BE validation for required parameters. ### User experience No impact ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [ ] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --- .../global_config_validator.py | 33 --- .../schema/schema.json | 246 ++++++++++++++++-- 2 files changed, 229 insertions(+), 50 deletions(-) diff --git a/splunk_add_on_ucc_framework/global_config_validator.py b/splunk_add_on_ucc_framework/global_config_validator.py index 35a0bc88c..4aec537c2 100644 --- a/splunk_add_on_ucc_framework/global_config_validator.py +++ b/splunk_add_on_ucc_framework/global_config_validator.py @@ -434,39 +434,6 @@ def _validate_alerts(self) -> None: ) else: fields.append(entity.get("field")) - entity_type = entity.get("type") - if entity_type in ("radio", "singleSelect"): - if not entity.get("options"): - raise GlobalConfigValidatorException( - f"{entity_type} type must have options parameter" - ) - elif ( - entity.get("options") and entity_type != "singleSelectSplunkSearch" - ): - raise GlobalConfigValidatorException( - f"{entity_type} type must not contain options parameter" - ) - if entity_type in ("singleSelectSplunkSearch",): - if not all( - [ - entity.get("search"), - entity.get("valueField"), - entity.get("labelField"), - ] - ): - raise GlobalConfigValidatorException( - f"{entity_type} type must have search, valueLabel and valueField parameters" - ) - elif any( - [ - entity.get("search"), - entity.get("valueField"), - entity.get("labelField"), - ] - ): - raise GlobalConfigValidatorException( - f"{entity_type} type must not contain search, valueField or labelField parameter" - ) def _validate_panels(self) -> None: """ diff --git a/splunk_add_on_ucc_framework/schema/schema.json b/splunk_add_on_ucc_framework/schema/schema.json index f9de72327..c223ddd84 100644 --- a/splunk_add_on_ucc_framework/schema/schema.json +++ b/splunk_add_on_ucc_framework/schema/schema.json @@ -1,7 +1,7 @@ { "$schema": "http://json-schema.org/draft-07/schema#", "definitions": { - "AlertEntity": { + "AlertSingleSelectSplunkSearchEntity": { "type": "object", "description": "Alerts configuration. The alert action can help a user to take action on the alerts that have been triggered. The knowledge from Splunk can be sent to an outside service or to pull additional or detailed information related to the trigger details.", "properties": { @@ -16,16 +16,9 @@ "description": "The text that would be shown in the alert action UI." }, "type": { + "const": "singleSelectSplunkSearch", "type": "string", - "enum": [ - "text", - "textarea", - "checkbox", - "singleSelect", - "radio", - "singleSelectSplunkSearch" - ], - "description": "The type of the user input in the alert. Available choices: “text”, “checkbox”, “singleSelect”, “radio”, “singleSelectSplunkSearch”." + "description": "Exactly: singleSelectSplunkSearch" }, "help": { "type": "string", @@ -81,6 +74,119 @@ } } }, + "required": [ + "field", + "label", + "type", + "search", + "valueField", + "labelField" + ], + "additionalProperties": false + }, + "AlertTextEntity": { + "type": "object", + "properties": { + "type": { + "const": "text", + "type": "string", + "description": "Exactly: text" + }, + "field": { + "$ref": "#/definitions/Field" + }, + "label": { + "$ref": "#/definitions/entityLabel" + }, + "help": { + "$ref": "#/definitions/help" + }, + "defaultValue": { + "description": "The initial input value.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "required": { + "$ref": "#/definitions/required" + } + }, + "required": [ + "field", + "label", + "type" + ], + "additionalProperties": false + }, + "AlertTextareaEntity": { + "type": "object", + "properties": { + "type": { + "const": "textarea", + "type": "string", + "description": "Exactly: textarea" + }, + "field": { + "$ref": "#/definitions/Field" + }, + "label": { + "$ref": "#/definitions/entityLabel" + }, + "defaultValue": { + "type": "string", + "description": "The initial input value." + }, + "help": { + "$ref": "#/definitions/help" + }, + "required": { + "$ref": "#/definitions/required" + } + }, + "required": [ + "field", + "label", + "type" + ], + "additionalProperties": false + }, + "AlertCheckboxEntity": { + "type": "object", + "properties": { + "type": { + "const": "checkbox", + "type": "string", + "description": "Exactly: checkbox" + }, + "field": { + "$ref": "#/definitions/Field" + }, + "label": { + "$ref": "#/definitions/entityLabel" + }, + "defaultValue": { + "anyOf": [ + { + "type": "boolean" + }, + { + "type": "number" + } + ], + "description": "The initial input value." + }, + "help": { + "$ref": "#/definitions/help" + }, + "required": { + "$ref": "#/definitions/required" + } + }, "required": [ "field", "label", @@ -88,6 +194,112 @@ ], "additionalProperties": false }, + "AlertSingleSelectEntity": { + "type": "object", + "properties": { + "type": { + "const": "singleSelect", + "type": "string", + "description": "Exactly: singleSelect" + }, + "field": { + "$ref": "#/definitions/Field" + }, + "label": { + "$ref": "#/definitions/entityLabel" + }, + "defaultValue": { + "description": "The initial input value.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "help": { + "$ref": "#/definitions/help" + }, + "required": { + "$ref": "#/definitions/required" + }, + "options": { + "type": "object", + "description": "Static choices that a user can select in the alert action UI.", + "properties": { + "items": { + "type": "array", + "description": "An array of options with a label and a value.", + "items": { + "$ref": "#/definitions/ValueLabelPair" + } + } + } + } + }, + "required": [ + "field", + "label", + "type", + "options" + ], + "additionalProperties": false + }, + "AlertRadioEntity": { + "type": "object", + "properties": { + "type": { + "const": "radio", + "type": "string", + "description": "Exactly: radio" + }, + "field": { + "$ref": "#/definitions/Field" + }, + "label": { + "$ref": "#/definitions/entityLabel" + }, + "defaultValue": { + "description": "The initial input value.", + "anyOf": [ + { + "type": "string" + }, + { + "type": "number" + } + ] + }, + "help": { + "$ref": "#/definitions/help" + }, + "required": { + "$ref": "#/definitions/required" + }, + "options": { + "type": "object", + "description": "Static choices that a user can select in the alert action UI.", + "properties": { + "items": { + "type": "array", + "description": "An array of options with a label and a value.", + "items": { + "$ref": "#/definitions/ValueLabelPair" + } + } + } + } + }, + "required": [ + "field", + "label", + "type", + "options" + ], + "additionalProperties": false + }, "Alerts": { "type": "object", "description": "The alert action can help a user to take action on the alerts that have been triggered. ", @@ -182,22 +394,22 @@ "items": { "anyOf": [ { - "$ref": "#/definitions/TextEntity" + "$ref": "#/definitions/AlertTextEntity" }, { - "$ref": "#/definitions/TextareaEntity" + "$ref": "#/definitions/AlertTextareaEntity" }, { - "$ref": "#/definitions/SingleSelectEntity" + "$ref": "#/definitions/AlertCheckboxEntity" }, { - "$ref": "#/definitions/CheckboxEntity" + "$ref": "#/definitions/AlertSingleSelectEntity" }, { - "$ref": "#/definitions/RadioEntity" + "$ref": "#/definitions/AlertRadioEntity" }, { - "$ref": "#/definitions/AlertEntity" + "$ref": "#/definitions/AlertSingleSelectSplunkSearchEntity" } ] } @@ -3190,4 +3402,4 @@ "pages" ], "additionalProperties": false -} +} \ No newline at end of file From 8246870a5199b2f814bdb94d590c26ef9f351fa1 Mon Sep 17 00:00:00 2001 From: soleksy-splunk <143183665+soleksy-splunk@users.noreply.github.com> Date: Wed, 16 Oct 2024 12:56:15 +0200 Subject: [PATCH 21/22] feat: modal implementation for data ingestion table (#1244) **Issue number:** [ADDON-70993](https://splunk.atlassian.net/browse/ADDON-70993), [ADDON-72969](https://splunk.atlassian.net/browse/ADDON-72969) ## Summary ### Changes > Added a modal for data ingestion table view to show the specific data for input selector. ### User experience > Users can see the data volume and number of events visualization chart for the particular row using the modal popup in data ingestion table. ## Checklist If your change doesn't seem to apply, please leave them unchecked. * [x] I have performed a self-review of this change * [x] Changes have been tested * [x] Changes are documented * [x] PR title follows [conventional commit semantics](https://www.conventionalcommits.org/en/v1.0.0/) --------- Co-authored-by: sgoral Co-authored-by: rohanm-crest Co-authored-by: srv-rr-github-token <94607705+srv-rr-github-token@users.noreply.github.com> Co-authored-by: rohanm-crest <163995910+rohanm-crest@users.noreply.github.com> --- docs/dashboard.md | 4 + splunk_add_on_ucc_framework/dashboard.py | 16 ++ .../data_ingestion_modal_definition.json | 148 +++++++++++++ .../data_ingestion_tab_definition.json | 7 +- .../expected_log.json | 1 + .../bin/example_input_four.py | 16 +- .../bin/example_input_three.py | 17 +- .../package/bin/example_input_four.py | 61 +++++ .../package/bin/example_input_three.py | 62 ++++++ .../data_ingestion_modal_definition.json | 148 +++++++++++++ .../data_ingestion_tab_definition.json | 7 +- ui/src/pages/Dashboard/Custom.tsx | 1 - ui/src/pages/Dashboard/DashboardModal.tsx | 208 ++++++++++++++++++ ui/src/pages/Dashboard/DashboardPage.tsx | 2 +- ui/src/pages/Dashboard/DataIngestion.tsx | 94 ++++++-- ui/src/pages/Dashboard/DataIngestion.types.ts | 22 ++ ui/src/pages/Dashboard/DataIngestionModal.tsx | 176 +++++++++++++++ ui/src/pages/Dashboard/Overview.tsx | 2 +- ui/src/pages/Dashboard/dashboardStyle.css | 65 +++++- ...boardPage-dashboard-page-view-chromium.png | 4 +- .../Dashboard/tests/DashboardModal.test.tsx | 74 +++++++ ui/src/pages/Dashboard/tests/mockData.ts | 149 +++++++++++++ ui/src/pages/Dashboard/tests/mockJs.ts | 4 + ui/src/pages/Dashboard/utils.tsx | 164 +++++++++++++- 24 files changed, 1416 insertions(+), 36 deletions(-) create mode 100644 splunk_add_on_ucc_framework/templates/data_ingestion_modal_definition.json create mode 100644 tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_four.py create mode 100644 tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_three.py create mode 100644 tests/unit/expected_results/data_ingestion_modal_definition.json create mode 100644 ui/src/pages/Dashboard/DashboardModal.tsx create mode 100644 ui/src/pages/Dashboard/DataIngestion.types.ts create mode 100644 ui/src/pages/Dashboard/DataIngestionModal.tsx create mode 100644 ui/src/pages/Dashboard/tests/DashboardModal.test.tsx diff --git a/docs/dashboard.md b/docs/dashboard.md index efacf4d1a..6b44fbb81 100644 --- a/docs/dashboard.md +++ b/docs/dashboard.md @@ -435,3 +435,7 @@ e.g. of globalConfig.json: the above configuration will create the following filter query: `...source=*license_usage.log type=Usage (st IN ("*addon123*","my_custom_condition*"))...` + +> Note: + +> * In the Data Ingestion table, the first column displays the `View by` options list. When you click on any row in this column, a modal opens, showing detailed information such as `Data volume` and the `Number of events` over time, visualized in charts. The modal allows you to adjust the options via a dropdown to view data for different View by options. This enables dynamic exploration of data trends for various selected inputs. diff --git a/splunk_add_on_ucc_framework/dashboard.py b/splunk_add_on_ucc_framework/dashboard.py index 30f7460ce..083b34063 100644 --- a/splunk_add_on_ucc_framework/dashboard.py +++ b/splunk_add_on_ucc_framework/dashboard.py @@ -47,6 +47,7 @@ "data_ingestion_tab": "data_ingestion_tab_definition.json", "errors_tab": "errors_tab_definition.json", "resources_tab": "resources_tab_definition.json", + "data_ingestion_modal_definition": "data_ingestion_modal_definition.json", } data_ingestion = ( @@ -242,6 +243,21 @@ def generate_dashboard_content( ) ) + if ( + definition_json_name + == default_definition_json_filename["data_ingestion_modal_definition"] + ): + content = ( + utils.get_j2_env() + .get_template(definition_json_name) + .render( + data_ingestion=data_ingestion.format( + lic_usg_condition=lic_usg_condition, determine_by=determine_by + ), + events_count=events_count.format(addon_name=addon_name.lower()), + ) + ) + return content diff --git a/splunk_add_on_ucc_framework/templates/data_ingestion_modal_definition.json b/splunk_add_on_ucc_framework/templates/data_ingestion_modal_definition.json new file mode 100644 index 000000000..460dd3268 --- /dev/null +++ b/splunk_add_on_ucc_framework/templates/data_ingestion_modal_definition.json @@ -0,0 +1,148 @@ +{ + "visualizations": { + "data_ingestion_modal_timerange_label_start_viz": { + "type": "splunk.singlevalue", + "options": { + "majorFontSize": 12, + "backgroundColor": "transparent", + "majorColor": "#9fa4af" + }, + "dataSources": { + "primary": "data_ingestion_modal_data_time_label_start_ds" + } + }, + "data_ingestion_modal_timerange_label_end_viz": { + "type": "splunk.singlevalue", + "options": { + "majorFontSize": 12, + "backgroundColor": "transparent", + "majorColor": "#9fa4af" + }, + "dataSources": { + "primary": "data_ingestion_modal_data_time_label_end_ds" + } + }, + "data_ingestion_modal_data_volume_viz": { + "type": "splunk.line", + "options": { + "xAxisVisibility": "hide", + "seriesColors": ["#A870EF"], + "yAxisTitleText": "Volume (bytes)", + "xAxisTitleText": "Time" + }, + "title": "Data volume", + "dataSources": { + "primary": "data_ingestion_modal_data_volume_ds" + } + }, + "data_ingestion_modal_events_count_viz": { + "type": "splunk.line", + "options": { + "xAxisVisibility": "hide", + "xAxisTitleText": "Time", + "seriesColors": ["#A870EF"], + "yAxisTitleText": "Number of events" + }, + "title": "Number of events", + "dataSources": { + "primary": "ds_search_1" + } + } + }, + "dataSources": { + "data_ingestion_modal_data_time_label_start_ds": { + "type": "ds.search", + "options": { + "query": "| makeresults | addinfo | eval StartDate = strftime(info_min_time, \"%e %b %Y %I:%M%p\") | table StartDate", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + } + }, + "data_ingestion_modal_data_time_label_end_ds": { + "type": "ds.search", + "options": { + "query": "| makeresults | addinfo | eval EndDate = strftime(info_max_time, \"%e %b %Y %I:%M%p\") | table EndDate", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + } + }, + "data_ingestion_modal_data_volume_ds": { + "type": "ds.search", + "options": { + "query": "{{data_ingestion}}", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + } + }, + "ds_search_1": { + "type": "ds.search", + "options": { + "query": "{{events_count}}", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + }, + "name": "Security Score vs Spend" + } + }, + "defaults": {}, + "inputs": { + "data_ingestion_modal_time_window": { + "options": { + "defaultValue": "-24h,now", + "token": "data_ingestion_modal_time" + }, + "title": "Time Window", + "type": "input.timerange" + } + }, + "layout": { + "type": "grid", + "globalInputs": ["data_ingestion_modal_time_window"], + "structure": [ + { + "item": "data_ingestion_modal_timerange_label_start_viz", + "position": { + "x": 0, + "y": 50, + "w": 100, + "h": 20 + } + }, + { + "item": "data_ingestion_modal_timerange_label_end_viz", + "position": { + "x": 100, + "y": 50, + "w": 100, + "h": 20 + } + }, + { + "item": "data_ingestion_modal_data_volume_viz", + "position": { + "x": 0, + "y": 80, + "w": 300, + "h": 400 + } + }, + { + "item": "data_ingestion_modal_events_count_viz", + "position": { + "x": 0, + "y": 500, + "w": 300, + "h": 400 + } + } + ] + } +} \ No newline at end of file diff --git a/splunk_add_on_ucc_framework/templates/data_ingestion_tab_definition.json b/splunk_add_on_ucc_framework/templates/data_ingestion_tab_definition.json index dd2a6760b..3528f4955 100644 --- a/splunk_add_on_ucc_framework/templates/data_ingestion_tab_definition.json +++ b/splunk_add_on_ucc_framework/templates/data_ingestion_tab_definition.json @@ -103,7 +103,12 @@ } }, "count": 10 - } + }, + "eventHandlers": [ + { + "type": "table.click.handler" + } + ] } }, "dataSources": { diff --git a/tests/testdata/expected_addons/expected_files_conflict_test/expected_log.json b/tests/testdata/expected_addons/expected_files_conflict_test/expected_log.json index 8b33c26da..0aa40f75e 100644 --- a/tests/testdata/expected_addons/expected_files_conflict_test/expected_log.json +++ b/tests/testdata/expected_addons/expected_files_conflict_test/expected_log.json @@ -27,6 +27,7 @@ "appserver/static/js/build/globalConfig.json created\u001b[0m": "INFO", "appserver/static/openapi.json created\u001b[0m": "INFO", "metadata/default.meta created\u001b[0m": "INFO", + "appserver/static/js/build/custom/data_ingestion_modal_definition.json created\u001b[0m": "INFO", "appserver/static/js/build/custom/data_ingestion_tab_definition.json created\u001b[0m": "INFO", "appserver/static/js/build/custom/errors_tab_definition.json created\u001b[0m": "INFO", "appserver/static/js/build/custom/overview_definition.json created\u001b[0m": "INFO", diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_four.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_four.py index 652842d8f..394f74826 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_four.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_four.py @@ -2,8 +2,12 @@ import json import sys +from time import time from splunklib import modularinput as smi +from solnlib import log + +logger = log.Logs().get_logger('splunk_ta_uccexample_four') class EXAMPLE_INPUT_FOUR(smi.Script): @@ -32,13 +36,23 @@ def validate_input(self, definition: smi.ValidationDefinition): def stream_events(self, inputs: smi.InputDefinition, ew: smi.EventWriter): input_items = [{'count': len(inputs.inputs)}] + input_name_1 = "" for input_name, input_item in inputs.inputs.items(): input_item['name'] = input_name + input_name_1 = input_name input_items.append(input_item) + + sourcetype = f'example_input_four-st--{input_name_1.split("://")[-1]}' + host = f'host--{input_name_1.split("://")[-1]}' + event = smi.Event( data=json.dumps(input_items), - sourcetype='example_input_four', + sourcetype=sourcetype, + host=host, + source=input_name_1, ) + log.events_ingested(logger, input_name_1, sourcetype, + str(time())[-3:], "main", "no_account_4", host) ew.write_event(event) diff --git a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_three.py b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_three.py index 95bf73b84..c5f4d1cf1 100644 --- a/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_three.py +++ b/tests/testdata/expected_addons/expected_output_global_config_everything/Splunk_TA_UCCExample/bin/example_input_three.py @@ -2,8 +2,12 @@ import json import sys +from time import time from splunklib import modularinput as smi +from solnlib import log + +logger = log.Logs().get_logger('splunk_ta_uccexample_three') class EXAMPLE_INPUT_THREE(smi.Script): @@ -32,13 +36,24 @@ def validate_input(self, definition: smi.ValidationDefinition): def stream_events(self, inputs: smi.InputDefinition, ew: smi.EventWriter): input_items = [{'count': len(inputs.inputs)}] + input_name_1 = "" for input_name, input_item in inputs.inputs.items(): input_item['name'] = input_name + input_name_1 = input_name input_items.append(input_item) + + sourcetype = f'example_input_three-st--{input_name_1.split("://")[-1]}' + host = f'host--{input_name_1.split("://")[-1]}' + source = f'example_input_three-s--{input_name_1.split("://")[-1]}' + event = smi.Event( data=json.dumps(input_items), - sourcetype='example_input_three', + sourcetype=sourcetype, + host=host, + source=source, ) + log.events_ingested(logger, input_name_1, sourcetype, + str(time())[-3:], "main", "no_account_4", host) ew.write_event(event) diff --git a/tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_four.py b/tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_four.py new file mode 100644 index 000000000..394f74826 --- /dev/null +++ b/tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_four.py @@ -0,0 +1,61 @@ +import import_declare_test + +import json +import sys +from time import time + +from splunklib import modularinput as smi +from solnlib import log + +logger = log.Logs().get_logger('splunk_ta_uccexample_four') + + +class EXAMPLE_INPUT_FOUR(smi.Script): + def __init__(self): + super(EXAMPLE_INPUT_FOUR, self).__init__() + + def get_scheme(self): + scheme = smi.Scheme('example_input_four') + scheme.description = 'Example Input Four' + scheme.use_external_validation = True + scheme.streaming_mode_xml = True + scheme.use_single_instance = False + + scheme.add_argument( + smi.Argument( + 'name', + title='Name', + description='Name', + required_on_create=True + ) + ) + return scheme + + def validate_input(self, definition: smi.ValidationDefinition): + return + + def stream_events(self, inputs: smi.InputDefinition, ew: smi.EventWriter): + input_items = [{'count': len(inputs.inputs)}] + input_name_1 = "" + for input_name, input_item in inputs.inputs.items(): + input_item['name'] = input_name + input_name_1 = input_name + input_items.append(input_item) + + sourcetype = f'example_input_four-st--{input_name_1.split("://")[-1]}' + host = f'host--{input_name_1.split("://")[-1]}' + + event = smi.Event( + data=json.dumps(input_items), + sourcetype=sourcetype, + host=host, + source=input_name_1, + ) + log.events_ingested(logger, input_name_1, sourcetype, + str(time())[-3:], "main", "no_account_4", host) + ew.write_event(event) + + +if __name__ == '__main__': + exit_code = EXAMPLE_INPUT_FOUR().run(sys.argv) + sys.exit(exit_code) \ No newline at end of file diff --git a/tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_three.py b/tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_three.py new file mode 100644 index 000000000..c5f4d1cf1 --- /dev/null +++ b/tests/testdata/test_addons/package_global_config_everything/package/bin/example_input_three.py @@ -0,0 +1,62 @@ +import import_declare_test + +import json +import sys +from time import time + +from splunklib import modularinput as smi +from solnlib import log + +logger = log.Logs().get_logger('splunk_ta_uccexample_three') + + +class EXAMPLE_INPUT_THREE(smi.Script): + def __init__(self): + super(EXAMPLE_INPUT_THREE, self).__init__() + + def get_scheme(self): + scheme = smi.Scheme('example_input_three') + scheme.description = 'Example Input Three' + scheme.use_external_validation = True + scheme.streaming_mode_xml = True + scheme.use_single_instance = False + + scheme.add_argument( + smi.Argument( + 'name', + title='Name', + description='Name', + required_on_create=True + ) + ) + return scheme + + def validate_input(self, definition: smi.ValidationDefinition): + return + + def stream_events(self, inputs: smi.InputDefinition, ew: smi.EventWriter): + input_items = [{'count': len(inputs.inputs)}] + input_name_1 = "" + for input_name, input_item in inputs.inputs.items(): + input_item['name'] = input_name + input_name_1 = input_name + input_items.append(input_item) + + sourcetype = f'example_input_three-st--{input_name_1.split("://")[-1]}' + host = f'host--{input_name_1.split("://")[-1]}' + source = f'example_input_three-s--{input_name_1.split("://")[-1]}' + + event = smi.Event( + data=json.dumps(input_items), + sourcetype=sourcetype, + host=host, + source=source, + ) + log.events_ingested(logger, input_name_1, sourcetype, + str(time())[-3:], "main", "no_account_4", host) + ew.write_event(event) + + +if __name__ == '__main__': + exit_code = EXAMPLE_INPUT_THREE().run(sys.argv) + sys.exit(exit_code) \ No newline at end of file diff --git a/tests/unit/expected_results/data_ingestion_modal_definition.json b/tests/unit/expected_results/data_ingestion_modal_definition.json new file mode 100644 index 000000000..3adcbd7fe --- /dev/null +++ b/tests/unit/expected_results/data_ingestion_modal_definition.json @@ -0,0 +1,148 @@ +{ + "visualizations": { + "data_ingestion_modal_timerange_label_start_viz": { + "type": "splunk.singlevalue", + "options": { + "majorFontSize": 12, + "backgroundColor": "transparent", + "majorColor": "#9fa4af" + }, + "dataSources": { + "primary": "data_ingestion_modal_data_time_label_start_ds" + } + }, + "data_ingestion_modal_timerange_label_end_viz": { + "type": "splunk.singlevalue", + "options": { + "majorFontSize": 12, + "backgroundColor": "transparent", + "majorColor": "#9fa4af" + }, + "dataSources": { + "primary": "data_ingestion_modal_data_time_label_end_ds" + } + }, + "data_ingestion_modal_data_volume_viz": { + "type": "splunk.line", + "options": { + "xAxisVisibility": "hide", + "seriesColors": ["#A870EF"], + "yAxisTitleText": "Volume (bytes)", + "xAxisTitleText": "Time" + }, + "title": "Data volume", + "dataSources": { + "primary": "data_ingestion_modal_data_volume_ds" + } + }, + "data_ingestion_modal_events_count_viz": { + "type": "splunk.line", + "options": { + "xAxisVisibility": "hide", + "xAxisTitleText": "Time", + "seriesColors": ["#A870EF"], + "yAxisTitleText": "Number of events" + }, + "title": "Number of events", + "dataSources": { + "primary": "ds_search_1" + } + } + }, + "dataSources": { + "data_ingestion_modal_data_time_label_start_ds": { + "type": "ds.search", + "options": { + "query": "| makeresults | addinfo | eval StartDate = strftime(info_min_time, \"%e %b %Y %I:%M%p\") | table StartDate", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + } + }, + "data_ingestion_modal_data_time_label_end_ds": { + "type": "ds.search", + "options": { + "query": "| makeresults | addinfo | eval EndDate = strftime(info_max_time, \"%e %b %Y %I:%M%p\") | table EndDate", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + } + }, + "data_ingestion_modal_data_volume_ds": { + "type": "ds.search", + "options": { + "query": "index=_internal source=*license_usage.log type=Usage (s IN (example_input_one*,example_input_two*)) | timechart sum(b) as Usage | rename Usage as \"Data volume\"", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + } + }, + "ds_search_1": { + "type": "ds.search", + "options": { + "query": "index=_internal source=*splunk_ta_uccexample* action=events_ingested | timechart sum(n_events) as \"Number of events\"", + "queryParameters": { + "earliest": "$data_ingestion_modal_time.earliest$", + "latest": "$data_ingestion_modal_time.latest$" + } + }, + "name": "Security Score vs Spend" + } + }, + "defaults": {}, + "inputs": { + "data_ingestion_modal_time_window": { + "options": { + "defaultValue": "-24h,now", + "token": "data_ingestion_modal_time" + }, + "title": "Time Window", + "type": "input.timerange" + } + }, + "layout": { + "type": "grid", + "globalInputs": ["data_ingestion_modal_time_window"], + "structure": [ + { + "item": "data_ingestion_modal_timerange_label_start_viz", + "position": { + "x": 0, + "y": 50, + "w": 100, + "h": 20 + } + }, + { + "item": "data_ingestion_modal_timerange_label_end_viz", + "position": { + "x": 100, + "y": 50, + "w": 100, + "h": 20 + } + }, + { + "item": "data_ingestion_modal_data_volume_viz", + "position": { + "x": 0, + "y": 80, + "w": 300, + "h": 400 + } + }, + { + "item": "data_ingestion_modal_events_count_viz", + "position": { + "x": 0, + "y": 500, + "w": 300, + "h": 400 + } + } + ] + } +} \ No newline at end of file diff --git a/tests/unit/expected_results/data_ingestion_tab_definition.json b/tests/unit/expected_results/data_ingestion_tab_definition.json index e2ee8d737..ae470a03d 100644 --- a/tests/unit/expected_results/data_ingestion_tab_definition.json +++ b/tests/unit/expected_results/data_ingestion_tab_definition.json @@ -103,7 +103,12 @@ } }, "count": 10 - } + }, + "eventHandlers": [ + { + "type": "table.click.handler" + } + ] } }, "dataSources": { diff --git a/ui/src/pages/Dashboard/Custom.tsx b/ui/src/pages/Dashboard/Custom.tsx index 8695e9c40..2d364666a 100644 --- a/ui/src/pages/Dashboard/Custom.tsx +++ b/ui/src/pages/Dashboard/Custom.tsx @@ -1,5 +1,4 @@ import React from 'react'; - import { DashboardCore } from '@splunk/dashboard-core'; import { DashboardContextProvider } from '@splunk/dashboard-context'; import EnterpriseViewOnlyPreset from '@splunk/dashboard-presets/EnterpriseViewOnlyPreset'; diff --git a/ui/src/pages/Dashboard/DashboardModal.tsx b/ui/src/pages/Dashboard/DashboardModal.tsx new file mode 100644 index 000000000..96d72aaf2 --- /dev/null +++ b/ui/src/pages/Dashboard/DashboardModal.tsx @@ -0,0 +1,208 @@ +import React, { useEffect, useCallback, useRef, useState, useMemo } from 'react'; +import { DashboardCore } from '@splunk/dashboard-core'; +import { DashboardContextProvider } from '@splunk/dashboard-context'; +import EnterpriseViewOnlyPreset from '@splunk/dashboard-presets/EnterpriseViewOnlyPreset'; +import type { DashboardCoreApi } from '@splunk/dashboard-types'; +import { EventType } from '@splunk/react-events-viewer/common-types'; +import { getUnifiedConfigs } from '../../util/util'; + +import { + createNewQueryForDataVolumeInModal, + createNewQueryForNumberOfEventsInModal, + fetchDropdownValuesFromQuery, + getActionButtons, + loadDashboardJsonDefinition, + queryMap, +} from './utils'; +import { FieldValue, SearchResponse } from './DataIngestion.types'; + +/** + * @param {object} props + * @param {string} props.selectValueForDropdownInModal state for value in the modal + * @param {string} props.selectTitleForDropdownInModal state for title in the modal + * @param {string} props.setDataIngestionDropdownValues set state for dropdown values in modal + */ +export const DashboardModal = ({ + selectValueForDropdownInModal, + selectTitleForDropdownInModal, + setDataIngestionDropdownValues, +}: { + selectValueForDropdownInModal: string; + selectTitleForDropdownInModal: string; + setDataIngestionDropdownValues: React.Dispatch>; +}) => { + const dashboardCoreApi = useRef(null); + const setDashboardCoreApi = useCallback((api: DashboardCoreApi | null) => { + dashboardCoreApi.current = api; + }, []); + const [dataIngestionModalDef, setDataIngestionModalDef] = useState | null>(null); + const [dropdownFetchedValues, setDropdownFetchedValues] = useState[]>( + [] + ); + + const globalConfig = useMemo(() => getUnifiedConfigs(), []); + + const mergeInputValues = ( + activeValues?: string[], + inactiveValues?: string[] | string + ): Record[] => { + let safeInactiveValues: Record[] = []; + if (typeof inactiveValues === 'string') { + safeInactiveValues = [{ label: `${inactiveValues} (disabled)`, value: inactiveValues }]; + } else if (Array.isArray(inactiveValues)) { + safeInactiveValues = inactiveValues.map((item: string) => ({ + label: `${item} (disabled)`, + value: item, + })); + } + + let safeActiveValues: Record[] = []; + if (typeof activeValues === 'string') { + safeActiveValues = [{ label: activeValues, value: activeValues }]; + } else if (Array.isArray(activeValues)) { + safeActiveValues = activeValues.map((item: string) => ({ + label: item, + value: item, + })); + } + return [...safeActiveValues, ...safeInactiveValues]; + }; + + const processResults = (results: Record[], fieldKey: string) => + results.reduce((extractColumnsValues: Record[], value) => { + if (queryMap[fieldKey] === value.field) { + const dropDownValues = JSON.parse(value.values); + return dropDownValues.map((item: FieldValue) => ({ + label: item.value, + value: item.value, + })); + } + return extractColumnsValues; + }, []); + + const updateModalData = useCallback(() => { + if (!dataIngestionModalDef) { + return null; + } + + const copyDataIngestionModalJson = JSON.parse(JSON.stringify(dataIngestionModalDef)); + let extractColumnsValues: Record[] = []; + + if (selectTitleForDropdownInModal === 'Input') { + const activeState = dropdownFetchedValues[0]?.results[0]?.Active; + const activeInputs = dropdownFetchedValues[0]?.results[0]?.event_input; + const inactiveInputs = dropdownFetchedValues[0]?.results[1]?.event_input; + + // Handle cases where only active or inactive inputs exist + if (activeState === 'yes') { + extractColumnsValues = mergeInputValues(activeInputs, inactiveInputs); + } else if (activeState === 'no') { + extractColumnsValues = mergeInputValues(inactiveInputs, activeInputs); + } + } else if (selectTitleForDropdownInModal === 'Account') { + extractColumnsValues = processResults( + dropdownFetchedValues[1]?.results || [], + selectTitleForDropdownInModal + ); + } else { + extractColumnsValues = processResults( + dropdownFetchedValues[2]?.results || [], + selectTitleForDropdownInModal + ); + } + + setDataIngestionDropdownValues(extractColumnsValues); + + const eventsQuery = createNewQueryForNumberOfEventsInModal( + selectTitleForDropdownInModal, + selectValueForDropdownInModal, + copyDataIngestionModalJson.dataSources.ds_search_1.options.query + ); + const dataVolumeQuery = createNewQueryForDataVolumeInModal( + selectTitleForDropdownInModal, + selectValueForDropdownInModal, + copyDataIngestionModalJson.dataSources.data_ingestion_modal_data_volume_ds.options.query + ); + + copyDataIngestionModalJson.dataSources.data_ingestion_modal_data_volume_ds.options.query = + dataVolumeQuery; + copyDataIngestionModalJson.dataSources.ds_search_1.options.query = eventsQuery; + + // Modify visualizations only for specific cases + if ( + selectTitleForDropdownInModal === 'Input' || + selectTitleForDropdownInModal === 'Account' + ) { + // Remove data volume visualization for "Input" and "Account" + delete copyDataIngestionModalJson.visualizations.data_ingestion_modal_data_volume_viz; + delete copyDataIngestionModalJson.dataSources.data_ingestion_modal_data_volume_ds; + delete copyDataIngestionModalJson.layout.structure[2]; + copyDataIngestionModalJson.layout.structure = + copyDataIngestionModalJson.layout.structure.filter( + (item: Record) => item !== null + ); + copyDataIngestionModalJson.layout.structure[2].position.y = 80; + } else if (selectTitleForDropdownInModal === 'Host') { + // Remove event count visualization for "Host" + delete copyDataIngestionModalJson.visualizations.data_ingestion_modal_events_count_viz; + delete copyDataIngestionModalJson.dataSources.ds_search_1; + delete copyDataIngestionModalJson.layout.structure[3]; + copyDataIngestionModalJson.layout.structure = + copyDataIngestionModalJson.layout.structure.filter( + (item: Record) => item !== null + ); + } + + return copyDataIngestionModalJson; + }, [ + dataIngestionModalDef, + dropdownFetchedValues, + selectTitleForDropdownInModal, + selectValueForDropdownInModal, + setDataIngestionDropdownValues, + ]); + + useEffect(() => { + const fetchDropdownValues = async () => { + const values = await fetchDropdownValuesFromQuery(globalConfig); + setDropdownFetchedValues(values); + }; + + fetchDropdownValues(); + }, [globalConfig]); + + // Update the dashboard when the modal data changes + useEffect(() => { + const updateDefinitionForDashboardModal = async () => { + if (dashboardCoreApi.current && dataIngestionModalDef) { + const updatedModalData = await updateModalData(); + if (updatedModalData) { + dashboardCoreApi.current?.updateDefinition(updatedModalData); + } + } + }; + + updateDefinitionForDashboardModal(); + }, [dataIngestionModalDef, selectValueForDropdownInModal, updateModalData]); + + useEffect(() => { + loadDashboardJsonDefinition( + 'data_ingestion_modal_definition.json', + setDataIngestionModalDef + ); + }, []); + + return dataIngestionModalDef ? ( + + + + ) : null; +}; diff --git a/ui/src/pages/Dashboard/DashboardPage.tsx b/ui/src/pages/Dashboard/DashboardPage.tsx index 25cdfc996..4b47070d1 100644 --- a/ui/src/pages/Dashboard/DashboardPage.tsx +++ b/ui/src/pages/Dashboard/DashboardPage.tsx @@ -20,7 +20,7 @@ import { getUnifiedConfigs } from '../../util/util'; * @param {boolean} isComponentMounted used to remove component data leakage, determines if component is still mounted and dataHandler referes to setState * @param {string} dataHandler callback, called with data as params */ -function loadJson( +export function loadJson( fileName: string, isComponentMounted: boolean, dataHandler: (data: Record) => void diff --git a/ui/src/pages/Dashboard/DataIngestion.tsx b/ui/src/pages/Dashboard/DataIngestion.tsx index d27067f26..a0659ad05 100644 --- a/ui/src/pages/Dashboard/DataIngestion.tsx +++ b/ui/src/pages/Dashboard/DataIngestion.tsx @@ -1,18 +1,21 @@ -import React, { useEffect, useMemo, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { DashboardCore } from '@splunk/dashboard-core'; import { DashboardContextProvider } from '@splunk/dashboard-context'; import EnterpriseViewOnlyPreset from '@splunk/dashboard-presets/EnterpriseViewOnlyPreset'; import Search from '@splunk/react-ui/Search'; import Message from '@splunk/react-ui/Message'; import type { DashboardCoreApi } from '@splunk/dashboard-types'; - import { debounce } from 'lodash'; +import TabLayout from '@splunk/react-ui/TabLayout'; + import { createNewQueryBasedOnSearchAndHideTraffic, getActionButtons, makeVisualAdjustmentsOnDataIngestionPage, addDescriptionToExpandedViewByOptions, } from './utils'; +import { DataIngestionModal } from './DataIngestionModal'; +import { DashboardModal } from './DashboardModal'; const VIEW_BY_INFO_MAP: Record = { Input: 'Volume metrics are not available when the Input view is selected.', @@ -25,15 +28,21 @@ export const DataIngestionDashboard = ({ }: { dashboardDefinition: Record; }) => { - const dashboardCoreApi = React.useRef(); - + const dashboardCoreApi = useRef(null); const [searchInput, setSearchInput] = useState(''); const [viewByInput, setViewByInput] = useState(''); const [toggleNoTraffic, setToggleNoTraffic] = useState(false); - + const [selectValueForDropdownInModal, setSelectValueForDropdownInModal] = useState< + string | null + >(null); + const [selectTitleForDropdownInModal, setSelectTitleForDropdownInModal] = useState< + string | null + >(null); + const [dataIngestionDropdownValues, setDataIngestionDropdownValues] = useState([{}]); useEffect(() => { makeVisualAdjustmentsOnDataIngestionPage(); + // Select the target node for observing mutations const targetNode = document.querySelector( '[data-input-id="data_ingestion_table_input"] button' ); @@ -41,9 +50,12 @@ export const DataIngestionDashboard = ({ const callback = (mutationsList: MutationRecord[]) => { mutationsList.forEach((mutation: MutationRecord) => { if (mutation.attributeName === 'data-test-value') { + // Update the dashboard definition dashboardCoreApi.current?.updateDefinition(dashboardDefinition); setSearchInput(''); setToggleNoTraffic(false); + + // Get the view-by option from the mutated element const viewByOption = (mutation.target as HTMLElement)?.getAttribute('label'); setViewByInput(viewByOption || ''); } @@ -52,25 +64,29 @@ export const DataIngestionDashboard = ({ } }); }; - // mutation is used to detect if dropdown value is changed - // todo: do a better solution + + // Create a MutationObserver instance and start observing const observer = new MutationObserver(callback); if (targetNode) { observer.observe(targetNode, config); } + // Set the current "view by" option when the component mounts const currentViewBy = document .querySelector('[data-input-id="data_ingestion_table_input"] button') ?.getAttribute('label'); setViewByInput(currentViewBy || ''); + // Clean-up function to disconnect the observer when the component unmounts return () => { - observer.disconnect(); + if (observer && targetNode) { + observer.disconnect(); + } }; }, [dashboardDefinition]); - const setDashboardCoreApi = React.useCallback((api: DashboardCoreApi | null) => { + const setDashboardCoreApi = useCallback((api: DashboardCoreApi | null) => { dashboardCoreApi.current = api; }, []); @@ -109,13 +125,58 @@ export const DataIngestionDashboard = ({ const infoMessage = VIEW_BY_INFO_MAP[viewByInput]; + const handleDashboardEvent = useCallback(async (event) => { + if ( + event.type === 'datasource.done' && + event.targetId === 'data_ingestion_table_ds' && + event.payload.data + ) { + const modalInputSelectorName = event.payload.data?.fields[0]?.name; + setSelectTitleForDropdownInModal(modalInputSelectorName); + } + if ( + event.type === 'cell.click' && + event.targetId === 'data_ingestion_table_viz' && + event.payload.cellIndex === 0 && + event.payload.value + ) { + setSelectValueForDropdownInModal(event.payload.value); + } + }, []); + + const dashboardPlugin = useMemo( + () => ({ onEventTrigger: handleDashboardEvent }), + [handleDashboardEvent] + ); return ( <> <> + setSelectValueForDropdownInModal(null)} + title={selectTitleForDropdownInModal || ''} + acceptBtnLabel="Done" + dataIngestionDropdownValues={dataIngestionDropdownValues} + selectValueForDropdownInModal={selectValueForDropdownInModal || ''} + setSelectValueForDropdownInModal={setSelectValueForDropdownInModal} + > + + + + + - {/*
- - Hide items with no traffic - -
*/}
- {infoMessage ? ( + {infoMessage && ( {infoMessage} - ) : null} + )}
diff --git a/ui/src/pages/Dashboard/DataIngestion.types.ts b/ui/src/pages/Dashboard/DataIngestion.types.ts new file mode 100644 index 000000000..e49b3b209 --- /dev/null +++ b/ui/src/pages/Dashboard/DataIngestion.types.ts @@ -0,0 +1,22 @@ +import { EventType } from '@splunk/react-events-viewer/common-types'; + +export interface FieldValue { + value: string; + count: number; +} + +export interface SearchMessage { + type: string; + text: string; +} + +export interface SearchResponse { + sid?: string; + fields: { name: string }[]; + highlighted?: unknown; + init_offset: number; + messages: SearchMessage[]; + preview: boolean; + post_process_count: number; + results: TResult[]; +} diff --git a/ui/src/pages/Dashboard/DataIngestionModal.tsx b/ui/src/pages/Dashboard/DataIngestionModal.tsx new file mode 100644 index 000000000..a79fde076 --- /dev/null +++ b/ui/src/pages/Dashboard/DataIngestionModal.tsx @@ -0,0 +1,176 @@ +import Modal from '@splunk/react-ui/Modal'; +import React, { ReactElement, useCallback, useEffect } from 'react'; +import styled from 'styled-components'; + +import { variables } from '@splunk/themes'; +import Button from '@splunk/react-ui/Button'; +import Dropdown from '@splunk/react-ui/Dropdown'; +import Menu from '@splunk/react-ui/Menu'; +import Checkmark from '@splunk/react-icons/Checkmark'; +import P from '@splunk/react-ui/Paragraph'; +import { StyledButton } from '../EntryPageStyle'; +import { makeVisualAdjustmentsOnDataIngestionModal } from './utils'; + +const ModalWrapper = styled(Modal)` + width: 60vw; + height: 80vh; + margin-top: 3vh; +`; + +const ModalHeader = styled(Modal.Header)` + background-color: ${variables.neutral200}; +`; + +const ModalFooter = styled(Modal.Footer)` + background-color: ${variables.neutral200}; +`; + +const ModalBody = styled(Modal.Body)` + background-color: ${variables.neutral200}; + padding: 15px 30px; + height: 70vh; +`; + +const FooterButtonGroup = styled('div')` + display: grid; + grid-template-columns: 0.35fr 1fr; + margin: 0px ${variables.spacingSmall}; + + .footerBtn:first-child { + justify-self: start; + } + + .footerBtn:last-child { + justify-self: end; + } +`; + +export const DataIngestionModal = ({ + open = false, + handleRequestClose, + title, + acceptBtnLabel = 'Done', + dataIngestionDropdownValues, + selectValueForDropdownInModal, + setSelectValueForDropdownInModal, + children, +}: { + open?: boolean; + handleRequestClose: () => void; + title?: string; + acceptBtnLabel?: string; + dataIngestionDropdownValues: Record[]; + selectValueForDropdownInModal: string; + setSelectValueForDropdownInModal: React.Dispatch>; + children: ReactElement; +}) => { + const toggle = ( +